summaryrefslogtreecommitdiffstats
path: root/l10n-th
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-28 14:29:10 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-28 14:29:10 +0000
commit2aa4a82499d4becd2284cdb482213d541b8804dd (patch)
treeb80bf8bf13c3766139fbacc530efd0dd9d54394c /l10n-th
parentInitial commit. (diff)
downloadfirefox-2aa4a82499d4becd2284cdb482213d541b8804dd.tar.xz
firefox-2aa4a82499d4becd2284cdb482213d541b8804dd.zip
Adding upstream version 86.0.1.upstream/86.0.1upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'l10n-th')
-rw-r--r--l10n-th/browser/branding/official/brand.dtd11
-rw-r--r--l10n-th/browser/branding/official/brand.ftl37
-rw-r--r--l10n-th/browser/branding/official/brand.properties14
-rw-r--r--l10n-th/browser/browser/aboutCertError.ftl126
-rw-r--r--l10n-th/browser/browser/aboutConfig.ftl54
-rw-r--r--l10n-th/browser/browser/aboutDialog.ftl46
-rw-r--r--l10n-th/browser/browser/aboutLogins.ftl312
-rw-r--r--l10n-th/browser/browser/aboutPolicies.ftl17
-rw-r--r--l10n-th/browser/browser/aboutPrivateBrowsing.ftl27
-rw-r--r--l10n-th/browser/browser/aboutRestartRequired.ftl10
-rw-r--r--l10n-th/browser/browser/aboutRobots.ftl29
-rw-r--r--l10n-th/browser/browser/aboutSessionRestore.ftl51
-rw-r--r--l10n-th/browser/browser/aboutTabCrashed.ftl27
-rw-r--r--l10n-th/browser/browser/allTabsMenu.ftl24
-rw-r--r--l10n-th/browser/browser/appMenuNotifications.ftl78
-rw-r--r--l10n-th/browser/browser/appmenu.ftl145
-rw-r--r--l10n-th/browser/browser/branding/brandings.ftl32
-rw-r--r--l10n-th/browser/browser/branding/sync-brand.ftl13
-rw-r--r--l10n-th/browser/browser/browser.ftl580
-rw-r--r--l10n-th/browser/browser/browserContext.ftl339
-rw-r--r--l10n-th/browser/browser/browserSets.ftl180
-rw-r--r--l10n-th/browser/browser/customizeMode.ftl47
-rw-r--r--l10n-th/browser/browser/defaultBrowserNotification.ftl9
-rw-r--r--l10n-th/browser/browser/downloads.ftl166
-rw-r--r--l10n-th/browser/browser/editBookmarkOverlay.ftl42
-rw-r--r--l10n-th/browser/browser/menubar.ftl344
-rw-r--r--l10n-th/browser/browser/migration.ftl148
-rw-r--r--l10n-th/browser/browser/newInstallPage.ftl33
-rw-r--r--l10n-th/browser/browser/newtab/asrouter.ftl289
-rw-r--r--l10n-th/browser/browser/newtab/newtab.ftl241
-rw-r--r--l10n-th/browser/browser/newtab/onboarding.ftl241
-rw-r--r--l10n-th/browser/browser/nsserrors.ftl354
-rw-r--r--l10n-th/browser/browser/pageInfo.ftl252
-rw-r--r--l10n-th/browser/browser/panicButton.ftl31
-rw-r--r--l10n-th/browser/browser/places.ftl71
-rw-r--r--l10n-th/browser/browser/policies/policies-descriptions.ftl113
-rw-r--r--l10n-th/browser/browser/preferences/addEngine.ftl22
-rw-r--r--l10n-th/browser/browser/preferences/applicationManager.ftl25
-rw-r--r--l10n-th/browser/browser/preferences/blocklists.ftl33
-rw-r--r--l10n-th/browser/browser/preferences/clearSiteData.ftl53
-rw-r--r--l10n-th/browser/browser/preferences/colors.ftl48
-rw-r--r--l10n-th/browser/browser/preferences/connection.ftl107
-rw-r--r--l10n-th/browser/browser/preferences/containers.ftl87
-rw-r--r--l10n-th/browser/browser/preferences/fonts.ftl160
-rw-r--r--l10n-th/browser/browser/preferences/fxaPairDevice.ftl15
-rw-r--r--l10n-th/browser/browser/preferences/languages.ftl73
-rw-r--r--l10n-th/browser/browser/preferences/permissions.ftl157
-rw-r--r--l10n-th/browser/browser/preferences/preferences.ftl1161
-rw-r--r--l10n-th/browser/browser/preferences/selectBookmark.ftl9
-rw-r--r--l10n-th/browser/browser/preferences/siteDataSettings.ftl57
-rw-r--r--l10n-th/browser/browser/preferences/translation.ftl33
-rw-r--r--l10n-th/browser/browser/protections.ftl195
-rw-r--r--l10n-th/browser/browser/protectionsPanel.ftl108
-rw-r--r--l10n-th/browser/browser/safeMode.ftl16
-rw-r--r--l10n-th/browser/browser/safebrowsing/blockedSite.ftl33
-rw-r--r--l10n-th/browser/browser/sanitize.ftl110
-rw-r--r--l10n-th/browser/browser/screenshots.ftl47
-rw-r--r--l10n-th/browser/browser/search.ftl19
-rw-r--r--l10n-th/browser/browser/setDesktopBackground.ftl40
-rw-r--r--l10n-th/browser/browser/sidebarMenu.ftl15
-rw-r--r--l10n-th/browser/browser/sync.ftl21
-rw-r--r--l10n-th/browser/browser/syncedTabs.ftl43
-rw-r--r--l10n-th/browser/browser/tabContextMenu.ftl95
-rw-r--r--l10n-th/browser/browser/toolbarContextMenu.ftl74
-rw-r--r--l10n-th/browser/browser/touchbar/touchbar.ftl38
-rw-r--r--l10n-th/browser/browser/webrtcIndicator.ftl40
-rw-r--r--l10n-th/browser/chrome/browser-region/region.properties23
-rw-r--r--l10n-th/browser/chrome/browser/accounts.properties129
-rw-r--r--l10n-th/browser/chrome/browser/app-extension-fields.properties15
-rw-r--r--l10n-th/browser/chrome/browser/baseMenuOverlay.dtd18
-rw-r--r--l10n-th/browser/chrome/browser/brandings.dtd13
-rw-r--r--l10n-th/browser/chrome/browser/browser.dtd290
-rw-r--r--l10n-th/browser/chrome/browser/browser.properties1064
-rw-r--r--l10n-th/browser/chrome/browser/customizableui/customizableWidgets.properties100
-rw-r--r--l10n-th/browser/chrome/browser/downloads/downloads.properties99
-rw-r--r--l10n-th/browser/chrome/browser/feeds/subscribe.properties10
-rw-r--r--l10n-th/browser/chrome/browser/fxmonitor.properties45
-rw-r--r--l10n-th/browser/chrome/browser/migration/migration.dtd53
-rw-r--r--l10n-th/browser/chrome/browser/migration/migration.properties76
-rw-r--r--l10n-th/browser/chrome/browser/newInstall.dtd15
-rw-r--r--l10n-th/browser/chrome/browser/places/bookmarkProperties.properties16
-rw-r--r--l10n-th/browser/chrome/browser/places/places.dtd63
-rw-r--r--l10n-th/browser/chrome/browser/places/places.properties74
-rw-r--r--l10n-th/browser/chrome/browser/pocket.properties30
-rw-r--r--l10n-th/browser/chrome/browser/safebrowsing/safebrowsing.properties6
-rw-r--r--l10n-th/browser/chrome/browser/search.properties45
-rw-r--r--l10n-th/browser/chrome/browser/shellservice.properties28
-rw-r--r--l10n-th/browser/chrome/browser/siteData.properties8
-rw-r--r--l10n-th/browser/chrome/browser/sitePermissions.properties52
-rw-r--r--l10n-th/browser/chrome/browser/syncBrand.dtd6
-rw-r--r--l10n-th/browser/chrome/browser/syncSetup.properties14
-rw-r--r--l10n-th/browser/chrome/browser/tabbrowser.properties128
-rw-r--r--l10n-th/browser/chrome/browser/taskbar.properties12
-rw-r--r--l10n-th/browser/chrome/browser/translation.dtd59
-rw-r--r--l10n-th/browser/chrome/browser/translation.properties12
-rw-r--r--l10n-th/browser/chrome/browser/uiDensity.properties5
-rw-r--r--l10n-th/browser/chrome/browser/webrtcIndicator.properties61
-rw-r--r--l10n-th/browser/chrome/overrides/appstrings.properties45
-rw-r--r--l10n-th/browser/chrome/overrides/netError.dtd143
-rw-r--r--l10n-th/browser/chrome/overrides/settingsChange.dtd7
-rw-r--r--l10n-th/browser/crashreporter/crashreporter-override.ini8
-rw-r--r--l10n-th/browser/defaultagent/defaultagent_localized.ini12
-rw-r--r--l10n-th/browser/defines.inc12
-rw-r--r--l10n-th/browser/extensions/formautofill/formautofill.properties241
-rw-r--r--l10n-th/browser/extensions/report-site-issue/webcompat.properties10
-rw-r--r--l10n-th/browser/firefox-l10n.js6
-rw-r--r--l10n-th/browser/installer/custom.properties92
-rw-r--r--l10n-th/browser/installer/mui.properties61
-rw-r--r--l10n-th/browser/installer/nsisstrings.properties50
-rw-r--r--l10n-th/browser/installer/override.properties86
-rw-r--r--l10n-th/browser/pdfviewer/chrome.properties19
-rw-r--r--l10n-th/browser/pdfviewer/viewer.properties251
-rw-r--r--l10n-th/browser/profile/bookmarks.inc72
-rw-r--r--l10n-th/browser/updater/updater.ini10
-rw-r--r--l10n-th/calendar/calendar/calendar-ics-file-dialog.ftl16
-rw-r--r--l10n-th/calendar/calendar/calendar-summary-dialog.ftl15
-rw-r--r--l10n-th/calendar/calendar/calendar-uri-redirect-dialog.ftl7
-rw-r--r--l10n-th/calendar/calendar/category-dialog.ftl7
-rw-r--r--l10n-th/calendar/calendar/preferences.ftl178
-rw-r--r--l10n-th/calendar/chrome/calendar/calendar-alarms.properties39
-rw-r--r--l10n-th/calendar/chrome/calendar/calendar-event-dialog-attendees.properties15
-rw-r--r--l10n-th/calendar/chrome/calendar/calendar-event-dialog.dtd428
-rw-r--r--l10n-th/calendar/chrome/calendar/calendar-event-dialog.properties541
-rw-r--r--l10n-th/calendar/chrome/calendar/calendar-extract.properties265
-rw-r--r--l10n-th/calendar/chrome/calendar/calendar-invitations-dialog.dtd19
-rw-r--r--l10n-th/calendar/chrome/calendar/calendar-invitations-dialog.properties10
-rw-r--r--l10n-th/calendar/chrome/calendar/calendar-occurrence-prompt.dtd7
-rw-r--r--l10n-th/calendar/chrome/calendar/calendar-occurrence-prompt.properties53
-rw-r--r--l10n-th/calendar/chrome/calendar/calendar-subscriptions-dialog.dtd14
-rw-r--r--l10n-th/calendar/chrome/calendar/calendar.dtd411
-rw-r--r--l10n-th/calendar/chrome/calendar/calendar.properties804
-rw-r--r--l10n-th/calendar/chrome/calendar/calendarCreation.dtd51
-rw-r--r--l10n-th/calendar/chrome/calendar/calendarCreation.properties6
-rw-r--r--l10n-th/calendar/chrome/calendar/categories.properties7
-rw-r--r--l10n-th/calendar/chrome/calendar/dateFormat.properties146
-rw-r--r--l10n-th/calendar/chrome/calendar/dialogs/calendar-event-dialog-reminder.dtd19
-rw-r--r--l10n-th/calendar/chrome/calendar/global.dtd54
-rw-r--r--l10n-th/calendar/chrome/calendar/menuOverlay.dtd50
-rw-r--r--l10n-th/calendar/chrome/calendar/migration.dtd9
-rw-r--r--l10n-th/calendar/chrome/calendar/migration.properties13
-rw-r--r--l10n-th/calendar/chrome/calendar/provider-uninstall.dtd12
-rw-r--r--l10n-th/calendar/chrome/calendar/timezones.properties485
-rw-r--r--l10n-th/calendar/chrome/lightning/lightning-toolbar.dtd51
-rw-r--r--l10n-th/calendar/chrome/lightning/lightning.dtd107
-rw-r--r--l10n-th/calendar/chrome/lightning/lightning.properties195
-rw-r--r--l10n-th/chat/accounts.dtd41
-rw-r--r--l10n-th/chat/accounts.properties9
-rw-r--r--l10n-th/chat/commands.properties27
-rw-r--r--l10n-th/chat/contacts.properties8
-rw-r--r--l10n-th/chat/conversations.properties80
-rw-r--r--l10n-th/chat/dateFormat.properties62
-rw-r--r--l10n-th/chat/facebook.properties6
-rw-r--r--l10n-th/chat/imtooltip.properties10
-rw-r--r--l10n-th/chat/irc.properties209
-rw-r--r--l10n-th/chat/logger.properties7
-rw-r--r--l10n-th/chat/matrix.properties26
-rw-r--r--l10n-th/chat/skype.properties14
-rw-r--r--l10n-th/chat/status.properties23
-rw-r--r--l10n-th/chat/twitter.properties122
-rw-r--r--l10n-th/chat/xmpp.properties276
-rw-r--r--l10n-th/chat/yahoo.properties5
-rw-r--r--l10n-th/devtools/client/aboutdebugging.ftl394
-rw-r--r--l10n-th/devtools/client/accessibility.ftl79
-rw-r--r--l10n-th/devtools/client/accessibility.properties310
-rw-r--r--l10n-th/devtools/client/animationinspector.properties182
-rw-r--r--l10n-th/devtools/client/application.ftl144
-rw-r--r--l10n-th/devtools/client/boxmodel.properties48
-rw-r--r--l10n-th/devtools/client/changes.properties64
-rw-r--r--l10n-th/devtools/client/compatibility.ftl48
-rw-r--r--l10n-th/devtools/client/components.properties24
-rw-r--r--l10n-th/devtools/client/debugger.properties1130
-rw-r--r--l10n-th/devtools/client/device.properties20
-rw-r--r--l10n-th/devtools/client/dom.properties19
-rw-r--r--l10n-th/devtools/client/filterwidget.properties61
-rw-r--r--l10n-th/devtools/client/font-inspector.properties69
-rw-r--r--l10n-th/devtools/client/graphs.properties24
-rw-r--r--l10n-th/devtools/client/har.properties22
-rw-r--r--l10n-th/devtools/client/inspector.properties557
-rw-r--r--l10n-th/devtools/client/jit-optimizations.properties35
-rw-r--r--l10n-th/devtools/client/jsonview.properties47
-rw-r--r--l10n-th/devtools/client/layout.properties129
-rw-r--r--l10n-th/devtools/client/markers.properties139
-rw-r--r--l10n-th/devtools/client/memory.properties426
-rw-r--r--l10n-th/devtools/client/menus.properties35
-rw-r--r--l10n-th/devtools/client/netmonitor.properties1539
-rw-r--r--l10n-th/devtools/client/network-throttling.properties27
-rw-r--r--l10n-th/devtools/client/performance.dtd130
-rw-r--r--l10n-th/devtools/client/performance.properties160
-rw-r--r--l10n-th/devtools/client/perftools.ftl63
-rw-r--r--l10n-th/devtools/client/responsive.properties173
-rw-r--r--l10n-th/devtools/client/shared.properties26
-rw-r--r--l10n-th/devtools/client/sourceeditor.dtd22
-rw-r--r--l10n-th/devtools/client/sourceeditor.properties117
-rw-r--r--l10n-th/devtools/client/startup.properties253
-rw-r--r--l10n-th/devtools/client/storage.dtd17
-rw-r--r--l10n-th/devtools/client/storage.ftl33
-rw-r--r--l10n-th/devtools/client/storage.properties104
-rw-r--r--l10n-th/devtools/client/styleeditor.ftl27
-rw-r--r--l10n-th/devtools/client/styleeditor.properties67
-rw-r--r--l10n-th/devtools/client/toolbox-options.ftl138
-rw-r--r--l10n-th/devtools/client/toolbox.properties281
-rw-r--r--l10n-th/devtools/client/tooltips.ftl69
-rw-r--r--l10n-th/devtools/client/webconsole.properties561
-rw-r--r--l10n-th/devtools/shared/accessibility.properties142
-rw-r--r--l10n-th/devtools/shared/debugger.properties59
-rw-r--r--l10n-th/devtools/shared/eyedropper.properties14
-rw-r--r--l10n-th/devtools/shared/highlighters.properties35
-rw-r--r--l10n-th/devtools/shared/screenshot.properties133
-rw-r--r--l10n-th/devtools/shared/shared.properties6
-rw-r--r--l10n-th/devtools/shared/styleinspector.properties242
-rw-r--r--l10n-th/devtools/startup/aboutDevTools.ftl57
-rw-r--r--l10n-th/devtools/startup/key-shortcuts.properties67
-rw-r--r--l10n-th/devtools/startup/startup.properties8
-rw-r--r--l10n-th/dom/chrome/accessibility/AccessFu.properties360
-rw-r--r--l10n-th/dom/chrome/accessibility/mac/accessible.properties65
-rw-r--r--l10n-th/dom/chrome/accessibility/unix/accessible.properties17
-rw-r--r--l10n-th/dom/chrome/accessibility/win/accessible.properties17
-rw-r--r--l10n-th/dom/chrome/appstrings.properties38
-rw-r--r--l10n-th/dom/chrome/dom/dom.properties430
-rw-r--r--l10n-th/dom/chrome/global-strres.properties5
-rw-r--r--l10n-th/dom/chrome/global.dtd5
-rw-r--r--l10n-th/dom/chrome/layout/HtmlForm.properties43
-rw-r--r--l10n-th/dom/chrome/layout/MediaDocument.properties21
-rw-r--r--l10n-th/dom/chrome/layout/css.properties46
-rw-r--r--l10n-th/dom/chrome/layout/htmlparser.properties134
-rw-r--r--l10n-th/dom/chrome/layout/layout_errors.properties54
-rw-r--r--l10n-th/dom/chrome/layout/printing.properties56
-rw-r--r--l10n-th/dom/chrome/layout/xmlparser.properties48
-rw-r--r--l10n-th/dom/chrome/layout/xul.properties5
-rw-r--r--l10n-th/dom/chrome/mathml/mathml.properties16
-rw-r--r--l10n-th/dom/chrome/netError.dtd96
-rw-r--r--l10n-th/dom/chrome/netErrorApp.dtd23
-rw-r--r--l10n-th/dom/chrome/nsWebBrowserPersist.properties17
-rw-r--r--l10n-th/dom/chrome/plugins.properties14
-rw-r--r--l10n-th/dom/chrome/security/caps.properties9
-rw-r--r--l10n-th/dom/chrome/security/csp.properties107
-rw-r--r--l10n-th/dom/chrome/security/security.properties154
-rw-r--r--l10n-th/dom/chrome/svg/svg.properties5
-rw-r--r--l10n-th/dom/chrome/xml/prettyprint.dtd5
-rw-r--r--l10n-th/dom/chrome/xslt/xslt.properties39
-rw-r--r--l10n-th/dom/dom/media.ftl5
-rw-r--r--l10n-th/editor/ui/chrome/composer/editingOverlay.dtd40
-rw-r--r--l10n-th/editor/ui/chrome/composer/editor.dtd67
-rw-r--r--l10n-th/editor/ui/chrome/composer/editor.properties208
-rw-r--r--l10n-th/editor/ui/chrome/composer/editorOverlay.dtd371
-rw-r--r--l10n-th/editor/ui/chrome/composer/editorPrefsOverlay.dtd13
-rw-r--r--l10n-th/editor/ui/chrome/composer/editorSmileyOverlay.dtd58
-rw-r--r--l10n-th/editor/ui/chrome/composer/pref-composer.dtd29
-rw-r--r--l10n-th/editor/ui/chrome/composer/pref-editing.dtd31
-rw-r--r--l10n-th/editor/ui/chrome/dialogs/EdAdvancedEdit.dtd18
-rw-r--r--l10n-th/editor/ui/chrome/dialogs/EdColorPicker.dtd22
-rw-r--r--l10n-th/editor/ui/chrome/dialogs/EdConvertToTable.dtd15
-rw-r--r--l10n-th/editor/ui/chrome/dialogs/EdDialogOverlay.dtd18
-rw-r--r--l10n-th/editor/ui/chrome/dialogs/EdNamedAnchorProperties.dtd8
-rw-r--r--l10n-th/editor/ui/chrome/dialogs/EditConflict.dtd10
-rw-r--r--l10n-th/editor/ui/chrome/dialogs/EditorButtonProperties.dtd27
-rw-r--r--l10n-th/editor/ui/chrome/dialogs/EditorColorProperties.dtd29
-rw-r--r--l10n-th/editor/ui/chrome/dialogs/EditorFieldSetProperties.dtd20
-rw-r--r--l10n-th/editor/ui/chrome/dialogs/EditorFormProperties.dtd21
-rw-r--r--l10n-th/editor/ui/chrome/dialogs/EditorHLineProperties.dtd27
-rw-r--r--l10n-th/editor/ui/chrome/dialogs/EditorImageProperties.dtd79
-rw-r--r--l10n-th/editor/ui/chrome/dialogs/EditorInputProperties.dtd50
-rw-r--r--l10n-th/editor/ui/chrome/dialogs/EditorInsertChars.dtd19
-rw-r--r--l10n-th/editor/ui/chrome/dialogs/EditorInsertMath.dtd21
-rw-r--r--l10n-th/editor/ui/chrome/dialogs/EditorInsertSource.dtd15
-rw-r--r--l10n-th/editor/ui/chrome/dialogs/EditorInsertTOC.dtd16
-rw-r--r--l10n-th/editor/ui/chrome/dialogs/EditorInsertTable.dtd18
-rw-r--r--l10n-th/editor/ui/chrome/dialogs/EditorLabelProperties.dtd18
-rw-r--r--l10n-th/editor/ui/chrome/dialogs/EditorLinkProperties.dtd6
-rw-r--r--l10n-th/editor/ui/chrome/dialogs/EditorListProperties.dtd20
-rw-r--r--l10n-th/editor/ui/chrome/dialogs/EditorPageProperties.dtd17
-rw-r--r--l10n-th/editor/ui/chrome/dialogs/EditorPersonalDictionary.dtd20
-rw-r--r--l10n-th/editor/ui/chrome/dialogs/EditorPublish.dtd65
-rw-r--r--l10n-th/editor/ui/chrome/dialogs/EditorPublishProgress.dtd16
-rw-r--r--l10n-th/editor/ui/chrome/dialogs/EditorReplace.dtd27
-rw-r--r--l10n-th/editor/ui/chrome/dialogs/EditorSaveAsCharset.dtd14
-rw-r--r--l10n-th/editor/ui/chrome/dialogs/EditorSelectProperties.dtd48
-rw-r--r--l10n-th/editor/ui/chrome/dialogs/EditorSnapToGrid.dtd15
-rw-r--r--l10n-th/editor/ui/chrome/dialogs/EditorSpellCheck.dtd38
-rw-r--r--l10n-th/editor/ui/chrome/dialogs/EditorTableProperties.dtd75
-rw-r--r--l10n-th/editor/ui/chrome/dialogs/EditorTextAreaProperties.dtd33
-rw-r--r--l10n-th/mail/branding/thunderbird/brand.dtd12
-rw-r--r--l10n-th/mail/branding/thunderbird/brand.ftl21
-rw-r--r--l10n-th/mail/branding/thunderbird/brand.properties7
-rw-r--r--l10n-th/mail/chrome/communicator/utilityOverlay.dtd47
-rw-r--r--l10n-th/mail/chrome/messenger-mapi/mapi.properties35
-rw-r--r--l10n-th/mail/chrome/messenger-newsblog/am-newsblog.dtd14
-rw-r--r--l10n-th/mail/chrome/messenger-newsblog/feed-subscriptions.dtd55
-rw-r--r--l10n-th/mail/chrome/messenger-newsblog/newsblog.properties93
-rw-r--r--l10n-th/mail/chrome/messenger-smime/certFetchingStatus.dtd9
-rw-r--r--l10n-th/mail/chrome/messenger-smime/msgCompSMIMEOverlay.dtd39
-rw-r--r--l10n-th/mail/chrome/messenger-smime/msgCompSecurityInfo.dtd18
-rw-r--r--l10n-th/mail/chrome/messenger-smime/msgCompSecurityInfo.properties13
-rw-r--r--l10n-th/mail/chrome/messenger-smime/msgReadSMIMEOverlay.dtd8
-rw-r--r--l10n-th/mail/chrome/messenger-smime/msgReadSMIMEOverlay.properties11
-rw-r--r--l10n-th/mail/chrome/messenger-smime/msgReadSecurityInfo.dtd17
-rw-r--r--l10n-th/mail/chrome/messenger-smime/msgSecurityInfo.properties36
-rw-r--r--l10n-th/mail/chrome/messenger/AccountManager.dtd40
-rw-r--r--l10n-th/mail/chrome/messenger/AccountWizard.dtd127
-rw-r--r--l10n-th/mail/chrome/messenger/CustomHeaders.dtd11
-rw-r--r--l10n-th/mail/chrome/messenger/FilterEditor.dtd67
-rw-r--r--l10n-th/mail/chrome/messenger/FilterListDialog.dtd40
-rw-r--r--l10n-th/mail/chrome/messenger/SearchDialog.dtd38
-rw-r--r--l10n-th/mail/chrome/messenger/aboutDialog.dtd112
-rw-r--r--l10n-th/mail/chrome/messenger/aboutDownloads.dtd24
-rw-r--r--l10n-th/mail/chrome/messenger/aboutRights.properties6
-rw-r--r--l10n-th/mail/chrome/messenger/aboutSupportMail.properties15
-rw-r--r--l10n-th/mail/chrome/messenger/accountCreation.dtd112
-rw-r--r--l10n-th/mail/chrome/messenger/accountCreation.properties114
-rw-r--r--l10n-th/mail/chrome/messenger/accountCreationModel.properties20
-rw-r--r--l10n-th/mail/chrome/messenger/accountCreationUtil.properties34
-rw-r--r--l10n-th/mail/chrome/messenger/activity.dtd37
-rw-r--r--l10n-th/mail/chrome/messenger/activity.properties99
-rw-r--r--l10n-th/mail/chrome/messenger/addbuddy.dtd7
-rw-r--r--l10n-th/mail/chrome/messenger/addons.properties251
-rw-r--r--l10n-th/mail/chrome/messenger/addressbook/abAddressBookNameDialog.dtd7
-rw-r--r--l10n-th/mail/chrome/messenger/addressbook/abCard.dtd156
-rw-r--r--l10n-th/mail/chrome/messenger/addressbook/abContactsPanel.dtd49
-rw-r--r--l10n-th/mail/chrome/messenger/addressbook/abMailListDialog.dtd21
-rw-r--r--l10n-th/mail/chrome/messenger/addressbook/abMainWindow.dtd221
-rw-r--r--l10n-th/mail/chrome/messenger/addressbook/abNewCardDialog.dtd7
-rw-r--r--l10n-th/mail/chrome/messenger/addressbook/abResultsPane.dtd38
-rw-r--r--l10n-th/mail/chrome/messenger/addressbook/addressBook.properties262
-rw-r--r--l10n-th/mail/chrome/messenger/addressbook/ldapAutoCompErrs.properties104
-rw-r--r--l10n-th/mail/chrome/messenger/addressbook/pref-directory-add.dtd45
-rw-r--r--l10n-th/mail/chrome/messenger/addressbook/pref-directory.dtd17
-rw-r--r--l10n-th/mail/chrome/messenger/addressbook/replicationProgress.properties20
-rw-r--r--l10n-th/mail/chrome/messenger/am-addressing.dtd51
-rw-r--r--l10n-th/mail/chrome/messenger/am-advanced.dtd30
-rw-r--r--l10n-th/mail/chrome/messenger/am-archiveoptions.dtd25
-rw-r--r--l10n-th/mail/chrome/messenger/am-copies.dtd52
-rw-r--r--l10n-th/mail/chrome/messenger/am-e2e.properties5
-rw-r--r--l10n-th/mail/chrome/messenger/am-identities-list.dtd15
-rw-r--r--l10n-th/mail/chrome/messenger/am-identity-edit.dtd14
-rw-r--r--l10n-th/mail/chrome/messenger/am-im.dtd16
-rw-r--r--l10n-th/mail/chrome/messenger/am-junk.dtd31
-rw-r--r--l10n-th/mail/chrome/messenger/am-main.dtd49
-rw-r--r--l10n-th/mail/chrome/messenger/am-mdn.dtd33
-rw-r--r--l10n-th/mail/chrome/messenger/am-mdn.properties6
-rw-r--r--l10n-th/mail/chrome/messenger/am-offline.dtd57
-rw-r--r--l10n-th/mail/chrome/messenger/am-server-advanced.dtd31
-rw-r--r--l10n-th/mail/chrome/messenger/am-server-top.dtd89
-rw-r--r--l10n-th/mail/chrome/messenger/am-serverwithnoidentities.dtd6
-rw-r--r--l10n-th/mail/chrome/messenger/am-smime.dtd55
-rw-r--r--l10n-th/mail/chrome/messenger/am-smime.properties39
-rw-r--r--l10n-th/mail/chrome/messenger/app-extension-fields.properties11
-rw-r--r--l10n-th/mail/chrome/messenger/appUpdate.properties40
-rw-r--r--l10n-th/mail/chrome/messenger/appleMailImportMsgs.properties20
-rw-r--r--l10n-th/mail/chrome/messenger/baseMenuOverlay.dtd40
-rw-r--r--l10n-th/mail/chrome/messenger/beckyImportMsgs.properties19
-rw-r--r--l10n-th/mail/chrome/messenger/charsetTitles.properties80
-rw-r--r--l10n-th/mail/chrome/messenger/chat.dtd44
-rw-r--r--l10n-th/mail/chrome/messenger/chat.properties99
-rw-r--r--l10n-th/mail/chrome/messenger/configEditorOverlay.dtd5
-rw-r--r--l10n-th/mail/chrome/messenger/converterDialog.dtd11
-rw-r--r--l10n-th/mail/chrome/messenger/converterDialog.properties41
-rw-r--r--l10n-th/mail/chrome/messenger/custom.properties5
-rw-r--r--l10n-th/mail/chrome/messenger/customizeToolbar.dtd18
-rw-r--r--l10n-th/mail/chrome/messenger/customizeToolbar.properties11
-rw-r--r--l10n-th/mail/chrome/messenger/devtools/dbgserver.dtd4
-rw-r--r--l10n-th/mail/chrome/messenger/devtools/dbgserver.properties11
-rw-r--r--l10n-th/mail/chrome/messenger/downloadheaders.dtd20
-rw-r--r--l10n-th/mail/chrome/messenger/editContactOverlay.dtd20
-rw-r--r--l10n-th/mail/chrome/messenger/editContactOverlay.properties14
-rw-r--r--l10n-th/mail/chrome/messenger/fieldMapImport.dtd20
-rw-r--r--l10n-th/mail/chrome/messenger/filter.properties110
-rw-r--r--l10n-th/mail/chrome/messenger/folderProps.dtd74
-rw-r--r--l10n-th/mail/chrome/messenger/folderWidgets.properties12
-rw-r--r--l10n-th/mail/chrome/messenger/folderpane.dtd7
-rw-r--r--l10n-th/mail/chrome/messenger/gloda.properties161
-rw-r--r--l10n-th/mail/chrome/messenger/glodaComplete.properties19
-rw-r--r--l10n-th/mail/chrome/messenger/glodaFacetView.dtd29
-rw-r--r--l10n-th/mail/chrome/messenger/glodaFacetView.properties171
-rw-r--r--l10n-th/mail/chrome/messenger/imAccountWizard.dtd32
-rw-r--r--l10n-th/mail/chrome/messenger/imAccounts.properties63
-rw-r--r--l10n-th/mail/chrome/messenger/imapMsgs.properties266
-rw-r--r--l10n-th/mail/chrome/messenger/importDialog.dtd51
-rw-r--r--l10n-th/mail/chrome/messenger/importMsgs.properties304
-rw-r--r--l10n-th/mail/chrome/messenger/joinChat.dtd10
-rw-r--r--l10n-th/mail/chrome/messenger/junkLog.dtd10
-rw-r--r--l10n-th/mail/chrome/messenger/junkMailInfo.dtd11
-rw-r--r--l10n-th/mail/chrome/messenger/localMsgs.properties149
-rw-r--r--l10n-th/mail/chrome/messenger/mailEditorOverlay.dtd6
-rw-r--r--l10n-th/mail/chrome/messenger/mailOverlay.dtd11
-rw-r--r--l10n-th/mail/chrome/messenger/mailViewList.dtd7
-rw-r--r--l10n-th/mail/chrome/messenger/mailViewSetup.dtd10
-rw-r--r--l10n-th/mail/chrome/messenger/mailviews.properties13
-rw-r--r--l10n-th/mail/chrome/messenger/markByDate.dtd9
-rw-r--r--l10n-th/mail/chrome/messenger/messenger.dtd973
-rw-r--r--l10n-th/mail/chrome/messenger/messenger.properties804
-rw-r--r--l10n-th/mail/chrome/messenger/messengercompose/EdAdvancedEdit.dtd18
-rw-r--r--l10n-th/mail/chrome/messenger/messengercompose/EdColorPicker.dtd22
-rw-r--r--l10n-th/mail/chrome/messenger/messengercompose/EdConvertToTable.dtd15
-rw-r--r--l10n-th/mail/chrome/messenger/messengercompose/EdDialogOverlay.dtd18
-rw-r--r--l10n-th/mail/chrome/messenger/messengercompose/EdNamedAnchorProperties.dtd8
-rw-r--r--l10n-th/mail/chrome/messenger/messengercompose/EditorColorProperties.dtd29
-rw-r--r--l10n-th/mail/chrome/messenger/messengercompose/EditorHLineProperties.dtd27
-rw-r--r--l10n-th/mail/chrome/messenger/messengercompose/EditorImageProperties.dtd79
-rw-r--r--l10n-th/mail/chrome/messenger/messengercompose/EditorInsertChars.dtd19
-rw-r--r--l10n-th/mail/chrome/messenger/messengercompose/EditorInsertMath.dtd21
-rw-r--r--l10n-th/mail/chrome/messenger/messengercompose/EditorInsertSource.dtd15
-rw-r--r--l10n-th/mail/chrome/messenger/messengercompose/EditorInsertTOC.dtd16
-rw-r--r--l10n-th/mail/chrome/messenger/messengercompose/EditorInsertTable.dtd18
-rw-r--r--l10n-th/mail/chrome/messenger/messengercompose/EditorLinkProperties.dtd6
-rw-r--r--l10n-th/mail/chrome/messenger/messengercompose/EditorListProperties.dtd20
-rw-r--r--l10n-th/mail/chrome/messenger/messengercompose/EditorPersonalDictionary.dtd18
-rw-r--r--l10n-th/mail/chrome/messenger/messengercompose/EditorReplace.dtd29
-rw-r--r--l10n-th/mail/chrome/messenger/messengercompose/EditorSpellCheck.dtd38
-rw-r--r--l10n-th/mail/chrome/messenger/messengercompose/EditorTableProperties.dtd75
-rw-r--r--l10n-th/mail/chrome/messenger/messengercompose/askSendFormat.dtd20
-rw-r--r--l10n-th/mail/chrome/messenger/messengercompose/askSendFormat.properties8
-rw-r--r--l10n-th/mail/chrome/messenger/messengercompose/composeMsgs.properties491
-rw-r--r--l10n-th/mail/chrome/messenger/messengercompose/editor.properties208
-rw-r--r--l10n-th/mail/chrome/messenger/messengercompose/editorOverlay.dtd303
-rw-r--r--l10n-th/mail/chrome/messenger/messengercompose/mailComposeEditorOverlay.dtd9
-rw-r--r--l10n-th/mail/chrome/messenger/messengercompose/messengercompose.dtd348
-rw-r--r--l10n-th/mail/chrome/messenger/messengercompose/sendProgress.dtd8
-rw-r--r--l10n-th/mail/chrome/messenger/messengercompose/sendProgress.properties21
-rw-r--r--l10n-th/mail/chrome/messenger/migration/migration.dtd30
-rw-r--r--l10n-th/mail/chrome/messenger/migration/migration.properties25
-rw-r--r--l10n-th/mail/chrome/messenger/mime.properties154
-rw-r--r--l10n-th/mail/chrome/messenger/mimeheader.properties35
-rw-r--r--l10n-th/mail/chrome/messenger/morkImportMsgs.properties18
-rw-r--r--l10n-th/mail/chrome/messenger/msgAccountCentral.dtd27
-rw-r--r--l10n-th/mail/chrome/messenger/msgHdrViewOverlay.dtd114
-rw-r--r--l10n-th/mail/chrome/messenger/msgPrintEngine.dtd16
-rw-r--r--l10n-th/mail/chrome/messenger/msgSynchronize.dtd25
-rw-r--r--l10n-th/mail/chrome/messenger/msgViewPickerOverlay.dtd22
-rw-r--r--l10n-th/mail/chrome/messenger/msgmdn.properties18
-rw-r--r--l10n-th/mail/chrome/messenger/multimessageview.dtd8
-rw-r--r--l10n-th/mail/chrome/messenger/multimessageview.properties66
-rw-r--r--l10n-th/mail/chrome/messenger/newFolderDialog.dtd16
-rw-r--r--l10n-th/mail/chrome/messenger/newmailaccount/accountProvisioner.dtd43
-rw-r--r--l10n-th/mail/chrome/messenger/newmailaccount/accountProvisioner.properties32
-rw-r--r--l10n-th/mail/chrome/messenger/news.properties56
-rw-r--r--l10n-th/mail/chrome/messenger/newsError.dtd31
-rw-r--r--l10n-th/mail/chrome/messenger/oeImportMsgs.properties76
-rw-r--r--l10n-th/mail/chrome/messenger/offline.properties28
-rw-r--r--l10n-th/mail/chrome/messenger/offlineStartup.properties8
-rw-r--r--l10n-th/mail/chrome/messenger/outlookImportMsgs.properties72
-rw-r--r--l10n-th/mail/chrome/messenger/pgpmime.properties10
-rw-r--r--l10n-th/mail/chrome/messenger/preferences/applicationManager.properties13
-rw-r--r--l10n-th/mail/chrome/messenger/preferences/applications.properties13
-rw-r--r--l10n-th/mail/chrome/messenger/preferences/messagestyle.properties13
-rw-r--r--l10n-th/mail/chrome/messenger/preferences/preferences.properties118
-rw-r--r--l10n-th/mail/chrome/messenger/prefs.properties90
-rw-r--r--l10n-th/mail/chrome/messenger/quickFilterBar.dtd276
-rw-r--r--l10n-th/mail/chrome/messenger/removeAccount.dtd22
-rw-r--r--l10n-th/mail/chrome/messenger/removeAccount.properties5
-rw-r--r--l10n-th/mail/chrome/messenger/renameFolderDialog.dtd9
-rw-r--r--l10n-th/mail/chrome/messenger/safeMode.dtd21
-rw-r--r--l10n-th/mail/chrome/messenger/sanitize.dtd42
-rw-r--r--l10n-th/mail/chrome/messenger/seamonkeyImportMsgs.properties18
-rw-r--r--l10n-th/mail/chrome/messenger/search-attributes.properties45
-rw-r--r--l10n-th/mail/chrome/messenger/search-operators.properties31
-rw-r--r--l10n-th/mail/chrome/messenger/search.properties27
-rw-r--r--l10n-th/mail/chrome/messenger/searchTermOverlay.dtd19
-rw-r--r--l10n-th/mail/chrome/messenger/shutdownWindow.properties10
-rw-r--r--l10n-th/mail/chrome/messenger/smime.properties11
-rw-r--r--l10n-th/mail/chrome/messenger/smtpEditOverlay.dtd24
-rw-r--r--l10n-th/mail/chrome/messenger/subscribe.dtd22
-rw-r--r--l10n-th/mail/chrome/messenger/subscribe.properties13
-rw-r--r--l10n-th/mail/chrome/messenger/tabmail.dtd9
-rw-r--r--l10n-th/mail/chrome/messenger/taskbar.properties8
-rw-r--r--l10n-th/mail/chrome/messenger/telemetry.properties13
-rw-r--r--l10n-th/mail/chrome/messenger/templateUtils.properties7
-rw-r--r--l10n-th/mail/chrome/messenger/textImportMsgs.properties43
-rw-r--r--l10n-th/mail/chrome/messenger/vCardImportMsgs.properties26
-rw-r--r--l10n-th/mail/chrome/messenger/viewLog.dtd12
-rw-r--r--l10n-th/mail/chrome/messenger/viewSource.dtd90
-rw-r--r--l10n-th/mail/chrome/messenger/viewSource.properties17
-rw-r--r--l10n-th/mail/chrome/messenger/viewZoomOverlay.dtd30
-rw-r--r--l10n-th/mail/chrome/messenger/virtualFolderListDialog.dtd8
-rw-r--r--l10n-th/mail/chrome/messenger/virtualFolderProperties.dtd22
-rw-r--r--l10n-th/mail/chrome/messenger/wmImportMsgs.properties76
-rw-r--r--l10n-th/mail/chrome/mozldap/ldap.properties261
-rw-r--r--l10n-th/mail/chrome/overrides/netError.dtd180
-rw-r--r--l10n-th/mail/chrome/overrides/profileDowngrade.dtd20
-rw-r--r--l10n-th/mail/chrome/overrides/settingsChange.dtd6
-rw-r--r--l10n-th/mail/defines.inc9
-rw-r--r--l10n-th/mail/installer/custom.properties85
-rw-r--r--l10n-th/mail/installer/mui.properties60
-rw-r--r--l10n-th/mail/installer/override.properties86
-rw-r--r--l10n-th/mail/messenger/aboutProfilesExtra.ftl5
-rw-r--r--l10n-th/mail/messenger/aboutRights.ftl30
-rw-r--r--l10n-th/mail/messenger/aboutSupportMail.ftl20
-rw-r--r--l10n-th/mail/messenger/accountCentral.ftl72
-rw-r--r--l10n-th/mail/messenger/addressbook/abCardDAVDialog.ftl45
-rw-r--r--l10n-th/mail/messenger/addressbook/abCardDAVProperties.ftl24
-rw-r--r--l10n-th/mail/messenger/menubar.ftl10
-rw-r--r--l10n-th/mail/messenger/messenger.ftl5
-rw-r--r--l10n-th/mail/messenger/messengercompose/messengercompose.ftl69
-rw-r--r--l10n-th/mail/messenger/newInstall.ftl9
-rw-r--r--l10n-th/mail/messenger/newInstallPage.ftl15
-rw-r--r--l10n-th/mail/messenger/openpgp/backupKeyPassword.ftl14
-rw-r--r--l10n-th/mail/messenger/openpgp/changeExpiryDlg.ftl18
-rw-r--r--l10n-th/mail/messenger/openpgp/composeKeyStatus.ftl16
-rw-r--r--l10n-th/mail/messenger/openpgp/keyWizard.ftl31
-rw-r--r--l10n-th/mail/messenger/openpgp/msgReadStatus.ftl28
-rw-r--r--l10n-th/mail/messenger/openpgp/oneRecipientStatus.ftl14
-rw-r--r--l10n-th/mail/messenger/openpgp/openpgp-frontend.ftl48
-rw-r--r--l10n-th/mail/messenger/openpgp/openpgp.ftl143
-rw-r--r--l10n-th/mail/messenger/otr/add-finger.ftl17
-rw-r--r--l10n-th/mail/messenger/otr/am-im-otr.ftl28
-rw-r--r--l10n-th/mail/messenger/otr/auth.ftl53
-rw-r--r--l10n-th/mail/messenger/otr/chat.ftl19
-rw-r--r--l10n-th/mail/messenger/otr/finger-sync.ftl10
-rw-r--r--l10n-th/mail/messenger/otr/finger.ftl16
-rw-r--r--l10n-th/mail/messenger/otr/otr.ftl58
-rw-r--r--l10n-th/mail/messenger/otr/otrUI.ftl78
-rw-r--r--l10n-th/mail/messenger/policies/aboutPolicies.ftl17
-rw-r--r--l10n-th/mail/messenger/policies/policies-descriptions.ftl147
-rw-r--r--l10n-th/mail/messenger/preferences/am-im.ftl6
-rw-r--r--l10n-th/mail/messenger/preferences/application-manager.ftl11
-rw-r--r--l10n-th/mail/messenger/preferences/attachment-reminder.ftl26
-rw-r--r--l10n-th/mail/messenger/preferences/colors.ftl52
-rw-r--r--l10n-th/mail/messenger/preferences/connection.ftl111
-rw-r--r--l10n-th/mail/messenger/preferences/cookies.ftl55
-rw-r--r--l10n-th/mail/messenger/preferences/dock-options.ftl26
-rw-r--r--l10n-th/mail/messenger/preferences/fonts.ftl151
-rw-r--r--l10n-th/mail/messenger/preferences/languages.ftl45
-rw-r--r--l10n-th/mail/messenger/preferences/new-tag.ftl12
-rw-r--r--l10n-th/mail/messenger/preferences/notifications.ftl33
-rw-r--r--l10n-th/mail/messenger/preferences/offline.ftl56
-rw-r--r--l10n-th/mail/messenger/preferences/passwordManager.ftl85
-rw-r--r--l10n-th/mail/messenger/preferences/permissions.ftl56
-rw-r--r--l10n-th/mail/messenger/preferences/preferences.ftl712
-rw-r--r--l10n-th/mail/messenger/preferences/receipts.ftl51
-rw-r--r--l10n-th/mail/messenger/preferences/sendoptions.ftl50
-rw-r--r--l10n-th/mail/messenger/preferences/system-integration.ftl42
-rw-r--r--l10n-th/mail/updater/updater.ini8
-rw-r--r--l10n-th/mobile/android/chrome/about.dtd21
-rw-r--r--l10n-th/mobile/android/chrome/aboutAccounts.dtd13
-rw-r--r--l10n-th/mobile/android/chrome/aboutAccounts.properties16
-rw-r--r--l10n-th/mobile/android/chrome/aboutAddons.dtd15
-rw-r--r--l10n-th/mobile/android/chrome/aboutAddons.properties12
-rw-r--r--l10n-th/mobile/android/chrome/aboutCertError.dtd31
-rw-r--r--l10n-th/mobile/android/chrome/aboutDownloads.dtd15
-rw-r--r--l10n-th/mobile/android/chrome/aboutDownloads.properties17
-rw-r--r--l10n-th/mobile/android/chrome/aboutHome.dtd7
-rw-r--r--l10n-th/mobile/android/chrome/aboutLogins.dtd10
-rw-r--r--l10n-th/mobile/android/chrome/aboutLogins.properties33
-rw-r--r--l10n-th/mobile/android/chrome/aboutPrivateBrowsing.dtd25
-rw-r--r--l10n-th/mobile/android/chrome/browser.properties476
-rw-r--r--l10n-th/mobile/android/chrome/config.dtd21
-rw-r--r--l10n-th/mobile/android/chrome/config.properties9
-rw-r--r--l10n-th/mobile/android/chrome/devicePrompt.properties5
-rw-r--r--l10n-th/mobile/android/chrome/passwordmgr.properties20
-rw-r--r--l10n-th/mobile/android/chrome/phishing.dtd27
-rw-r--r--l10n-th/mobile/android/chrome/pippki.properties84
-rw-r--r--l10n-th/mobile/android/chrome/sync.properties12
-rw-r--r--l10n-th/mobile/android/chrome/webcompatReporter.properties12
-rw-r--r--l10n-th/mobile/android/defines.inc12
-rw-r--r--l10n-th/mobile/chrome/region.properties22
-rw-r--r--l10n-th/mobile/overrides/appstrings.properties41
-rw-r--r--l10n-th/mobile/overrides/netError.dtd121
-rw-r--r--l10n-th/netwerk/necko.properties109
-rw-r--r--l10n-th/security/manager/chrome/pipnss/nsserrors.properties331
-rw-r--r--l10n-th/security/manager/chrome/pipnss/pipnss.properties308
-rw-r--r--l10n-th/security/manager/chrome/pippki/pippki.properties85
-rw-r--r--l10n-th/security/manager/security/certificates/certManager.ftl251
-rw-r--r--l10n-th/security/manager/security/certificates/deviceManager.ftl101
-rw-r--r--l10n-th/security/manager/security/pippki/pippki.ftl84
-rw-r--r--l10n-th/services/sync/sync.properties14
-rw-r--r--l10n-th/toolkit/chrome/alerts/alert.dtd6
-rw-r--r--l10n-th/toolkit/chrome/alerts/alert.properties23
-rw-r--r--l10n-th/toolkit/chrome/autoconfig/autoconfig.properties12
-rw-r--r--l10n-th/toolkit/chrome/global-platform/mac/intl.properties7
-rw-r--r--l10n-th/toolkit/chrome/global-platform/mac/platformKeys.properties30
-rw-r--r--l10n-th/toolkit/chrome/global-platform/unix/intl.properties7
-rw-r--r--l10n-th/toolkit/chrome/global-platform/unix/platformKeys.properties30
-rw-r--r--l10n-th/toolkit/chrome/global-platform/win/intl.properties7
-rw-r--r--l10n-th/toolkit/chrome/global-platform/win/platformKeys.properties30
-rw-r--r--l10n-th/toolkit/chrome/global/aboutReader.properties66
-rw-r--r--l10n-th/toolkit/chrome/global/aboutStudies.properties32
-rw-r--r--l10n-th/toolkit/chrome/global/aboutWebrtc.properties190
-rw-r--r--l10n-th/toolkit/chrome/global/appPicker.dtd7
-rw-r--r--l10n-th/toolkit/chrome/global/autocomplete.properties29
-rw-r--r--l10n-th/toolkit/chrome/global/browser.properties7
-rw-r--r--l10n-th/toolkit/chrome/global/charsetMenu.dtd5
-rw-r--r--l10n-th/toolkit/chrome/global/charsetMenu.properties127
-rw-r--r--l10n-th/toolkit/chrome/global/commonDialog.dtd10
-rw-r--r--l10n-th/toolkit/chrome/global/commonDialogs.properties34
-rw-r--r--l10n-th/toolkit/chrome/global/contentAreaCommands.properties23
-rw-r--r--l10n-th/toolkit/chrome/global/datetimebox.dtd35
-rw-r--r--l10n-th/toolkit/chrome/global/dialog.properties12
-rw-r--r--l10n-th/toolkit/chrome/global/dialogOverlay.dtd9
-rw-r--r--l10n-th/toolkit/chrome/global/editMenuOverlay.dtd11
-rw-r--r--l10n-th/toolkit/chrome/global/extensions.properties43
-rw-r--r--l10n-th/toolkit/chrome/global/fallbackMenubar.properties8
-rw-r--r--l10n-th/toolkit/chrome/global/filepicker.properties18
-rw-r--r--l10n-th/toolkit/chrome/global/findbar.properties23
-rw-r--r--l10n-th/toolkit/chrome/global/global-extension-fields.properties8
-rw-r--r--l10n-th/toolkit/chrome/global/globalKeys.dtd6
-rw-r--r--l10n-th/toolkit/chrome/global/intl.css11
-rw-r--r--l10n-th/toolkit/chrome/global/intl.properties51
-rw-r--r--l10n-th/toolkit/chrome/global/keys.properties70
-rw-r--r--l10n-th/toolkit/chrome/global/mozilla.dtd15
-rw-r--r--l10n-th/toolkit/chrome/global/narrate.properties20
-rw-r--r--l10n-th/toolkit/chrome/global/notification.dtd14
-rw-r--r--l10n-th/toolkit/chrome/global/printdialog.properties52
-rw-r--r--l10n-th/toolkit/chrome/global/resetProfile.dtd7
-rw-r--r--l10n-th/toolkit/chrome/global/resetProfile.properties14
-rw-r--r--l10n-th/toolkit/chrome/global/textcontext.dtd24
-rw-r--r--l10n-th/toolkit/chrome/global/tree.dtd5
-rw-r--r--l10n-th/toolkit/chrome/global/videocontrols.dtd52
-rw-r--r--l10n-th/toolkit/chrome/global/viewSource.properties16
-rw-r--r--l10n-th/toolkit/chrome/global/wizard.properties8
-rw-r--r--l10n-th/toolkit/chrome/mozapps/downloads/downloads.properties115
-rw-r--r--l10n-th/toolkit/chrome/mozapps/downloads/settingsChange.dtd6
-rw-r--r--l10n-th/toolkit/chrome/mozapps/downloads/unknownContentType.dtd26
-rw-r--r--l10n-th/toolkit/chrome/mozapps/downloads/unknownContentType.properties24
-rw-r--r--l10n-th/toolkit/chrome/mozapps/extensions/extensions.dtd5
-rw-r--r--l10n-th/toolkit/chrome/mozapps/extensions/extensions.properties84
-rw-r--r--l10n-th/toolkit/chrome/mozapps/handling/handling.dtd10
-rw-r--r--l10n-th/toolkit/chrome/mozapps/handling/handling.properties15
-rw-r--r--l10n-th/toolkit/chrome/mozapps/profile/profileSelection.properties57
-rw-r--r--l10n-th/toolkit/chrome/mozapps/update/updates.properties45
-rw-r--r--l10n-th/toolkit/chrome/passwordmgr/passwordmgr.properties74
-rw-r--r--l10n-th/toolkit/chrome/places/places.properties33
-rw-r--r--l10n-th/toolkit/chrome/pluginproblem/pluginproblem.dtd32
-rw-r--r--l10n-th/toolkit/chrome/search/search.properties19
-rw-r--r--l10n-th/toolkit/crashreporter/aboutcrashes.ftl31
-rw-r--r--l10n-th/toolkit/crashreporter/crashreporter.ini60
-rw-r--r--l10n-th/toolkit/defines.inc1
-rw-r--r--l10n-th/toolkit/toolkit/about/aboutAbout.ftl6
-rw-r--r--l10n-th/toolkit/toolkit/about/aboutAddons.ftl426
-rw-r--r--l10n-th/toolkit/toolkit/about/aboutCompat.ftl13
-rw-r--r--l10n-th/toolkit/toolkit/about/aboutConfig.ftl109
-rw-r--r--l10n-th/toolkit/toolkit/about/aboutGlean.ftl14
-rw-r--r--l10n-th/toolkit/toolkit/about/aboutHttpsOnlyError.ftl28
-rw-r--r--l10n-th/toolkit/toolkit/about/aboutMozilla.ftl11
-rw-r--r--l10n-th/toolkit/toolkit/about/aboutNetworking.ftl71
-rw-r--r--l10n-th/toolkit/toolkit/about/aboutPerformance.ftl67
-rw-r--r--l10n-th/toolkit/toolkit/about/aboutPlugins.ftl35
-rw-r--r--l10n-th/toolkit/toolkit/about/aboutProcesses.ftl133
-rw-r--r--l10n-th/toolkit/toolkit/about/aboutProfiles.ftl74
-rw-r--r--l10n-th/toolkit/toolkit/about/aboutRights.ftl36
-rw-r--r--l10n-th/toolkit/toolkit/about/aboutServiceWorkers.ftl40
-rw-r--r--l10n-th/toolkit/toolkit/about/aboutSupport.ftl381
-rw-r--r--l10n-th/toolkit/toolkit/about/aboutTelemetry.ftl146
-rw-r--r--l10n-th/toolkit/toolkit/about/aboutWebrtc.ftl210
-rw-r--r--l10n-th/toolkit/toolkit/about/abuseReports.ftl92
-rw-r--r--l10n-th/toolkit/toolkit/about/certviewer.ftl120
-rw-r--r--l10n-th/toolkit/toolkit/about/config.ftl54
-rw-r--r--l10n-th/toolkit/toolkit/about/url-classifier.ftl54
-rw-r--r--l10n-th/toolkit/toolkit/extensions/blocklist.ftl22
-rw-r--r--l10n-th/toolkit/toolkit/featuregates/features.ftl103
-rw-r--r--l10n-th/toolkit/toolkit/global/createProfileWizard.ftl53
-rw-r--r--l10n-th/toolkit/toolkit/global/handlerDialog.ftl69
-rw-r--r--l10n-th/toolkit/toolkit/global/processTypes.ftl36
-rw-r--r--l10n-th/toolkit/toolkit/global/profileDowngrade.ftl20
-rw-r--r--l10n-th/toolkit/toolkit/global/profileSelection.ftl36
-rw-r--r--l10n-th/toolkit/toolkit/global/resetProfile.ftl14
-rw-r--r--l10n-th/toolkit/toolkit/global/textActions.ftl49
-rw-r--r--l10n-th/toolkit/toolkit/global/unknownContentType.ftl13
-rw-r--r--l10n-th/toolkit/toolkit/global/videocontrols.ftl14
-rw-r--r--l10n-th/toolkit/toolkit/global/wizard.ftl37
-rw-r--r--l10n-th/toolkit/toolkit/intl/languageNames.ftl212
-rw-r--r--l10n-th/toolkit/toolkit/intl/regionNames.ftl280
-rw-r--r--l10n-th/toolkit/toolkit/main-window/autocomplete.ftl32
-rw-r--r--l10n-th/toolkit/toolkit/main-window/findbar.ftl38
-rw-r--r--l10n-th/toolkit/toolkit/payments/payments.ftl69
-rw-r--r--l10n-th/toolkit/toolkit/pictureinpicture/pictureinpicture.ftl22
-rw-r--r--l10n-th/toolkit/toolkit/preferences/preferences.ftl51
-rw-r--r--l10n-th/toolkit/toolkit/printing/printDialogs.ftl112
-rw-r--r--l10n-th/toolkit/toolkit/printing/printPreview.ftl71
-rw-r--r--l10n-th/toolkit/toolkit/printing/printUI.ftl101
-rw-r--r--l10n-th/toolkit/toolkit/updates/elevation.ftl14
-rw-r--r--l10n-th/toolkit/toolkit/updates/history.ftl27
670 files changed, 50397 insertions, 0 deletions
diff --git a/l10n-th/browser/branding/official/brand.dtd b/l10n-th/browser/branding/official/brand.dtd
new file mode 100644
index 0000000000..d094ad0f8d
--- /dev/null
+++ b/l10n-th/browser/branding/official/brand.dtd
@@ -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/. -->
+
+<!ENTITY brandShorterName "Firefox">
+<!ENTITY brandShortName "Firefox">
+<!ENTITY 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.). -->
+<!ENTITY brandProductName "Firefox">
diff --git a/l10n-th/browser/branding/official/brand.ftl b/l10n-th/browser/branding/official/brand.ftl
new file mode 100644
index 0000000000..077704bbee
--- /dev/null
+++ b/l10n-th/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/l10n-th/browser/branding/official/brand.properties b/l10n-th/browser/branding/official/brand.properties
new file mode 100644
index 0000000000..568f227d4c
--- /dev/null
+++ b/l10n-th/browser/branding/official/brand.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/.
+
+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
+
+syncBrandShortName=Sync
diff --git a/l10n-th/browser/browser/aboutCertError.ftl b/l10n-th/browser/browser/aboutCertError.ftl
new file mode 100644
index 0000000000..098acb553f
--- /dev/null
+++ b/l10n-th/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 } ใบรับรองดังกล่าวถูกต้องสำหรับ <a data-l10n-name="domain-mismatch-link">{ $alt-name }</a> เท่านั้น
+
+# Variables:
+# $hostname (String) - Hostname of the website with cert error.
+# $alt-name (String) - Alternate domain name for which the cert is valid.
+cert-error-domain-mismatch-single-nolink = เว็บไซต์จะพิสูจน์ข้อมูลประจำตัวของตนเองผ่านใบรับรอง { -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 = รหัสข้อผิดพลาด: <a data-l10n-name="error-code-link">{ $error }</a>
+
+# 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/l10n-th/browser/browser/aboutConfig.ftl b/l10n-th/browser/browser/aboutConfig.ftl
new file mode 100644
index 0000000000..7f4b9cb23e
--- /dev/null
+++ b/l10n-th/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/l10n-th/browser/browser/aboutDialog.ftl b/l10n-th/browser/browser/aboutDialog.ftl
new file mode 100644
index 0000000000..fc2d5642bd
--- /dev/null
+++ b/l10n-th/browser/browser/aboutDialog.ftl
@@ -0,0 +1,46 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+aboutDialog-title =
+ .title = เกี่ยวกับ { -brand-full-name }
+releaseNotes-link = มีอะไรใหม่
+update-checkForUpdatesButton =
+ .label = ตรวจสอบการอัปเดต
+ .accesskey = ต
+update-updateButton =
+ .label = เริ่มการทำงานใหม่เพื่ออัปเดต { -brand-shorter-name }
+ .accesskey = ร
+update-checkingForUpdates = กำลังตรวจสอบการอัปเดต…
+update-downloading = <img data-l10n-name="icon"/>กำลังดาวน์โหลดการอัปเดต — <label data-l10n-name="download-status"/>
+update-downloading-message = กำลังดาวน์โหลดอัปเดต — <label data-l10n-name="download-status"/>
+update-applying = กำลังติดตั้งการอัปเดต…
+update-failed = การอัปเดตล้มเหลว <label data-l10n-name="failed-link">ดาวน์โหลดรุ่นล่าสุด</label>
+update-failed-main = การอัปเดตล้มเหลว <a data-l10n-name="failed-link-main">ดาวน์โหลดรุ่นล่าสุด</a>
+update-adminDisabled = การอัปเดตถูกปิดใช้งานโดยผู้ดูแลระบบของคุณ
+update-noUpdatesFound = { -brand-short-name } เป็นรุ่นล่าสุดแล้ว
+update-otherInstanceHandlingUpdates = { -brand-short-name } กำลังถูกอัปเดตโดยอินสแตนซ์อื่น
+update-manual = มีการอัปเดตที่ <label data-l10n-name="manual-link"/>
+update-unsupported = คุณไม่สามารถดำเนินการอัปเดตเพิ่มเติมในระบบนี้ได้ <label data-l10n-name="unsupported-link">เรียนรู้เพิ่มเติม</label>
+update-restarting = กำลังเริ่มการทำงานใหม่…
+channel-description = คุณกำลังอยู่บนช่องทางการอัปเดต <label data-l10n-name="current-channel"></label>
+warningDesc-version = { -brand-short-name } เป็นรุ่นทดลองและอาจไม่เสถียร
+aboutdialog-help-user = ความช่วยเหลือของ { -brand-product-name }
+aboutdialog-submit-feedback = ส่งข้อคิดเห็น
+community-exp = <label data-l10n-name="community-exp-mozillaLink">{ -vendor-short-name }</label> คือ <label data-l10n-name="community-exp-creditsLink">ชุมชนระดับโลก</label> ที่ทำงานร่วมกันเพื่อทำให้เว็บเปิดกว้าง เป็นของสาธารณะ และเข้าถึงได้ทุกคน
+community-2 = { -brand-short-name } ได้รับการออกแบบโดย <label data-l10n-name="community-mozillaLink">{ -vendor-short-name }</label> ซึ่งเป็น <label data-l10n-name="community-creditsLink">ชุมชนระดับโลก</label> ที่ทำงานร่วมกันเพื่อทำให้เว็บเปิดกว้าง เป็นของสาธารณะ และเข้าถึงได้ทุกคน
+helpus = ต้องการที่จะช่วย? <label data-l10n-name="helpus-donateLink">ทำการบริจาค</label> หรือ <label data-l10n-name="helpus-getInvolvedLink">มีส่วนร่วม!</label>
+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/l10n-th/browser/browser/aboutLogins.ftl b/l10n-th/browser/browser/aboutLogins.ftl
new file mode 100644
index 0000000000..5d04d60bad
--- /dev/null
+++ b/l10n-th/browser/browser/aboutLogins.ftl
@@ -0,0 +1,312 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.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 = ข้อมูลการเข้าสู่ระบบและรหัสผ่าน
+
+# "Google Play" and "App Store" are both branding and should not be translated
+
+login-app-promo-title = นำรหัสผ่านของคุณไปทุกที่
+login-app-promo-subtitle = รับแอป { -lockwise-brand-name } ฟรี
+login-app-promo-android =
+ .alt = รับบน Google Play
+login-app-promo-apple =
+ .alt = ดาวน์โหลดบน App Store
+login-filter =
+ .placeholder = ค้นหาข้อมูลการเข้าสู่ระบบ
+create-login-button = สร้างการเข้าสู่ระบบใหม่
+fxaccounts-sign-in-text = รับรหัสผ่านของคุณบนอุปกรณ์อื่น ๆ ของคุณ
+fxaccounts-sign-in-button = ลงชื่อเข้า { -sync-brand-short-name }
+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 = ช่วยเหลือ
+menu-menuitem-android-app = { -lockwise-brand-short-name } สำหรับ Android
+menu-menuitem-iphone-app = { -lockwise-brand-short-name } สำหรับ iPhone และ iPad
+
+## 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)
+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 = รหัสผ่านที่อ่อนแอ
+
+## Introduction screen
+
+login-intro-heading = กำลังมองหาข้อมูลการเข้าสู่ระบบที่บันทึกไว้ของคุณหรือไม่? ตั้งค่า { -sync-brand-short-name }
+about-logins-login-intro-heading-logged-out = กำลังมองหาข้อมูลการเข้าสู่ระบบที่บันทึกไว้ของคุณหรือไม่? ตั้งค่า { -sync-brand-short-name } หรือนำเข้า
+about-logins-login-intro-heading-logged-in = ไม่พบข้อมูลการเข้าสู่ระบบที่ซิงค์
+login-intro-description = หากคุณบันทึกข้อมูลการเข้าสู่ระบบของคุณไว้ที่ { -brand-product-name } บนอุปกรณ์อื่น ๆ คุณสามารถนำมาใช้บนอุปกรณ์นี้ได้ด้วยวิธีนี้:
+login-intro-instruction-fxa = สร้างหรือลงชื่อเข้าใช้ { -fxaccount-brand-name } ของคุณบนอุปกรณ์ที่บันทึกข้อมูลการเข้าสู่ระบบของคุณ
+login-intro-instruction-fxa-settings = ตรวจสอบให้แน่ใจว่าคุณได้เลือกกล่องกาเครื่องหมายข้อมูลการเข้าสู่ระบบในการตั้งค่า { -sync-brand-short-name }
+about-logins-intro-instruction-help = เยี่ยมชม<a data-l10n-name="help-link">ฝ่ายสนับสนุน { -lockwise-brand-short-name }</a> สำหรับวิธีใช้เพิ่มเติม
+about-logins-intro-import = หากข้อมูลการเข้าสู่ระบบของคุณถูกบันทึกไว้ในเบราว์เซอร์อื่น คุณสามารถ<a data-l10n-name="import-link">นำเข้าข้อมูลเหล่านี้ใน { -lockwise-brand-short-name }</a> ได้
+about-logins-intro-import2 = หากข้อมูลการเข้าสู่ระบบของคุณถูกบันทึกไว้ภายนอก { -brand-product-name } คุณสามารถ<a data-l10n-name="import-browser-link">นำเข้าจากเบราว์เซอร์อื่น</a>หรือ<a data-l10n-name="import-file-link">จากไฟล์</a>ได้
+
+## 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 = คัดลอกรหัสผ่านที่บันทึกไว้
+
+## Master Password notification
+
+master-password-notification-message = โปรดป้อนรหัสผ่านหลักของคุณเพื่อดูข้อมูลการเข้าสู่ระบบและรหัสผ่านที่บันทึกไว้
+# 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 = ข
+
+## Password Sync notification
+
+enable-password-sync-notification-message =
+ { PLATFORM() ->
+ [windows] ต้องการข้อมูลการเข้าสู่ระบบของคุณทุกที่ที่คุณใช้ { -brand-product-name } หรือไม่? ไปที่ตัวเลือก { -sync-brand-short-name } ของคุณแล้วเลือกกล่องกาเครื่องหมาย ข้อมูลการเข้าสู่ระบบ
+ *[other] ต้องการข้อมูลการเข้าสู่ระบบของคุณทุกที่ที่คุณใช้ { -brand-product-name } หรือไม่? ไปที่ค่ากำหนด { -sync-brand-short-name } ของคุณแล้วเลือกกล่องกาเครื่องหมาย ข้อมูลการเข้าสู่ระบบ
+ }
+enable-password-sync-preferences-button =
+ .label =
+ { PLATFORM() ->
+ [windows] เยี่ยมชมตัวเลือก { -sync-brand-short-name }
+ *[other] เยี่ยมชมค่ากำหนด { -sync-brand-short-name }
+ }
+ .accesskey = ย
+about-logins-enable-password-sync-dont-ask-again-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 } พร้อมชื่อผู้ใช้นั้นแล้ว <a data-l10n-name="duplicate-link">ต้องการไปยังรายการที่มีอยู่หรือไม่?</a>
+# 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] <span>เพิ่มข้อมูลการเข้าสู่ระบบใหม่แล้ว:</span> <span data-l10n-name="count">{ $count }</span>
+ }
+about-logins-import-dialog-items-modified =
+ { $count ->
+ *[other] <span>อัปเดตข้อมูลการเข้าสู่ระบบที่มีอยู่แล้ว:</span> <span data-l10n-name="count">{ $count }</span>
+ }
+about-logins-import-dialog-items-no-change =
+ { $count ->
+ *[other] <span>พบข้อมูลการเข้าสู่ระบบที่ซ้ำกัน:</span> <span data-l10n-name="count">{ $count }</span> <span data-l10n-name="meta">(ยังไม่ได้นำเข้า)</span>
+ }
+about-logins-import-dialog-items-error =
+ { $count ->
+ *[other] <span>ข้อผิดพลาด:</span> <span data-l10n-name="count">{ $count }</span> <span data-l10n-name="meta">(ยังไม่ได้นำเข้า)</span>
+ }
+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-again = ลองอีกครั้ง…
+about-logins-import-dialog-error-cancel = ยกเลิก
+
+## Logins import report page
+
+about-logins-import-report-page-title = รายงานสรุปการนำเข้า
diff --git a/l10n-th/browser/browser/aboutPolicies.ftl b/l10n-th/browser/browser/aboutPolicies.ftl
new file mode 100644
index 0000000000..17a069b473
--- /dev/null
+++ b/l10n-th/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/l10n-th/browser/browser/aboutPrivateBrowsing.ftl b/l10n-th/browser/browser/aboutPrivateBrowsing.ftl
new file mode 100644
index 0000000000..1cb906f52f
--- /dev/null
+++ b/l10n-th/browser/browser/aboutPrivateBrowsing.ftl
@@ -0,0 +1,27 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+privatebrowsingpage-open-private-window-label = เปิดหน้าต่างส่วนตัว
+ .accesskey = ส
+about-private-browsing-search-placeholder = ค้นหาเว็บ
+about-private-browsing-info-title = คุณอยู่ในหน้าต่างส่วนตัว
+about-private-browsing-info-myths = ความเข้าใจผิดที่พบบ่อยเกี่ยวกับการท่องเว็บแบบส่วนตัว
+about-private-browsing =
+ .title = ค้นหาเว็บ
+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 }
+# 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] หากต้องการเลือกเครื่องมือค้นหาอื่นให้ไปที่ <a data-l10n-name="link-options">ตัวเลือก</a>
+ *[other] หากต้องการเลือกเครื่องมือค้นหาอื่นให้ไปที่ <a data-l10n-name="link-options">ค่ากำหนด</a>
+ }
+about-private-browsing-search-banner-close-button =
+ .aria-label = ปิด
diff --git a/l10n-th/browser/browser/aboutRestartRequired.ftl b/l10n-th/browser/browser/aboutRestartRequired.ftl
new file mode 100644
index 0000000000..42a369bd87
--- /dev/null
+++ b/l10n-th/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/l10n-th/browser/browser/aboutRobots.ftl b/l10n-th/browser/browser/aboutRobots.ftl
new file mode 100644
index 0000000000..d42c866ea7
--- /dev/null
+++ b/l10n-th/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/l10n-th/browser/browser/aboutSessionRestore.ftl b/l10n-th/browser/browser/aboutSessionRestore.ftl
new file mode 100644
index 0000000000..247b8a48d9
--- /dev/null
+++ b/l10n-th/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 = ส่วนเสริมและการปรับแต่งของคุณถูกเอาออกและการตั้งค่าเบราว์เซอร์ของคุณถูกเรียกคืนเป็นค่าเริ่มต้น หากนี่ไม่แก้ปัญหาของคุณ <a data-l10n-name="link-more">เรียนรู้เพิ่มเกี่ยวกับสิ่งที่คุณสามารถทำได้</a>
+
diff --git a/l10n-th/browser/browser/aboutTabCrashed.ftl b/l10n-th/browser/browser/aboutTabCrashed.ftl
new file mode 100644
index 0000000000..a3d12d6d06
--- /dev/null
+++ b/l10n-th/browser/browser/aboutTabCrashed.ftl
@@ -0,0 +1,27 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+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 = ส่งรายงานข้อขัดข้องอัตโนมัติเพื่อให้เราสามารถแก้ไขปัญหาเช่นนี้ได้
+crashed-send-report-2 = ส่งรายงานข้อขัดข้องอัตโนมัติเพื่อให้เราสามารถแก้ไขปัญหาเช่นนี้ได้
+crashed-comment =
+ .placeholder = ความคิดเห็นเพิ่มเติม (ความคิดเห็นจะปรากฏต่อสาธารณะ)
+crashed-include-URL = รวม URL ของไซต์ที่คุณกำลังเยี่ยมชมเมื่อ { -brand-short-name } ขัดข้อง
+crashed-include-URL-2 = รวม URL ของไซต์ที่คุณกำลังเยี่ยมชมเมื่อ { -brand-short-name } ขัดข้อง
+crashed-email-placeholder = ป้อนที่อยู่อีเมลของคุณที่นี่
+crashed-email-me = ส่งอีเมลหาฉันเมื่อมีข้อมูลเพิ่มเติม
+crashed-report-sent = ส่งรายงานข้อขัดข้องแล้ว; ขอบคุณที่ช่วยทำ { -brand-short-name } ให้ดีขึ้น!
+crashed-request-auto-submit-title = รายงานแท็บเบื้องหลัง
+crashed-auto-submit-checkbox = อัปเดตค่ากำหนดเพื่อให้ส่งรายงานเมื่อ { -brand-short-name } ขัดข้องโดยอัตโนมัติ
+crashed-auto-submit-checkbox-2 = อัปเดตค่ากำหนดเพื่อให้ส่งรายงานเมื่อ { -brand-short-name } ขัดข้องโดยอัตโนมัติ
diff --git a/l10n-th/browser/browser/allTabsMenu.ftl b/l10n-th/browser/browser/allTabsMenu.ftl
new file mode 100644
index 0000000000..f40067adc3
--- /dev/null
+++ b/l10n-th/browser/browser/allTabsMenu.ftl
@@ -0,0 +1,24 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+all-tabs-menu-undo-close-tabs =
+ .label =
+ { $tabCount ->
+ [1] เรียกคืนแท็บที่เพิ่งปิด
+ *[other] เรียกคืนแท็บที่เพิ่งปิด
+ }
+
+# "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/l10n-th/browser/browser/appMenuNotifications.ftl b/l10n-th/browser/browser/appMenuNotifications.ftl
new file mode 100644
index 0000000000..da3c64fcf4
--- /dev/null
+++ b/l10n-th/browser/browser/appMenuNotifications.ftl
@@ -0,0 +1,78 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+appmenu-update-available =
+ .label = มีการอัปเดต { -brand-shorter-name } ใหม่ที่พร้อมให้ใช้งาน
+ .buttonlabel = ดาวน์โหลดการอัปเดต
+ .buttonaccesskey = ด
+ .secondarybuttonlabel = ไม่ใช่ตอนนี้
+ .secondarybuttonaccesskey = ม
+appmenu-update-available-message = อัปเดต { -brand-shorter-name } ของคุณเพื่อความเร็วและความเป็นส่วนตัวล่าสุด
+appmenu-update-manual =
+ .label = ไม่สามารถอัปเดต { -brand-shorter-name } เป็นรุ่นล่าสุด
+ .buttonlabel = ดาวน์โหลด { -brand-shorter-name }
+ .buttonaccesskey = ด
+ .secondarybuttonlabel = ไม่ใช่ตอนนี้
+ .secondarybuttonaccesskey = ม
+appmenu-update-manual-message = ดาวน์โหลดสำเนาใหม่ของ { -brand-shorter-name } และเราจะช่วยคุณติดตั้ง
+appmenu-update-whats-new =
+ .value = ดูว่ามีอะไรใหม่
+appmenu-update-unsupported =
+ .label = { -brand-shorter-name } ไม่สามารถอัปเดตเป็นรุ่นล่าสุด
+ .buttonlabel = เรียนรู้เพิ่มเติม
+ .buttonaccesskey = ร
+ .secondarybuttonlabel = ปิด
+ .secondarybuttonaccesskey = ป
+appmenu-update-unsupported-message = เครื่องของคุณไม่รองรับ { -brand-shorter-name } รุ่นล่าสุด
+appmenu-update-restart =
+ .label = เริ่มการทำงานใหม่เพื่ออัปเดต { -brand-shorter-name }
+ .buttonlabel = เริ่มการทำงานใหม่และเรียกคืน
+ .buttonaccesskey = ร
+ .secondarybuttonlabel = ไม่ใช่ตอนนี้
+ .secondarybuttonaccesskey = ม
+appmenu-update-restart-message = หลังจากเริ่มการทำงานใหม่อย่างรวดเร็ว { -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-installed =
+ .buttonlabel = ตกลง เข้าใจแล้ว
+ .buttonaccesskey = ต
+appmenu-addon-post-install-message = จัดการส่วนเสริมของคุณโดยคลิก <image data-l10n-name='addon-install-icon'></image> ใน <image data-l10n-name='addon-menu-icon'></image> เมนู
+appmenu-addon-post-install-incognito-checkbox =
+ .label = อนุญาตให้ส่วนขยายนี้ทำงานในหน้าต่างส่วนตัว
+ .accesskey = อ
+appmenu-new-tab-controlled =
+ .label = แท็บใหม่ของคุณมีการเปลี่ยนแปลง
+ .buttonlabel = เก็บการเปลี่ยนแปลง
+ .buttonaccesskey = ก
+ .secondarybuttonlabel = ปิดใช้งานส่วนขยาย
+ .secondarybuttonaccesskey = ป
+appmenu-homepage-controlled =
+ .label = หน้าแรกของคุณมีการเปลี่ยนแปลง
+ .buttonlabel = เก็บการเปลี่ยนแปลง
+ .buttonaccesskey = ก
+ .secondarybuttonlabel = ปิดใช้งานส่วนขยาย
+ .secondarybuttonaccesskey = ป
+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/l10n-th/browser/browser/appmenu.ftl b/l10n-th/browser/browser/appmenu.ftl
new file mode 100644
index 0000000000..8eccd07a5c
--- /dev/null
+++ b/l10n-th/browser/browser/appmenu.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/.
+
+
+## App Menu
+
+appmenuitem-update-banner =
+ .label-update-downloading = กำลังดาวน์โหลดการอัปเดต { -brand-shorter-name }
+appmenuitem-protection-dashboard-title = แดชบอร์ดการป้องกัน
+appmenuitem-customize-mode =
+ .label = ปรับแต่ง…
+
+## Zoom Controls
+
+appmenuitem-new-window =
+ .label = หน้าต่างใหม่
+appmenuitem-new-private-window =
+ .label = หน้าต่างส่วนตัวใหม่
+appmenuitem-passwords =
+ .label = รหัสผ่าน
+appmenuitem-extensions-and-themes =
+ .label = ส่วนขยายและชุดตกแต่ง
+appmenuitem-find-in-page =
+ .label = ค้นหาในหน้า…
+appmenuitem-more-tools =
+ .label = เครื่องมือเพิ่มเติม
+appmenuitem-exit =
+ .label = ออก
+# 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.
+
+fxa-toolbar-sync-now =
+ .label = ซิงค์ตอนนี้
+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-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-settings =
+ .value = การตั้งค่า
+# This link takes the user to about:profiling, and is only visible with the Custom preset.
+profiler-popup-edit-settings = แก้ไขการตั้งค่า
+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-shortcut =
+ { PLATFORM() ->
+ [macos] ⌃⇧2
+ *[other] Ctrl+Shift+2
+ }
+
+## Help panel
+
+appmenu-help-header =
+ .title = ความช่วยเหลือของ { -brand-shorter-name }
+appmenu-about =
+ .label = เกี่ยวกับ { -brand-shorter-name }
+ .accesskey = ก
+appmenu-help-product =
+ .label = ความช่วยเหลือของ { -brand-shorter-name }
+ .accesskey = ช
+appmenu-help-show-tour =
+ .label = เที่ยวชม { -brand-shorter-name }
+ .accesskey = ท
+appmenu-help-import-from-another-browser =
+ .label = นำเข้าจากเบราว์เซอร์อื่น…
+ .accesskey = I
+appmenu-help-keyboard-shortcuts =
+ .label = แป้นพิมพ์ลัด
+ .accesskey = ล
+appmenu-get-help =
+ .label = รับความช่วยเหลือ
+ .accesskey = ช
+appmenu-help-troubleshooting-info =
+ .label = ข้อมูลการแก้ไขปัญหา
+ .accesskey = ป
+appmenu-help-taskmanager =
+ .label = ตัวจัดการงาน
+appmenu-help-feedback-page =
+ .label = ส่งข้อคิดเห็น…
+ .accesskey = ส
+
+## appmenu-help-safe-mode-without-addons and appmenu-help-safe-mode-without-addons
+## are mutually exclusive, so it's possible to use the same accesskey for both.
+
+appmenu-help-safe-mode-without-addons =
+ .label = เริ่มการทำงานใหม่พร้อมปิดใช้งานส่วนเสริม…
+ .accesskey = ร
+appmenu-help-safe-mode-with-addons =
+ .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 = ห
+
+##
+
+appmenu-help-check-for-update =
+ .label = ตรวจสอบการอัปเดต…
diff --git a/l10n-th/browser/browser/branding/brandings.ftl b/l10n-th/browser/browser/branding/brandings.ftl
new file mode 100644
index 0000000000..8ed0b6e58d
--- /dev/null
+++ b/l10n-th/browser/browser/branding/brandings.ftl
@@ -0,0 +1,32 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+## 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
diff --git a/l10n-th/browser/browser/branding/sync-brand.ftl b/l10n-th/browser/browser/branding/sync-brand.ftl
new file mode 100644
index 0000000000..9ccbe4bdf6
--- /dev/null
+++ b/l10n-th/browser/browser/branding/sync-brand.ftl
@@ -0,0 +1,13 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+-sync-brand-short-name = Sync
+
+# “Sync” can be localized, “Firefox” must be treated as a brand,
+# and kept in English.
+-sync-brand-name = Firefox Sync
+
+# “Account” can be localized, “Firefox” must be treated as a brand,
+# and kept in English.
+-fxaccount-brand-name = บัญชี Firefox
diff --git a/l10n-th/browser/browser/browser.ftl b/l10n-th/browser/browser/browser.ftl
new file mode 100644
index 0000000000..aad6d6bfc4
--- /dev/null
+++ b/l10n-th/browser/browser/browser.ftl
@@ -0,0 +1,580 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.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 = จัดการการแบ่งปันกล้องและ/หรือไมโครโฟนของคุณกับไซต์
+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-add-to-urlbar =
+ .label = เพิ่มลงในแถบที่อยู่
+page-action-manage-extension =
+ .label = จัดการส่วนขยาย…
+page-action-remove-from-urlbar =
+ .label = เอาออกจากแถบที่อยู่
+page-action-remove-extension =
+ .label = เอาส่วนขยายออก
+
+## Page Action menu
+
+# Variables
+# $tabCount (integer) - Number of tabs selected
+page-action-send-tabs-panel =
+ .label = ส่ง { $tabCount } แท็บไปยังอุปกรณ์
+page-action-send-tabs-urlbar =
+ .tooltiptext = ส่ง { $tabCount } แท็บไปยังอุปกรณ์
+page-action-pocket-panel =
+ .label = บันทึกหน้าไปยัง { -pocket-brand-name }
+page-action-copy-url-panel =
+ .label = คัดลอกลิงก์
+page-action-copy-url-urlbar =
+ .tooltiptext = คัดลอกลิงก์
+page-action-email-link-panel =
+ .label = ส่งอีเมลลิงก์…
+page-action-email-link-urlbar =
+ .tooltiptext = ส่งอีเมลลิงก์…
+page-action-share-url-panel =
+ .label = แบ่งปัน
+page-action-share-url-urlbar =
+ .tooltiptext = แบ่งปัน
+page-action-share-more-panel =
+ .label = เพิ่มเติม…
+page-action-send-tab-not-ready =
+ .label = กำลังซิงค์อุปกรณ์…
+# "Pin" is being used as a metaphor for expressing the fact that these tabs
+# are "pinned" to the left edge of the tabstrip. Really we just want the
+# string to express the idea that this is a lightweight and reversible
+# action that keeps your tab where you can reach it easily.
+page-action-pin-tab-panel =
+ .label = ปักหมุดแท็บ
+page-action-pin-tab-urlbar =
+ .tooltiptext = ปักหมุดแท็บ
+page-action-unpin-tab-panel =
+ .label = ถอนหมุดแท็บ
+page-action-unpin-tab-urlbar =
+ .tooltiptext = ถอนหมุดแท็บ
+
+## 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 = คราวนี้ค้นหาด้วย:
+# This string won't wrap, so if the translated string is longer,
+# consider translating it as if it said only "Search Settings".
+search-one-offs-change-settings-button =
+ .label = เปลี่ยนการตั้งค่าการค้นหา
+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 })
+
+## 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
+
+bookmark-panel-show-editor-checkbox =
+ .label = แสดงตัวแก้ไขเมื่อบันทึก
+ .accesskey = ส
+bookmark-panel-done-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
+
+identity-connection-not-secure = การเชื่อมต่อไม่ปลอดภัย
+identity-connection-secure = การเชื่อมต่อปลอดภัย
+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 =
+ .value = สิทธิอนุญาต
+identity-permissions-storage-access-header = คุกกี้ข้ามไซต์
+identity-permissions-storage-access-hint = บุคคลเหล่านี้สามารถใช้คุกกี้ข้ามไซต์และข้อมูลไซต์ในขณะที่คุณอยู่บนไซต์นี้ได้
+identity-permissions-reload-hint = คุณอาจจำเป็นต้องโหลดหน้าใหม่เพื่อให้การเปลี่ยนแปลงมีผล
+identity-permissions-empty = คุณไม่ได้อนุญาตไซต์นี้ด้วยสิทธิอนุญาตพิเศษใด ๆ
+identity-clear-site-data =
+ .label = ล้างคุกกี้และข้อมูลไซต์…
+identity-connection-not-secure-security-view = คุณไม่ได้เชื่อมต่ออย่างปลอดภัยไปยังไซต์นี้
+identity-connection-verified = คุณได้เชื่อมต่ออย่างปลอดภัยไปยังไซต์นี้
+identity-ev-owner-label = ออกใบรับรองให้กับ:
+identity-description-custom-root = Mozilla ไม่รู้จักผู้ออกใบรับรองนี้ ซึ่งอาจถูกเพิ่มจากระบบปฏิบัติการของคุณหรือโดยผู้ดูแลระบบ <label data-l10n-name="link">เรียนรู้เพิ่มเติม</label>
+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 } ได้ปิดกั้นบางส่วนของหน้านี้ที่ไม่ปลอดภัย <label data-l10n-name="link">เรียนรู้เพิ่มเติม</label>
+identity-description-passive-loaded = การเชื่อมต่อของคุณไม่เป็นส่วนตัวและข้อมูลที่คุณแบ่งปันกับเว็บไซต์คนอื่นสามารถดูได้
+identity-description-passive-loaded-insecure = เว็บไซต์นี้มีเนื้อหาที่ไม่ปลอดภัย (อย่างเช่น ภาพ) <label data-l10n-name="link">เรียนรู้เพิ่มเติม</label>
+identity-description-passive-loaded-mixed = ถึงแม้ว่า { -brand-short-name } ได้ปิดกั้นเนื้อหาบางส่วน แต่ก็ยังคงมีเนื้อหาในหน้าที่ไม่ปลอดภัย (อย่างเช่น ภาพ) <label data-l10n-name="link">เรียนรู้เพิ่มเติม</label>
+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
+
+
+## Bookmarks toolbar items
+
+browser-import-button2 =
+ .label = นำเข้าที่คั่นหน้า…
+ .tooltiptext = นำเข้าที่คั่นหน้าจากเบราว์เซอร์อื่นมายัง { -brand-short-name }
+bookmarks-toolbar-empty-message = วางที่คั่นหน้าของคุณไว้ที่นี่บนแถบเครื่องมือที่คั่นหน้าเพื่อให้เข้าถึงได้อย่างรวดเร็ว <a data-l10n-name="manage-bookmarks">จัดการที่คั่นหน้า…</a>
+
+## WebRTC Pop-up notifications
+
+popup-select-camera =
+ .value = กล้องที่แบ่งปัน:
+ .accesskey = ก
+popup-select-microphone =
+ .value = ไมโครโฟนที่แบ่งปัน:
+ .accesskey = ม
+popup-all-windows-shared = หน้าต่างที่ปรากฏอยู่ทั้งหมดบนหน้าจอของคุณจะถูกแบ่งปัน
+popup-screen-sharing-not-now =
+ .label = ไม่ใช่ตอนนี้
+ .accesskey = w
+popup-screen-sharing-never =
+ .label = ไม่อนุญาตเสมอ
+ .accesskey = ม
+popup-silence-notifications-checkbox = ปิดใช้งานการแจ้งเตือนจาก { -brand-short-name } ขณะที่แบ่งปัน
+popup-silence-notifications-checkbox-warning = { -brand-short-name } จะไม่แสดงการแจ้งเตือนขณะที่คุณกำลังแบ่งปัน
+
+## 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
+
+urlbar-default-placeholder =
+ .defaultPlaceholder = ค้นหาหรือป้อนที่อยู่
+# 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 } หรือป้อนที่อยู่
+urlbar-remote-control-notification-anchor =
+ .tooltiptext = เบราว์เซอร์อยู่ภายใต้การควบคุมระยะไกล
+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 = การกระทำหน้า
+urlbar-pocket-button =
+ .tooltiptext = บันทึกไปยัง { -pocket-brand-name }
+
+## 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 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 = ค้นหาแท็บ
+
+## Full Screen and Pointer Lock UI
+
+# Please ensure that the domain stays in the `<span data-l10n-name="domain">` markup.
+# Variables
+# $domain (String): the domain that is full screen, e.g. "mozilla.org"
+fullscreen-warning-domain = <span data-l10n-name="domain">{ $domain }</span> เต็มหน้าจออยู่
+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 `<span data-l10n-name="domain">` markup.
+# Variables
+# $domain (String): the domain that is using pointer-lock, e.g. "mozilla.org"
+pointerlock-warning-domain = <span data-l10n-name="domain">{ $domain }</span> ได้ควบคุมตัวชี้ของคุณ กด Esc เพื่อดึงการควบคุมคืน
+pointerlock-warning-no-domain = เอกสารชิ้นนี้ได้ควบคุมตัวชี้ของคุณ กด Esc เพื่อดึงการควบคุมคืน
+
+## Subframe crash notification
+
+
+## Bookmarks panels, menus and toolbar
+
+bookmarks-show-all-bookmarks =
+ .label = แสดงที่คั่นหน้าทั้งหมด
+bookmarks-recent-bookmarks =
+ .value = ที่คั่นหน้าที่เพิ่มล่าสุด
+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 =
+ .label =
+ { $isVisible ->
+ [true] ซ่อนแถบเครื่องมือที่คั่นหน้า
+ *[other] ดูแถบเครื่องมือที่คั่นหน้า
+ }
+bookmarks-tools-toolbar-visibility-menuitem =
+ .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 = รายการแถบเครื่องมือที่คั่นหน้า
+
+## Library Panel items
+
+library-bookmarks-menu =
+ .label = ที่คั่นหน้า
+library-bookmarks-bookmark-this-page =
+ .label = เพิ่มที่คั่นหน้าสำหรับหน้านี้
+library-bookmarks-bookmark-edit =
+ .label = แก้ไขที่คั่นหน้านี้
+library-recent-activity-title =
+ .value = กิจกรรมล่าสุด
+
+## More items
+
+more-menu-go-offline =
+ .label = ทำงานออฟไลน์
+ .accesskey = ฟ
diff --git a/l10n-th/browser/browser/browserContext.ftl b/l10n-th/browser/browser/browserContext.ftl
new file mode 100644
index 0000000000..3ec12c2f79
--- /dev/null
+++ b/l10n-th/browser/browser/browserContext.ftl
@@ -0,0 +1,339 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.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
+
+main-context-menu-back =
+ .tooltiptext = ย้อนกลับไปหนึ่งหน้า
+ .aria-label = ย้อนกลับ
+ .accesskey = ย
+navbar-tooltip-back =
+ .value = { main-context-menu-back.tooltiptext }
+toolbar-button-back =
+ .label = { main-context-menu-back.aria-label }
+# Variables
+# $shortcut (String) - A keyboard shortcut for the Go Back command.
+main-context-menu-back-2 =
+ .tooltiptext = ย้อนกลับไปหนึ่งหน้า ({ $shortcut })
+ .aria-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
+
+main-context-menu-forward =
+ .tooltiptext = เดินหน้าไปหนึ่งหน้า
+ .aria-label = เดินหน้า
+ .accesskey = ด
+navbar-tooltip-forward =
+ .value = { main-context-menu-forward.tooltiptext }
+toolbar-button-forward =
+ .label = { main-context-menu-forward.aria-label }
+# Variables
+# $shortcut (String) - A keyboard shortcut for the Go Forward command.
+main-context-menu-forward-2 =
+ .tooltiptext = เดินหน้าไปหนึ่งหน้า ({ $shortcut })
+ .aria-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 = ห
+toolbar-button-reload =
+ .label = { main-context-menu-reload.aria-label }
+
+## Stop
+
+main-context-menu-stop =
+ .aria-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 }
+
+## Save Page
+
+main-context-menu-page-save =
+ .label = บันทึกหน้าเป็น…
+ .accesskey = ห
+toolbar-button-page-save =
+ .label = { main-context-menu-page-save.label }
+
+## Simple menu items
+
+main-context-menu-bookmark-add =
+ .aria-label = เพิ่มที่คั่นหน้าสำหรับหน้านี้
+ .accesskey = พ
+ .tooltiptext = เพิ่มที่คั่นหน้าสำหรับหน้านี้
+# 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-this-link =
+ .label = เพิ่มที่คั่นหน้าสำหรับลิงก์นี้
+ .accesskey = ล
+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.
+
+main-context-menu-copy-email =
+ .label = คัดลอกที่อยู่อีเมล
+ .accesskey = ท
+main-context-menu-copy-link =
+ .label = คัดลอกตำแหน่งที่ตั้งลิงก์
+ .accesskey = ด
+
+## 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 =
+ .label = ความเร็วในการเล่น
+ .accesskey = ร
+main-context-menu-media-play-speed-slow =
+ .label = ช้า (0.5×)
+ .accesskey = ช
+main-context-menu-media-play-speed-normal =
+ .label = ปกติ
+ .accesskey = ป
+main-context-menu-media-play-speed-fast =
+ .label = เร็ว (1.25×)
+ .accesskey = ร
+main-context-menu-media-play-speed-faster =
+ .label = เร็วขึ้น (1.5×)
+ .accesskey = ข
+# "Ludicrous" is a reference to the movie "Space Balls" and is meant
+# to say that this speed is very fast.
+main-context-menu-media-play-speed-fastest =
+ .label = เร็วมาก (2×)
+ .accesskey = ม
+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-pip =
+ .label = ภาพที่เล่นควบคู่
+ .accesskey = ภ
+main-context-menu-image-reload =
+ .label = โหลดภาพใหม่
+ .accesskey = ห
+main-context-menu-image-view =
+ .label = ดูภาพ
+ .accesskey = ด
+main-context-menu-video-view =
+ .label = ดูวิดีโอ
+ .accesskey = ด
+main-context-menu-image-copy =
+ .label = คัดลอกภาพ
+ .accesskey = ค
+main-context-menu-image-copy-location =
+ .label = คัดลอกตำแหน่งที่ตั้งภาพ
+ .accesskey = ง
+main-context-menu-video-copy-location =
+ .label = คัดลอกตำแหน่งที่ตั้งวิดีโอ
+ .accesskey = ง
+main-context-menu-audio-copy-location =
+ .label = คัดลอกตำแหน่งที่ตั้งเสียง
+ .accesskey = ง
+main-context-menu-image-save-as =
+ .label = บันทึกภาพเป็น…
+ .accesskey = บ
+main-context-menu-image-email =
+ .label = ส่งอีเมลภาพ…
+ .accesskey = ม
+main-context-menu-image-set-as-background =
+ .label = ตั้งเป็นพื้นหลังเดสก์ท็อป…
+ .accesskey = ต
+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-image-save-as =
+ .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 = ส
+main-context-menu-view-background-image =
+ .label = ดูภาพพื้นหลัง
+ .accesskey = ภ
+main-context-menu-generate-new-password =
+ .label = ใช้รหัสผ่านที่ถูกสร้างขึ้นมา ...
+ .accesskey = G
+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-view-page-source =
+ .label = ดูต้นฉบับหน้า
+ .accesskey = ด
+main-context-menu-view-page-info =
+ .label = ดูข้อมูลหน้า
+ .accesskey = ข
+main-context-menu-bidi-switch-text =
+ .label = สลับทิศทางข้อความ
+ .accesskey = ล
+main-context-menu-bidi-switch-page =
+ .label = สลับทิศทางหน้ากระดาษ
+ .accesskey = ส
+main-context-menu-inspect-element =
+ .label = ตรวจสอบองค์ประกอบ
+ .accesskey = อ
+main-context-menu-inspect-a11y-properties =
+ .label = ตรวจสอบคุณสมบัติการช่วยการเข้าถึง
+main-context-menu-eme-learn-more =
+ .label = เรียนรู้เพิ่มเติมเกี่ยวกับ DRM…
+ .accesskey = ร
diff --git a/l10n-th/browser/browser/browserSets.ftl b/l10n-th/browser/browser/browserSets.ftl
new file mode 100644
index 0000000000..868b6b4eba
--- /dev/null
+++ b/l10n-th/browser/browser/browserSets.ftl
@@ -0,0 +1,180 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.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-all-shortcut =
+ .key =
+ { PLATFORM() ->
+ [linux] o
+ *[other] b
+ }
+# 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 = -
+# If in keyboard layouts popular for your locale you need to use the shift key
+# to access the original shortcuts, the following shortcuts can be used.
+# Otherwise their values should remain empty.
+full-zoom-reduce-shortcut-alt =
+ .key = { "" }
+full-zoom-reduce-shortcut-alt-a =
+ .key = _
+full-zoom-reduce-shortcut-alt-b =
+ .key = { "" }
+full-zoom-enlarge-shortcut =
+ .key = +
+full-zoom-enlarge-shortcut-alt =
+ .key = =
+full-zoom-enlarge-shortcut-alt2 =
+ .key = { "" }
+full-zoom-reset-shortcut =
+ .key = 0
+full-zoom-reset-shortcut-alt =
+ .key = { "" }
+
+##
+
+bidi-switch-direction-shortcut =
+ .key = X
+private-browsing-shortcut =
+ .key = P
+
+## The shortcuts below are for Mac specific
+## global menu.
+
+quit-app-shortcut =
+ .key = Q
+help-shortcut =
+ .key = ?
+preferences-shortcut =
+ .key = ,
+hide-app-shortcut =
+ .key = H
+hide-other-apps-shortcut =
+ .key = H
diff --git a/l10n-th/browser/browser/customizeMode.ftl b/l10n-th/browser/browser/customizeMode.ftl
new file mode 100644
index 0000000000..d9c1d8a464
--- /dev/null
+++ b/l10n-th/browser/browser/customizeMode.ftl
@@ -0,0 +1,47 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+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-extra-drag-space =
+ .label = พื้นที่ลาก
+customize-mode-lwthemes =
+ .label = ชุดตกแต่ง
+customize-mode-overflow-list-description = ลากแล้วปล่อยรายการที่นี่เพื่อเก็บรายการไว้ใกล้เอื้อมแต่อยู่นอกแถบเครื่องมือของคุณ…
+customize-mode-uidensity-menu-normal =
+ .label = ปกติ
+ .accesskey = ป
+ .tooltiptext = ปกติ
+customize-mode-uidensity-menu-compact =
+ .label = กะทัดรัด
+ .accesskey = ก
+ .tooltiptext = กะทัดรัด
+customize-mode-lwthemes-menu-get-more =
+ .label = รับชุดตกแต่งเพิ่มเติม
+ .accesskey = ร
+customize-mode-undo-cmd =
+ .label = เลิกทำ
+customize-mode-lwthemes-my-themes =
+ .value = ชุดตกแต่งของฉัน
+customize-mode-touchbar-cmd =
+ .label = ปรับแต่งแถบสัมผัส…
diff --git a/l10n-th/browser/browser/defaultBrowserNotification.ftl b/l10n-th/browser/browser/defaultBrowserNotification.ftl
new file mode 100644
index 0000000000..3835c5cfee
--- /dev/null
+++ b/l10n-th/browser/browser/defaultBrowserNotification.ftl
@@ -0,0 +1,9 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# The question portion of the following message should have the <strong> and </strong> tags surrounding it.
+default-browser-notification-message = <strong>ตั้ง { -brand-short-name } เป็นเบราว์เซอร์เริ่มต้นของคุณหรือไม่?</strong> ให้คุณเรียกดูได้อย่างรวดเร็ว ปลอดภัย และเป็นส่วนตัวเมื่อใดก็ตามที่คุณใช้เว็บ
+default-browser-notification-button =
+ .label = ตั้งเป็นค่าเริ่มต้น
+ .accesskey = ต
diff --git a/l10n-th/browser/browser/downloads.ftl b/l10n-th/browser/browser/downloads.ftl
new file mode 100644
index 0000000000..b421a28ac5
--- /dev/null
+++ b/l10n-th/browser/browser/downloads.ftl
@@ -0,0 +1,166 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.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
+
+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-use-system-default =
+ .label = เปิดในตัวดูของระบบ
+ .accesskey = ต
+
+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] เปิดโฟลเดอร์ที่บรรจุ
+ }
+
+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 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 = ไม่มีการดาวน์โหลดในวาระนี้
diff --git a/l10n-th/browser/browser/editBookmarkOverlay.ftl b/l10n-th/browser/browser/editBookmarkOverlay.ftl
new file mode 100644
index 0000000000..17df384bf5
--- /dev/null
+++ b/l10n-th/browser/browser/editBookmarkOverlay.ftl
@@ -0,0 +1,42 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+bookmark-overlay-name =
+ .value = ชื่อ:
+ .accesskey = ช
+
+bookmark-overlay-location =
+ .value = ตำแหน่งที่ตั้ง:
+ .accesskey = ต
+
+bookmark-overlay-folder =
+ .value = โฟลเดอร์:
+
+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 =
+ .value = ป้ายกำกับ:
+ .accesskey = ป
+
+bookmark-overlay-tags-empty-description =
+ .placeholder = แบ่งป้ายกำกับด้วยจุลภาค
+
+bookmark-overlay-tags-expander =
+ .tooltiptext = แสดงป้ายกำกับทั้งหมด
+ .tooltiptextdown = { bookmark-overlay-tags-expander.tooltiptext }
+ .tooltiptextup = ซ่อน
+
+bookmark-overlay-keyword =
+ .value = คำสำคัญ:
+ .accesskey = ส
diff --git a/l10n-th/browser/browser/menubar.ftl b/l10n-th/browser/browser/menubar.ftl
new file mode 100644
index 0000000000..cf8318382b
--- /dev/null
+++ b/l10n-th/browser/browser/menubar.ftl
@@ -0,0 +1,344 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.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-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 = ป
+menu-file-close-window =
+ .label = ปิดหน้าต่าง
+ .accesskey = ป
+menu-file-save-page =
+ .label = บันทึกหน้าเป็น…
+ .accesskey = น
+menu-file-email-link =
+ .label = ส่งอีเมลลิงก์…
+ .accesskey = ล
+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-on =
+ .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-toolbar =
+ .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-charset =
+ .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 = หน้าต่างที่ปิดล่าสุด
+
+## Bookmarks Menu
+
+menu-bookmarks-menu =
+ .label = ที่คั่นหน้า
+ .accesskey = ท
+menu-bookmarks-show-all =
+ .label = แสดงที่คั่นหน้าทั้งหมด
+menu-bookmark-this-page =
+ .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 =
+ .label = ส่วนเสริม
+ .accesskey = ส
+menu-tools-fxa-sign-in =
+ .label = ลงชื่อเข้า { -brand-product-name }…
+ .accesskey = g
+menu-tools-turn-on-sync =
+ .label = เปิด { -sync-brand-short-name }…
+ .accesskey = n
+menu-tools-sync-now =
+ .label = ซิงค์ตอนนี้
+ .accesskey = ง
+menu-tools-fxa-re-auth =
+ .label = เชื่อมต่อกับ { -brand-product-name }…
+ .accesskey = R
+menu-tools-web-developer =
+ .label = นักพัฒนาเว็บ
+ .accesskey = พ
+menu-tools-page-source =
+ .label = ต้นฉบับหน้า
+ .accesskey = ต
+menu-tools-page-info =
+ .label = ข้อมูลหน้า
+ .accesskey = ข
+menu-preferences =
+ .label =
+ { PLATFORM() ->
+ [windows] ตัวเลือก
+ *[other] ค่ากำหนด
+ }
+ .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-help-product
+#
+# These strings are duplicated to allow for different casing depending on
+# where the strings appear.
+
+
+# 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-help-product =
+ .label = ความช่วยเหลือของ { -brand-shorter-name }
+ .accesskey = ช
+menu-help-show-tour =
+ .label = เที่ยวชม { -brand-shorter-name }
+ .accesskey = ท
+menu-help-import-from-another-browser =
+ .label = นำเข้าจากเบราว์เซอร์อื่น…
+ .accesskey = I
+menu-help-keyboard-shortcuts =
+ .label = แป้นพิมพ์ลัด
+ .accesskey = ล
+menu-help-troubleshooting-info =
+ .label = ข้อมูลการแก้ไขปัญหา
+ .accesskey = ป
+menu-help-taskmanager =
+ .label = ตัวจัดการงาน
+menu-help-feedback-page =
+ .label = ส่งข้อคิดเห็น…
+ .accesskey = ส
+menu-help-safe-mode-without-addons =
+ .label = เริ่มการทำงานใหม่พร้อมปิดใช้งานส่วนเสริม…
+ .accesskey = ร
+menu-help-safe-mode-with-addons =
+ .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 = ห
+menu-help-check-for-update =
+ .label = ตรวจสอบการอัปเดต…
+ .accesskey = C
diff --git a/l10n-th/browser/browser/migration.ftl b/l10n-th/browser/browser/migration.ftl
new file mode 100644
index 0000000000..5198b971de
--- /dev/null
+++ b/l10n-th/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/l10n-th/browser/browser/newInstallPage.ftl b/l10n-th/browser/browser/newInstallPage.ftl
new file mode 100644
index 0000000000..729b6295da
--- /dev/null
+++ b/l10n-th/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 = <b>คุณจะไม่สูญเสียข้อมูลส่วนตัวหรือการปรับแต่งใด ๆ</b> หากคุณบันทึกข้อมูลไปยัง 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 = เพื่อจะดำเนินการต่อ คุณต้องยอมรับ <a data-l10n-name="terms">ข้อตกลงในการใช้บริการ และ</a> และ <a data-l10n-name="privacy">ข้อกำหนดความเป็นส่วนตัว</a>
+sync-first = ใช้งาน { -sync-brand-name } เป็นครั้งแรก? คุณอาจต้องเข้าสู่ระบบในทุกการติดตั้ง Firefox เพื่อซิงค์ข้อมูลของคุณ
+sync-learn = เรียนรู้เพิ่มเติม
diff --git a/l10n-th/browser/browser/newtab/asrouter.ftl b/l10n-th/browser/browser/newtab/asrouter.ftl
new file mode 100644
index 0000000000..0a42374177
--- /dev/null
+++ b/l10n-th/browser/browser/newtab/asrouter.ftl
@@ -0,0 +1,289 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.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-pintab-heading = ลองนี่: ปักหมุดแท็บ
+
+##
+
+cfr-doorhanger-extension-sumo-link =
+ .tooltiptext = ทำไมฉันจึงเห็นสิ่งนี้
+cfr-doorhanger-extension-cancel-button = ไม่ใช่ตอนนี้
+ .accesskey = ม
+cfr-doorhanger-extension-ok-button = เพิ่มตอนนี้
+ .accesskey = พ
+cfr-doorhanger-pintab-ok-button = ปักหมุดแท็บนี้
+ .accesskey = P
+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 } ผู้ใช้
+ }
+cfr-doorhanger-pintab-description = เข้าถึงเว็บที่คุณใช้บ่อยได้อย่างง่ายดาย เปิดเว็บไว้ในแท็บตลอดเวลา (แม้ว่าคุณจะเปิดปิดใหม่ก็ตาม)
+
+## These messages are steps on how to use the feature and are shown together.
+
+cfr-doorhanger-pintab-step1 = <b>คลิกขวา</b> บนแท็บที่คุณต้องการจะปัก
+cfr-doorhanger-pintab-step2 = เลือก <b>ปักหมุดแท็บ</b> จากเมนู
+cfr-doorhanger-pintab-step3 = หากเว็บไซต์มีการเปลี่ยนแปลง คุณจะได้เห็นจุดสีฟ้าบนแท็บที่ถูกปัก
+cfr-doorhanger-pintab-animation-pause = หยุดชั่วคราว
+cfr-doorhanger-pintab-animation-resume = ทำต่อ
+
+## 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-panel-header = มีอะไรใหม่
+cfr-whatsnew-release-notes-link-text = อ่านบันทึกประจำรุ่น
+cfr-whatsnew-fx70-title = ตอนนี้ { -brand-short-name } ต่อสู้อย่างหนักขึ้นเพื่อความเป็นส่วนตัวของคุณ
+cfr-whatsnew-fx70-body =
+ การอัปเดตล่าสุดเพิ่มคุณลักษณะการป้องกันการติดตามและทำให้
+ สร้างรหัสผ่านที่ปลอดภัยสำหรับทุกไซต์ได้ง่ายขึ้นกว่าที่เคย
+cfr-whatsnew-tracking-protect-title = ป้องกันตัวคุณเองจากตัวติดตาม
+cfr-whatsnew-tracking-protect-body =
+ { -brand-short-name } บล็อกตัวติดตามสังคมออนไลน์และข้ามไซต์ทั่วไปจำนวนมากที่
+ ติดตามสิ่งที่คุณทำออนไลน์
+cfr-whatsnew-tracking-protect-link-text = ดูรายงานของคุณ
+# This string is displayed before a large numeral that indicates the total
+# number of tracking elements blocked. Don’t add $blockedCount to your
+# localization, because it would result in the number showing twice.
+cfr-whatsnew-tracking-blocked-title =
+ { $blockedCount ->
+ *[other] ตัวติดตามที่ถูกปิดกั้น
+ }
+cfr-whatsnew-tracking-blocked-subtitle = ตั้งแต่ { DATETIME($earliestDate, month: "long", year: "numeric") }
+cfr-whatsnew-tracking-blocked-link-text = ดูรายงาน
+cfr-whatsnew-lockwise-backup-title = สำรองรหัสผ่านของคุณ
+cfr-whatsnew-lockwise-backup-body = คุณสามารถสร้างรหัสผ่านที่ปลอดภัยซึ่งสามารถเข้าถึงได้ทุกที่ที่คุณลงชื่อเข้าได้แล้วตอนนี้
+cfr-whatsnew-lockwise-backup-link-text = เปิดการสำรองข้อมูล
+cfr-whatsnew-lockwise-take-title = นำรหัสผ่านของคุณไปกับคุณ
+cfr-whatsnew-lockwise-take-body = แอปมือถือ { -lockwise-brand-short-name } ช่วยให้คุณเข้าถึงรหัสผ่านที่สำรองไว้ของคุณจากทุกที่ได้อย่างปลอดภัย
+cfr-whatsnew-lockwise-take-link-text = รับแอป
+
+## Search Bar
+
+cfr-whatsnew-searchbar-title = ค้นหาได้มากขึ้นโดยพิมพ์น้อยลงในแถบที่อยู่
+cfr-whatsnew-searchbar-body-topsites = เพียงเลือกแถบที่อยู่แล้วกล่องจะขยายออกพร้อมลิงก์ไปยังไซต์เด่นของคุณ
+
+## Search bar
+
+cfr-whatsnew-searchbar-icon-alt-text = ไอคอนรูปแว่นขยาย
+
+## Picture-in-Picture
+
+cfr-whatsnew-pip-header = ดูวิดีโอขณะที่คุณเรียกดู
+cfr-whatsnew-pip-body = ภาพที่เล่นควบคู่แสดงวิดีโอเป็นหน้าต่างลอยเพื่อให้คุณรับชมขณะทำงานในแท็บอื่น ๆ ได้
+cfr-whatsnew-pip-cta = เรียนรู้เพิ่มเติม
+
+## Permission Prompt
+
+cfr-whatsnew-permission-prompt-header = ป๊อปอัปของไซต์ที่น่ารำคาญน้อยลง
+cfr-whatsnew-permission-prompt-body = ขณะนี้ { -brand-shorter-name } ปิดกั้นไม่ให้ไซต์ถามเพื่อส่งข้อความป๊อปอัปถึงคุณโดยอัตโนมัติ
+cfr-whatsnew-permission-prompt-cta = เรียนรู้เพิ่มเติม
+
+## Fingerprinter Counter
+
+# This string is displayed before a large numeral that indicates the total
+# number of tracking elements blocked. Don’t add $fingerprinterCount to your
+# localization, because it would result in the number showing twice.
+cfr-whatsnew-fingerprinter-counter-header =
+ { $fingerprinterCount ->
+ *[other] ลายนิ้วมือดิจิทัลถูกปิดกั้น
+ }
+cfr-whatsnew-fingerprinter-counter-body = { -brand-shorter-name } ปิดกั้นลายนิ้วมือดิจิทัลจำนวนมากที่แอบรวบรวมข้อมูลเกี่ยวกับอุปกรณ์และการใช้งานของคุณอย่างลับ ๆ เพื่อสร้างโปรไฟล์โฆษณาของคุณ
+# Message variation when fingerprinters count is less than 10
+cfr-whatsnew-fingerprinter-counter-header-alt = ลายนิ้วมือดิจิทัล
+cfr-whatsnew-fingerprinter-counter-body-alt = { -brand-shorter-name } สามารถปิดกั้นลายนิ้วมือดิจิทัลจำนวนมากที่แอบรวบรวมข้อมูลเกี่ยวกับอุปกรณ์และการใช้งานของคุณอย่างลับ ๆ เพื่อสร้างโปรไฟล์โฆษณาของคุณได้
+
+## Bookmark Sync
+
+cfr-doorhanger-sync-bookmarks-header = รับที่คั่นหน้านี้บนโทรศัพท์ของคุณ
+cfr-doorhanger-sync-bookmarks-body = นำที่คั่นหน้า, รหัสผ่าน, ประวัติและอื่น ๆ ของคุณไปทุกที่ที่คุณลงชื่อเข้า { -brand-product-name }
+cfr-doorhanger-sync-bookmarks-ok-button = เปิด { -sync-brand-short-name }
+ .accesskey = ป
+
+## Login Sync
+
+cfr-doorhanger-sync-logins-header = ไม่ต้องกลัวทำรหัสผ่านหายอีกต่อไป
+cfr-doorhanger-sync-logins-body = เก็บและซิงค์รหัสผ่านของคุณกับอุปกรณ์ทั้งหมดอย่างปลอดภัย
+cfr-doorhanger-sync-logins-ok-button = เปิด { -sync-brand-short-name }
+ .accesskey = ป
+
+## Send Tab
+
+cfr-doorhanger-send-tab-header = อ่านสิ่งนี้ได้ทุกที่
+cfr-doorhanger-send-tab-recipe-header = นำสูตรอาหารนี้ไปที่ห้องครัว
+cfr-doorhanger-send-tab-body = คุณลักษณะการส่งแท็บช่วยให้คุณสามารถแบ่งปันลิงก์นี้ไปที่โทรศัพท์ของคุณหรือที่ไหนก็ได้ที่คุณลงชื่อเข้า { -brand-product-name } ได้อย่างง่ายดาย
+cfr-doorhanger-send-tab-ok-button = ลองใช้คุณลักษณะการส่งแท็บ
+ .accesskey = ล
+
+## Firefox Send
+
+cfr-doorhanger-firefox-send-header = แบ่งปัน PDF นี้อย่างปลอดภัย
+cfr-doorhanger-firefox-send-body = รักษาเอกสารสำคัญของคุณให้ปลอดภัยจากการสอดส่องด้วยการเข้ารหัสจากต้นทางถึงปลายทางและลิงก์ที่จะหายไปเมื่อคุณทำงานกับเอกสารเหล่านั้นเสร็จแล้ว
+cfr-doorhanger-firefox-send-ok-button = ลองใช้ { -send-brand-name }
+ .accesskey = ล
+
+## Social Tracking Protection
+
+cfr-doorhanger-socialtracking-ok-button = ดูการป้องกัน
+ .accesskey = ด
+cfr-doorhanger-socialtracking-close-button = ปิด
+ .accesskey = ป
+cfr-doorhanger-socialtracking-dont-show-again = ไม่ต้องแสดงข้อความเช่นนี้ให้ฉันอีก
+ .accesskey = ม
+cfr-doorhanger-socialtracking-heading = { -brand-short-name } ได้หยุดเครือข่ายสังคมไม่ให้ติดตามคุณที่นี่
+cfr-doorhanger-socialtracking-description = ความเป็นส่วนตัวของคุณสำคัญ { -brand-short-name } จะปิดกั้นตัวติดตามสื่อสังคมออนไลน์ทั่วไป โดยจำกัดจำนวนข้อมูลที่สามารถรวบรวมเกี่ยวกับสิ่งที่คุณทำทางออนไลน์
+cfr-doorhanger-fingerprinters-heading = { -brand-short-name } ได้ปิดกั้นลายนิ้วมือดิจิทัลบนหน้านี้
+cfr-doorhanger-fingerprinters-description = ความเป็นส่วนตัวของคุณสำคัญ { -brand-short-name } จะปิดกั้นลายนิ้วมือดิจิทัล ซึ่งรวบรวมข้อมูลที่ไม่ซ้ำกันเกี่ยวกับอุปกรณ์ของคุณเพื่อติดตามคุณ
+cfr-doorhanger-cryptominers-heading = { -brand-short-name } ได้ปิดกั้นตัวชุดเหรียญดิจิทัลบนหน้านี้
+cfr-doorhanger-cryptominers-description = ความเป็นส่วนตัวของคุณมีความสำคัญ { -brand-short-name } จะปิดกั้นตัวขุดเหรียญดิจิทัล ซึ่งใช้พลังการคำนวณของระบบของคุณเพื่อสร้างรายได้ดิจิทัล
+
+## Enhanced Tracking Protection Milestones
+
+# Variables:
+# $blockedCount (Number) - The total count of blocked trackers. This number will always be greater than 1.
+# $date (String) - The date we began recording the count of blocked trackers
+cfr-doorhanger-milestone-heading =
+ { $blockedCount ->
+ *[other] { -brand-short-name } ปิดกั้นตัวติดตามไปแล้ว <b>{ $blockedCount }</b> ตัวตั้งแต่ { $date }!
+ }
+cfr-doorhanger-milestone-ok-button = ดูทั้งหมด
+ .accesskey = ด
+cfr-doorhanger-milestone-close-button = ปิด
+ .accesskey = C
+
+## What’s New Panel Content for Firefox 76
+
+
+## Lockwise message
+
+cfr-whatsnew-lockwise-header = สร้างรหัสผ่านที่ปลอดภัยได้อย่างง่ายดาย
+cfr-whatsnew-lockwise-body = การคิดรหัสผ่านที่ไม่ซ้ำใครและปลอดภัยสำหรับทุกบัญชีนั้นเป็นเรื่องยาก เมื่อสร้างรหัสผ่าน ให้เลือกช่องกรอกรหัสผ่านเพื่อใช้รหัสผ่านที่ปลอดภัยซึ่งสร้างขึ้นจาก { -brand-shorter-name }
+cfr-whatsnew-lockwise-icon-alt = ไอคอน { -lockwise-brand-short-name }
+
+## Vulnerable Passwords message
+
+cfr-whatsnew-passwords-header = รับการแจ้งเตือนเกี่ยวกับรหัสผ่านที่อ่อนแอ
+cfr-whatsnew-passwords-body = แฮกเกอร์รู้ว่าผู้คนใช้รหัสผ่านเดียวกันซ้ำ หากคุณใช้รหัสผ่านเดียวกันในหลาย ๆ ไซต์และหนึ่งในเว็บไซต์เหล่านั้นอยู่ในการรั่วไหลของข้อมูล คุณจะเห็นการแจ้งเตือนใน { -lockwise-brand-short-name } เพื่อเปลี่ยนรหัสผ่านของคุณบนไซต์เหล่านั้น
+cfr-whatsnew-passwords-icon-alt = ไอคอนกุญแจรหัสผ่านที่อ่อนแอ
+
+## Picture-in-Picture fullscreen message
+
+cfr-whatsnew-pip-fullscreen-header = เปิดภาพที่เล่นควบคู่แบบเต็มหน้าจอ
+cfr-whatsnew-pip-fullscreen-body = เมื่อคุณเปิดวิดีโอในหน้าต่างลอย คุณสามารถคลิกสองครั้งที่หน้าต่างนั้นเพื่อแสดงแบบเต็มหน้าจอได้
+cfr-whatsnew-pip-fullscreen-icon-alt = ไอคอนภาพที่เล่นควบคู่
+
+## Protections Dashboard message
+
+cfr-whatsnew-protections-header = ภาพรวมการป้องกัน
+cfr-whatsnew-protections-body = แดชบอร์ดการป้องกันมีรายงานสรุปเกี่ยวกับข้อมูลที่รั่วไหลและการจัดการรหัสผ่าน โดยตอนนี้คุณสามารถติดตามได้ว่าคุณแก้ไขการรั่วไหลไปกี่รายการแล้ว และดูได้ว่ารหัสผ่านที่คุณบันทึกไว้รหัสใดรหัสหนึ่งมีโอกาสที่จะถูกเปิดเผยในข้อมูลที่รั่วไหลหรือไม่
+cfr-whatsnew-protections-cta-link = ดูแดชบอร์ดการป้องกัน
+cfr-whatsnew-protections-icon-alt = ไอคอนโล่
+
+## Better PDF message
+
+cfr-whatsnew-better-pdf-header = ประสบการณ์ PDF ที่ดีขึ้น
+cfr-whatsnew-better-pdf-body = ตอนนี้คุณสามารถเปิดเอกสาร PDF ได้โดยตรงใน { -brand-short-name } ช่วยให้คุณทำงานได้อย่างง่ายดาย
+
+## DOH Message
+
+cfr-doorhanger-doh-body = ความเป็นส่วนตัวของคุณสำคัญ ตอนนี้ { -brand-short-name } จะกำหนดเส้นทางคำขอ DNS ของคุณให้กับบริการพาร์ทเนอร์อย่างปลอดภัยเมื่อใดก็ตามที่เป็นไปได้เพื่อปกป้องคุณในขณะที่คุณเรียกดู
+cfr-doorhanger-doh-header = การค้นหา DNS ที่เข้ารหัสและปลอดภัยยิ่งขึ้น
+cfr-doorhanger-doh-primary-button = ตกลง เข้าใจแล้ว
+ .accesskey = O
+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
+
+## What's new: Cookies message
+
+cfr-whatsnew-clear-cookies-header = การป้องกันจากกลยุทธ์การติดตามอันเจ้าเล่ห์อัตโนมัติ
+cfr-whatsnew-clear-cookies-body = ตัวติดตามบางตัวจะเปลี่ยนเส้นทางคุณไปยังเว็บไซต์อื่น ๆ ที่ตั้งค่าคุกกี้อย่างลับ ๆ ตอนนี้ { -brand-short-name } จะล้างคุกกี้เหล่านั้นโดยอัตโนมัติเพื่อไม่ให้คุณถูกตามรอย
+cfr-whatsnew-clear-cookies-image-alt = ภาพประกอบคุกกี้ที่ถูกปิดกั้น
+
+## What's new: Media controls message
+
+cfr-whatsnew-media-keys-header = การควบคุมสื่อเพิ่มเติม
+cfr-whatsnew-media-keys-body = เล่นและหยุดเสียงหรือวิดีโอชั่วคราวได้โดยตรงจากแป้นพิมพ์หรือชุดหูฟังของคุณ เพื่อให้ควบคุมสื่อจากแท็บอื่น โปรแกรมอื่น หรือแม้คอมพิวเตอร์ของคุณล็อกอยู่ได้ คุณยังสามารถเปลี่ยนแทร็กไปมาได้โดยกดแป้นเดินหน้าและย้อนกลับ
+cfr-whatsnew-media-keys-button = เรียนรู้วิธี
+
+## What's new: Search shortcuts
+
+cfr-whatsnew-search-shortcuts-header = ทางลัดการค้นหาในแถบที่อยู่
+cfr-whatsnew-search-shortcuts-body = ตอนนี้ เมื่อคุณพิมพ์เครื่องมือค้นหาตัวใดตัวหนึ่งหรือไซต์ใดไซต์หนึ่งในแถบที่อยู่ ทางลัดสีน้ำเงินจะปรากฏด้านล่างคำแนะนำการค้นหา ให้เลือกทางลัดนั้นเพื่อค้นหาให้เสร็จสมบูรณ์โดยตรงจากแถบที่อยู่
+
+## What's new: Cookies protection
+
+cfr-whatsnew-supercookies-header = การป้องกันซูเปอร์คุกกี้ที่เป็นอันตราย
+cfr-whatsnew-supercookies-body = เว็บไซต์อาจแนบ “ซูเปอร์คุกกี้” กับเบราว์เซอร์ของคุณอย่างลับ ๆ ซึ่งสามารถติดตามคุณในระหว่างที่ใช้เว็บได้ ถึงแม้ว่าคุณจะล้างคุกกี้ของคุณก็ตาม ตอนนี้ { -brand-short-name } มีการป้องกันซูเปอร์คุกกี้เพื่อไม่ให้นำมาใช้ติดตามกิจกรรมออนไลน์ของคุณจากไซต์หนึ่งไปอีกไซต์หนึ่งได้
+
+## What's new: Better bookmarking
+
+cfr-whatsnew-bookmarking-header = การจัดการที่คั่นหน้าที่ดีขึ้น
+cfr-whatsnew-bookmarking-body = คุณสามารถติดตามไซต์โปรดของคุณได้ง่ายขึ้น ตอนนี้ { -brand-short-name } จะจำตำแหน่งที่คุณต้องการสำหรับที่คั่นหน้าที่บันทึกไว้ แสดงแถบเครื่องมือที่คั่นหน้าตามค่าเริ่มต้นบนแท็บใหม่ และให้คุณเข้าถึงที่คั่นหน้าที่เหลือของคุณผ่านโฟลเดอร์แถบเครื่องมือได้อย่างง่ายดาย
diff --git a/l10n-th/browser/browser/newtab/newtab.ftl b/l10n-th/browser/browser/newtab/newtab.ftl
new file mode 100644
index 0000000000..ed6fd9a86a
--- /dev/null
+++ b/l10n-th/browser/browser/newtab/newtab.ftl
@@ -0,0 +1,241 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.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-button-label = ปรับให้เป็นแบบส่วนตัว
+ .title = ปรับแท็บใหม่ให้เป็นส่วนตัว
+ .aria-label = ปรับแท็บใหม่ให้เป็นส่วนตัว
+
+## Search box component.
+
+# "Search" is a verb/action
+newtab-search-box-search-button =
+ .title = ค้นหา
+ .aria-label = ค้นหา
+newtab-search-box-search-the-web-text = ค้นหาเว็บ
+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 =
+ นอกเหนือจากการนำเสนอเรื่องราวที่น่าสนใจ เรายังแสดงให้คุณเห็นเนื้อหาที่เกี่ยวข้อง
+ ซึ่งได้รับการตรวจสอบอย่างละเอียดจากผู้สนับสนุนที่ได้รับการคัดเลือก ทำให้คุณมั่นใจ
+ ได้ว่า<strong>ข้อมูลการเรียกดูของคุณจะไม่ทิ้งสำเนาส่วนตัวของ { -brand-product-name } ของคุณ</strong>ซึ่งเราและ
+ สปอนเซอร์ของเราจะไม่เห็น
+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 }
+
+## 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-more-recommendations = คำแนะนำเพิ่มเติม
+newtab-pocket-learn-more = เรียนรู้เพิ่มเติม
+newtab-pocket-cta-button = รับ { -pocket-brand-name }
+newtab-pocket-cta-text = บันทึกเรื่องราวที่คุณรักลงใน { -pocket-brand-name } และเติมเต็มสมองของคุณด้วยบทความที่น่าหลงใหล
+
+## 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 = ปิด
+# 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.
+newtab-custom-snippets-title = ส่วนย่อย
+newtab-custom-snippets-subtitle = เคล็ดลับและข่าวสารจาก { -vendor-short-name } และ { -brand-product-name }
+newtab-custom-settings = จัดการการตั้งค่าเพิ่มเติม
diff --git a/l10n-th/browser/browser/newtab/onboarding.ftl b/l10n-th/browser/browser/newtab/onboarding.ftl
new file mode 100644
index 0000000000..b781c9de99
--- /dev/null
+++ b/l10n-th/browser/browser/newtab/onboarding.ftl
@@ -0,0 +1,241 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.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 modal / 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.
+
+
+## These button action text can be split onto multiple lines, so use explicit
+## newlines in translations to control where the line break appears (e.g., to
+## avoid breaking quoted text).
+
+onboarding-button-label-learn-more = เรียนรู้เพิ่มเติม
+onboarding-button-label-get-started = เริ่มต้นใช้งาน
+
+## Welcome modal dialog strings
+
+
+### 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.
+
+
+## Welcome page strings
+
+onboarding-welcome-header = ยินดีต้อนรับสู่ { -brand-short-name }
+onboarding-welcome-body = คุณมีเบราว์เซอร์แล้ว<br/>ชมคุณสมบัติอื่นที่เหลือของ { -brand-product-name }
+onboarding-welcome-learn-more = เรียนรู้เพิ่มเติมเกี่ยวกับประโยชน์
+onboarding-welcome-modal-get-body = คุณมีเบราว์เซอร์แล้ว<br/>มาทำให้ { -brand-product-name } ใช้งานได้อย่างเต็มประสิทธิภาพกัน
+onboarding-welcome-modal-supercharge-body = เพิ่มความคุ้มครองความเป็นส่วนตัวของคุณให้มากขึ้น
+onboarding-welcome-modal-privacy-body = คุณมีเบราว์เซอร์ มาเพิ่มการปกป้องความเป็นส่วนตัวกัน
+onboarding-welcome-modal-family-learn-more = เรียนรู้เกี่ยวกับผลิตภัณฑ์ในตระกูล { -brand-product-name }
+onboarding-welcome-form-header = เริ่มที่นี่
+onboarding-join-form-body = ป้อนที่อยู่อีเมลของคุณเพื่อเริ่มต้นใช้งาน
+onboarding-join-form-email =
+ .placeholder = ป้อนอีเมล
+onboarding-join-form-email-error = จำเป็นต้องกรอกอีเมลที่ถูกต้อง
+onboarding-join-form-legal = การดำเนินการต่อถือว่าคุณยอมรับ<a data-l10n-name="terms">เงื่อนไขการใช้บริการ</a>และ<a data-l10n-name="privacy">ข้อกำหนดความเป็นส่วนตัว</a>
+onboarding-join-form-continue = ดำเนินการต่อ
+# This message is followed by a link using onboarding-join-form-signin ("Sign In") as text.
+onboarding-join-form-signin-label = มีบัญชีอยู่แล้ว?
+# Text for link to submit the sign in form
+onboarding-join-form-signin = ลงชื่อเข้า
+onboarding-start-browsing-button-label = เริ่มการเรียกดู
+onboarding-not-now-button-label = ไม่ใช่ตอนนี้
+onboarding-cards-dismiss =
+ .title = ยกเลิก
+ .aria-label = ยกเลิก
+
+## Welcome full page string
+
+onboarding-fullpage-welcome-subheader = มาเริ่มสำรวจทุกอย่างที่คุณทำได้กัน
+onboarding-fullpage-form-email =
+ .placeholder = ที่อยู่อีเมลของคุณ…
+
+## Firefox Sync modal dialog strings.
+
+onboarding-sync-welcome-header = นำ { -brand-product-name } ไปกับคุณ
+onboarding-sync-welcome-content = รับที่คั่นหน้า, ประวัติ, รหัสผ่าน และการตั้งค่าอื่น ๆ ของคุณในอุปกรณ์ทั้งหมดของคุณ
+onboarding-sync-welcome-learn-more-link = เรียนรู้เพิ่มเติมเกี่ยวกับบัญชี Firefox
+onboarding-sync-form-input =
+ .placeholder = อีเมล
+onboarding-sync-form-continue-button = ดำเนินการต่อ
+onboarding-sync-form-skip-login-button = ข้ามขั้นตอนนี้
+
+## This is part of the line "Enter your email to continue to Firefox Sync"
+
+onboarding-sync-form-header = ป้อนอีเมลของคุณ
+onboarding-sync-form-sub-header = เพื่อดำเนินการต่อไปยัง { -sync-brand-name }
+
+## These are individual benefit messages shown with an image, title and
+## description.
+
+onboarding-benefit-products-text = ทำสิ่งต่าง ๆ ให้สำเร็จด้วยเครื่องมือมากมายที่เคารพความเป็นส่วนตัวของคุณบนอุปกรณ์ทุกเครื่องของคุณ
+# "Personal Data Promise" is a concept that should be translated consistently
+# across the product. It refers to a concept shown elsewhere to the user: "The
+# Firefox Personal Data Promise is the way we honor your data in everything we
+# make and do. We take less data. We keep it safe. And we make sure that we are
+# transparent about how we use it."
+onboarding-benefit-privacy-text = ทุกสิ่งที่เราทำเคารพต่อคำมั่นสัญญาด้านข้อมูลส่วนบุคคลของเรา: เก็บให้น้อย รักษาให้ปลอดภัย ไม่มีความลับ
+onboarding-benefit-sync-title = { -sync-brand-short-name }
+onboarding-benefit-sync-text = นำที่คั่นหน้า รหัสผ่าน ประวัติ และอื่น ๆ ทุกที่ที่คุณใช้ { -brand-product-name }
+onboarding-benefit-monitor-title = { -monitor-brand-short-name }
+onboarding-benefit-monitor-text = รับการแจ้งเตือนเมื่อข้อมูลส่วนบุคคลของคุณอยู่ในการรั่วไหลข้อมูลที่รู้จัก
+onboarding-benefit-lockwise-title = { -lockwise-brand-short-name }
+onboarding-benefit-lockwise-text = จัดการรหัสผ่านของคุณให้ปลอดภัยและพกพาได้
+
+## Custom Return To AMO onboarding strings
+
+return-to-amo-subtitle = เยี่ยม คุณได้ติดตั้ง { -brand-short-name } แล้ว
+# <img data-l10n-name="icon"/> will be replaced with the icon belonging to the extension
+#
+# Variables:
+# $addon-name (String) - Name of the add-on
+return-to-amo-addon-title = ตอนนี้มาติดตั้ง <img data-l10n-name="icon"/> <b>{ $addon-name }</b> กันเลย
+return-to-amo-add-extension-label = เพิ่มส่วนขยาย
+
+## Multistage 3-screen onboarding flow strings (about:welcome pages)
+
+# The <span data-l10n-name="zap"></span> 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 = ยินดีต้อนรับสู่ <span data-l10n-name="zap">{ -brand-short-name }</span>
+onboarding-multistage-welcome-subtitle = เบราว์เซอร์ที่รวดเร็ว ปลอดภัย และเป็นส่วนตัวที่ได้รับการสนับสนุนโดยองค์กรไม่แสวงหาผลกำไร
+onboarding-multistage-welcome-primary-button-label = เริ่มการตั้งค่า
+onboarding-multistage-welcome-secondary-button-label = ลงชื่อเข้า
+onboarding-multistage-welcome-secondary-button-text = มีบัญชีแล้วหรือไม่?
+# The <span data-l10n-name="zap"></span> 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 = นำเข้ารหัสผ่าน <br/>ที่คั่นหน้า และ<span data-l10n-name="zap">อื่น ๆ</span>
+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 } จะไม่บันทึกหรือซิงค์ข้อมูลจากเบราว์เซอร์อื่นเว้นแต่คุณจะเลือกนำเข้า
+# 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 <span data-l10n-name="zap"></span> 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 = เลือก<span data-l10n-name="zap">รูปลักษณ์</span>
+onboarding-multistage-theme-subtitle = ปรับแต่ง { -brand-short-name } ด้วยชุดตกแต่ง
+onboarding-multistage-theme-primary-button-label = บันทึกชุดตกแต่ง
+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
+
+## 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 =
+ ใช้ลักษณะที่ปรากฏแบบสีสันสำหรับปุ่ม
+ เมนู และหน้าต่าง
+
+## These strings belong to the individual onboarding messages.
+
+
+## Each message has a title and a description of what the browser feature is.
+## Each message also has an associated button for the user to try the feature.
+## The string for the button is found above, in the UI strings section
+
+onboarding-tracking-protection-title2 = การป้องกันจากการติดตาม
+onboarding-tracking-protection-text2 = { -brand-short-name } ช่วยหยุดเว็บไซต์ไม่ให้ติดตามคุณออนไลน์ ทำให้โฆษณาติดตามคุณไปทั่วทั้งเว็บได้ยากขึ้น
+onboarding-tracking-protection-button2 = วิธีการทำงาน
+onboarding-data-sync-title = นำการตั้งค่าของคุณไปกับคุณ
+# "Sync" is short for synchronize.
+onboarding-data-sync-text2 = ซิงค์ที่คั่นหน้า, รหัสผ่าน, และอื่น ๆ ทุกที่ที่คุณใช้ { -brand-product-name }
+onboarding-data-sync-button2 = ลงชื่อเข้า { -sync-brand-short-name }
+onboarding-firefox-monitor-title = รับการแจ้งเตือนเกี่ยวกับการละเมิดข้อมูล
+onboarding-firefox-monitor-text2 = { -monitor-brand-name } จะเฝ้าดูว่าอีเมลของคุณปรากฏในการละเมิดข้อมูลหรือไม่และจะแจ้งเตือนคุณหากปรากฏในการละเมิดใหม่
+onboarding-firefox-monitor-button = สมัครรับการแจ้งเตือน
+onboarding-browse-privately-title = เรียกดูอย่างเป็นส่วนตัว
+onboarding-browse-privately-text = การท่องเส้นแบบส่วนตัวจะล้างประวัติการค้นหาและประวัติการเข้าชมของคุณเพื่อปกปิดเป็นความลับไม่ให้ใครก็ตามที่ใช้คอมพิวเตอร์ของคุณมาเห็น
+onboarding-browse-privately-button = เปิดหน้าต่างส่วนตัว
+onboarding-firefox-send-title = ทำให้ไฟล์ที่แบ่งปันของคุณเป็นส่วนตัว
+onboarding-firefox-send-text2 = อัปโหลดไฟล์ของคุณไปที่ { -send-brand-name } เพื่อแบ่งปันไฟล์ด้วยการเข้ารหัสแบบครบวงจรและลิงก์ที่หมดอายุโดยอัตโนมัติ
+onboarding-firefox-send-button = ลอง { -send-brand-name }
+onboarding-mobile-phone-title = รับ { -brand-product-name } ในโทรศัพท์ของคุณ
+onboarding-mobile-phone-text = ดาวน์โหลด { -brand-product-name } สำหรับ iOS หรือ Android และซิงค์ข้อมูลของคุณผ่านอุปกรณ์ต่าง ๆ
+# "Mobile" is short for mobile/cellular phone, "Browser" is short for web
+# browser.
+onboarding-mobile-phone-button = ดาวน์โหลดเบราว์เซอร์สำหรับมือถือ
+onboarding-send-tabs-title = ส่งแท็บให้ตัวคุณเองทันที
+# "Send Tabs" refers to "Send Tab to Device" feature that appears when opening a
+# tab's context menu.
+onboarding-send-tabs-text2 = แชร์หน้าระหว่างอุปกรณ์ของคุณทันทีโดยไม่ต้องคัดลอกลิงก์หรือออกจากเบราว์เซอร์
+onboarding-send-tabs-button = เริ่มใช้ Send Tabs
+onboarding-pocket-anywhere-title = อ่านและฟังได้ทุกที่
+onboarding-pocket-anywhere-text2 = บันทึกเนื้อหาโปรดของคุณแบบออฟไลน์ด้วยแอป { -pocket-brand-name } และอ่านฟังและดูเมื่อใดก็ตามที่คุณสะดวก
+onboarding-pocket-anywhere-button = ลอง { -pocket-brand-name }
+onboarding-lockwise-strong-passwords-title = สร้างและจัดเก็บรหัสผ่านที่คาดเดายาก
+onboarding-lockwise-strong-passwords-text = { -lockwise-brand-name } ช่วยสร้างรหัสผ่านที่คาดเดาได้ยากในทันทีและบันทึกรหัสผ่านทั้งหมดในที่เดียว
+onboarding-lockwise-strong-passwords-button = จัดการข้อมูลการเข้าสู่ระบบของคุณ
+onboarding-facebook-container-title = ตั้งค่าขอบเขตให้กับ Facebook
+onboarding-facebook-container-text2 = { -facebook-container-brand-name } แยกโปรไฟล์ของคุณออกจากสิ่งอื่น ทำให้ Facebook ติดตามคุณทั่วทั้งเว็บได้ยาก
+onboarding-facebook-container-button = เพิ่มส่วนขยาย
+onboarding-import-browser-settings-title = นำเข้าที่คั่นหน้า, รหัสผ่าน, และอื่น ๆ
+onboarding-import-browser-settings-text = ลองใช้กันเลย นำไซต์และการตั้งค่า Chrome ของคุณไปกับคุณได้อย่างง่ายดาย
+onboarding-import-browser-settings-button = นำเข้าข้อมูล Chrome
+onboarding-personal-data-promise-title = ออกแบบมาให้เป็นส่วนตัว
+onboarding-personal-data-promise-text = { -brand-product-name } ปฏิบัติต่อข้อมูลของคุณด้วยความเคารพโดยใช้ให้น้อย ปกป้อง และมีความชัดเจนเกี่ยวกับวิธีที่เราใช้
+onboarding-personal-data-promise-button = อ่านคำสัญญาของเรา
+
+## Message strings belonging to the Return to AMO flow
+
+return-to-amo-sub-header = เยี่ยม คุณได้รับ { -brand-short-name } แล้ว
+# <icon></icon> will be replaced with the icon belonging to the extension
+#
+# Variables:
+# $addon-name (String) - Name of the add-on
+return-to-amo-addon-header = ตอนนี้ให้คุณโหลด <icon></icon><b>{ $addon-name }</b> ได้เลย
+return-to-amo-extension-button = เพิ่มส่วนขยาย
+return-to-amo-get-started-button = เริ่มต้นใช้งานกับ { -brand-short-name }
diff --git a/l10n-th/browser/browser/nsserrors.ftl b/l10n-th/browser/browser/nsserrors.ftl
new file mode 100644
index 0000000000..72bf68ae47
--- /dev/null
+++ b/l10n-th/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/l10n-th/browser/browser/pageInfo.ftl b/l10n-th/browser/browser/pageInfo.ftl
new file mode 100644
index 0000000000..769583c0d0
--- /dev/null
+++ b/l10n-th/browser/browser/pageInfo.ftl
@@ -0,0 +1,252 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/. --
+
+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/l10n-th/browser/browser/panicButton.ftl b/l10n-th/browser/browser/panicButton.ftl
new file mode 100644
index 0000000000..ee71566ea1
--- /dev/null
+++ b/l10n-th/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 <strong> 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 = ลบ<strong>คุกกี้</strong>ล่าสุด
+panic-button-delete-history = ลบ<strong>ประวัติ</strong>ล่าสุด
+panic-button-delete-tabs-and-windows = ปิด<strong>แท็บ</strong>และ<strong>หน้าต่าง</strong>ทั้งหมด
diff --git a/l10n-th/browser/browser/places.ftl b/l10n-th/browser/browser/places.ftl
new file mode 100644
index 0000000000..c7d279db4e
--- /dev/null
+++ b/l10n-th/browser/browser/places.ftl
@@ -0,0 +1,71 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this file,
+# You can obtain one at http://mozilla.org/MPL/2.0/.
+
+places-open =
+ .label = เปิด
+ .accesskey = ป
+places-open-tab =
+ .label = เปิดในแท็บใหม่
+ .accesskey = ท
+places-open-all-in-tabs =
+ .label = เปิดทั้งหมดในแท็บ
+ .accesskey = ป
+places-open-window =
+ .label = เปิดในหน้าต่างใหม่
+ .accesskey = ห
+places-open-private-window =
+ .label = เปิดในหน้าต่างส่วนตัวใหม่
+ .accesskey = ส
+places-new-bookmark =
+ .label = ที่คั่นหน้าใหม่…
+ .accesskey = ม
+places-new-folder-contextmenu =
+ .label = โฟลเดอร์ใหม่…
+ .accesskey = ฟ
+places-new-folder =
+ .label = โฟลเดอร์ใหม่…
+ .accesskey = ฟ
+places-new-separator =
+ .label = ตัวแบ่งใหม่
+ .accesskey = บ
+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-bookmarks-search =
+ .placeholder = ค้นหาที่คั่นหน้า
+places-delete-domain-data =
+ .label = ลืมเกี่ยวกับไซต์นี้
+ .accesskey = ม
+places-sortby-name =
+ .label = เรียงตามชื่อ
+ .accesskey = ร
+places-properties =
+ .label = คุณสมบัติ
+ .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 = ที่คั่นหน้าอื่น ๆ
diff --git a/l10n-th/browser/browser/policies/policies-descriptions.ftl b/l10n-th/browser/browser/policies/policies-descriptions.ftl
new file mode 100644
index 0000000000..cd7b6e08a3
--- /dev/null
+++ b/l10n-th/browser/browser/policies/policies-descriptions.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/.
+
+
+## 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-AppAutoUpdate = เปิดใช้งานหรือปิดใช้งานการอัปเดตแอปพลิเคชันอัตโนมัติ
+policy-AppUpdateURL = ตั้ง URL อัปเดตแอปที่กำหนดเอง
+policy-Authentication = กำหนดค่าการตรวจสอบสิทธิ์แบบรวมสำหรับเว็บไซต์ที่รองรับ
+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-DisableMasterPasswordCreation = ถ้าค่าเป็นจริง จะไม่สามารถสร้างรหัสผ่านหลักได้
+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-MasterPassword = ต้องการหรือป้องกันการใช้รหัสผ่านหลัก
+policy-ManagedBookmarks = กำหนดค่ารายชื่อที่คั่นหน้าที่จัดการโดยผู้ดูแลระบบที่ไม่สามารถเปลี่ยนโดยผู้ใช้ได้
+policy-PrimaryPassword = ต้องการหรือป้องกันการใช้รหัสผ่านหลัก
+policy-NetworkPrediction = เปิดหรือปิดใช้งานการคาดเดาเครือข่าย (การดึงข้อมูล DNS ล่วงหน้า)
+policy-NewTabPage = เปิดใช้งานหรือปิดใช้งานหน้าแท็บใหม่
+policy-NoDefaultBookmarks = ปิดใช้งานการสร้างที่คั่นหน้าเริ่มต้นที่มาพร้อมกับ { -brand-short-name } และที่คั่นหน้าอัจฉริยะ (ที่เยี่ยมชมมากที่สุด, แท็กล่าสุด) หมายเหตุ: นโยบายนี้มีผลถ้าใช้ก่อนเรียกใช้โปรไฟล์ครั้งแรกเท่านั้น
+policy-OfferToSaveLogins = บังคับให้การตั้งค่าอนุญาต { -brand-short-name } ให้เสนอให้จดจำข้อมูลการเข้าสู่ระบบและรหัสผ่านที่บันทึกไว้ โดยสามารถกำหนดค่าเป็นทั้งจริงและเท็จได้
+policy-OfferToSaveLoginsDefault = กำหนดค่าเริ่มต้นเพื่ออนุญาต { -brand-short-name } ให้เสนอให้จดจำข้อมูลการเข้าสู่ระบบและรหัสผ่านที่บันทึกไว้ โดยสามารถกำหนดค่าเป็นทั้งจริงและเท็จได้
+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-SSLVersionMax = ตั้งรุ่น SSL สูงสุด
+policy-SSLVersionMin = ตั้งรุ่น SSL ต่ำสุด
+policy-SupportMenu = เพิ่มรายการเมนูการสนับสนุนที่กำหนดเองไปยังเมนูช่วยเหลือ
+policy-UserMessaging = ไม่ต้องแสดงข้อความบางส่วนถึงผู้ใช้
+# “format” refers to the format used for the value of this policy.
+policy-WebsiteFilter = ปิดกั้นไม่ให้เยี่ยมชมเว็บไซต์ ดูคู่มือสำหรับรายละเอียดเพิ่มเติมเกี่ยวกับรูปแบบ
diff --git a/l10n-th/browser/browser/preferences/addEngine.ftl b/l10n-th/browser/browser/preferences/addEngine.ftl
new file mode 100644
index 0000000000..16b7c19de2
--- /dev/null
+++ b/l10n-th/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-cancel =
+ .label = ยกเลิก
+ .accesskey = ย
+add-engine-ok =
+ .label = เพิ่มเครื่องมือ
+ .accesskey = พ
+add-engine-dialog =
+ .buttonlabelaccept = เพิ่มเครื่องมือ
+ .buttonaccesskeyaccept = พ
+engine-name-exists = มีเครื่องมือค้นหาชื่อนี้แล้ว
+engine-alias-exists = มีเครื่องมือค้นหานามแฝงนี้แล้ว
diff --git a/l10n-th/browser/browser/preferences/applicationManager.ftl b/l10n-th/browser/browser/preferences/applicationManager.ftl
new file mode 100644
index 0000000000..ba8e0a0f5c
--- /dev/null
+++ b/l10n-th/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/l10n-th/browser/browser/preferences/blocklists.ftl b/l10n-th/browser/browser/preferences/blocklists.ftl
new file mode 100644
index 0000000000..dd7f32b45b
--- /dev/null
+++ b/l10n-th/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 } เพื่อใช้ในการปิดกั้นตัวติดตามออนไลน์ รายการนี้จัดหาให้โดย <a data-l10n-name="disconnect-link" title="Disconnect">Disconnect</a>
+blocklist-close-key =
+ .key = w
+blocklist-treehead-list =
+ .label = รายการ
+blocklist-button-cancel =
+ .label = ยกเลิก
+ .accesskey = ย
+blocklist-button-ok =
+ .label = บันทึกการเปลี่ยนแปลง
+ .accesskey = บ
+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/l10n-th/browser/browser/preferences/clearSiteData.ftl b/l10n-th/browser/browser/preferences/clearSiteData.ftl
new file mode 100644
index 0000000000..6d27b4283f
--- /dev/null
+++ b/l10n-th/browser/browser/preferences/clearSiteData.ftl
@@ -0,0 +1,53 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+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-cancel =
+ .label = ยกเลิก
+ .accesskey = ย
+clear-site-data-clear =
+ .label = ล้าง
+ .accesskey = ล
+clear-site-data-dialog =
+ .buttonlabelaccept = ล้าง
+ .buttonaccesskeyaccept = ล
diff --git a/l10n-th/browser/browser/preferences/colors.ftl b/l10n-th/browser/browser/preferences/colors.ftl
new file mode 100644
index 0000000000..6d3a28b711
--- /dev/null
+++ b/l10n-th/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/l10n-th/browser/browser/preferences/connection.ftl b/l10n-th/browser/browser/preferences/connection.ftl
new file mode 100644
index 0000000000..c302a06332
--- /dev/null
+++ b/l10n-th/browser/browser/preferences/connection.ftl
@@ -0,0 +1,107 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+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-http-sharing =
+ .label = ใช้พร็อกซีนี้สำหรับ FTP และ HTTPS ด้วย
+ .accesskey = ด
+
+connection-proxy-https = พร็อกซี HTTPS
+ .accesskey = พ
+connection-proxy-ssl-port = พอร์ต
+ .accesskey = อ
+
+connection-proxy-ftp = พร็อกซี FTP
+ .accesskey = F
+connection-proxy-ftp-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 and ::1.
+connection-proxy-noproxy-localhost-desc = การเชื่อมต่อไปยัง localhost, 127.0.0.1, และ ::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/l10n-th/browser/browser/preferences/containers.ftl b/l10n-th/browser/browser/preferences/containers.ftl
new file mode 100644
index 0000000000..1680b98e7b
--- /dev/null
+++ b/l10n-th/browser/browser/preferences/containers.ftl
@@ -0,0 +1,87 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+containers-window-new =
+ .title = เพิ่มการแยกข้อมูลใหม่
+ .style = width: 45em
+# Variables
+# $name (String) - Name of the container
+containers-window-update =
+ .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-button-done =
+ .label = เสร็จสิ้น
+ .accesskey = ร
+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/l10n-th/browser/browser/preferences/fonts.ftl b/l10n-th/browser/browser/preferences/fonts.ftl
new file mode 100644
index 0000000000..e0c155b19b
--- /dev/null
+++ b/l10n-th/browser/browser/preferences/fonts.ftl
@@ -0,0 +1,160 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.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.
+
+fonts-languages-fallback-header = รหัสอักขระสำหรับเนื้อหาแบบเก่า
+fonts-languages-fallback-desc = รหัสอักขระนี้ถูกใช้สำหรับเนื้อหาแบบเก่าที่ไม่สามารถประกาศการเข้ารหัสได้
+
+fonts-languages-fallback-label = รหัสอักขระที่ใช้แสดงแทน
+ .accesskey = ร
+
+fonts-languages-fallback-name-auto =
+ .label = ค่าเริ่มต้นสำหรับภาษาถิ่นปัจจุบัน
+fonts-languages-fallback-name-arabic =
+ .label = อาหรับ
+fonts-languages-fallback-name-baltic =
+ .label = บอลติก
+fonts-languages-fallback-name-ceiso =
+ .label = ยุโรปกลาง ISO
+fonts-languages-fallback-name-cewindows =
+ .label = ยุโรปกลาง Microsoft
+fonts-languages-fallback-name-simplified =
+ .label = จีนตัวย่อ
+fonts-languages-fallback-name-traditional =
+ .label = จีนตัวเต็ม
+fonts-languages-fallback-name-cyrillic =
+ .label = ซิริลลิก
+fonts-languages-fallback-name-greek =
+ .label = กรีก
+fonts-languages-fallback-name-hebrew =
+ .label = ฮิบรู
+fonts-languages-fallback-name-japanese =
+ .label = ญี่ปุ่น
+fonts-languages-fallback-name-korean =
+ .label = เกาหลี
+fonts-languages-fallback-name-thai =
+ .label = ไทย
+fonts-languages-fallback-name-turkish =
+ .label = ตุรกี
+fonts-languages-fallback-name-vietnamese =
+ .label = เวียดนาม
+fonts-languages-fallback-name-other =
+ .label = อื่น ๆ (รวมถึงยุโรปตะวันตก)
+
+# Variables:
+# $name {string, "Arial"} - Name of the default font
+fonts-label-default =
+ .label = ค่าเริ่มต้น ({ $name })
+fonts-label-default-unnamed =
+ .label = ค่าเริ่มต้น
diff --git a/l10n-th/browser/browser/preferences/fxaPairDevice.ftl b/l10n-th/browser/browser/preferences/fxaPairDevice.ftl
new file mode 100644
index 0000000000..af318892c9
--- /dev/null
+++ b/l10n-th/browser/browser/preferences/fxaPairDevice.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/.
+
+fxa-pair-device-dialog =
+ .title = เชื่อมต่ออุปกรณ์อื่น
+ .style = width: 26em; min-height: 35em;
+fxa-qrcode-heading-phase1 = 1. ติดตั้ง <a data-l10n-name="connect-another-device">Firefox บนอุปกรณ์มือถือของคุณ</a>หากคุณยังไม่ได้ติดตั้ง
+fxa-qrcode-heading-phase2 = 2. จากนั้นลงชื่อเข้า { -sync-brand-short-name } หรือบน Android ให้สแกนโค้ดการจับคู่จากภายในการตั้งค่า { -sync-brand-short-name }
+fxa-qrcode-heading-step1 = 1. ติดตั้ง <a data-l10n-name="connect-another-device">Firefox บนอุปกรณ์มือถือของคุณ</a>หากคุณยังไม่ได้ติดตั้ง
+fxa-qrcode-heading-step2 = 2. เปิด Firefox บนอุปกรณ์มือถือของคุณ
+fxa-qrcode-heading-step3 = 3. เปิด<b>เมนู</b> (<img data-l10n-name="ios-menu-icon"/> หรือ <img data-l10n-name="android-menu-icon"/>) แตะ <img data-l10n-name="settings-icon"/> <b>การตั้งค่า</b> แล้วเลือก <b>เปิด Sync</b>
+fxa-qrcode-heading-step4 = 4. สแกนรหัสนี้:
+fxa-qrcode-error-title = การจับคู่ไม่สำเร็จ
+fxa-qrcode-error-body = ลองอีกครั้ง
diff --git a/l10n-th/browser/browser/preferences/languages.ftl b/l10n-th/browser/browser/preferences/languages.ftl
new file mode 100644
index 0000000000..c49b3a6052
--- /dev/null
+++ b/l10n-th/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/l10n-th/browser/browser/preferences/permissions.ftl b/l10n-th/browser/browser/preferences/permissions.ftl
new file mode 100644
index 0000000000..c6f8925c38
--- /dev/null
+++ b/l10n-th/browser/browser/preferences/permissions.ftl
@@ -0,0 +1,157 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.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-site-name =
+ .label = เว็บไซต์
+permissions-status =
+ .label = สถานะ
+permissions-remove =
+ .label = เอาเว็บไซต์ออก
+ .accesskey = อ
+permissions-remove-all =
+ .label = เอาเว็บไซต์ทั้งหมดออก
+ .accesskey = ว
+permissions-button-cancel =
+ .label = ยกเลิก
+ .accesskey = ย
+permissions-button-ok =
+ .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 = อนุญาตในวาระ
+
+## 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 - 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/l10n-th/browser/browser/preferences/preferences.ftl b/l10n-th/browser/browser/preferences/preferences.ftl
new file mode 100644
index 0000000000..3ef65eb37c
--- /dev/null
+++ b/l10n-th/browser/browser/preferences/preferences.ftl
@@ -0,0 +1,1161 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.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 = เสมอ
+pref-page-title =
+ { PLATFORM() ->
+ [windows] ตัวเลือก
+ *[other] ค่ากำหนด
+ }
+# 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-box =
+ .style = width: 15.4em
+ .placeholder =
+ { PLATFORM() ->
+ [windows] ค้นหาในตัวเลือก
+ *[other] ค้นหาในค่ากำหนด
+ }
+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-title2 = { -sync-brand-short-name }
+category-sync2 =
+ .tooltiptext = { pane-sync-title2 }
+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-description = การเปลี่ยนแปลงค่ากำหนดขั้นสูงอาจส่งผลต่อประสิทธิภาพหรือความปลอดภัยของ { -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.
+##
+## <img data-l10n-name="icon"/> is going to be replaced by the extension icon.
+##
+## Variables:
+## $name (String): name of the extension
+
+# This string is shown to notify the user that their home page
+# is being controlled by an extension.
+extension-controlled-homepage-override = ส่วนขยาย <img data-l10n-name="icon"/> { $name } กำลังควบคุมหน้าแรกของคุณ
+# This string is shown to notify the user that their new tab page
+# is being controlled by an extension.
+extension-controlled-new-tab-url = ส่วนขยาย <img data-l10n-name="icon"/> { $name } กำลังควบคุมหน้าแท็บใหม่ของคุณ
+# This string is shown to notify the user that the password manager setting
+# is being controlled by an extension
+extension-controlled-password-saving = ส่วนเสริม <img data-l10n-name="icon"/>{ $name } กำลังควบคุมการตั้งค่านี้
+# This string is shown to notify the user that their notifications permission
+# is being controlled by an extension.
+extension-controlled-web-notifications = ส่วนขยาย <img data-l10n-name="icon"/> { $name } กำลังควบคุมการตั้งค่านี้
+# This string is shown to notify the user that the default search engine
+# is being controlled by an extension.
+extension-controlled-default-search = ส่วนขยาย <img data-l10n-name="icon"/> { $name } ได้ตั้งเครื่องมือค้นหาเริ่มต้นของคุณ
+# This string is shown to notify the user that Container Tabs
+# are being enabled by an extension.
+extension-controlled-privacy-containers = ส่วนขยาย <img data-l10n-name="icon"/> { $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 = ส่วนขยาย <img data-l10n-name="icon"/> { $name } กำลังควบคุมการตั้งค่านี้
+# This string is shown to notify the user that their proxy configuration preferences
+# are being controlled by an extension.
+extension-controlled-proxy-config = ส่วนขยาย <img data-l10n-name="icon"/> { $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.
+#
+# <img data-l10n-name="addons-icon"/> will be replaced with Add-ons icon
+# <img data-l10n-name="menu-icon"/> will be replaced with Menu icon
+extension-controlled-enable = เพื่อเปิดใช้งานส่วนขยาย ไปยัง <img data-l10n-name="addons-icon"/> ส่วนเสริม ใน <img data-l10n-name="menu-icon"/> เมนู
+
+## Preferences UI Search Results
+
+search-results-header = ผลการค้นหา
+# `<span data-l10n-name="query"></span>` will be replaced by the search term.
+search-results-empty-message =
+ { PLATFORM() ->
+ [windows] ขออภัย! ไม่มีผลลัพธ์สำหรับ “<span data-l10n-name="query"></span>” ในตัวเลือก
+ *[other] ขออภัย! ไม่มีผลลัพธ์สำหรับ “<span data-l10n-name="query"></span>” ในค่ากำหนด
+ }
+search-results-help-link = ต้องการความช่วยเหลือ? เยี่ยมชม <a data-l10n-name="url">การสนับสนุนของ { -brand-short-name }</a>
+
+## General Section
+
+startup-header = เริ่มการทำงาน
+# { -brand-short-name } will be 'Firefox Developer Edition',
+# since this setting is only exposed in Firefox Developer Edition
+separate-profile-mode =
+ .label = อนุญาตให้ { -brand-short-name } และ Firefox ทำงานพร้อมกัน
+use-firefox-sync = เคล็ดลับ: สิ่งนี้ใช้โปรไฟล์แยก ใช้ { -sync-brand-short-name } เพื่อแบ่งปันข้อมูลระหว่างโปรไฟล์
+get-started-not-logged-in = ลงชื่อเข้า { -sync-brand-short-name }…
+get-started-configured = เปิดค่ากำหนด { -sync-brand-short-name }
+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-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 = ต
+warn-on-open-many-tabs =
+ .label = เตือนคุณเมื่อการเปิดหลายแท็บอาจทำให้ { -brand-short-name } ช้าลง
+ .accesskey = อ
+switch-links-to-new-tabs =
+ .label = เมื่อคุณเปิดลิงก์ในแท็บใหม่ สลับไปที่แท็บนั้นทันที
+ .accesskey = ม
+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 = ป
+# The <img> element is replaced by the logo of the provider
+# used to provide machine translations for web pages.
+translate-attribution = แปลโดย <img data-l10n-name="logo"/>
+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 = ถามเสมอ
+applications-type-pdf = Portable Document Format (PDF)
+# Variables:
+# $type (String) - the MIME type (e.g application/binary)
+applications-type-pdf-with-type = { applications-type-pdf } ({ $type })
+# 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 } <a data-l10n-name="learn-more">มีอะไรใหม่</a>
+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-warning-cross-user-setting = การตั้งค่านี้จะนำไปใช้กับบัญชี Windows ทั้งหมด และโปรไฟล์ { -brand-short-name } ในขณะการติดตั้ง { -brand-short-name }
+update-application-use-service =
+ .label = ใช้บริการเบื้องหลังเพื่อติดตั้งการอัปเดต
+ .accesskey = ช
+update-setting-write-failure-title = เกิดข้อผิดพลาดในการบันทึกค่ากำหนดการอัปเดต
+# Variables:
+# $path (String) - Path to the configuration file
+# The newlines between the main text and the line containing the path is
+# intentional so the path is easier to identify.
+update-setting-write-failure-message =
+ { -brand-short-name } พบข้อผิดพลาดและไม่ได้บันทึกการเปลี่ยนแปลงนี้ โปรดทราบว่าการตั้งค่าค่ากำหนดการอัปเดตนี้จำเป็นต้องได้รับสิทธิอนุญาตให้เขียนไปยังไฟล์ด้านล่าง คุณหรือผู้ดูแลระบบอาจสามารถแก้ไขข้อผิดพลาดได้ด้วยการมอบสิทธิ์ให้กับกลุ่มผู้ใช้เพื่อให้สามารถควบคุมไฟล์นี้ได้อย่างเต็มที่
+
+ ไม่สามารถเขียนไปยังไฟล์: { $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 } แบบหลายโปรเซส <a data-l10n-name="learn-more">เรียนรู้วิธีตรวจสอบว่าการทำงานหลายโปรเซสถูกเปิดใช้งานอยู่หรือไม่</a>
+# 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-generic = เปลี่ยนค่ากำหนดข้อเสนอแนะจากแถบที่อยู่อื่น ๆ
+search-suggestions-cant-show = ข้อเสนอแนะการค้นหาจะไม่แสดงในผลลัพธ์ของแถบตำแหน่งที่ตั้งเนื่องจากคุณได้กำหนดค่า { -brand-short-name } ให้ไม่จดจำประวัติเสมอ
+search-one-click-header = เครื่องมือค้นหาในคลิกเดียว
+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-button =
+ .aria-label =
+ { PLATFORM() ->
+ [windows] กลับไปที่ตัวเลือก
+ *[other] กลับไปที่การตั้งค่า
+ }
+containers-header = แท็บแยกข้อมูล
+containers-add-button =
+ .label = เพิ่มการแยกข้อมูลใหม่
+ .accesskey = พ
+containers-new-tab-check =
+ .label = เลือกการแยกข้อมูลสำหรับแต่ละแท็บใหม่
+ .accesskey = ล
+containers-preferences-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-description = ประสานที่คั่นหน้า, ประวัติ, แท็บ, รหัสผ่าน, ส่วนเสริม และค่ากำหนดในอุปกรณ์ทั้งหมดของคุณ
+sync-signedout-account-signin2 =
+ .label = ลงชื่อเข้า { -sync-brand-short-name }…
+ .accesskey = i
+# This message contains two links and two icon images.
+# `<img data-l10n-name="android-icon"/>` - Android logo icon
+# `<a data-l10n-name="android-link">` - Link to Android Download
+# `<img data-l10n-name="ios-icon">` - iOS logo icon
+# `<a data-l10n-name="ios-link">` - Link to iOS Download
+#
+# They can be moved within the sentence as needed to adapt
+# to your language, but should not be changed or translated.
+sync-mobile-promo = ดาวน์โหลด Firefox สำหรับ <img data-l10n-name="android-icon"/> <a data-l10n-name="android-link">Android</a> หรือ <img data-l10n-name="ios-icon"/> <a data-l10n-name="ios-link">iOS</a> เพื่อซิงค์กับอุปกรณ์มือถือของคุณ
+
+## 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-setup =
+ .label = ตั้งค่า { -sync-brand-short-name }…
+ .accesskey = S
+prefs-sync-offer-setup-label = ประสานที่คั่นหน้า ประวัติ แท็บ รหัสผ่าน ส่วนเสริม และค่ากำหนดระหว่างอุปกรณ์ทั้งหมดของคุณ
+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-prefs =
+ { PLATFORM() ->
+ [windows] ตัวเลือก
+ *[other] ค่ากำหนด
+ }
+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-prefs =
+ .label =
+ { PLATFORM() ->
+ [windows] ตัวเลือก
+ *[other] ค่ากำหนด
+ }
+ .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-master-pw-use =
+ .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-master-pw-fips-title = คุณกำลังอยู่ในโหมด FIPS ซึ่ง FIPS จำเป็นต้องมีรหัสผ่านหลักที่ไม่ว่างเปล่า
+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 = การเปลี่ยนรหัสผ่านล้มเหลว
+
+## OS Authentication dialog
+
+# This message can be seen by trying to add a Master Password.
+master-password-os-auth-dialog-message-win = หากต้องการสร้างรหัสผ่านหลัก ให้ป้อนข้อมูลประจำตัวการเข้าสู่ระบบ Windows ของคุณ ซึ่งจะช่วยปกป้องความปลอดภัยให้กับบัญชีต่าง ๆ ของคุณ
+# This message can be seen by trying to add a Master 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.
+master-password-os-auth-dialog-message-macosx = สร้างรหัสผ่านหลัก
+# 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-permissions =
+ .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-private-windows = ตัวติดตามเนื้อหาในหน้าต่างส่วนตัว
+content-blocking-cross-site-cookies = คุกกี้ข้ามไซต์
+content-blocking-cross-site-tracking-cookies = คุกกี้ติดตามข้ามไซต์
+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-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 = ข
+permissions-addon-install-warning =
+ .label = เตือนคุณเมื่อเว็บไซต์พยายามจะติดตั้งส่วนเสริม
+ .accesskey = ต
+permissions-addon-exceptions =
+ .label = ข้อยกเว้น…
+ .accesskey = ข
+permissions-a11y-privacy-checkbox =
+ .label = ป้องกันไม่ให้บริการการช่วยการเข้าถึงเข้าถึงเบราว์เซอร์ของคุณ
+ .accesskey = อ
+permissions-a11y-privacy-link = เรียนรู้เพิ่มเติม
+
+## 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 =
+ .label = อนุญาตให้ { -brand-short-name } ส่งรายงานข้อขัดข้องที่ค้างอยู่ในนามของคุณ
+ .accesskey = ต
+collection-backlogged-crash-reports-link = เรียนรู้เพิ่มเติม
+
+## 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-personal-label = เมื่อเซิร์ฟเวอร์ขอใบรับรองส่วนบุคคลของคุณ
+certs-select-auto-option =
+ .label = เลือกมาหนึ่งโดยอัตโนมัติ
+ .accesskey = ห
+certs-select-ask-option =
+ .label = ถามคุณทุกครั้ง
+ .accesskey = ถ
+certs-enable-ocsp =
+ .label = สืบค้นเซิร์ฟเวอร์ตอบกลับ OCSP เพื่อยืนยันความถูกต้องของใบรับรองปัจจุบัน
+ .accesskey = ฟ
+certs-view =
+ .label = ดูใบรับรอง…
+ .accesskey = บ
+certs-devices =
+ .label = อุปกรณ์ความปลอดภัย…
+ .accesskey = ค
+space-alert-learn-more-button =
+ .label = เรียนรู้เพิ่มเติม
+ .accesskey = ร
+space-alert-over-5gb-pref-button =
+ .label =
+ { PLATFORM() ->
+ [windows] เปิดตัวเลือก
+ *[other] เปิดค่ากำหนด
+ }
+ .accesskey =
+ { PLATFORM() ->
+ [windows] ป
+ *[other] ป
+ }
+space-alert-over-5gb-message =
+ { PLATFORM() ->
+ [windows] พื้นที่ดิสก์ของ { -brand-short-name } กำลังจะเต็ม เนื้อหาเว็บไซต์อาจแสดงผลไม่ถูกต้อง คุณสามารถล้างข้อมูลที่จัดเก็บไว้ได้ใน ตัวเลือก > ความเป็นส่วนตัวและความปลอดภัย > คุกกี้และข้อมูลไซต์
+ *[other] พื้นที่ดิสก์ของ { -brand-short-name } กำลังจะเต็ม เนื้อหาเว็บไซต์อาจแสดงผลไม่ถูกต้อง คุณสามารถล้างข้อมูลที่จัดเก็บไว้ได้ใน ค่ากำหนด > ความเป็นส่วนตัวและความปลอดภัย > คุกกี้และข้อมูลไซต์
+ }
+space-alert-under-5gb-ok-button =
+ .label = ตกลง เข้าใจแล้ว
+ .accesskey = ต
+space-alert-under-5gb-message = พื้นที่ดิสก์ของ { -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/l10n-th/browser/browser/preferences/selectBookmark.ftl b/l10n-th/browser/browser/preferences/selectBookmark.ftl
new file mode 100644
index 0000000000..40e655125e
--- /dev/null
+++ b/l10n-th/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/l10n-th/browser/browser/preferences/siteDataSettings.ftl b/l10n-th/browser/browser/preferences/siteDataSettings.ftl
new file mode 100644
index 0000000000..6361cfa32b
--- /dev/null
+++ b/l10n-th/browser/browser/preferences/siteDataSettings.ftl
@@ -0,0 +1,57 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+
+## 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-button-cancel =
+ .label = ยกเลิก
+ .accesskey = ย
+site-data-button-save =
+ .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 = การเอาคุกกี้และข้อมูลไซต์ออกอาจนำคุณออกจากระบบของเว็บไซต์ คุณแน่ใจหรือไม่ว่าต้องการทำการเปลี่ยนแปลง?
+site-data-removing-table = คุกกี้และข้อมูลไซต์สำหรับเว็บไซต์ดังต่อไปนี้จะถูกเอาออก
diff --git a/l10n-th/browser/browser/preferences/translation.ftl b/l10n-th/browser/browser/preferences/translation.ftl
new file mode 100644
index 0000000000..e8d0517e45
--- /dev/null
+++ b/l10n-th/browser/browser/preferences/translation.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/.
+
+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-button-close =
+ .label = ปิด
+ .accesskey = ป
+translation-dialog =
+ .buttonlabelaccept = ปิด
+ .buttonaccesskeyaccept = ป
diff --git a/l10n-th/browser/browser/protections.ftl b/l10n-th/browser/browser/protections.ftl
new file mode 100644
index 0000000000..6288e911eb
--- /dev/null
+++ b/l10n-th/browser/browser/protections.ftl
@@ -0,0 +1,195 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.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] ตัวติดตาม <b>{ $count }</b> ตัวถูกปิดกั้นตั้งแต่ { 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 = เครือข่ายสังคมออนไลน์จะวางตัวติดตามบนเว็บไซต์อื่น ๆ เพื่อติดตามสิ่งที่คุณทำ และดูทางออนไลน์ ซึ่งทำให้บริษัทสังคมออนไลน์สามารถเรียนรู้เพิ่มเติมเกี่ยวกับคุณนอกเหนือจากที่คุณแบ่งปันในโปรไฟล์สังคมออนไลน์ของคุณ <a data-l10n-name="learn-more-link">เรียนรู้เพิ่มเติม</a>
+cookie-tab-title = คุกกี้ติดตามข้ามไซต์
+cookie-tab-content = คุกกี้เหล่านี้ติดตามคุณจากไซต์หนึ่งไปยังอีกไซต์หนึ่งเพื่อรวบรวมข้อมูลเกี่ยวกับสิ่งที่คุณทำทางออนไลน์ ซึ่งถูกตั้งค่าโดยบุคคลที่สาม เช่น ผู้โฆษณาและบริษัทการวิเคราะห์ การปิดกั้นคุกกี้ติดตามข้ามไซต์จะช่วยลดจำนวนโฆษณาที่ติดตามคุณไป <a data-l10n-name="learn-more-link">เรียนรู้เพิ่มเติม</a>
+tracker-tab-title = ตัวติดตามเนื้อหา
+tracker-tab-description = เว็บไซต์อาจโหลดโฆษณา วิดีโอ และเนื้อหาอื่น ๆ นอกเว็บที่มีโค้ดติดตาม การปิดกั้นเนื้อหาการติดตามจะทำให้เว็บไซต์โหลดเร็วขึ้น แต่ปุ่มบางปุ่ม ฟอร์ม และเขตข้อมูลการเข้าสู่ระบบอาจไม่ทำงาน <a data-l10n-name="learn-more-link">เรียนรู้เพิ่มเติม</a>
+fingerprinter-tab-title = ลายนิ้วมือดิจิทัล
+fingerprinter-tab-content = ลายนิ้วมือดิจิทัลรวบรวมการตั้งค่าจากเบราว์เซอร์และคอมพิวเตอร์ของคุณเพื่อสร้างโปรไฟล์ของคุณ การใช้ลายนิ้วมือดิจิทัลจะทำให้สามารถติดตามคุณผ่านเว็บไซต์ต่าง ๆ ได้ <a data-l10n-name="learn-more-link">เรียนรู้เพิ่มเติม</a>
+cryptominer-tab-title = ตัวขุดเหรียญดิจิทัล
+cryptominer-tab-content = ตัวขุดเหรียญคริปโตดิจิตอลใช้พลังการคำนวณของระบบของคุณเพื่อสร้างเงินคริปโตดิจิทัล สคริปต์ขุดเหรียญดิจิทัลจะทำให้พลังงานแบตเตอรี่ของคุณลดลง คอมพิวเตอร์ของคุณช้าลง และเพิ่มค่าไฟฟ้าของคุณได้ <a data-l10n-name="learn-more-link">เรียนรู้เพิ่มเติม</a>
+protections-close-button2 =
+ .aria-label = ปิด
+ .title = ปิด
+mobile-app-title = ปิดกั้นตัวติดตามโฆษณาในอุปกรณ์อื่น ๆ
+mobile-app-card-content = ใช้เบราว์เซอร์มือถือที่มีการป้องกันจากติดติดตามโฆษณา
+mobile-app-links = เบราว์เซอร์ { -brand-product-name } สำหรับ <a data-l10n-name="android-mobile-inline-link">Android</a>และ<a data-l10n-name="ios-mobile-inline-link">iOS</a>
+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 } สำหรับ <a data-l10n-name="lockwise-android-inline-link">Android</a>และ<a data-l10n-name="lockwise-ios-inline-link">iOS</a>
+# 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 = วิธีการทำงาน
+turn-on-sync = เปิด { -sync-brand-short-name }…
+ .title = ไปที่ค่ากำหนดการซิงค์
+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/l10n-th/browser/browser/protectionsPanel.ftl b/l10n-th/browser/browser/protectionsPanel.ftl
new file mode 100644
index 0000000000..e5d15dd802
--- /dev/null
+++ b/l10n-th/browser/browser/protectionsPanel.ftl
@@ -0,0 +1,108 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.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 <ul>
+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-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 <label data-l10n-name="learn-more">เรียนรู้เพิ่มเติม</label>
+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/l10n-th/browser/browser/safeMode.ftl b/l10n-th/browser/browser/safeMode.ftl
new file mode 100644
index 0000000000..c72e7d66b6
--- /dev/null
+++ b/l10n-th/browser/browser/safeMode.ftl
@@ -0,0 +1,16 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+safe-mode-window =
+ .title = โหมดปลอดภัย { -brand-short-name }
+ .style = max-width: 400px
+start-safe-mode =
+ .label = เริ่มในโหมดปลอดภัย
+refresh-profile =
+ .label = ล้าง { -brand-short-name } ใหม่
+safe-mode-description = โหมดปลอดภัยเป็นโหมดพิเศษของ { -brand-short-name } ที่สามารถใช้ในการแก้ไขปัญหา
+safe-mode-description-details = ส่วนเสริมและการตั้งค่าที่กำหนดเองของคุณจะถูกปิดใช้งานชั่วคราวและคุณลักษณะต่าง ๆ ของ { -brand-short-name } อาจไม่ทำงานเหมือนในขณะนี้
+refresh-profile-instead = คุณยังสามารถข้ามการแก้ไขปัญหาและลองตั้งค่า { -brand-short-name } ใหม่
+# Shown on the safe mode dialog after multiple startup crashes.
+auto-safe-mode-description = { -brand-short-name } ถูกปิดโดยไม่คาดคิดขณะเริ่ม ซึ่งอาจมีสาเหตุมาจากส่วนเสริมหรือปัญหาอื่น ๆ คุณสามารถลองแก้ไขปัญหาโดยการแก้ไขปัญหาในโหมดปลอดภัย
diff --git a/l10n-th/browser/browser/safebrowsing/blockedSite.ftl b/l10n-th/browser/browser/safebrowsing/blockedSite.ftl
new file mode 100644
index 0000000000..c60e2417a5
--- /dev/null
+++ b/l10n-th/browser/browser/safebrowsing/blockedSite.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/.
+
+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 = คำแนะนำโดย <a data-l10n-name='advisory_provider'>{ $advisoryname }</a>
+safeb-palm-accept-label = ย้อนกลับ
+safeb-palm-see-details-label = ดูรายละเอียด
+safeb-blocked-phishing-page-error-desc-override = <span data-l10n-name='sitename'>{ $sitename }</span> <a data-l10n-name='error_desc_link'>ถูกรายงานว่าเป็นไซต์หลอกลวง</a> คุณสามารถ <a data-l10n-name='report_detection'>รายงานปัญหาการตรวจพบ</a> หรือ <a data-l10n-name='ignore_warning_link'>ไม่สนใจความเสี่ยง</a> และไปยังไซต์ที่ไม่ปลอดภัยนี้
+safeb-blocked-phishing-page-error-desc-no-override = <span data-l10n-name='sitename'>{ $sitename }</span> <a data-l10n-name='error_desc_link'>ถูกรายงานว่าเป็นไซต์หลอกลวง</a> คุณสามารถ <a data-l10n-name='report_detection'>รายงานปัญหาการตรวจพบ</a>
+safeb-blocked-phishing-page-learn-more = เรียนรู้เพิ่มเติมเกี่ยวกับไซต์หลอกลวงและระบบฟิชชิ่งได้ที่ <a data-l10n-name='learn_more_link'>www.antiphishing.org</a> เรียนรู้เพิ่มเติมเกี่ยวกับระบบฟิชชิ่งและระบบป้องกันมัลแวร์ของ { -brand-short-name } ได้ที่ <a data-l10n-name='firefox_support'>support.mozilla.org</a>
+safeb-blocked-malware-page-error-desc-override = <span data-l10n-name='sitename'>{ $sitename }</span> <a data-l10n-name='error_desc_link'>ถูกรายงานว่ามีซอฟต์แวร์ที่ประสงค์ร้าย</a> คุณสามารถ <a data-l10n-name='report_detection'>รายงานปัญหาการตรวจพบ</a> หรือ <a data-l10n-name='ignore_warning_link'>ไม่สนใจความเสี่ยง</a> และไปยังไซต์ที่ไม่ปลอดภัยนี้
+safeb-blocked-malware-page-error-desc-no-override = <span data-l10n-name='sitename'>{ $sitename }</span> <a data-l10n-name='error_desc_link'>ถูกรายงานว่ามีซอฟต์แวร์ที่ประสงค์ร้าย</a> คุณสามารถ <a data-l10n-name='report_detection'>รายงานปัญหาการตรวจพบ</a>
+safeb-blocked-malware-page-learn-more = เรียนรู้เพิ่มเติมเกี่ยวกับเนื้อหาเว็บที่เป็นอันตรายที่ประกอบด้วยไวรัสและมัลแวร์อื่น ๆ และวิธีปกป้องคอมพิวเตอร์ของคุณได้ที่ <a data-l10n-name='learn_more_link'>StopBadware.org</a> เรียนรู้เพิ่มเติมเกี่ยวกับระบบฟิชชิ่งและระบบป้องกันมัลแวร์ของ { -brand-short-name } ได้ที่ <a data-l10n-name='firefox_support'>support.mozilla.org</a>
+safeb-blocked-malware-page-error-desc-override-sumo = <span data-l10n-name='sitename'>{ $sitename }</span> ได้ถูก<a data-l10n-name='error_desc_link'>รายงานว่ามีซอฟต์แวร์ที่เป็นอันตราย</a> คุณสามารถ<a data-l10n-name='ignore_warning_link'>เพิกเฉยความเสี่ยง</a>และไปยังไซต์ที่ไม่ปลอดภัยนี้ได้
+safeb-blocked-malware-page-error-desc-no-override-sumo = <span data-l10n-name='sitename'>{ $sitename }</span> ได้ถูก<a data-l10n-name='error_desc_link'>รายงานว่ามีซอฟต์แวร์ที่เป็นอันตราย</a>
+safeb-blocked-malware-page-learn-more-sumo = เรียนรู้เพิ่มเติมเกี่ยวกับระบบฟิชชิ่งและระบบป้องก้นมัลแวร์ของ { -brand-short-name } ได้ที่ <a data-l10n-name='firefox_support'>support.mozilla.org</a>
+safeb-blocked-unwanted-page-error-desc-override = <span data-l10n-name='sitename'>{ $sitename }</span> <a data-l10n-name='error_desc_link'>ถูกรายงานว่ามีซอฟต์แวร์ที่เป็นอันตราย</a> คุณสามารถ <a data-l10n-name='ignore_warning_link'>ไม่สนใจความเสี่ยง</a> และไปยังไซต์ที่ไม่ปลอดภัยนี้
+safeb-blocked-unwanted-page-error-desc-no-override = <span data-l10n-name='sitename'>{ $sitename }</span> <a data-l10n-name='error_desc_link'>ถูกรายงานว่ามีซอฟต์แวร์ที่เป็นอันตราย</a>
+safeb-blocked-unwanted-page-learn-more = เรียนรู้เพิ่มเติมเกี่ยวกับซอฟต์แวร์ที่เป็นอันตรายและไม่ต้องการได้ที่ <a data-l10n-name='learn_more_link'>นโยบายซอฟต์แวร์ที่ไม่ต้องการ</a> เรียนรู้เพิ่มเติมเกี่ยวกับระบบฟิชชิ่งและระบบป้องกันมัลแวร์ของ { -brand-short-name } ได้ที่ <a data-l10n-name='firefox_support'>support.mozilla.org</a>
+safeb-blocked-harmful-page-error-desc-override = <span data-l10n-name='sitename'>{ $sitename }</span> <a data-l10n-name='error_desc_link'>ถูกรายงานว่ามีแอปพลิเคชันที่อาจเป็นอันตราย</a> คุณสามารถ <a data-l10n-name='ignore_warning_link'>ไม่สนใจความเสี่ยง</a> และไปยังไซต์ที่ไม่ปลอดภัยนี้
+safeb-blocked-harmful-page-error-desc-no-override = <span data-l10n-name='sitename'>{ $sitename }</span> <a data-l10n-name='error_desc_link'>ถูกรายงานว่ามีแอปพลิเคชันที่อาจเป็นอันตราย</a>
+safeb-blocked-harmful-page-learn-more = เรียนรู้เพิ่มเติมเกี่ยวกับระบบฟิชชิ่งและระบบป้องก้นมัลแวร์ของ { -brand-short-name } ได้ที่ <a data-l10n-name='firefox_support'>support.mozilla.org</a>
+safeb-palm-notdeceptive =
+ .label = นี่ไม่ใช่ไซต์หลอกลวง…
+ .accesskey = ห
diff --git a/l10n-th/browser/browser/sanitize.ftl b/l10n-th/browser/browser/sanitize.ftl
new file mode 100644
index 0000000000..61e80045e3
--- /dev/null
+++ b/l10n-th/browser/browser/sanitize.ftl
@@ -0,0 +1,110 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+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-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/l10n-th/browser/browser/screenshots.ftl b/l10n-th/browser/browser/screenshots.ftl
new file mode 100644
index 0000000000..bbd7c2b35f
--- /dev/null
+++ b/l10n-th/browser/browser/screenshots.ftl
@@ -0,0 +1,47 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+screenshots-context-menu = จับภาพหน้าจอ
+
+screenshots-my-shots-button = ภาพหน้าจอของฉัน
+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-self-screenshot-error-title = คุณไม่สามารถจับภาพหน้าจอของหน้า { -screenshots-brand-name }!
+
+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/l10n-th/browser/browser/search.ftl b/l10n-th/browser/browser/search.ftl
new file mode 100644
index 0000000000..0986e77598
--- /dev/null
+++ b/l10n-th/browser/browser/search.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/.
+
+
+## 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 }
+
+##
+
diff --git a/l10n-th/browser/browser/setDesktopBackground.ftl b/l10n-th/browser/browser/setDesktopBackground.ftl
new file mode 100644
index 0000000000..40ed01a628
--- /dev/null
+++ b/l10n-th/browser/browser/setDesktopBackground.ftl
@@ -0,0 +1,40 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+set-desktop-background-window =
+ .title = ตั้งพื้นหลังเดสก์ท็อป
+
+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/l10n-th/browser/browser/sidebarMenu.ftl b/l10n-th/browser/browser/sidebarMenu.ftl
new file mode 100644
index 0000000000..7d97de035d
--- /dev/null
+++ b/l10n-th/browser/browser/sidebarMenu.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/.
+
+sidebar-menu-bookmarks =
+ .label = ที่คั่นหน้า
+
+sidebar-menu-history =
+ .label = ประวัติ
+
+sidebar-menu-synced-tabs =
+ .label = แท็บที่ซิงค์
+
+sidebar-menu-close =
+ .label = ปิดแถบข้าง
diff --git a/l10n-th/browser/browser/sync.ftl b/l10n-th/browser/browser/sync.ftl
new file mode 100644
index 0000000000..7b99060c80
--- /dev/null
+++ b/l10n-th/browser/browser/sync.ftl
@@ -0,0 +1,21 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+fxa-toolbar-sync-syncing =
+ .label = กำลังซิงค์…
+fxa-toolbar-sync-syncing-tabs =
+ .label = กำลังซิงค์แท็บ…
+sync-disconnect-dialog-title = ตัดการเชื่อมต่อ { -sync-brand-short-name }?
+sync-disconnect-dialog-body = { -brand-product-name } จะหยุดการซิงค์บัญชีของคุณ แต่จะไม่ลบข้อมูลการเรียกดูใด ๆ ของคุณบนอุปกรณ์นี้
+fxa-disconnect-dialog-title = ตัดการเชื่อมต่อ { -brand-product-name }?
+fxa-disconnect-dialog-body = { -brand-product-name } จะตัดการเชื่อมต่อจากบัญชีของคุณ แต่จะไม่ลบข้อมูลการเรียกดูใด ๆ ของคุณบนอุปกรณ์นี้
+sync-disconnect-dialog-button = ตัดการเชื่อมต่อ
+fxa-signout-dialog-heading = ลงชื่อออก { -fxaccount-brand-name } หรือไม่?
+fxa-signout-dialog-body = ข้อมูลที่ซิงค์จะยังคงอยู่ในบัญชีของคุณ
+fxa-signout-checkbox =
+ .label = ลบข้อมูลจากอุปกรณ์นี้ (การเข้าสู่ระบบ รหัสผ่าน ประวัติ ที่คั่นหน้า ฯลฯ)
+fxa-signout-dialog =
+ .title = ลงชื่อออก { -fxaccount-brand-name }
+ .style = min-width: 375px;
+ .buttonlabelaccept = ลงชื่อออก
diff --git a/l10n-th/browser/browser/syncedTabs.ftl b/l10n-th/browser/browser/syncedTabs.ftl
new file mode 100644
index 0000000000..1b579a87e9
--- /dev/null
+++ b/l10n-th/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-openprefs = เปิดค่ากำหนด { -sync-brand-short-name }
+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 = ง
+fxa-sign-in = ลงชื่อเข้า { -sync-brand-short-name }
+turn-on-sync = เปิด { -sync-brand-short-name }
diff --git a/l10n-th/browser/browser/tabContextMenu.ftl b/l10n-th/browser/browser/tabContextMenu.ftl
new file mode 100644
index 0000000000..f4d7caad37
--- /dev/null
+++ b/l10n-th/browser/browser/tabContextMenu.ftl
@@ -0,0 +1,95 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+reload-tab =
+ .label = โหลดแท็บใหม่
+ .accesskey = ห
+select-all-tabs =
+ .label = เลือกแท็บทั้งหมด
+ .accesskey = ล
+duplicate-tab =
+ .label = ทำสำเนาแท็บ
+ .accesskey = ท
+duplicate-tabs =
+ .label = ทำสำเนาแท็บ
+ .accesskey = ท
+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 = พ
+reopen-in-container =
+ .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 = ล
+
+## Variables:
+## $tabCount (Number): the number of tabs that are affected by the action.
+
+tab-context-undo-close-tabs =
+ .label =
+ { $tabCount ->
+ [1] เรียกคืนแท็บที่เพิ่งปิด
+ *[other] เรียกคืนแท็บที่เพิ่งปิด
+ }
+ .accesskey = ร
+close-tab =
+ .label = ปิดแท็บ
+ .accesskey = ป
+close-tabs =
+ .label = ปิดแท็บ
+ .accesskey = ป
+move-tabs =
+ .label = ย้ายแท็บ
+ .accesskey = บ
+move-tab =
+ .label = ย้ายแท็บ
+ .accesskey = บ
+tab-context-close-tabs =
+ .label =
+ { $tabCount ->
+ [1] ปิดแท็บ
+ *[other] ปิดแท็บ
+ }
+ .accesskey = ป
+tab-context-move-tabs =
+ .label =
+ { $tabCount ->
+ [1] ย้ายแท็บ
+ *[other] ย้ายแท็บ
+ }
+ .accesskey = ย
diff --git a/l10n-th/browser/browser/toolbarContextMenu.ftl b/l10n-th/browser/browser/toolbarContextMenu.ftl
new file mode 100644
index 0000000000..4aa08b9b19
--- /dev/null
+++ b/l10n-th/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-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-undo-close-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 =
+ .label = ซ่อนอัตโนมัติในแถบเครื่องมือ
+ .accesskey = ซ
+toolbar-context-menu-remove-from-toolbar =
+ .label = เอาออกจากแถบเครื่องมือ
+ .accesskey = อ
+toolbar-context-menu-view-customize-toolbar =
+ .label = ปรับแต่ง…
+ .accesskey = ป
+toolbar-context-menu-bookmarks-toolbar-always-show =
+ .label = เสมอ
+ .accesskey = ส
+toolbar-context-menu-bookmarks-toolbar-never-show =
+ .label = ไม่เลย
+ .accesskey = ม
+toolbar-context-menu-bookmarks-toolbar-on-new-tab =
+ .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
diff --git a/l10n-th/browser/browser/touchbar/touchbar.ftl b/l10n-th/browser/browser/touchbar/touchbar.ftl
new file mode 100644
index 0000000000..653d23e5a9
--- /dev/null
+++ b/l10n-th/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/l10n-th/browser/browser/webrtcIndicator.ftl b/l10n-th/browser/browser/webrtcIndicator.ftl
new file mode 100644
index 0000000000..96eaea6183
--- /dev/null
+++ b/l10n-th/browser/browser/webrtcIndicator.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/.
+
+
+# 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-button =
+ .title = ไมโครโฟนของคุณกำลังถูกแบ่งปัน คลิกเพื่อควบคุมการแบ่งปัน
+webrtc-camera-button =
+ .title = กล้องของคุณกำลังถูกแบ่งปัน คลิกเพื่อควบคุมการแบ่งปัน
+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/l10n-th/browser/chrome/browser-region/region.properties b/l10n-th/browser/chrome/browser-region/region.properties
new file mode 100644
index 0000000000..b97a12e8a3
--- /dev/null
+++ b/l10n-th/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/l10n-th/browser/chrome/browser/accounts.properties b/l10n-th/browser/chrome/browser/accounts.properties
new file mode 100644
index 0000000000..84ac135a8b
--- /dev/null
+++ b/l10n-th/browser/chrome/browser/accounts.properties
@@ -0,0 +1,129 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# 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…
+
+# LOCALIZATION NOTE (account.title):
+# Used as a default header for the FxA toolbar menu.
+account.title = บัญชี
+
+# LOCALIZATION NOTE (account.accountSettings):
+# Used as the description below user's email in the FxA toolbar menu.
+account.accountSettings = การตั้งค่าบัญชี
+
+# LOCALIZATION NOTE (account.finishAccountSetup):
+# Used as the FxA toolbar menu item value when user has not
+# finished setting up an account.
+account.finishAccountSetup = เสร็จสิ้นการตั้งค่าบัญชี
+
+# LOCALIZATION NOTE (account.reconnectToFxA):
+# Used as the FxA toolbar menu item title when the user
+# needs to reconnect their account.
+account.reconnectToFxA = เชื่อมต่อใหม่ไปยังบัญชี Firefox
diff --git a/l10n-th/browser/chrome/browser/app-extension-fields.properties b/l10n-th/browser/chrome/browser/app-extension-fields.properties
new file mode 100644
index 0000000000..ac4800d426
--- /dev/null
+++ b/l10n-th/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/l10n-th/browser/chrome/browser/baseMenuOverlay.dtd b/l10n-th/browser/chrome/browser/baseMenuOverlay.dtd
new file mode 100644
index 0000000000..6877eb4f28
--- /dev/null
+++ b/l10n-th/browser/chrome/browser/baseMenuOverlay.dtd
@@ -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/. -->
+
+<!ENTITY aboutProduct2.label "เกี่ยวกับ &brandShorterName;">
+<!ENTITY aboutProduct2.accesskey "ก">
+
+<!ENTITY preferencesCmdMac.label "ค่ากำหนด…">
+
+<!ENTITY servicesMenuMac.label "บริการ">
+
+<!ENTITY hideThisAppCmdMac2.label "ซ่อน &brandShorterName;">
+
+<!ENTITY hideOtherAppsCmdMac.label "ซ่อนอื่น ๆ">
+
+<!ENTITY showAllAppsCmdMac.label "แสดงทั้งหมด">
+
+<!ENTITY touchBarCmdMac.label "ปรับแต่งแถบสัมผัส…">
diff --git a/l10n-th/browser/chrome/browser/brandings.dtd b/l10n-th/browser/chrome/browser/brandings.dtd
new file mode 100644
index 0000000000..46a76ff0ff
--- /dev/null
+++ b/l10n-th/browser/chrome/browser/brandings.dtd
@@ -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/. -->
+
+<!-- LOCALIZATION NOTE:
+ 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. -->
+
+<!ENTITY sendFullName "Firefox Send">
+<!ENTITY monitorFullName "Firefox Monitor">
diff --git a/l10n-th/browser/chrome/browser/browser.dtd b/l10n-th/browser/chrome/browser/browser.dtd
new file mode 100644
index 0000000000..0e0f7d1531
--- /dev/null
+++ b/l10n-th/browser/chrome/browser/browser.dtd
@@ -0,0 +1,290 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!-- LOCALIZATION NOTE : FILE This file contains the browser main menu items -->
+<!-- LOCALIZATION NOTE : FILE Do not translate commandkeys -->
+
+<!ENTITY appmenu.tooltip "เปิดเมนู">
+<!ENTITY navbarOverflow.label "เครื่องมือเพิ่มเติม…">
+
+<!-- Tab context menu -->
+
+<!-- LOCALIZATION NOTE (pinTab.label, unpinTab.label): "Pin" is being
+used as a metaphor for expressing the fact that these tabs are "pinned" to the
+left edge of the tabstrip. Really we just want the string to express the idea
+that this is a lightweight and reversible action that keeps your tab where you
+can reach it easily. -->
+<!ENTITY pinTab.label "ปักหมุดแท็บ">
+<!ENTITY unpinTab.label "ถอนหมุดแท็บ">
+
+<!ENTITY listAllTabs.label "แสดงรายการแท็บทั้งหมด">
+
+<!ENTITY tabCmd.label "แท็บใหม่">
+<!ENTITY openFileCmd.label "เปิดไฟล์…">
+<!ENTITY printCmd.label "พิมพ์…">
+
+<!ENTITY taskManagerCmd.label "ตัวจัดการงาน">
+
+<!ENTITY menubarCmd.label "แถบเมนู">
+<!ENTITY menubarCmd.accesskey "ถ">
+<!-- LOCALIZATION NOTE: The accessibleLabel 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. -->
+<!ENTITY navbar.accessibleLabel "การนำทาง">
+<!ENTITY personalbarCmd.label "แถบเครื่องมือที่คั่นหน้า">
+<!ENTITY personalbarCmd.accesskey "บ">
+<!-- LOCALIZATION NOTE: The accessibleLabel 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. -->
+<!ENTITY personalbar.accessibleLabel "ที่คั่นหน้า">
+<!ENTITY bookmarksToolbarItem.label "รายการแถบเครื่องมือที่คั่นหน้า">
+
+<!ENTITY fullScreenCmd.label "เต็มหน้าจอ">
+
+
+<!ENTITY pictureInPictureHideToggle.label "ซ่อนสลับภาพที่เล่นควบคู่">
+<!ENTITY pictureInPictureHideToggle.accesskey "อ">
+
+<!-- LOCALIZATION NOTE (fxa.menu) Used to define the different labels
+ for the Firefox Account toolbar menu screen. The `Signed in as` text is
+ followed by the user's email. -->
+<!ENTITY fxa.menu.syncSettings2.label "การตั้งค่า &syncBrand.shortName.label;">
+<!ENTITY fxa.menu.connectAnotherDevice2.label "เชื่อมต่ออุปกรณ์อื่น…">
+<!ENTITY fxa.menu.firefoxAccount "&syncBrand.fxAccount.label;">
+
+<!ENTITY fxa.menu.signin.label "ลงชื่อเข้า &brandProductName;">
+<!ENTITY fxa.menu.turnOnSync.label "เปิด &syncBrand.shortName.label;">
+<!ENTITY fxa.menu.firefoxServices.label "บริการของ &brandProductName;">
+<!ENTITY fxa.menu.account.label "บัญชี">
+<!ENTITY fxa.menu.settings.label "การตั้งค่า">
+<!ENTITY fxa.menu.accountSettings.label "การตั้งค่าบัญชี">
+<!ENTITY fxa.menu.manageAccount2.label "จัดการบัญชี">
+<!ENTITY fxa.menu.signOut.label "ลงชื่อออก…">
+<!ENTITY fxa.menu.setupSync.label "ตั้งค่า &syncBrand.shortName.label;…">
+
+<!-- LOCALIZATION NOTE (fxa.service) Used to define the different FxA services
+ for the Firefox Account toolbar menu screen. -->
+<!ENTITY fxa.service.sendTab.description "ส่งแท็บทันทีไปยังอุปกรณ์ใด ๆ ที่คุณลงชื่อเข้าใช้">
+
+<!-- LOCALIZATION NOTE (fullscreenWarning.beforeDomain.label,
+ fullscreenWarning.afterDomain.label): these two strings are used
+ respectively before and after the domain requiring fullscreen.
+ Localizers can use one of them, or both, to better adapt this
+ sentence to their language. -->
+<!ENTITY fullscreenWarning.beforeDomain.label "">
+<!ENTITY fullscreenWarning.afterDomain.label "เต็มหน้าจออยู่">
+<!ENTITY fullscreenWarning.generic.label "เอกสารนี้เต็มหน้าจออยู่">
+
+<!-- LOCALIZATION NOTE (exitDOMFullscreen.button,
+ exitDOMFullscreenMac.button): the "escape" button on PC keyboards
+ is uppercase, while on Mac keyboards it is lowercase -->
+<!ENTITY exitDOMFullscreen.button "ออกจากภาพเต็มหน้าจอ (Esc)">
+<!ENTITY exitDOMFullscreenMac.button "ออกจากภาพเต็มหน้าจอ (esc)">
+
+<!-- LOCALIZATION NOTE (pointerlockWarning.beforeDomain.label,
+ pointerlockWarning.afterDomain.label): these two strings are used
+ respectively before and after the domain requiring pointerlock.
+ Localizers can use one of them, or both, to better adapt this
+ sentence to their language. -->
+<!ENTITY pointerlockWarning.beforeDomain.label "">
+<!ENTITY pointerlockWarning.afterDomain.label "ได้ควบคุมตัวชี้ของคุณ กด Esc เพื่อดึงการควบคุมคืน">
+<!ENTITY pointerlockWarning.generic.label "เอกสารชิ้นนี้ได้ควบคุมตัวชี้ของคุณ กด Esc เพื่อดึงการควบคุมคืน">
+
+<!ENTITY showAllBookmarks2.label "แสดงที่คั่นหน้าทั้งหมด">
+<!ENTITY recentBookmarks.label "ที่คั่นหน้าที่เพิ่มล่าสุด">
+<!ENTITY bookmarksToolbarChevron.tooltip "แสดงที่คั่นหน้าเพิ่มเติม">
+
+<!ENTITY printButton.label "พิมพ์">
+<!ENTITY printButton.tooltip "พิมพ์หน้านี้">
+
+<!ENTITY searchItem.title "ค้นหา">
+
+<!-- Toolbar items -->
+<!ENTITY homeButton.label "หน้าแรก">
+<!ENTITY homeButton.defaultPage.tooltip "หน้าแรกของ &brandShortName;">
+
+<!ENTITY bookmarksButton.label "ที่คั่นหน้า">
+
+<!ENTITY bookmarksSubview.label "ที่คั่นหน้า">
+<!ENTITY bookmarksMenuButton2.label "เมนูที่คั่นหน้า">
+<!ENTITY bookmarksMenuButton.other.label "ที่คั่นหน้าอื่น ๆ">
+<!ENTITY bookmarksMenuButton.mobile.label "ที่คั่นหน้าในมือถือ">
+<!ENTITY viewBookmarksSidebar2.label "ดูแถบข้างที่คั่นหน้า">
+<!ENTITY hideBookmarksSidebar.label "ซ่อนแถบข้างที่คั่นหน้า">
+<!ENTITY viewBookmarksToolbar.label "ดูแถบเครื่องมือที่คั่นหน้า">
+<!ENTITY hideBookmarksToolbar.label "ซ่อนแถบเครื่องมือที่คั่นหน้า">
+<!ENTITY searchBookmarks.label "ค้นหาที่คั่นหน้า">
+<!ENTITY bookmarkingTools.label "เครื่องมือที่คั่นหน้า">
+<!ENTITY addBookmarksMenu.label "เพิ่มเมนูที่คั่นหน้าไปยังแถบเครื่องมือ">
+<!ENTITY removeBookmarksMenu.label "เอาเมนูที่คั่นหน้าออกจากแถบเครื่องมือ">
+
+<!ENTITY historyButton.label "ประวัติ">
+
+<!ENTITY downloads.label "การดาวน์โหลด">
+<!-- LOCALIZATION NOTE (libraryDownloads.label): This label is similar to
+ - downloads.label, but used in the Library panel. -->
+<!ENTITY libraryDownloads.label "การดาวน์โหลด">
+<!ENTITY addons.label "ส่วนเสริม">
+
+<!ENTITY webDeveloperMenu.label "นักพัฒนาเว็บ">
+
+<!ENTITY newNavigatorCmd.label "หน้าต่างใหม่">
+<!ENTITY newPrivateWindow.label "หน้าต่างส่วนตัวใหม่">
+
+<!ENTITY editMenu.label "แก้ไข">
+<!ENTITY preferencesCmd2.label "ตัวเลือก">
+<!ENTITY preferencesCmdUnix.label "ค่ากำหนด">
+<!ENTITY logins.label "ข้อมูลการเข้าสู่ระบบและรหัสผ่าน">
+
+<!ENTITY overflowCustomizeToolbar.label "ปรับแต่งแถบเครื่องมือ…">
+<!ENTITY overflowCustomizeToolbar.accesskey "ป">
+
+<!ENTITY historyMenu.label "ประวัติ">
+<!ENTITY historyUndoMenu.label "แท็บที่ปิดล่าสุด">
+<!-- LOCALIZATION NOTE (historyUndoWindowMenu): see bug 394759 -->
+<!ENTITY historyUndoWindowMenu.label "หน้าต่างที่ปิดล่าสุด">
+
+<!ENTITY appMenuHistory.showAll.label "แสดงประวัติทั้งหมด">
+<!ENTITY appMenuHistory.clearRecent.label "ล้างประวัติล่าสุด…">
+<!ENTITY appMenuHistory.restoreSession.label "เรียกคืนวาระก่อนหน้า">
+<!ENTITY appMenuHistory.viewSidebar.label "ดูแถบข้างประวัติ">
+<!ENTITY appMenuHistory.hideSidebar.label "ซ่อนแถบข้างประวัติ">
+<!ENTITY appMenuHistory.recentHistory.label "ประวัติล่าสุด">
+<!ENTITY appMenuHelp.label "ช่วยเหลือ">
+
+<!ENTITY appMenuRemoteTabs.label "แท็บที่ซิงค์">
+<!-- LOCALIZATION NOTE (appMenuRemoteTabs.notabs.label): This is shown beneath
+ the name of a device when that device has no open tabs -->
+<!ENTITY appMenuRemoteTabs.notabs.label "ไม่มีแท็บที่เปิดอยู่">
+<!-- LOCALIZATION NOTE (appMenuRemoteTabs.showMore.label, appMenuRemoteTabs.showMore.tooltip):
+ This is shown after the tabs list if we can display more tabs by clicking on the button -->
+<!ENTITY appMenuRemoteTabs.showMore.label "แสดงเพิ่มเติม">
+<!ENTITY appMenuRemoteTabs.showMore.tooltip "แสดงแท็บเพิ่มเติมจากอุปกรณ์นี้">
+<!-- LOCALIZATION NOTE (appMenuRemoteTabs.showAll.label, appMenuRemoteTabs.showAll.tooltip):
+ This is shown after the tabs list if we can all the remaining tabs by clicking on the button -->
+<!ENTITY appMenuRemoteTabs.showAll.label "แสดงทั้งหมด">
+<!ENTITY appMenuRemoteTabs.showAll.tooltip "แสดงแท็บทั้งหมดจากอุปกรณ์นี้">
+<!-- LOCALIZATION NOTE (appMenuRemoteTabs.tabsnotsyncing.label): This is shown
+ when Sync is configured but syncing tabs is disabled. -->
+<!ENTITY appMenuRemoteTabs.tabsnotsyncing.label "เปิดการซิงค์แท็บเพื่อดูรายการแท็บจากอุปกรณ์อื่น ๆ ของคุณ">
+<!-- LOCALIZATION NOTE (appMenuRemoteTabs.noclients.subtitle): 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. -->
+<!ENTITY appMenuRemoteTabs.noclients.subtitle "ต้องการเห็นแท็บของคุณจากอุปกรณ์อื่น ๆ ที่นี่?">
+<!ENTITY appMenuRemoteTabs.opensyncprefs.label "เปิดค่ากำหนด Sync">
+<!ENTITY appMenuRemoteTabs.welcome.label "ดูรายการแท็บจากอุปกรณ์อื่น ๆ ของคุณ">
+<!ENTITY appMenuRemoteTabs.unverified.label "บัญชีของคุณจำเป็นต้องได้รับการยืนยัน">
+<!ENTITY appMenuRemoteTabs.signintosync.label "ลงชื่อเข้า &syncBrand.shortName.label;…">
+<!ENTITY appMenuRemoteTabs.turnonsync.label "เปิด &syncBrand.shortName.label;…">
+<!ENTITY appMenuRemoteTabs.managedevices.label "จัดการอุปกรณ์…">
+<!ENTITY appMenuRemoteTabs.sidebar.label "ดูแถบข้างแท็บที่ซิงค์">
+<!ENTITY appMenuRemoteTabs.hidesidebar.label "ซ่อนแถบข้างแท็บที่ซิงค์">
+<!ENTITY appMenuRemoteTabs.connectdevice.label "เชื่อมต่ออุปกรณ์อื่น">
+
+<!ENTITY appMenuRecentHighlights.label "รายการเด่นล่าสุด">
+
+<!ENTITY customizeMenu.addToToolbar.label "เพิ่มลงในแถบเครื่องมือ">
+<!ENTITY customizeMenu.addToToolbar.accesskey "พ">
+<!-- LOCALIZATION NOTE (customizeMenu.addToOverflowMenu.label,
+ customizeMenu.unpinFromOverflowMenu.label)
+ The overflow menu is the menu that appears if you click the chevron (>> button)
+ in the location bar. -->
+<!ENTITY customizeMenu.addToOverflowMenu.label "เพิ่มลงในเมนูล้น">
+<!ENTITY customizeMenu.addToOverflowMenu.accesskey "พ">
+<!ENTITY customizeMenu.unpinFromOverflowMenu.label "ถอนหมุดจากเมนูล้น">
+<!ENTITY customizeMenu.unpinFromOverflowMenu.accesskey "ถ">
+<!ENTITY customizeMenu.removeFromToolbar.label "เอาออกจากแถบเครื่องมือ">
+<!ENTITY customizeMenu.removeFromToolbar.accesskey "อ">
+<!ENTITY customizeMenu.addMoreItems.label "เพิ่มรายการเพิ่มเติม…">
+<!ENTITY customizeMenu.addMoreItems.accesskey "พ">
+
+<!-- LOCALIZATION NOTE (moreMenu.label) This label is used in the new Photon
+ app (hamburger) menu. When clicked, it opens a subview that contains
+ secondary commands. -->
+<!ENTITY moreMenu.label "เพิ่มเติม">
+
+<!ENTITY contentSearchSubmit.tooltip "ค้นหา">
+
+<!-- LOCALIZATION NOTE (searchInput.placeholder):
+ This string is displayed in the search box when the input field is empty. -->
+<!ENTITY searchInput.placeholder "ค้นหา">
+<!ENTITY searchIcon.tooltip "ค้นหา">
+
+<!ENTITY openLinkCmdInTab.accesskey "ท">
+
+<!ENTITY pageAction.copyLink.label "คัดลอกลิงก์">
+
+<!-- LOCALIZATION NOTE(pocket-button.tooltiptext, saveToPocketCmd.label, saveLinkToPocketCmd.label, pocketMenuitem.label):
+ "Pocket" is a brand name. -->
+<!ENTITY saveToPocketCmd.label "บันทึกหน้าไปยัง Pocket">
+<!ENTITY pocketMenuitem.label "ดูรายการ Pocket">
+
+<!ENTITY emailPageCmd.label "ส่งอีเมลลิงก์…">
+
+<!-- Media (video/audio) controls -->
+
+<!-- LOCALIZATION NOTE :
+fullZoomEnlargeCmd.commandkey3, fullZoomReduceCmd.commandkey2 and
+fullZoomResetCmd.commandkey2 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. -->
+
+<!ENTITY fullZoom.label "ซูม">
+
+<!ENTITY sidebarCloseButton.tooltip "ปิดแถบข้าง">
+
+<!ENTITY quitApplicationCmdWin2.label "ออก">
+<!ENTITY quitApplicationCmdWin2.accesskey "อ">
+<!ENTITY quitApplicationCmdWin2.tooltip "ออกจาก &brandShorterName;">
+<!ENTITY quitApplicationCmd.label "ออก">
+<!ENTITY quitApplicationCmd.accesskey "อ">
+<!ENTITY quitApplicationCmdMac2.label "ออกจาก &brandShorterName;">
+
+<!ENTITY allowPopups.accesskey "ป">
+<!-- On Windows we use the term "Options" to describe settings, but
+ on Linux and Mac OS X we use "Preferences" - carry that distinction
+ over into this string, which is used in the "popup blocked" info bar . -->
+<!ENTITY editPopupSettingsUnix.label "แก้ไขค่ากำหนดตัวปิดกั้นป๊อปอัป…">
+<!ENTITY editPopupSettings.label "แก้ไขตัวเลือกตัวปิดกั้นป๊อปอัป…">
+<!ENTITY editPopupSettings.accesskey "ก">
+<!ENTITY dontShowMessage.accesskey "ข">
+
+<!ENTITY findOnCmd.label "ค้นหาในหน้านี้…">
+
+<!ENTITY spellAddDictionaries.label "เพิ่มพจนานุกรม…">
+<!ENTITY spellAddDictionaries.accesskey "พ">
+
+
+<!-- Name for the tabs toolbar as spoken by screen readers.
+ The word "toolbar" is appended automatically and should not be contained below! -->
+<!ENTITY tabsToolbar.label "แท็บเบราว์เซอร์">
+
+<!ENTITY syncBrand.shortName.label "Sync">
+
+<!ENTITY customizeMode.autoHideDownloadsButton.label "ซ่อนอัตโนมัติ">
+
+
+<!ENTITY uiTour.infoPanel.close "ปิด">
+
+<!ENTITY panicButton.thankyou.msg1 "ล้างประวัติล่าสุดของคุณแล้ว">
+<!ENTITY panicButton.thankyou.msg2 "การท่องเว็บปลอดภัย!">
+<!ENTITY panicButton.thankyou.buttonlabel "ขอบคุณ!">
+
+<!ENTITY updateAvailable.panelUI.label "ดาวน์โหลดการอัปเดต &brandShorterName;">
+<!ENTITY updateManual.panelUI.label "ดาวน์โหลดสำเนาใหม่ของ &brandShorterName;">
+<!ENTITY updateUnsupported.panelUI.label "คุณไม่สามารถดำเนินการอัปเดตเพิ่มเติมได้">
+<!ENTITY updateRestart.panelUI.label2 "เริ่มการทำงานใหม่เพื่ออัปเดต &brandShorterName;">
+
+<!ENTITY sendToDevice.syncNotReady.label "กำลังซิงค์อุปกรณ์…">
+
+<!ENTITY pageAction.shareUrl.label "แบ่งปัน">
+<!ENTITY pageAction.shareMore.label "เพิ่มเติม…">
+
+<!ENTITY libraryButton.tooltip "ดูประวัติ, ที่คั่นหน้าที่บันทึกไว้ และอื่น ๆ">
+
+<!-- LOCALIZATION NOTE: (accessibilityIndicator.tooltip): This is used to
+ display a tooltip for accessibility indicator in toolbar/tabbar. It is also
+ used as a textual label for the indicator used by assistive technology
+ users. -->
+<!ENTITY accessibilityIndicator.tooltip "คุณลักษณะการช่วยการเข้าถึงถูกเปิดใช้งานอยู่">
diff --git a/l10n-th/browser/chrome/browser/browser.properties b/l10n-th/browser/chrome/browser/browser.properties
new file mode 100644
index 0000000000..abf238043d
--- /dev/null
+++ b/l10n-th/browser/chrome/browser/browser.properties
@@ -0,0 +1,1064 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.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)
+# 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.unsignedWarning=ข้อควรระวัง: ส่วนเสริมนี้ยังไม่ได้รับการยืนยัน ส่วนเสริมที่ประสงค์ร้ายอาจขโมยข้อมูลส่วนตัวของคุณหรือทำให้คอมพิวเตอร์ของคุณเสียหายได้ ติดตั้งส่วนเสริมนี้ก็ต่อเมื่อคุณเชื่อถือแหล่งที่มาเท่านั้น
+
+# LOCALIZATION NOTE (webextPerms.listIntro)
+# This string will be followed by a list of permissions requested
+# by the webextension.
+webextPerms.listIntro=ส่วนขยายต้องการสิทธิอนุญาตจากคุณเพื่อ:
+webextPerms.learnMore=เรียนรู้เพิ่มเติมเกี่ยวกับสิทธิอนุญาต
+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.updateText=%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.title)
+# %S is the name of the extension which is about to be removed.
+webext.remove.confirmation.title=เอา %S ออก
+# 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 (webext.remove.abuseReportCheckbox.message)
+# %S is vendorShortName
+webext.remove.abuseReportCheckbox.message=ฉันต้องการรายงานส่วนขยายนี้ไปยัง %S
+
+# LOCALIZATION NOTE (addonPostInstall.message1)
+# %1$S is replaced with the localized named of the extension that was
+# just installed.
+# %2$S is replaced with the localized name of the application.
+addonPostInstall.message1=เพิ่ม %1$S ไปยัง %2$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 (popupShowBlockedPopupsIndicatorText): Semicolon separated list of plural forms.
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# #1 is the number of pop-ups blocked.
+popupShowBlockedPopupsIndicatorText=แสดง #1 ป๊อปอัปที่ถูกปิดกั้น…
+
+# 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=ช
+keywordURIFixup.dismiss=ไม่ ขอบคุณ
+keywordURIFixup.dismiss.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
+menuRestoreAllTabs.label=เรียกคืนแท็บทั้งหมด
+# LOCALIZATION NOTE (menuRestoreAllWindows, menuUndoCloseWindowLabel, menuUndoCloseWindowSingleTabLabel):
+# see bug 394759
+menuRestoreAllWindows.label=เรียกคืนหน้าต่างทั้งหมด
+# LOCALIZATION NOTE (menuUndoCloseWindowLabel): Semicolon-separated list of plural forms.
+# 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 (urlbar.placeholder):
+# %S is the name of the user's current search engine
+urlbar.placeholder=ค้นหาด้วย %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.available2=คุณจะอนุญาตให้ %S จัดเก็บข้อมูลในคอมพิวเตอร์ของคุณหรือไม่?
+offlineApps.allowStoring.label=อนุญาตการจัดเก็บข้อมูล
+offlineApps.allowStoring.accesskey=อ
+offlineApps.dontAllow.label=ไม่อนุญาต
+offlineApps.dontAllow.accesskey=ม
+
+# Canvas permission prompt
+# LOCALIZATION NOTE (canvas.siteprompt): %S is hostname
+canvas.siteprompt=คุณจะอนุญาตให้ %S ใช้ข้อมูลภาพผืนผ้าใบ HTML5 ของคุณหรือไม่? สิ่งนี้อาจถูกใช้เพื่อระบุคอมพิวเตอร์ของคุณ
+canvas.notAllow=ไม่อนุญาต
+canvas.notAllow.accesskey=ม
+canvas.allow=อนุญาตการเข้าถึงข้อมูล
+canvas.allow.accesskey=อ
+canvas.remember=จดจำการตัดสินใจของฉันเสมอ
+
+# 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.headerMainWithHost, identity.headerSecurityWithHost):
+# %S is the hostname of the site that is being displayed.
+identity.headerMainWithHost=ข้อมูลไซต์สำหรับ %S
+identity.headerSecurityWithHost=ความปลอดภัยของการเชื่อมต่อสำหรับ %S
+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
+identity.showDetails.tooltip=แสดงรายละเอียดการเชื่อมต่อ
+
+# 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
+
+# Edit Bookmark UI
+editBookmarkPanel.newBookmarkTitle=ที่คั่นหน้าใหม่
+editBookmarkPanel.editBookmarkTitle=แก้ไขที่คั่นหน้านี้
+editBookmarkPanel.cancel.label=ยกเลิก
+editBookmarkPanel.cancel.accesskey=ย
+
+# LOCALIZATION NOTE (editBookmark.removeBookmarks.label): Semicolon-separated list of plural forms.
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# Replacement for #1 is the number of bookmarks to be removed.
+# If this causes problems with localization you can also do "Remove Bookmarks (#1)"
+# instead of "Remove #1 Bookmarks".
+editBookmark.removeBookmarks.label=เอา #1 ที่คั่นหน้าออก
+editBookmark.removeBookmarks.accesskey=อ
+
+# 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.allowLocation=อนุญาตการเข้าถึงตำแหน่งที่ตั้ง
+geolocation.allowLocation.accesskey=อ
+geolocation.dontAllowLocation=ไม่อนุญาต
+geolocation.dontAllowLocation.accesskey=ม
+geolocation.shareWithSite3=คุณจะอนุญาตให้ %S เข้าถึงตำแหน่งที่ตั้งของคุณหรือไม่?
+geolocation.shareWithFile3=คุณจะอนุญาตให้ไฟล์ในเครื่องนี้เข้าถึงตำแหน่งที่ตั้งของคุณหรือไม่?
+# LOCALIZATION NOTE(geolocation.shareWithSiteUnsafeDelegation):
+# %1$S is the first party origin, %2$S is the third party origin.
+geolocation.shareWithSiteUnsafeDelegation=คุณจะอนุญาตให้ %1$S มอบสิทธิอนุญาตให้กับ %2$S ในการเข้าถึงตำแหน่งที่ตั้งของคุณหรือไม่?
+geolocation.remember=จดจำการตัดสินใจนี้
+
+# Virtual Reality Device UI
+xr.allow=อนุญาตการเข้าถึงความจริงเสมือน
+xr.allow.accesskey=อ
+xr.dontAllow=ไม่อนุญาต
+xr.dontAllow.accesskey=ม
+xr.shareWithSite3=คุณจะอนุญาตให้ %S เข้าถึงอุปกรณ์ความจริงเสมือนหรือไม่? การดำเนินการนี้อาจเป็นการเปิดเผยข้อมูลที่ละเอียดอ่อน
+xr.shareWithFile3=คุณจะอนุญาตให้ไฟล์ภายในเครื่องนี้เข้าถึงอุปกรณ์ความจริงเสมือนหรือไม่? การดำเนินการนี้อาจเป็นการเปิดเผยข้อมูลที่ละเอียดอ่อน
+xr.remember=จดจำการตัดสินใจนี้
+
+# Persistent storage UI
+persistentStorage.allow=อนุญาต
+persistentStorage.allow.accesskey=อ
+persistentStorage.neverAllow.label=ไม่อนุญาตเสมอ
+persistentStorage.neverAllow.accesskey=ม
+persistentStorage.notNow.label=ไม่ใช่ตอนนี้
+persistentStorage.notNow.accesskey=ช
+persistentStorage.allowWithSite=คุณจะอนุญาตให้ %S จัดเก็บข้อมูลในที่เก็บข้อมูลถาวรหรือไม่?
+
+webNotifications.allow=อนุญาตการแจ้งเตือน
+webNotifications.allow.accesskey=อ
+webNotifications.notNow=ไม่ใช่ตอนนี้
+webNotifications.notNow.accesskey=ม
+webNotifications.never=ไม่อนุญาตเสมอ
+webNotifications.never.accesskey=ส
+webNotifications.receiveFromSite2=คุณจะอนุญาตให้ %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
+
+# safeModeRestart
+safeModeRestartPromptTitle=เริ่มการทำงานใหม่พร้อมปิดใช้งานส่วนเสริม
+safeModeRestartPromptMessage=คุณแน่ใจหรือไม่ว่าต้องการปิดใช้งานส่วนเสริมทั้งหมดและเริ่มการทำงานใหม่?
+safeModeRestartButton=เริ่มการทำงานใหม่
+
+# 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
+processHang.label = หน้าเว็บกำลังทำให้เบราว์เซอร์ของคุณช้าลง คุณต้องการทำอะไร?
+# LOCALIZATION NOTE (processHang.add-on.label): %1$S is the name of the
+# extension. %2$S is the name of the product (e.g., Firefox)
+processHang.add-on.label = สคริปต์ในส่วนขยาย “%1$S” กำลังทำให้ %2$S ช้าลง
+processHang.add-on.learn-more.text = เรียนรู้เพิ่มเติม
+processHang.button_stop.label = หยุด
+processHang.button_stop.accessKey = ห
+processHang.button_stop_sandbox.label = ปิดใช้งานส่วนขยายในหน้าชั่วคราว
+processHang.button_stop_sandbox.accessKey = ป
+processHang.button_wait.label = รอ
+processHang.button_wait.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.shareCamera2.message,
+# getUserMedia.shareMicrophone2.message,
+# getUserMedia.shareScreen3.message,
+# getUserMedia.shareCameraAndMicrophone2.message,
+# getUserMedia.shareCameraAndAudioCapture2.message,
+# getUserMedia.shareScreenAndMicrophone3.message,
+# getUserMedia.shareScreenAndAudioCapture3.message,
+# getUserMedia.shareAudioCapture2.message):
+# %S is the website origin (e.g. www.mozilla.org)
+getUserMedia.shareCamera2.message = คุณจะอนุญาตให้ %S ใช้กล้องของคุณหรือไม่?
+getUserMedia.shareMicrophone2.message = คุณจะอนุญาตให้ %S ใช้ไมโครโฟนของคุณหรือไม่?
+getUserMedia.shareScreen3.message = คุณจะอนุญาตให้ %S เห็นหน้าจอของคุณหรือไม่?
+getUserMedia.shareCameraAndMicrophone2.message = คุณจะอนุญาตให้ %S ใช้กล้องและไมโครโฟนของคุณหรือไม่?
+getUserMedia.shareCameraAndAudioCapture2.message = คุณจะอนุญาตให้ %S ใช้กล้องของคุณและฟังเสียงของแท็บนี้หรือไม่?
+getUserMedia.shareScreenAndMicrophone3.message = คุณจะอนุญาตให้ %S ใช้ไมโครโฟนของคุณและเห็นหน้าจอของคุณหรือไม่?
+getUserMedia.shareScreenAndAudioCapture3.message = คุณจะอนุญาตให้ %S ฟังเสียงของแท็บนี้และเห็นหน้าจอของคุณหรือไม่?
+getUserMedia.shareAudioCapture2.message = คุณจะอนุญาตให้ %S ฟังเสียงของแท็บนี้หรือไม่?
+
+# LOCALIZATION NOTE (getUserMedia.shareCameraUnsafeDelegation.message,
+# getUserMedia.shareMicrophoneUnsafeDelegation.message,
+# getUserMedia.shareScreenUnsafeDelegation.message,
+# getUserMedia.shareCameraAndMicrophoneUnsafeDelegation.message,
+# getUserMedia.shareCameraAndAudioCaptureUnsafeDelegation.message,
+# getUserMedia.shareScreenAndMicrophoneUnsafeDelegation.message,
+# getUserMedia.shareScreenAndAudioCaptureUnsafeDelegation.message,
+# %1$S is the first party origin.
+# %2$S is the third party origin.
+getUserMedia.shareCameraUnsafeDelegation.message = คุณจะอนุญาตให้ %1$S มอบสิทธิให้กับ %2$S ในการเข้าถึงกล้องของคุณหรือไม่?
+getUserMedia.shareMicrophoneUnsafeDelegations.message = คุณจะอนุญาตให้ %1$S มอบสิทธิให้กับ %2$S ในการเข้าถึงไมโครโฟนของคุณหรือไม่?
+getUserMedia.shareScreenUnsafeDelegation.message = คุณจะอนุญาตให้ %1$S มอบสิทธิอนุญาตให้กับ %2$S ในการดูหน้าจอของคุณหรือไม่?
+getUserMedia.shareCameraAndMicrophoneUnsafeDelegation.message = คุณจะอนุญาตให้ %1$S มอบสิทธิให้กับ %2$S ในการเข้าถึงกล้องและไมโครโฟนของคุณหรือไม่?
+getUserMedia.shareCameraAndAudioCaptureUnsafeDelegation.message = คุณจะอนุญาตให้ %1$S มอบสิทธิให้กับ %2$S ในการเข้าถึงกล้องและฟังเสียงของแท็บนี้หรือไม่?
+getUserMedia.shareScreenAndMicrophoneUnsafeDelegation.message = คุณจะอนุญาตให้ %1$S มอบสิทธิให้กับ %2$S ในการเข้าถึงไมโครโฟนของคุณและดูหน้าจอของคุณหรือไม่?
+getUserMedia.shareScreenAndAudioCaptureUnsafeDelegation.message = คุณจะอนุญาตให้ %1$S มอบสิทธิอนุญาตให้กับ %2$S ในการฟังเสียงของแท็บนี้และดูหน้าจอของคุณหรือไม่?
+
+# LOCALIZATION NOTE (getUserMedia.shareScreenWarning.message): NB: inserted via innerHTML, so please don't use <, > or & in this string.
+# %S will be the 'learn more' link
+getUserMedia.shareScreenWarning.message = แบ่งปันหน้าจอเฉพาะกับไซต์ที่คุณเชื่อถือเท่านั้น การแบ่งปันอาจอนุญาตให้ไซต์หลอกลวงเรียกดูในนามของคุณและขโมยข้อมูลส่วนตัวของคุณ %S
+# LOCALIZATION NOTE (getUserMedia.shareFirefoxWarning.message): NB: inserted via innerHTML, so please don't use <, > or & in this string.
+# %1$S is brandShortName (eg. Firefox)
+# %2$S will be the 'learn more' link
+getUserMedia.shareFirefoxWarning.message = แบ่งปัน %1$S เฉพาะกับไซต์ที่คุณเชื่อถือเท่านั้น การแบ่งปันอาจอนุญาตให้ไซต์หลอกลวงเรียกดูในนามของคุณและขโมยข้อมูลส่วนตัวของคุณ %2$S
+# LOCALIZATION NOTE(getUserMedia.shareScreen.learnMoreLabel): NB: inserted via innerHTML, so please don't use <, > or & in this string.
+getUserMedia.shareScreen.learnMoreLabel = เรียนรู้เพิ่มเติม
+getUserMedia.selectWindowOrScreen.label=หน้าต่างหรือหน้าจอที่จะแบ่งปัน:
+getUserMedia.selectWindowOrScreen.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.dontAllow.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.dontAllow.label = ไม่อนุญาต
+getUserMedia.dontAllow.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.drmContentPlaying.message2): %S is brandShortName.
+emeNotifications.drmContentPlaying.message2 = เสียงหรือวิดีโอบางส่วนในไซต์นี้ใช้ซอฟต์แวร์ DRM ซึ่งอาจจะจำกัดสิ่งที่ %S สามารถให้คุณทำได้
+emeNotifications.drmContentPlaying.button.label = กำหนดค่า…
+emeNotifications.drmContentPlaying.button.accesskey = ก
+
+# 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.message = คุณต้องเปิดใช้งาน DRM เพื่อเล่นเสียงหรือวิดีโอบางส่วนในหน้านี้ %S
+emeNotifications.drmContentDisabled.button.label = เปิดใช้งาน DRM
+emeNotifications.drmContentDisabled.button.accesskey = ป
+# LOCALIZATION NOTE(emeNotifications.drmContentDisabled.learnMoreLabel): NB: inserted via innerHTML, so please don't use <, > or & in this string.
+emeNotifications.drmContentDisabled.learnMoreLabel = เรียนรู้เพิ่มเติม
+
+# 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
+slowStartup.message = %S ดูเหมือนว่าจะเริ่ม… ได้… ช้า
+slowStartup.helpButton.label = เรียนรู้วิธีเพิ่มความเร็ว
+slowStartup.helpButton.accesskey = ร
+slowStartup.disableNotificationButton.label = ไม่ต้องบอกฉันอีก
+slowStartup.disableNotificationButton.accesskey = ม
+
+# 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 (pageAction.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.
+pageAction.sendTabsToDevice.label = ส่ง #1 แท็บไปยังอุปกรณ์
+
+# 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 = เปิดหน้าเข้าสู่ระบบของเครือข่าย
+
+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) <What's new>" or "51.0a1 (2016-09-05) (64-bit)".
+aboutDialog.architecture.sixtyFourBit = 64 บิต
+aboutDialog.architecture.thirtyTwoBit = 32 บิต
+
+# LOCALIZATION NOTE (certImminentDistrust.message):
+# Shown in the browser console when visiting a website that is trusted today,
+# but won't be in the future unless the site operator makes a change.
+certImminentDistrust.message = ใบรับรองความปลอดภัยที่ใช้ในเว็บไซต์นี้จะไม่ได้รับความเชื่อถือในรุ่นเปิดตัวในอนาคตอีกต่อไป สำหรับข้อมูลเพิ่มเติม เยี่ยมชม https://wiki.mozilla.org/CA/Upcoming_Distrust_Actions
+
+midi.Allow.label = อนุญาต
+midi.Allow.accesskey = อ
+midi.DontAllow.label = ไม่อนุญาต
+midi.DontAllow.accesskey = ม
+midi.remember=จดจำการตัดสินใจนี้
+midi.shareWithFile.message = คุณจะอนุญาตให้ไฟล์ในเครื่องนี้เข้าถึงอุปกรณ์ MIDI ของคุณหรือไม่?
+# LOCALIZATION NOTE (midi.shareWithSite.message): %S is the name of the site URL (https://...) requesting MIDI access
+midi.shareWithSite.message = คุณจะอนุญาตให้ %S เข้าถึงอุปกรณ์ MIDI ของคุณหรือไม่?
+midi.shareSysexWithFile.message = คุณจะอนุญาตให้ไฟล์ในเครื่องนี้เข้าถึงอุปกรณ์ MIDI ของคุณและส่ง/รับข้อความ SysEx หรือไม่?
+# LOCALIZATION NOTE (midi.shareSysexWithSite.message): %S is the name of the site URL (https://...) requesting MIDI access
+midi.shareSysexWithSite.message = คุณจะอนุญาตให้ %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 (storageAccess2.message):
+# %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.
+storageAccess2.message = คุณจะอนุญาตให้ %1$S ติดตามกิจกรรมการเรียกดูบน %2$S หรือไม่?
+
+# 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
+
+
+
+confirmationHint.sendToDevice.label = ส่งแล้ว!
+confirmationHint.copyURL.label = คัดลอกไปยังคลิปบอร์ดแล้ว!
+confirmationHint.pageBookmarked.label = บันทึกไปยังห้องสมุดแล้ว!
+confirmationHint.addSearchEngine.label = เพิ่มเครื่องมือค้นหาแล้ว!
+confirmationHint.pinTab.label = ปักหมุดแล้ว!
+confirmationHint.pinTab.description = คลิกขวาที่แท็บเพื่อถอนหมุด
+confirmationHint.passwordSaved.label = บันทึกรหัสผ่านแล้ว!
+confirmationHint.loginRemoved.label = เอาข้อมูลการเข้าสู่ระบบออกแล้ว!
+confirmationHint.breakageReport.label = ส่งรายงานแล้ว ขอบคุณ!
+
+# LOCALIZATION NOTE (livebookmarkMigration.title):
+# Used by the export of user's live bookmarks to an OPML file as a title for the file.
+# %S will be replaced with brandShortName
+livebookmarkMigration.title = ที่คั่นหน้าสด %S
+
+# LOCALIZATION NOTE (gnomeSearchProviderSearch):
+# Used for search by Gnome Shell activity screen, %S is a searched string.
+gnomeSearchProviderSearch=ค้นหา %S ในเว็บ
diff --git a/l10n-th/browser/chrome/browser/customizableui/customizableWidgets.properties b/l10n-th/browser/chrome/browser/customizableui/customizableWidgets.properties
new file mode 100644
index 0000000000..41fefdce3c
--- /dev/null
+++ b/l10n-th/browser/chrome/browser/customizableui/customizableWidgets.properties
@@ -0,0 +1,100 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+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 = แสดงแถบข้าง
+
+add-ons-button.label = ส่วนเสริม
+# LOCALIZATION NOTE(add-ons-button.tooltiptext3): %S is the keyboard shortcut
+add-ons-button.tooltiptext3 = จัดการส่วนเสริมของคุณ (%S)
+
+preferences-button.label = ค่ากำหนด
+preferences-button.tooltiptext2 = เปิดค่ากำหนด
+preferences-button.tooltiptext.withshortcut = เปิดค่ากำหนด (%S)
+# LOCALIZATION NOTE (preferences-button.labelWin): Windows-only label for Options
+preferences-button.labelWin = ตัวเลือก
+# LOCALIZATION NOTE (preferences-button.tooltipWin): Windows-only tooltip for Options
+preferences-button.tooltipWin2 = เปิดตัวเลือก
+
+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)
+
+# LOCALIZATION NOTE (characterencoding-button2.label): The \u00ad text at the beginning
+# of the string is used to disable auto hyphenation on the button text when it is displayed
+# in the menu panel.
+characterencoding-button2.label = \u00adรหัสอักขระ
+characterencoding-button2.tooltiptext = แสดงตัวเลือกรหัสอักขระ
+
+email-link-button.label = ส่งอีเมลลิงก์
+email-link-button.tooltiptext3 = ส่งอีเมลลิงก์ไปยังหน้านี้
+
+# LOCALIZATION NOTE(quit-button.tooltiptext.linux2): %1$S is the brand name (e.g. Firefox),
+# %2$S is the keyboard shortcut
+quit-button.tooltiptext.linux2 = ออกจาก %1$S (%2$S)
+# LOCALIZATION NOTE(quit-button.tooltiptext.mac): %1$S is the brand name (e.g. Firefox),
+# %2$S is the keyboard shortcut
+quit-button.tooltiptext.mac = ออกจาก %1$S (%2$S)
+
+panic-button.label = ลืม
+panic-button.tooltiptext = ลืมประวัติการเรียกดูบางส่วน
+
+toolbarspring.label = ช่องว่างแบบยืดหยุ่น
+toolbarseparator.label = ตัวแบ่ง
+toolbarspacer.label = ช่องว่าง
diff --git a/l10n-th/browser/chrome/browser/downloads/downloads.properties b/l10n-th/browser/chrome/browser/downloads/downloads.properties
new file mode 100644
index 0000000000..42a82c634e
--- /dev/null
+++ b/l10n-th/browser/chrome/browser/downloads/downloads.properties
@@ -0,0 +1,99 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.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=ไฟล์นี้อาจเป็นอันตรายต่อคอมพิวเตอร์ของคุณ
+blockedInsecure = ไม่สามารถดาวน์โหลดไฟล์นี้ได้อย่างปลอดภัย
+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/l10n-th/browser/chrome/browser/feeds/subscribe.properties b/l10n-th/browser/chrome/browser/feeds/subscribe.properties
new file mode 100644
index 0000000000..62dd6b55c2
--- /dev/null
+++ b/l10n-th/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/l10n-th/browser/chrome/browser/fxmonitor.properties b/l10n-th/browser/chrome/browser/fxmonitor.properties
new file mode 100644
index 0000000000..7fb4f4f4b5
--- /dev/null
+++ b/l10n-th/browser/chrome/browser/fxmonitor.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/.
+
+# Header of the popup
+fxmonitor.popupHeader=มีบัญชีบนไซต์นี้หรือไม่?
+# Firefox Monitor must be treated as a brand, and kept in English.
+# It cannot be:
+# - Declined to adapt to grammatical case.
+# - Transliterated.
+# - Translated.
+fxmonitor.brandName=Firefox Monitor
+# Tooltip text for the popup's anchor icon in the URL bar
+# %S is replaced with fxmonitor.brandName.
+fxmonitor.anchorIcon.tooltiptext=รายงานไซต์ไปยัง %S แล้ว
+# Text content of popup. Semi-colon list of plural forms.
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# This version is only used when the number of accounts is smaller than 100,000.
+# The placeholders are:
+# #1: The exact number of accounts compromised in the breach.
+# #2: The name of the breached site.
+# #3: The year of the breach.
+# #4: The brand name ("Firefox Monitor").
+fxmonitor.popupText=#1 บัญชีจาก #2 ถูกบุกรุกในปี #3 ตรวจสอบ #4 เพื่อดูว่าคุณตกอยู่ในความเสี่ยงหรือไม่
+# Text content of popup. Semi-colon list of plural forms.
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# This version is only used when the number of accounts is greater than 100,000.
+# The placeholders are:
+# #1: The number of accounts compromised in the breach, rounded down to the
+# most significant digit.
+# Ex.: 234,567 -> More than 200,000 accounts [...]
+# 345,678,901 -> More than 300,000,000 accounts [...]
+# 4,567,890,123 -> More than 4,000,000,000 accounts [...]
+# #2: The name of the breached site.
+# #3: The year of the breach.
+# #4: The brand name ("Firefox Monitor").
+fxmonitor.popupTextRounded=มากกว่า #1 บัญชีจาก #2 ถูกบุกรุกในปี #3 ตรวจสอบ #4 เพื่อดูว่าคุณตกอยู่ในความเสี่ยงหรือไม่
+# %S is replaced with fxmonitor.brandName.
+fxmonitor.checkButton.label=ตรวจสอบ %S
+fxmonitor.checkButton.accessKey=ต
+fxmonitor.dismissButton.label=ยกเลิก
+fxmonitor.dismissButton.accessKey=ย
+# %S is replaced with fxmonitor.brandName.
+fxmonitor.neverShowButton.label=ไม่ต้องแสดงการแจ้งเตือน %S
+fxmonitor.neverShowButton.accessKey=ม
diff --git a/l10n-th/browser/chrome/browser/migration/migration.dtd b/l10n-th/browser/chrome/browser/migration/migration.dtd
new file mode 100644
index 0000000000..e50467816a
--- /dev/null
+++ b/l10n-th/browser/chrome/browser/migration/migration.dtd
@@ -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/. -->
+
+
+<!ENTITY migrationWizard.title "ตัวช่วยนำเข้า">
+
+<!ENTITY importFrom.label "นำเข้าตัวเลือก, ที่คั่นหน้า, ประวัติ, รหัสผ่าน และข้อมูลอื่น ๆ จาก:">
+<!ENTITY importFromUnix.label "นำเข้าค่ากำหนด, ที่คั่นหน้า, ประวัติ, รหัสผ่าน และข้อมูลอื่น ๆ จาก:">
+
+<!ENTITY importFromIE.label "Microsoft Internet Explorer">
+<!ENTITY importFromIE.accesskey "M">
+<!ENTITY importFromEdge.label "Microsoft Edge">
+<!ENTITY importFromEdge.accesskey "E">
+<!ENTITY importFromEdgeLegacy.label "Microsoft Edge Legacy">
+<!ENTITY importFromEdgeLegacy.accesskey "L">
+<!ENTITY importFromEdgeBeta.label "Microsoft Edge Beta">
+<!ENTITY importFromEdgeBeta.accesskey "d">
+<!ENTITY importFromNothing.label "ไม่นำเข้าสิ่งใด">
+<!ENTITY importFromNothing.accesskey "ม">
+<!ENTITY importFromSafari.label "Safari">
+<!ENTITY importFromSafari.accesskey "S">
+<!ENTITY importFromCanary.label "Chrome Canary">
+<!ENTITY importFromCanary.accesskey "n">
+<!ENTITY importFromChrome.label "Chrome">
+<!ENTITY importFromChrome.accesskey "C">
+<!ENTITY importFromChromeBeta.label "Chrome Beta">
+<!ENTITY importFromChromeBeta.accesskey "B">
+<!ENTITY importFromChromeDev.label "Chrome Dev">
+<!ENTITY importFromChromeDev.accesskey "D">
+<!ENTITY importFromChromium.label "Chromium">
+<!ENTITY importFromChromium.accesskey "u">
+<!ENTITY importFromFirefox.label "Firefox">
+<!ENTITY importFromFirefox.accesskey "x">
+<!ENTITY importFrom360se.label "360 Secure Browser">
+<!ENTITY importFrom360se.accesskey "3">
+
+<!ENTITY noMigrationSources.label "ไม่พบโปรแกรมที่มีข้อมูลที่คั่นหน้า, ประวัติ หรือรหัสผ่าน">
+
+<!ENTITY importSource.title "นำเข้าการตั้งค่าและข้อมูล">
+<!ENTITY importItems.title "รายการที่จะนำเข้า">
+<!ENTITY importItems.label "เลือกรายการที่จะนำเข้า:">
+
+<!ENTITY migrating.title "กำลังนำเข้า…">
+<!ENTITY migrating.label "รายการดังต่อไปนี้กำลังถูกนำเข้า…">
+
+<!ENTITY selectProfile.title "เลือกโปรไฟล์">
+<!ENTITY selectProfile.label "โปรไฟล์ดังต่อไปนี้พร้อมที่จะนำเข้า:">
+
+<!ENTITY done.title "การนำเข้าเสร็จสมบูรณ์">
+<!ENTITY done.label "รายการดังต่อไปนี้ถูกนำเข้าได้สำเร็จ:">
+
+<!ENTITY closeSourceBrowser.label "โปรดแน่ใจว่าเบราว์เซอร์ที่เลือกถูกปิดแล้วก่อนดำเนินการต่อ">
diff --git a/l10n-th/browser/chrome/browser/migration/migration.properties b/l10n-th/browser/chrome/browser/migration/migration.properties
new file mode 100644
index 0000000000..43e3f8a658
--- /dev/null
+++ b/l10n-th/browser/chrome/browser/migration/migration.properties
@@ -0,0 +1,76 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+profileName_format=%S %S
+
+# Browser Specific
+sourceNameIE=Internet Explorer
+sourceNameEdge=Microsoft Edge
+sourceNameEdgeBeta=Microsoft Edge Beta
+sourceNameSafari=Safari
+sourceNameCanary=Google Chrome Canary
+sourceNameChrome=Google Chrome
+sourceNameChromeBeta=Google Chrome Beta
+sourceNameChromeDev=Google Chrome Dev
+sourceNameChromium=Chromium
+sourceNameFirefox=Mozilla Firefox
+sourceName360se=360 Secure Browser
+
+importedBookmarksFolder=จาก %S
+
+importedSafariReadingList=รายการอ่าน (จาก Safari)
+importedEdgeReadingList=รายการอ่าน (จาก Edge)
+
+# Import Sources
+# Note: When adding an import source for profile reset, add the string name to
+# resetProfile.js if it should be listed in the reset dialog.
+1_ie=ตัวเลือกอินเทอร์เน็ต
+1_edge=การตั้งค่า
+1_safari=ค่ากำหนด
+1_chrome=ค่ากำหนด
+1_360se=ค่ากำหนด
+
+2_ie=คุกกี้
+2_edge=คุกกี้
+2_safari=คุกกี้
+2_chrome=คุกกี้
+2_firefox=คุกกี้
+2_360se=คุกกี้
+
+4_ie=ประวัติการเรียกดู
+4_edge=ประวัติการเรียกดู
+4_safari=ประวัติการเรียกดู
+4_chrome=ประวัติการเรียกดู
+4_firefox_history_and_bookmarks=ประวัติการเรียกดูและที่คั่นหน้า
+4_360se=ประวัติการเรียกดู
+
+8_ie=ประวัติแบบฟอร์มที่บันทึกไว้
+8_edge=ประวัติแบบฟอร์มที่บันทึกไว้
+8_safari=ประวัติแบบฟอร์มที่บันทึกไว้
+8_chrome=ประวัติแบบฟอร์มที่บันทึกไว้
+8_firefox=ประวัติแบบฟอร์มที่บันทึกไว้
+8_360se=ประวัติแบบฟอร์มที่บันทึกไว้
+
+16_ie=รหัสผ่านที่บันทึกไว้
+16_edge=รหัสผ่านที่บันทึกไว้
+16_safari=รหัสผ่านที่บันทึกไว้
+16_chrome=รหัสผ่านที่บันทึกไว้
+16_firefox=รหัสผ่านที่บันทึกไว้
+16_360se=รหัสผ่านที่บันทึกไว้
+
+32_ie=รายการโปรด
+32_edge=รายการโปรด
+32_safari=ที่คั่นหน้า
+32_chrome=ที่คั่นหน้า
+32_360se=ที่คั่นหน้า
+
+64_ie=ข้อมูลอื่น ๆ
+64_edge=ข้อมูลอื่น ๆ
+64_safari=ข้อมูลอื่น ๆ
+64_chrome=ข้อมูลอื่น ๆ
+64_firefox_other=ข้อมูลอื่น ๆ
+64_360se=ข้อมูลอื่น ๆ
+
+128_firefox=หน้าต่างและแท็บ
+
diff --git a/l10n-th/browser/chrome/browser/newInstall.dtd b/l10n-th/browser/chrome/browser/newInstall.dtd
new file mode 100644
index 0000000000..ed697d6164
--- /dev/null
+++ b/l10n-th/browser/chrome/browser/newInstall.dtd
@@ -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: 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.
+-->
+
+<!ENTITY window.title "ข่าวสำคัญ">
+<!ENTITY window.style "width: 490px">
+<!ENTITY sync "หากต้องการที่จะซิงค์ข้อมูลที่คุณได้บันทึกไว้ใน Firefox ด้วยการติดตั้ง &brandShortName; นี้ ให้ลงชื่อเข้าด้วย &syncBrand.fxAccount.label;">
+<!ENTITY continue-button "ดำเนินการต่อ">
+
+<!ENTITY mainText "การติดตั้ง &brandShortName; นี้มีโปรไฟล์ใหม่ ซึ่งไม่แบ่งปันที่คั่นหน้า รหัสผ่าน และค่ากำหนดผู้ใช้กับการติดตั้งอื่น ๆ ของ Firefox (รวมถึง Firefox, Firefox ESR, Firefox Beta, Firefox Developer Edition, และ Firefox Nightly) บนคอมพิวเตอร์นี้">
diff --git a/l10n-th/browser/chrome/browser/places/bookmarkProperties.properties b/l10n-th/browser/chrome/browser/places/bookmarkProperties.properties
new file mode 100644
index 0000000000..99ee1990f4
--- /dev/null
+++ b/l10n-th/browser/chrome/browser/places/bookmarkProperties.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/.
+
+dialogAcceptLabelAddItem=เพิ่ม
+dialogAcceptLabelSaveItem=บันทึก
+dialogAcceptLabelAddMulti=เพิ่มที่คั่นหน้า
+dialogAcceptLabelEdit=บันทึก
+dialogTitleAddBookmark=ที่คั่นหน้าใหม่
+dialogTitleAddFolder=โฟลเดอร์ใหม่
+dialogTitleAddMulti=ที่คั่นหน้าใหม่
+dialogTitleEdit=คุณสมบัติของ “%S”
+
+bookmarkAllTabsDefault=[ชื่อโฟลเดอร์]
+newFolderDefault=โฟลเดอร์ใหม่
+newBookmarkDefault=ที่คั่นหน้าใหม่
diff --git a/l10n-th/browser/chrome/browser/places/places.dtd b/l10n-th/browser/chrome/browser/places/places.dtd
new file mode 100644
index 0000000000..3e2928de25
--- /dev/null
+++ b/l10n-th/browser/chrome/browser/places/places.dtd
@@ -0,0 +1,63 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.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 (places.library.title): use "Library", "Archive" or "Repository" -->
+<!ENTITY places.library.title "ห้องสมุด">
+<!ENTITY places.library.width "700">
+<!ENTITY places.library.height "500">
+<!ENTITY organize.label "จัดระเบียบ">
+<!ENTITY organize.accesskey "จ">
+<!ENTITY organize.tooltip "จัดระเบียบที่คั่นหน้าของคุณ">
+
+<!ENTITY file.close.label "ปิด">
+<!ENTITY file.close.accesskey "ป">
+<!ENTITY cmd.close.key "w">
+<!ENTITY views.label "มุมมอง">
+<!ENTITY views.accesskey "ม">
+<!ENTITY views.tooltip "เปลี่ยนมุมมองของคุณ">
+<!ENTITY view.columns.label "แสดงคอลัมน์">
+<!ENTITY view.columns.accesskey "ส">
+<!ENTITY view.sort.label "เรียง">
+<!ENTITY view.sort.accesskey "ร">
+<!ENTITY view.unsorted.label "ไม่เรียง">
+<!ENTITY view.unsorted.accesskey "ม">
+<!ENTITY view.sortAscending.label "เรียงลำดับ A > Z">
+<!ENTITY view.sortAscending.accesskey "A">
+<!ENTITY view.sortDescending.label "เรียงลำดับ Z > A">
+<!ENTITY view.sortDescending.accesskey "Z">
+
+<!ENTITY importBookmarksFromHTML.label "นำเข้าที่คั่นหน้าจาก HTML…">
+<!ENTITY importBookmarksFromHTML.accesskey "น">
+<!ENTITY exportBookmarksToHTML.label "ส่งออกที่คั่นหน้าเป็น HTML…">
+<!ENTITY exportBookmarksToHTML.accesskey "ส">
+<!ENTITY importOtherBrowser.label "นำเข้าข้อมูลจากเบราว์เซอร์อื่น…">
+<!ENTITY importOtherBrowser.accesskey "อ">
+
+<!ENTITY cmd.backup.label "สำรองข้อมูล…">
+<!ENTITY cmd.backup.accesskey "ง">
+<!ENTITY cmd.restore2.label "เรียกคืน">
+<!ENTITY cmd.restore2.accesskey "ร">
+<!ENTITY cmd.restoreFromFile.label "เลือกไฟล์…">
+<!ENTITY cmd.restoreFromFile.accesskey "ล">
+
+<!ENTITY col.name.label "ชื่อ">
+<!ENTITY col.tags.label "ป้ายกำกับ">
+<!ENTITY col.url.label "ตำแหน่งที่ตั้ง">
+<!ENTITY col.mostrecentvisit.label "วันที่เยี่ยมชมล่าสุด">
+<!ENTITY col.visitcount.label "จำนวนการเข้าชม">
+<!ENTITY col.dateadded.label "วันที่เพิ่ม">
+<!ENTITY col.lastmodified.label "วันที่เปลี่ยนแปลงล่าสุด">
+
+<!ENTITY cmd.find.key "f">
+
+<!ENTITY maintenance.label "นำเข้าและสำรองข้อมูล">
+<!ENTITY maintenance.accesskey "น">
+<!ENTITY maintenance.tooltip "นำเข้าและสำรองที่คั่นหน้าของคุณ">
+
+<!ENTITY backButton.tooltip "ย้อนกลับ">
+
+<!ENTITY forwardButton.tooltip "เดินหน้า">
+
+<!ENTITY detailsPane.selectAnItemText.description "เลือกรายการเพื่อดูและแก้ไขคุณสมบัติ">
+
diff --git a/l10n-th/browser/chrome/browser/places/places.properties b/l10n-th/browser/chrome/browser/places/places.properties
new file mode 100644
index 0000000000..101c2317ee
--- /dev/null
+++ b/l10n-th/browser/chrome/browser/places/places.properties
@@ -0,0 +1,74 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+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 มีการใช้งานโดยแอปพลิเคชันอื่น ซอฟต์แวร์ความปลอดภัยบางตัวสามารถก่อให้เกิดปัญหานี้
+lockPromptInfoButton.label=เรียนรู้เพิ่มเติม
+lockPromptInfoButton.accessKey=ร
+
+# 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/l10n-th/browser/chrome/browser/pocket.properties b/l10n-th/browser/chrome/browser/pocket.properties
new file mode 100644
index 0000000000..610e863ce1
--- /dev/null
+++ b/l10n-th/browser/chrome/browser/pocket.properties
@@ -0,0 +1,30 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+addtags = เพิ่มป้ายกำกับ
+alreadyhaveacct = เป็นผู้ใช้ Pocket อยู่แล้ว?
+errorgeneric = เกิดข้อผิดพลาดระหว่างการบันทึกไปยัง Pocket
+learnmore = เรียนรู้เพิ่มเติม
+loginnow = เข้าสู่ระบบ
+maxtaglength = ป้ายกำกับถูกจำกัดไว้ที่ 25 ตัวอักษร
+onlylinkssaved = ลิงก์เท่านั้นที่สามารถถูกบันทึกได้
+pagenotsaved = หน้าไม่ถูกบันทึก
+pageremoved = ลบหน้าแล้ว
+pagesaved = บันทึกไปยัง Pocket แล้ว
+processingremove = กำลังลบหน้า…
+processingtags = กำลังเพิ่มป้ายกำกับ…
+removepage = ลบหน้า
+save = บันทึก
+saving = กำลังบันทึก…
+signupemail = ลงทะเบียนด้วยอีเมล
+signuptosave = ลงทะเบียน Pocket ฟรี
+suggestedtags = ป้ายกำกับที่ถูกแนะนำ
+tagline = บันทึกบทความและวิดีโอจาก Firefox เพื่อดูใน Pocket บนอุปกรณ์ต่าง ๆ เวลาไหนก็ได้
+taglinestory_one = คลิกปุ่ม Pocket เพื่อบันทึกบทความ วิดีโอ หรือหน้าจาก Firefox
+taglinestory_two = ดูใน Pocket บนอุปกรณ์ต่าง ๆ เวลาไหนก็ได้
+tagssaved = ป้ายกำกับถูกเพิ่มแล้ว
+tos = หากตกลง หมายความว่า คุณยอมรับ<a href="%1$S" target="_blank">เงื่อนไขการให้บริการ</a> และ<a href="%2$S" target="_blank">นโยบายความเป็นส่วนตัว</a>ของ Pocket
+tryitnow = ลองเลยตอนนี้
+signupfirefox = ลงทะเบียนด้วย Firefox
+viewlist = ดูรายการ
diff --git a/l10n-th/browser/chrome/browser/safebrowsing/safebrowsing.properties b/l10n-th/browser/chrome/browser/safebrowsing/safebrowsing.properties
new file mode 100644
index 0000000000..d246b942aa
--- /dev/null
+++ b/l10n-th/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/l10n-th/browser/chrome/browser/search.properties b/l10n-th/browser/chrome/browser/search.properties
new file mode 100644
index 0000000000..48047f898c
--- /dev/null
+++ b/l10n-th/browser/chrome/browser/search.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/.
+
+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 (cmd_addFoundEngine): %S is replaced by the name of
+# a search engine offered by a web page. Each engine is displayed as a
+# menuitem at the bottom of the search panel.
+cmd_addFoundEngine=เพิ่ม “%S”
+# LOCALIZATION NOTE (cmd_addFoundEngineMenu): When more than 5 engines
+# are offered by a web page, instead of listing all of them in the
+# search panel using the cmd_addFoundEngine string, they will be
+# grouped in a submenu using cmd_addFoundEngineMenu as a label.
+cmd_addFoundEngineMenu=เพิ่มเครื่องมือค้นหา
+
+searchAddFoundEngine2=เพิ่มเครื่องมือค้นหา
+
+# LOCALIZATION NOTE (searchForSomethingWith2):
+# This string is used to build the header above the list of one-click
+# search providers: "Search for <user-typed string> with:"
+searchForSomethingWith2=ค้นหา %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/l10n-th/browser/chrome/browser/shellservice.properties b/l10n-th/browser/chrome/browser/shellservice.properties
new file mode 100644
index 0000000000..93dac40683
--- /dev/null
+++ b/l10n-th/browser/chrome/browser/shellservice.properties
@@ -0,0 +1,28 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE (setDefaultBrowserMessage2, setDefaultBrowserConfirm.label):
+# %S will be replaced by brandShortName
+setDefaultBrowserMessage2 = รับประโยชน์สูงสุดจาก %S โดยการตั้งเป็นเบราว์เซอร์เริ่มต้นของคุณ
+setDefaultBrowserConfirm.label = ใช้ %S เป็นเบราว์เซอร์เริ่มต้นของฉัน
+setDefaultBrowserConfirm.accesskey = ช
+setDefaultBrowserOptions.label = ตัวเลือก
+setDefaultBrowserOptions.accesskey = ต
+setDefaultBrowserNotNow.label = ไม่ใช่ตอนนี้
+setDefaultBrowserNotNow.accesskey = ม
+setDefaultBrowserNever.label = ไม่ต้องถามฉันอีก
+setDefaultBrowserNever.accesskey = ถ
+
+# 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/l10n-th/browser/chrome/browser/siteData.properties b/l10n-th/browser/chrome/browser/siteData.properties
new file mode 100644
index 0000000000..8c816451e0
--- /dev/null
+++ b/l10n-th/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/l10n-th/browser/chrome/browser/sitePermissions.properties b/l10n-th/browser/chrome/browser/sitePermissions.properties
new file mode 100644
index 0000000000..5b4277d497
--- /dev/null
+++ b/l10n-th/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/l10n-th/browser/chrome/browser/syncBrand.dtd b/l10n-th/browser/chrome/browser/syncBrand.dtd
new file mode 100644
index 0000000000..7655a19556
--- /dev/null
+++ b/l10n-th/browser/chrome/browser/syncBrand.dtd
@@ -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/. -->
+
+<!ENTITY syncBrand.shortName.label "Sync">
+<!ENTITY syncBrand.fxAccount.label "บัญชี Firefox">
diff --git a/l10n-th/browser/chrome/browser/syncSetup.properties b/l10n-th/browser/chrome/browser/syncSetup.properties
new file mode 100644
index 0000000000..b3b515f344
--- /dev/null
+++ b/l10n-th/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/l10n-th/browser/chrome/browser/tabbrowser.properties b/l10n-th/browser/chrome/browser/tabbrowser.properties
new file mode 100644
index 0000000000..d11db94dec
--- /dev/null
+++ b/l10n-th/browser/chrome/browser/tabbrowser.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/.
+
+tabs.emptyTabTitle=แท็บใหม่
+tabs.emptyPrivateTabTitle=การเรียกดูแบบส่วนตัว
+tabs.closeTab=ปิดแท็บ
+tabs.close=ปิด
+tabs.closeTitleTabs=ปิดแท็บ?
+tabs.closeAndQuitTitleTabs=ออกและปิดแท็บ?
+tabs.closeAndQuitTitleTabsWin=ออกและปิดแท็บ?
+# LOCALIZATION NOTE (tabs.closeWarningMultiple):
+# 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.closeWarningMultiple=คุณกำลังจะปิด #1 แท็บ คุณแน่ใจหรือไม่ว่าต้องการดำเนินการต่อ?
+# LOCALIZATION NOTE (tabs.closeWarningMultipleSessionRestore2):
+# 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.closeWarningMultipleSessionRestore2=คุณกำลังจะปิด #1 แท็บ แท็บในหน้าต่างไม่ส่วนตัวจะถูกเรียกคืนเมื่อคุณเริ่มการทำงานใหม่ คุณแน่ใจหรือไม่ว่าต้องการดำเนินการต่อ?
+tabs.closeButtonMultiple=ปิดแท็บ
+tabs.closeWarningPromptMe=เตือนเมื่อจะปิดแท็บหลายแท็บ
+
+# LOCALIZATION NOTE (tabs.closeWarningMultipleWindows):
+# 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.closeWarningMultipleWindows=คุณกำลังจะปิด #1 หน้าต่าง %S คุณแน่ใจหรือไม่ว่าต้องการดำเนินการต่อ?
+# LOCALIZATION NOTE (tabs.closeWarningMultipleWindowsSessionRestore2):
+# 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.closeWarningMultipleWindowsSessionRestore2=คุณกำลังจะปิด #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.closeWarningMultipleWindows
+tabs.closeWarningMultipleWindowsTabSnippet=กับ #1 แท็บ
+
+# 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.allowTabFocusByPromptForSite):
+# %S is the hostname of the site where dialogs are allowed to switch tabs
+tabs.allowTabFocusByPromptForSite=อนุญาตคำโต้ตอบจาก %S เพื่อนำคุณไปที่แท็บนั้น
+
+# 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/l10n-th/browser/chrome/browser/taskbar.properties b/l10n-th/browser/chrome/browser/taskbar.properties
new file mode 100644
index 0000000000..ab5be22ea4
--- /dev/null
+++ b/l10n-th/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/l10n-th/browser/chrome/browser/translation.dtd b/l10n-th/browser/chrome/browser/translation.dtd
new file mode 100644
index 0000000000..2697d4d921
--- /dev/null
+++ b/l10n-th/browser/chrome/browser/translation.dtd
@@ -0,0 +1,59 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.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.thisPageIsIn.label,
+ - translation.translateThisPage.label):
+ - These 2 strings are used to construct a sentence that contains a dropdown
+ - showing the detected language of the current web page.
+ - In en-US it looks like this:
+ - This page is in [detected language] Translate this page?
+ - "detected language" here is a language name coming from the
+ - global/languageNames.properties file; for some locales it may not be in
+ - the correct grammar case to keep the same structure of the original
+ - sentence. -->
+<!ENTITY translation.thisPageIsIn.label "หน้านี้เป็นภาษา">
+<!ENTITY translation.translateThisPage.label "แปลหน้านี้?">
+<!ENTITY translation.translate.button "แปล">
+<!ENTITY translation.notNow.button "ไม่ใช่ตอนนี้">
+
+<!ENTITY translation.translatingContent.label "กำลังแปลเนื้อหาของหน้า…">
+
+<!-- LOCALIZATION NOTE (translation.translatedFrom.label,
+ - translation.translatedTo.label,
+ - translation.translatedToSuffix.label):
+ - These 3 strings are used to construct a sentence that contains 2 dropdowns
+ - showing the source and target language of a translated web page.
+ - In en-US it looks like this:
+ - This page has been translated from [from language] to [to language]
+ - "from language" and "to language" here are language names coming from the
+ - global/languageNames.properties file; for some locales they may not be in
+ - the correct grammar case to keep the same structure of the original
+ - sentence.
+ -
+ - translation.translatedToSuffix.label (empty in en-US) is for locales that
+ - need to display some text after the second drop down for the sentence to
+ - be grammatically correct. -->
+<!ENTITY translation.translatedFrom.label "หน้านี้ถูกแปลจาก">
+<!ENTITY translation.translatedTo.label "เป็น">
+<!ENTITY translation.translatedToSuffix.label "">
+
+<!ENTITY translation.showOriginal.button "แสดงต้นฉบับ">
+<!ENTITY translation.showTranslation.button "แสดงการแปล">
+
+<!ENTITY translation.errorTranslating.label "เกิดข้อผิดพลาดในการแปลหน้านี้">
+<!ENTITY translation.tryAgain.button "ลองอีกครั้ง">
+
+<!ENTITY translation.serviceUnavailable.label "การแปลไม่พร้อมใช้งานในขณะนี้ โปรดลองอีกครั้งในภายหลัง">
+
+<!ENTITY translation.options.menu "ตัวเลือก">
+<!-- LOCALIZATION NOTE (translation.options.neverForSite.accesskey,
+ - translation.options.preferences.accesskey):
+ - The accesskey values used here should not clash with the value used for
+ - translation.options.neverForLanguage.accesskey in translation.properties
+ -->
+<!ENTITY translation.options.neverForSite.label "ไม่แปลไซต์นี้เสมอ">
+<!ENTITY translation.options.neverForSite.accesskey "ป">
+<!ENTITY translation.options.preferences.label "ค่ากำหนดการแปล">
+<!ENTITY translation.options.preferences.accesskey "ค">
+
diff --git a/l10n-th/browser/chrome/browser/translation.properties b/l10n-th/browser/chrome/browser/translation.properties
new file mode 100644
index 0000000000..ac1c251313
--- /dev/null
+++ b/l10n-th/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/l10n-th/browser/chrome/browser/uiDensity.properties b/l10n-th/browser/chrome/browser/uiDensity.properties
new file mode 100644
index 0000000000..72d6f16a95
--- /dev/null
+++ b/l10n-th/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/l10n-th/browser/chrome/browser/webrtcIndicator.properties b/l10n-th/browser/chrome/browser/webrtcIndicator.properties
new file mode 100644
index 0000000000..7241777566
--- /dev/null
+++ b/l10n-th/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/l10n-th/browser/chrome/overrides/appstrings.properties b/l10n-th/browser/chrome/overrides/appstrings.properties
new file mode 100644
index 0000000000..db14e639ac
--- /dev/null
+++ b/l10n-th/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/l10n-th/browser/chrome/overrides/netError.dtd b/l10n-th/browser/chrome/overrides/netError.dtd
new file mode 100644
index 0000000000..c685fca2a5
--- /dev/null
+++ b/l10n-th/browser/chrome/overrides/netError.dtd
@@ -0,0 +1,143 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!ENTITY % brandDTD SYSTEM "chrome://branding/locale/brand.dtd">
+%brandDTD;
+
+<!ENTITY loadError.label "มีปัญหาในการโหลดหน้า">
+<!ENTITY retry.label "ลองอีกครั้ง">
+<!ENTITY returnToPreviousPage.label "ย้อนกลับ">
+<!ENTITY returnToPreviousPage1.label "ย้อนกลับ (แนะนำ)">
+<!ENTITY advanced2.label "ขั้นสูง…">
+<!ENTITY viewCertificate.label "ดูใบรับรอง">
+
+<!-- Specific error messages -->
+
+<!ENTITY connectionFailure.longDesc "&sharedLongDesc;">
+
+<!ENTITY deniedPortAccess.longDesc "">
+
+<!ENTITY dnsNotFound.pageTitle "ไม่พบเซิร์ฟเวอร์">
+<!ENTITY dnsNotFound.longDesc1 "
+<strong>หากที่อยู่นั้นถูกต้อง นี่คือสามสิ่งอื่น ๆ ที่คุณสามารถลอง:</strong>
+<ul>
+ <li>ลองอีกครั้งในภายหลัง</li>
+ <li>ตรวจสอบการเชื่อมต่อเครือข่ายของคุณ</li>
+ <li>หากคุณเชื่อมต่ออยู่แต่อยู่หลังไฟร์วอลล์ ตรวจสอบว่า &brandShortName; มีการอนุญาตให้เข้าถึงเว็บ</li>
+</ul>
+">
+
+<!ENTITY fileNotFound.longDesc "<ul> <li>ตรวจสอบชื่อไฟล์สำหรับตัวพิมพ์ใหญ่เล็กหรือข้อผิดพลาดการพิมพ์อื่น ๆ</li> <li>ตรวจสอบเพื่อดูหากไฟล์ถูกย้าย เปลี่ยนชื่อ หรือลบ</li> </ul>">
+
+<!ENTITY fileAccessDenied.longDesc "<ul> <li>ไฟล์อาจถูกเอาออก ย้าย หรือสิทธิอนุญาตของไฟล์อาจป้องกันการเข้าถึง</li> </ul>">
+
+<!ENTITY generic.longDesc "<p>&brandShortName; ไม่สามารถโหลดหน้านี้ได้ด้วยเหตุผลบางอย่าง</p>">
+
+<!ENTITY captivePortal.title "เข้าสู่ระบบเครือข่าย">
+<!ENTITY captivePortal.longDesc2 "
+<p>คุณต้องเข้าสู่ระบบเครือข่ายนี้ก่อนที่คุณจะสามารถเข้าถึงอินเทอร์เน็ต</p>
+">
+
+<!ENTITY openPortalLoginPage.label2 "เปิดหน้าเข้าสู่ระบบของเครือข่าย">
+
+<!ENTITY malformedURI.pageTitle "URL ไม่ถูกต้อง">
+
+<!ENTITY netInterrupt.longDesc "&sharedLongDesc;">
+
+<!ENTITY notCached.longDesc "<p>เอกสารที่ขอไม่มีในแคชของ &brandShortName;</p><ul><li>ตามมาตรการรักษาความปลอดภัย &brandShortName; จะไม่ขอเอกสารที่ละเอียดอ่อนให้ใหม่โดยอัตโนมัติ</li><li>คลิก ลองอีกครั้ง เพื่อขอเอกสารจากเว็บไซต์ใหม่</li></ul>">
+
+<!ENTITY netOffline.longDesc2 "<ul> <li>กด &quot;ลองอีกครั้ง&quot; เพื่อสลับเป็นโหมดออนไลน์และโหลดหน้าใหม่</li> </ul>">
+
+<!ENTITY contentEncodingError.longDesc "<ul> <li>โปรดติดต่อเจ้าของเว็บไซต์เพื่อแจ้งพวกเขาให้ทราบถึงปัญหานี้</li> </ul>">
+
+<!ENTITY unsafeContentType.longDesc "<ul> <li>โปรดติดต่อเจ้าของเว็บไซต์เพื่อแจ้งพวกเขาให้ทราบถึงปัญหานี้</li> </ul>">
+
+<!ENTITY netReset.longDesc "&sharedLongDesc;">
+
+<!ENTITY netTimeout.longDesc "&sharedLongDesc;">
+
+<!ENTITY unknownProtocolFound.longDesc "<ul> <li>คุณอาจจำเป็นต้องติดตั้งซอฟต์แวร์อื่นเพื่อเปิดที่อยู่นี้</li> </ul>">
+
+<!ENTITY proxyConnectFailure.longDesc "<ul> <li>ตรวจสอบให้แน่ใจว่าการตั้งค่าพร็อกซีถูกต้อง</li> <li>ติดต่อผู้ดูแลเครือข่ายของคุณเพื่อให้แน่ใจว่าเซิร์ฟเวอร์พร็อกซีกำลังทำงานอยู่</li> </ul>">
+
+<!ENTITY proxyResolveFailure.longDesc "<ul> <li>ตรวจสอบให้แน่ใจว่าการตั้งค่าพร็อกซีถูกต้อง</li> <li>ตรวจสอบให้แน่ใจว่าคอมพิวเตอร์ของคุณมีการเชื่อมต่อเครือข่ายที่ทำงานได้</li> <li>หากคอมพิวเตอร์หรือเครือข่ายของคุณถูกปกป้องด้วยไฟร์วอลล์หรือพร็อกซี ตรวจสอบให้แน่ใจว่า &brandShortName; ได้รับอนุญาตให้เข้าถึงเว็บ</li> </ul>">
+
+<!ENTITY redirectLoop.longDesc "<ul> <li>ปัญหานี้บางครั้งอาจมีสาเหตุมาจากการปิดใช้งานหรือปฏิเสธการยอมรับคุกกี้</li> </ul>">
+
+<!ENTITY unknownSocketType.longDesc "<ul> <li>ตรวจสอบให้แน่ใจว่าระบบของคุณมีตัวจัดการความปลอดภัยส่วนบุคคลติดตั้งอยู่</li> <li>สิ่งนี้อาจเกิดจากการกำหนดค่าที่ไม่มาตรฐานบนเซิร์ฟเวอร์</li> </ul>">
+
+<!ENTITY nssFailure2.longDesc2 "<ul> <li>ไม่สามารถแสดงหน้าที่คุณกำลังพยายามจะดูเนื่องจากไม่สามารถยืนยันความถูกต้องของข้อมูลที่ได้รับ</li> <li>โปรดติดต่อเจ้าของเว็บไซต์เพื่อแจ้งพวกเขาให้ทราบถึงปัญหานี้</li> </ul>">
+
+<!-- Localization note (certerror.introPara2) - The text content of the span tag
+will be replaced at runtime with the name of the server to which the user
+was trying to connect. -->
+<!ENTITY certerror.introPara2 "&brandShortName; ตรวจพบภัยคุกคามด้านความปลอดภัยที่อาจเกิดขึ้นและไม่ได้ดำเนินการต่อไปยัง <span class='hostname'/> ถ้าคุณเยี่ยมชมไซต์นี้ ผู้โจมตีอาจพยายามล้วงข้อมูล เช่น รหัสผ่าน อีเมล หรือรายละเอียดบัตรเครดิตของคุณ">
+<!ENTITY certerror.sts.introPara "&brandShortName; ตรวจพบภัยคุกคามด้านความปลอดภัยที่อาจเกิดขึ้นและไม่ได้ดำเนินการต่อไปยัง <span class='hostname'/> เนื่องจากเว็บไซต์นี้ต้องการการเชื่อมต่อที่ปลอดภัย">
+
+<!ENTITY certerror.expiredCert.introPara "&brandShortName; ตรวจพบปัญหาและไม่ได้ดำเนินการต่อไปยัง <span class='hostname'/> เว็บไซต์อาจถูกกำหนดค่าอย่างไม่ถูกต้องหรือนาฬิกาคอมพิวเตอร์ของคุณถูกตั้งค่าเป็นเวลาที่ผิด">
+<!ENTITY certerror.expiredCert.secondPara2 "ดูเหมือนว่าใบรับรองของเว็บไซต์จะหมดอายุแล้ว ซึ่งทำให้ &brandShortName; ไม่สามารถเชื่อมต่ออย่างปลอดภัยได้ ถ้าคุณเยี่ยมชมไซต์นี้ ผู้โจมตีอาจพยายามล้วงข้อมูล เช่น รหัสผ่าน อีเมล หรือรายละเอียดบัตรเครดิตของคุณ">
+<!ENTITY certerror.expiredCert.sts.secondPara "ดูเหมือนว่าใบรับรองของเว็บไซต์จะหมดอายุแล้ว ซึ่งทำให้ &brandShortName; ไม่สามารถเชื่อมต่ออย่างปลอดภัยได้">
+
+<!ENTITY certerror.whatCanYouDoAboutItTitle "คุณสามารถทำอะไรเกี่ยวกับเรื่องนี้ได้บ้าง?">
+
+<!ENTITY certerror.unknownIssuer.whatCanYouDoAboutIt "
+<p>ปัญหานี้มักเกิดขึ้นกับเว็บไซต์ และไม่มีวิธีใดที่คุณสามารถแก้ปัญหานี้ได้</p>
+<p>ถ้าคุณกำลังใช้เครือข่ายบริษัทหรือกำลังใช้ซอฟต์แวร์ป้องกันไวรัส คุณสามารถติดต่อขอความช่วยเหลือจากทีมสนับสนุนได้ คุณยังสามารถแจ้งให้ผู้ดูแลของเว็บไซต์ทราบเกี่ยวกับปัญหานี้ได้</p>
+">
+
+<!ENTITY certerror.expiredCert.whatCanYouDoAboutIt2 "
+<p>นาฬิกาคอมพิวเตอร์ของคุณถูกตั้งค่าเป็น <span id='wrongSystemTime_systemDate2'/> ตรวจให้แน่ใจว่าคอมพิวเตอร์ของคุณถูกตั้งค่าเป็นวันที่ เวลา และเขตเวลาที่ถูกต้องในการตั้งค่าระบบของคุณ แล้วลองรีเฟรช <span class='hostname'/></p>
+<p>ถ้านาฬิกาของคุณถูกตั้งค่าเป็นเวลาที่ถูกต้องอยู่แล้ว แสดงว่าเว็บไซต์อาจจะถูกกำหนดค่าอย่างไม่ถูกต้อง และไม่มีวิธีใดที่คุณสามารถแก้ปัญหานี้ได้ คุณสามารถแจ้งให้ผู้ดูแลของเว็บไซต์นี้ทราบเกี่ยวกับปัญหานี้ได้</p>
+">
+
+<!ENTITY certerror.badCertDomain.whatCanYouDoAboutIt "
+<p>ปัญหานี้มักเกิดขึ้นกับเว็บไซต์ และไม่มีวิธีใดที่คุณสามารถแก้ปัญหานี้ได้ คุณสามารถแจ้งให้ผู้ดูแลของเว็บไซต์ทราบเกี่ยวกับปัญหานี้ได้</p>
+">
+
+<!ENTITY sharedLongDesc "<ul> <li>ไซต์อาจไม่พร้อมใช้งานชั่วคราวหรือกำลังทำงานหนักเกินไป ลองอีกครั้งในอีกสักครู่</li> <li>หากคุณไม่สามารถโหลดหน้าใด ๆ ได้ ตรวจสอบการเชื่อมต่อเครือข่ายของคอมพิวเตอร์ของคุณ</li> <li>หากคอมพิวเตอร์หรือเครือข่ายของคุณถูกปกป้องด้วยไฟร์วอลล์หรือพร็อกซี ตรวจสอบให้แน่ใจว่า &brandShortName; ได้รับอนุญาตให้เข้าถึงเว็บ</li> </ul>">
+
+<!ENTITY cspBlocked.longDesc "<p>&brandShortName; ได้ป้องกันไม่ให้หน้านี้โหลดด้วยวิธีนี้เนื่องจากหน้ามีนโยบายความปลอดภัยของเนื้อหาที่ไม่อนุญาต</p>">
+
+<!ENTITY xfoBlocked.longDesc "<p>&brandShortName; ได้ป้องกันหน้านี้จากการโหลดในบริบทนี้เนื่องจากหน้ามีนโยบาย X-Frame-Options ที่ไม่อนุญาต</p>">
+
+<!ENTITY corruptedContentErrorv2.longDesc "<p>ไม่สามารถแสดงหน้าที่คุณกำลังพยายามจะดูเนื่องจากตรวจพบข้อผิดพลาดในการส่งผ่านข้อมูล</p><ul><li>โปรดติดต่อเจ้าของเว็บไซต์เพื่อแจ้งพวกเขาให้ทราบถึงปัญหานี้</li></ul>">
+
+<!ENTITY securityOverride.exceptionButton1Label "ยอมรับความเสี่ยงและดำเนินการต่อ">
+
+<!ENTITY errorReporting.automatic2 "รายงานข้อผิดพลาดเช่นนี้เพื่อช่วย Mozilla ระบุและปิดกั้นไซต์ที่ประสงค์ร้าย">
+<!ENTITY errorReporting.learnMore "เรียนรู้เพิ่มเติม…">
+
+<!ENTITY remoteXUL.longDesc "<p><ul><li>โปรดติดต่อเจ้าของเว็บไซต์เพื่อแจ้งพวกเขาให้ทราบถึงปัญหานี้</li></ul></p>">
+
+<!-- LOCALIZATION NOTE (sslv3Used.longDesc2) - Do not translate
+ "SSL_ERROR_UNSUPPORTED_VERSION". -->
+<!ENTITY sslv3Used.longDesc2 "ข้อมูลขั้นสูง: SSL_ERROR_UNSUPPORTED_VERSION">
+
+<!ENTITY certerror.pagetitle2 "คำเตือน: ความเสี่ยงด้านความปลอดภัยที่อาจเกิดขึ้นข้างหน้า">
+<!ENTITY certerror.sts.pagetitle "ไม่ได้เชื่อมต่อ: ปัญหาความปลอดภัยที่อาจเกิดขึ้น">
+<!ENTITY certerror.whatShouldIDo.badStsCertExplanation1 "<span class='hostname'></span> มีนโยบายการรักษาความปลอดภัยที่เรียกว่า HTTP Strict Transport Security (HSTS) ซึ่งหมายความว่า &brandShortName; สามารถทำการเชื่อมต่อได้อย่างปลอดภัยเท่านั้น คุณไม่สามารถเพิ่มข้อยกเว้นเพื่อเยี่ยมชมไซต์นี้ได้">
+<!ENTITY certerror.copyToClipboard.label "คัดลอกข้อความไปยังคลิปบอร์ด">
+
+<!-- LOCALIZATION NOTE (inadequateSecurityError.longDesc) - Do not translate
+ "NS_ERROR_NET_INADEQUATE_SECURITY". -->
+<!ENTITY inadequateSecurityError.longDesc "<p><span class='hostname'></span> ใช้เทคโนโลยีความปลอดภัยที่ล้าสมัยและเสี่ยงต่อการถูกโจมตี ผู้โจมตีสามารถเปิดเผยข้อมูลที่คุณคิดว่าปลอดภัยได้อย่างง่ายดาย ผู้ดูแลเว็บไซต์จำเป็นต้องแก้ไขเซิร์ฟเวอร์ก่อนที่คุณจะสามารถเยี่ยมชมไซต์ได้</p><p>รหัสข้อผิดพลาด: NS_ERROR_NET_INADEQUATE_SECURITY</p>">
+
+<!ENTITY blockedByPolicy.title "หน้าที่ถูกปิดกั้น">
+
+<!ENTITY certerror.mitm.longDesc "<span class='hostname'></span> ดูเหมือนจะเป็นไซต์ที่ปลอดภัย แต่ไม่สามารถทำการเชื่อมต่ออย่างปลอดภัยได้ ปัญหานี้เกิดจาก <span class='mitm-name'/> ซึ่งอาจเป็นเนื่องจากซอฟต์แวร์ที่ติดตั้งบนคอมพิวเตอร์ของคุณหรือเครือข่ายของคุณ">
+<!ENTITY certerror.mitm.whatCanYouDoAboutIt1 "ถ้าซอฟต์แวร์ป้องกันไวรัสของคุณมีคุณลักษณะที่ใช้สแกนการเชื่อมต่อที่ถูกเข้ารหัส (มักถูกเรียกว่า “การสแกนเว็บ” หรือ “การสแกน HTTPS”) คุณสามารถปิดใช้งานคุณลักษณะนั้นได้ ถ้าวิธีนี้ใช้ไม่ได้ผล คุณสามารถลบและติดตั้งซอฟต์แวร์ป้องกันไวรัสใหม่ได้">
+<!ENTITY certerror.mitm.whatCanYouDoAboutIt2 "ถ้าคุณกำลังใช้เครือข่ายบริษัท คุณสามารถติดต่อแผนกไอทีของคุณได้">
+<!ENTITY certerror.mitm.whatCanYouDoAboutIt3 "ถ้าคุณไม่คุ้นเคยกับ <span class='mitm-name'/> แสดงว่าอาจเป็นการโจมตีและคุณไม่ควรดำเนินการต่อไปยังไซต์นี้">
+<!ENTITY certerror.mitm.sts.whatCanYouDoAboutIt3 "ถ้าคุณไม่คุ้นเคยกับ <span class='mitm-name'/> แสดงว่าอาจเป็นการโจมตี และไม่มีวิธีใดที่คุณสามารถเข้าถึงไซต์นี้ได้">
+
+<!ENTITY clockSkewError.longDesc "คอมพิวเตอร์ของคุณคิดว่าเวลาปัจจุบันคือ <span id='wrongSystemTime_systemDate1'/> ซึ่งทำให้ &brandShortName; ไม่สามารถทำการเชื่อมต่ออย่างปลอดภัยได้ เมื่อต้องการเยี่ยมชม <span class='hostname'></span> ให้อัปเดตนาฬิกาคอมพิวเตอร์ของคุณในการตั้งค่าระบบของคุณให้เป็นวันที่ เวลา และเขตเวลาปัจจุบัน แล้วรีเฟรช <span class='hostname'></span>">
+
+<!ENTITY prefReset.longDesc "ดูเหมือนว่าการตั้งค่าความปลอดภัยเครือข่ายของคุณอาจเป็นสาเหตุของสิ่งนี้ คุณต้องการเรียกคืนการตั้งค่าเริ่มต้นหรือไม่?">
+<!ENTITY prefReset.label "เรียกคืนการตั้งค่าเริ่มต้น">
+
+<!ENTITY enableTls10.longDesc "เว็บไซต์นี้อาจไม่รองรับโปรโตคอล TLS 1.2 ซึ่งเป็นรุ่นขั้นต่ำที่รองรับโดย &brandShortName; การเปิดใช้งาน TLS 1.0 และ TLS 1.1 อาจทำให้การเชื่อมต่อนี้สำเร็จ">
+<!ENTITY enableTls10.note "TLS 1.0 และ TLS 1.1 จะถูกปิดใช้งานอย่างถาวรในรุ่นอนาคต">
+<!ENTITY enableTls10.label "เปิดใช้งาน TLS 1.0 และ 1.1">
+
+<!ENTITY networkProtocolError.longDesc "<p>ไม่สามารถแสดงหน้าที่คุณกำลังพยายามจะดูเนื่องจากตรวจพบข้อผิดพลาดในโปรโตคอลเครือข่าย</p><ul><li>โปรดติดต่อเจ้าของเว็บไซต์เพื่อแจ้งพวกเขาให้ทราบถึงปัญหานี้</li></ul>">
diff --git a/l10n-th/browser/chrome/overrides/settingsChange.dtd b/l10n-th/browser/chrome/overrides/settingsChange.dtd
new file mode 100644
index 0000000000..c9b64e924d
--- /dev/null
+++ b/l10n-th/browser/chrome/overrides/settingsChange.dtd
@@ -0,0 +1,7 @@
+<!-- -*- Mode: Java; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- -->
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!ENTITY settingsChangePreferences.label "สามารถเปลี่ยนการตั้งค่าได้โดยใช้แท็บแอปพลิเคชันในค่ากำหนดของ &brandShortName;">
+<!ENTITY settingsChangeOptions.label "สามารถเปลี่ยนการตั้งค่าได้โดยใช้แท็บแอปพลิเคชันในตัวเลือกของ &brandShortName;">
diff --git a/l10n-th/browser/crashreporter/crashreporter-override.ini b/l10n-th/browser/crashreporter/crashreporter-override.ini
new file mode 100644
index 0000000000..171ac589af
--- /dev/null
+++ b/l10n-th/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/l10n-th/browser/defaultagent/defaultagent_localized.ini b/l10n-th/browser/defaultagent/defaultagent_localized.ini
new file mode 100644
index 0000000000..5f6bda3aa6
--- /dev/null
+++ b/l10n-th/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/l10n-th/browser/defines.inc b/l10n-th/browser/defines.inc
new file mode 100644
index 0000000000..2f56d26173
--- /dev/null
+++ b/l10n-th/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 <em:contributor>Nattapong Ekudomsuk</em:contributor> <em:contributor>Patipat Susumpow</em:contributor> <em:contributor>Pittaya Sroilong</em:contributor> <em:contributor>Teerapat Taechaiya</em:contributor> <em:contributor>Vee Satayamas</em:contributor> <em:contributor>Wichai Termwuttipreecha</em:contributor>
+
+#unfilter emptyLines
diff --git a/l10n-th/browser/extensions/formautofill/formautofill.properties b/l10n-th/browser/extensions/formautofill/formautofill.properties
new file mode 100644
index 0000000000..a63d8c412f
--- /dev/null
+++ b/l10n-th/browser/extensions/formautofill/formautofill.properties
@@ -0,0 +1,241 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.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 (autofillSecurityOptionsLink, autofillSecurityOptionsLinkOSX): These strings are used
+# in the doorhanger for saving credit card info. The link leads users to Form Autofill browser preferences.
+autofillSecurityOptionsLink = ตัวเลือกการกรอกแบบฟอร์มอัตโนมัติและความปลอดภัย
+autofillSecurityOptionsLinkOSX = ค่ากำหนดการกรอกแบบฟอร์มอัตโนมัติและความปลอดภัย
+# 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 ( (autocompleteFooterOptionShort, autocompleteFooterOptionOSXShort): Used as a label for the button,
+# displayed at the bottom of the dropdown suggestion, to open Form Autofill browser preferences.
+autocompleteFooterOptionShort = ตัวเลือกเพิ่มเติม
+autocompleteFooterOptionOSXShort = ค่ากำหนด
+
+# 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 นี้ด้านล่าง
+editCreditCardPasswordPrompt.macosx = %S กำลังพยายามจะแสดงข้อมูลบัตรเครดิต
+# 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 นี้ด้านล่าง
+useCreditCardPasswordPrompt.macosx = %S กำลังพยายามจะใช้ข้อมูลบัตรเครดิตที่จัดเก็บไว้
+# 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/l10n-th/browser/extensions/report-site-issue/webcompat.properties b/l10n-th/browser/extensions/report-site-issue/webcompat.properties
new file mode 100644
index 0000000000..f1ce586fbc
--- /dev/null
+++ b/l10n-th/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/l10n-th/browser/firefox-l10n.js b/l10n-th/browser/firefox-l10n.js
new file mode 100644
index 0000000000..b410ad9aef
--- /dev/null
+++ b/l10n-th/browser/firefox-l10n.js
@@ -0,0 +1,6 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+#filter substitution
+
diff --git a/l10n-th/browser/installer/custom.properties b/l10n-th/browser/installer/custom.properties
new file mode 100644
index 0000000000..f8d535a852
--- /dev/null
+++ b/l10n-th/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/l10n-th/browser/installer/mui.properties b/l10n-th/browser/installer/mui.properties
new file mode 100644
index 0000000000..ec8d16ff69
--- /dev/null
+++ b/l10n-th/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/l10n-th/browser/installer/nsisstrings.properties b/l10n-th/browser/installer/nsisstrings.properties
new file mode 100644
index 0000000000..eb0b93d6bb
--- /dev/null
+++ b/l10n-th/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/l10n-th/browser/installer/override.properties b/l10n-th/browser/installer/override.properties
new file mode 100644
index 0000000000..64701efe08
--- /dev/null
+++ b/l10n-th/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/l10n-th/browser/pdfviewer/chrome.properties b/l10n-th/browser/pdfviewer/chrome.properties
new file mode 100644
index 0000000000..3f0f5e1401
--- /dev/null
+++ b/l10n-th/browser/pdfviewer/chrome.properties
@@ -0,0 +1,19 @@
+# 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 นี้มีแบบฟอร์ม การกรอกฟอร์มยังไม่รองรับ
+open_with_different_viewer=เปิดด้วยตัวดูอื่น
+open_with_different_viewer.accessKey=ป
diff --git a/l10n-th/browser/pdfviewer/viewer.properties b/l10n-th/browser/pdfviewer/viewer.properties
new file mode 100644
index 0000000000..49642836cc
--- /dev/null
+++ b/l10n-th/browser/pdfviewer/viewer.properties
@@ -0,0 +1,251 @@
+# 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=ไปยังหน้าแรก
+first_page_label=ไปยังหน้าแรก
+last_page.title=ไปยังหน้าสุดท้าย
+last_page.label=ไปยังหน้าสุดท้าย
+last_page_label=ไปยังหน้าสุดท้าย
+page_rotate_cw.title=หมุนตามเข็มนาฬิกา
+page_rotate_cw.label=หมุนตามเข็มนาฬิกา
+page_rotate_cw_label=หมุนตามเข็มนาฬิกา
+page_rotate_ccw.title=หมุนทวนเข็มนาฬิกา
+page_rotate_ccw.label=หมุนทวนเข็มนาฬิกา
+page_rotate_ccw_label=หมุนทวนเข็มนาฬิกา
+
+cursor_text_select_tool.title=เปิดใช้งานเครื่องมือการเลือกข้อความ
+cursor_text_select_tool_label=เครื่องมือการเลือกข้อความ
+cursor_hand_tool.title=เปิดใช้งานเครื่องมือมือ
+cursor_hand_tool_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_notification.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=ภาพขนาดย่อ
+findbar.title=ค้นหาในเอกสาร
+findbar_label=ค้นหา
+
+additional_layers=เลเยอร์เพิ่มเติม
+# LOCALIZATION NOTE (page_canvas): "{{page}}" will be replaced by the page number.
+page_canvas=หน้า {{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_error_indicator=ข้อผิดพลาด
+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/l10n-th/browser/profile/bookmarks.inc b/l10n-th/browser/profile/bookmarks.inc
new file mode 100644
index 0000000000..218f57b6d3
--- /dev/null
+++ b/l10n-th/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_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 (irc):
+# Nightly builds only, link title for ircs://irc.mozilla.org/nightly
+#define irc พูดคุยเกี่ยวกับ Nightly บน IRC
+
+# LOCALIZATION NOTE (planet):
+# Nightly builds only, link title for https://planet.mozilla.org/
+#define planet ดาวเคราะห์ Mozilla
+
+#unfilter emptyLines
diff --git a/l10n-th/browser/updater/updater.ini b/l10n-th/browser/updater/updater.ini
new file mode 100644
index 0000000000..a65c26f599
--- /dev/null
+++ b/l10n-th/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/l10n-th/calendar/calendar/calendar-ics-file-dialog.ftl b/l10n-th/calendar/calendar/calendar-ics-file-dialog.ftl
new file mode 100644
index 0000000000..470464e0ce
--- /dev/null
+++ b/l10n-th/calendar/calendar/calendar-ics-file-dialog.ftl
@@ -0,0 +1,16 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+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-dialog-message-2 = นำเข้าจากไฟล์…
+calendar-ics-file-dialog-calendar-menu-label = นำเข้าสู่ปฏิทิน:
+calendar-ics-file-import-success = นำเข้าเรียบร้อย!
+calendar-ics-file-import-error = เกิดข้อผิดพลาดและการนำเข้าล้มเหลว
+calendar-ics-file-dialog-no-calendars = ไม่มีปฏิทินที่สามารถนำเข้าเหตุการณ์หรืองานได้
diff --git a/l10n-th/calendar/calendar/calendar-summary-dialog.ftl b/l10n-th/calendar/calendar/calendar-summary-dialog.ftl
new file mode 100644
index 0000000000..e41ce04597
--- /dev/null
+++ b/l10n-th/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/l10n-th/calendar/calendar/calendar-uri-redirect-dialog.ftl b/l10n-th/calendar/calendar/calendar-uri-redirect-dialog.ftl
new file mode 100644
index 0000000000..6badba82f3
--- /dev/null
+++ b/l10n-th/calendar/calendar/calendar-uri-redirect-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/.
+
+calendar-uri-redirect-window =
+ .title = การเปลี่ยนเส้นทาง URI ของปฏิทิน
+calendar-uri-redirect-original-uri-label = URI ปัจจุบัน:
diff --git a/l10n-th/calendar/calendar/category-dialog.ftl b/l10n-th/calendar/calendar/category-dialog.ftl
new file mode 100644
index 0000000000..314c04be70
--- /dev/null
+++ b/l10n-th/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/l10n-th/calendar/calendar/preferences.ftl b/l10n-th/calendar/calendar/preferences.ftl
new file mode 100644
index 0000000000..45879af8c8
--- /dev/null
+++ b/l10n-th/calendar/calendar/preferences.ftl
@@ -0,0 +1,178 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.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 = ส
+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 = เหตุการณ์และงาน
+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 = ส
+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/l10n-th/calendar/chrome/calendar/calendar-alarms.properties b/l10n-th/calendar/chrome/calendar/calendar-alarms.properties
new file mode 100644
index 0000000000..be5d58af64
--- /dev/null
+++ b/l10n-th/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/l10n-th/calendar/chrome/calendar/calendar-event-dialog-attendees.properties b/l10n-th/calendar/chrome/calendar/calendar-event-dialog-attendees.properties
new file mode 100644
index 0000000000..d1e27541af
--- /dev/null
+++ b/l10n-th/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/l10n-th/calendar/chrome/calendar/calendar-event-dialog.dtd b/l10n-th/calendar/chrome/calendar/calendar-event-dialog.dtd
new file mode 100644
index 0000000000..004e967fff
--- /dev/null
+++ b/l10n-th/calendar/chrome/calendar/calendar-event-dialog.dtd
@@ -0,0 +1,428 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!ENTITY event.title.label "แก้ไขรายการ" >
+
+<!ENTITY event.dialog.keepDurationButton.tooltip "รักษาระยะเวลาเมื่อเปลี่ยนวันที่สิ้นสุด">
+<!ENTITY event.dialog.keepDurationButton.accesskey "ร">
+
+<!ENTITY newevent.from.label "จาก" >
+<!ENTITY newevent.to.label "ถึง" >
+
+<!ENTITY newevent.status.label "สถานะ" >
+<!ENTITY newevent.status.accesskey "ส" >
+<!ENTITY newevent.eventStatus.none.label "ไม่ระบุ" >
+<!ENTITY newevent.eventStatus.none.accesskey "ม" >
+<!ENTITY newevent.todoStatus.none.label "ไม่ระบุ" >
+<!ENTITY newevent.eventStatus.cancelled.label "ยกเลิกแล้ว" >
+<!ENTITY newevent.eventStatus.cancelled.accesskey "ย" >
+<!ENTITY newevent.todoStatus.cancelled.label "ยกเลิกแล้ว" >
+<!ENTITY newevent.status.tentative.label "ไม่แน่นอน" >
+<!ENTITY newevent.status.tentative.accesskey "ม" >
+<!ENTITY newevent.status.confirmed.label "ยืนยันแล้ว" >
+<!ENTITY newevent.status.confirmed.accesskey "ย" >
+<!ENTITY newevent.status.needsaction.label "ต้องการการกระทำ" >
+<!ENTITY newevent.status.inprogress.label "อยู่ระหว่างดำเนินการ" >
+<!ENTITY newevent.status.completed.label "เสร็จสมบูรณ์เมื่อ" >
+
+<!-- The following entity is for New Task dialog only -->
+<!ENTITY newtodo.percentcomplete.label "เสร็จสมบูรณ์ &#37;">
+
+<!-- LOCALIZATON NOTE(event.attendees.notify.label,event.attendees.notifyundisclosed.label,
+ event.attendees.disallowcounter.label)
+ - These three labels are displayed side by side in the event dialog, make sure
+ - they still fit in. -->
+<!ENTITY event.attendees.notify.label "แจ้งเตือนผู้เข้าร่วม">
+<!ENTITY event.attendees.notify.accesskey "จ">
+<!ENTITY event.attendees.notifyundisclosed.label "แยกคำเชิญต่อผู้เข้าร่วม">
+<!ENTITY event.attendees.notifyundisclosed.accesskey "ย">
+<!ENTITY event.attendees.notifyundisclosed.tooltip "ตัวเลือกนี้จะส่งหนึ่งอีเมลคำเชิญต่อผู้เข้าร่วม แต่ละคำเชิญจะมีเพียงผู้เข้าร่วมเท่านั้นเพื่อไม่ให้เปิดเผยข้อมูลประจำตัวของผู้เข้าร่วมอื่น ๆ">
+<!ENTITY event.attendees.disallowcounter.label "ไม่อนุญาตตัวนับ">
+<!ENTITY event.attendees.disallowcounter.accesskey "ม">
+<!ENTITY event.attendees.disallowcounter.tooltip "บ่งชี้ว่าคุณจะไม่ยอมรับการโต้แย้ง">
+
+<!-- Keyboard Shortcuts -->
+<!ENTITY event.dialog.new.event.key2 "I">
+<!ENTITY event.dialog.new.task.key2 "D">
+<!ENTITY event.dialog.new.message.key2 "N">
+<!ENTITY event.dialog.close.key "W">
+<!ENTITY event.dialog.save.key "S">
+<!ENTITY event.dialog.saveandclose.key "L">
+<!ENTITY event.dialog.print.key "P">
+<!ENTITY event.dialog.undo.key "Z">
+<!ENTITY event.dialog.redo.key "Y">
+<!ENTITY event.dialog.cut.key "X">
+<!ENTITY event.dialog.copy.key "C">
+<!ENTITY event.dialog.paste.key "V">
+<!ENTITY event.dialog.select.all.key "A">
+
+<!-- Menubar -->
+<!ENTITY event.menu.item.new.label "ใหม่">
+<!ENTITY event.menu.item.new.accesskey "ห">
+<!ENTITY event.menu.item.new.event.label "เหตุการณ์">
+<!ENTITY event.menu.item.new.event.accesskey "ห">
+<!ENTITY event.menu.item.new.task.label "งาน">
+<!ENTITY event.menu.item.new.task.accesskey "ง">
+<!ENTITY event.menu.item.new.message.label "ข้อความ">
+<!ENTITY event.menu.item.new.message.accesskey "ข">
+<!ENTITY event.menu.item.new.contact.label "ผู้ติดต่อของสมุดรายชื่อ">
+<!ENTITY event.menu.item.new.contact.accesskey "ผ">
+<!ENTITY event.menu.item.close.label "ปิด">
+<!ENTITY event.menu.item.close.accesskey "ป">
+
+<!-- LOCALIZATION NOTE
+ - event.menu.item.save.accesskey is used for the "Save" menu item
+ - when editing events/tasks in a dialog window.
+ - event.menu.item.save.tab.accesskey is used for the "Save" menu item
+ - when editing events/tasks in a tab. -->
+<!ENTITY event.menu.item.save.label "บันทึก">
+<!ENTITY event.menu.item.save.accesskey "บ">
+<!ENTITY event.menu.item.save.tab.accesskey "บ">
+
+<!-- LOCALIZATION NOTE
+ - event.menu.item.saveandclose.accesskey is used for "Save and Close"
+ - menu item when editing events/tasks in a dialog window.
+ - event.menu.item.saveandclose.tab.accesskey is used for "Save and Close"
+ - when editing events/tasks in a tab. -->
+<!ENTITY event.menu.item.saveandclose.label "บันทึกแล้วปิด">
+<!ENTITY event.menu.item.saveandclose.accesskey "น">
+<!ENTITY event.menu.item.saveandclose.tab.accesskey "น">
+
+<!ENTITY event.menu.item.delete.label "ลบ…">
+<!ENTITY event.menu.item.delete.accesskey "ล">
+<!ENTITY event.menu.item.page.setup.label "ตั้งค่าหน้ากระดาษ">
+<!ENTITY event.menu.item.page.setup.accesskey "ต">
+<!ENTITY event.menu.item.print.label "พิมพ์">
+<!ENTITY event.menu.item.print.accesskey "พ">
+
+<!ENTITY event.menu.edit.label "แก้ไข">
+<!ENTITY event.menu.edit.accesskey "ก">
+<!ENTITY event.menu.edit.undo.label "เลิกทำ">
+<!ENTITY event.menu.edit.undo.accesskey "ล">
+<!ENTITY event.menu.edit.redo.label "ทำซ้ำ">
+<!ENTITY event.menu.edit.redo.accesskey "ท">
+<!ENTITY event.menu.edit.cut.label "ตัด">
+<!ENTITY event.menu.edit.cut.accesskey "ต">
+<!ENTITY event.menu.edit.copy.label "คัดลอก">
+<!ENTITY event.menu.edit.copy.accesskey "ค">
+<!ENTITY event.menu.edit.paste.label "วาง">
+<!ENTITY event.menu.edit.paste.accesskey "ว">
+<!ENTITY event.menu.edit.select.all.label "เลือกทั้งหมด">
+<!ENTITY event.menu.edit.select.all.accesskey "อ">
+
+<!ENTITY event.menu.view.label "มุมมอง">
+<!ENTITY event.menu.view.accesskey "ม">
+<!ENTITY event.menu.view.toolbars.label "แถบเครื่องมือ">
+<!ENTITY event.menu.view.toolbars.accesskey "ถ">
+<!ENTITY event.menu.view.toolbars.event.label "แถบเครื่องมือเหตุการณ์">
+<!ENTITY event.menu.view.toolbars.event.accesskey "บ">
+<!ENTITY event.menu.view.toolbars.customize.label "ปรับแต่ง…">
+<!ENTITY event.menu.view.toolbars.customize.accesskey "ป">
+<!ENTITY event.menu.view.showlink.label "แสดงลิงก์ที่เกี่ยวข้อง">
+<!ENTITY event.menu.view.showlink.accesskey "ส">
+
+<!ENTITY event.menu.options.label "ตัวเลือก">
+<!ENTITY event.menu.options.accesskey "ต">
+<!ENTITY event.menu.options.attendees.label "เชิญผู้เข้าร่วม…">
+<!ENTITY event.menu.options.attendees.accesskey "ช">
+<!ENTITY event.menu.options.timezone2.label "แสดงเขตเวลา">
+<!ENTITY event.menu.options.timezone2.accesskey "ส">
+<!ENTITY event.menu.options.priority2.label "ความสำคัญ">
+<!ENTITY event.menu.options.priority2.accesskey "ค">
+<!ENTITY event.menu.options.priority.notspecified.label "ไม่ระบุ">
+<!ENTITY event.menu.options.priority.notspecified.accesskey "ม">
+<!ENTITY event.menu.options.priority.low.label "ต่ำ">
+<!ENTITY event.menu.options.priority.low.accesskey "ต">
+<!ENTITY event.menu.options.priority.normal.label "ปกติ">
+<!ENTITY event.menu.options.priority.normal.accesskey "ป">
+<!ENTITY event.menu.options.priority.high.label "สูง">
+<!ENTITY event.menu.options.priority.high.accesskey "ส">
+<!ENTITY event.menu.options.privacy.label "ความเป็นส่วนตัว">
+<!ENTITY event.menu.options.privacy.accesskey "ค">
+<!ENTITY event.menu.options.privacy.public.label "เหตุการณ์สาธารณะ">
+<!ENTITY event.menu.options.privacy.public.accesskey "ห">
+<!ENTITY event.menu.options.privacy.confidential.label "แสดงเวลาและวันที่เท่านั้น">
+<!ENTITY event.menu.options.privacy.confidential.accesskey "ส">
+<!ENTITY event.menu.options.privacy.private.label "เหตุการณ์ส่วนตัว">
+<!ENTITY event.menu.options.privacy.private.accesskey "ห">
+<!ENTITY event.menu.options.show.time.label "แสดงเวลาเป็น">
+<!ENTITY event.menu.options.show.time.accesskey "ส">
+<!ENTITY event.menu.options.show.time.busy.label "ไม่ว่าง">
+<!ENTITY event.menu.options.show.time.busy.accesskey "ม">
+<!ENTITY event.menu.options.show.time.free.label "ว่าง">
+<!ENTITY event.menu.options.show.time.free.accesskey "ว">
+
+<!ENTITY event.invite.attendees.label "เชิญผู้เข้าร่วม…">
+<!ENTITY event.invite.attendees.accesskey "ช">
+<!ENTITY event.email.attendees.label "เขียนอีเมลถึงผู้เข้าร่วมทั้งหมด…">
+<!ENTITY event.email.attendees.accesskey "ข">
+<!ENTITY event.email.tentative.attendees.label "เขียนอีเมลถึงผู้เข้าร่วมที่ไม่ได้ตัดสินใจ…">
+<!ENTITY event.email.tentative.attendees.accesskey "ย">
+<!ENTITY event.remove.attendees.label2 "เอาผู้เข้าร่วมทั้งหมดออก">
+<!ENTITY event.remove.attendees.accesskey "อ">
+<!ENTITY event.remove.attendee.label "เอาผู้เข้าร่วมออก">
+<!ENTITY event.remove.attendee.accesskey "ผ">
+
+<!-- Toolbar -->
+<!ENTITY event.toolbar.save.label2 "บันทึก">
+<!ENTITY event.toolbar.saveandclose.label "บันทึกแล้วปิด">
+<!ENTITY event.toolbar.delete.label "ลบ">
+<!ENTITY event.toolbar.attendees.label "เชิญผู้เข้าร่วม">
+<!ENTITY event.toolbar.privacy.label "ความเป็นส่วนตัว">
+
+<!ENTITY event.toolbar.save.tooltip2 "บันทึก">
+<!ENTITY event.toolbar.saveandclose.tooltip "บันทึกแล้วปิด">
+<!ENTITY event.toolbar.delete.tooltip "ลบ">
+<!ENTITY event.toolbar.attendees.tooltip "เชิญผู้เข้าร่วม">
+<!ENTITY event.toolbar.attachments.tooltip "เพิ่มไฟล์แนบ">
+<!ENTITY event.toolbar.privacy.tooltip "เปลี่ยนความเป็นส่วนตัว">
+<!ENTITY event.toolbar.priority.tooltip "เปลี่ยนความสำคัญ">
+<!ENTITY event.toolbar.status.tooltip "เปลี่ยนสถานะ">
+<!ENTITY event.toolbar.freebusy.tooltip "เปลี่ยนเวลาว่าง/ไม่ว่าง">
+
+<!-- Counter box -->
+<!-- LOCALIZATON NOTE(counter.button.*)
+ - This is only visible in the UI if you have received a counterproposal before and are going to
+ - reschedule the event from the imipbar in the email view. Clicking on the buttons will only
+ - populate the form fields in the dialog, there's no other immediate action on clicking like with
+ - the imip bar. Rescheduling will happen after clicking on save&close as usual. This screenshot
+ - illustrates how it might look like: https://bugzilla.mozilla.org/attachment.cgi?id=8810121 -->
+<!ENTITY counter.button.proposal.label "ใช้ข้อเสนอ">
+<!ENTITY counter.button.proposal.accesskey "ช">
+<!ENTITY counter.button.proposal.tooltip2 "ช่องเหตุการณ์จะถูกเติมโดยใช้ค่าจากการโต้แย้ง โดยจะแจ้งเตือนให้ผู้เข้าร่วมทั้งหมดทราบในภายหลังไม่ว่าจะบันทึกโดยมีหรือไม่มีการเปลี่ยนแปลงเพิ่มเติม">
+<!ENTITY counter.button.original.label "ใช้ข้อมูลดั้งเดิม">
+<!ENTITY counter.button.original.accesskey "ช">
+<!ENTITY counter.button.original.tooltip2 "ช่องจะถูกตั้งเป็นค่าจากเหตุการณ์ดั้งเดิมจากเมื่อก่อนที่จะมีการสร้างการโต้แย้ง">
+
+<!-- Main page -->
+<!ENTITY event.title.textbox.label "ชื่อเรื่อง:" >
+<!ENTITY event.title.textbox.accesskey "ช">
+<!ENTITY event.location.label "ตำแหน่งที่ตั้ง:" >
+<!ENTITY event.location.accesskey "ต">
+<!ENTITY event.categories.label "หมวดหมู่:">
+<!ENTITY event.categories.accesskey "ห">
+<!ENTITY event.categories.textbox.label "เพิ่มหมวดหมู่ใหม่" >
+<!ENTITY event.calendar.label "ปฏิทิน:" >
+<!ENTITY event.calendar.accesskey "ป">
+<!ENTITY event.attendees.label "ผู้เข้าร่วม:" >
+<!ENTITY event.attendees.accesskey "ผ">
+<!ENTITY event.alldayevent.label "เหตุการณ์ตลอดวัน" >
+<!ENTITY event.alldayevent.accesskey "ห">
+<!ENTITY event.from.label "เริ่ม:" >
+<!ENTITY event.from.accesskey "ร">
+<!ENTITY task.from.label "เริ่ม:" >
+<!ENTITY task.from.accesskey "ร">
+<!ENTITY event.to.label "สิ้นสุด:" >
+<!ENTITY event.to.accesskey "ส">
+<!ENTITY task.to.label "วันที่ครบกำหนด:" >
+<!ENTITY task.to.accesskey "ว">
+<!ENTITY task.status.label "สถานะ:" >
+<!ENTITY task.status.accesskey "ส">
+<!ENTITY event.repeat.label "ทำซ้ำ:" >
+<!ENTITY event.repeat.accesskey "ท">
+<!ENTITY event.until.label "จนถึง:">
+<!ENTITY event.until.accesskey "จ">
+<!ENTITY event.reminder.label "การเตือนความจำ:" >
+<!ENTITY event.reminder.accesskey "ก">
+<!ENTITY event.description.label "คำอธิบาย:" >
+<!ENTITY event.description.accesskey "ค">
+<!ENTITY event.attachments.label "ไฟล์แนบ:" >
+<!ENTITY event.attachments.accesskey "ฟ" >
+<!ENTITY event.attachments.menubutton.label "แนบ">
+<!ENTITY event.attachments.menubutton.accesskey "น">
+<!ENTITY event.attachments.url.label "หน้าเว็บ…">
+<!ENTITY event.attachments.url.accesskey "ห">
+<!ENTITY event.attachments.popup.remove.label "เอาออก" >
+<!ENTITY event.attachments.popup.remove.accesskey "อ" >
+<!ENTITY event.attachments.popup.open.label "เปิด" >
+<!ENTITY event.attachments.popup.open.accesskey "ป" >
+<!ENTITY event.attachments.popup.removeAll.label "เอาทั้งหมดออก" >
+<!ENTITY event.attachments.popup.removeAll.accesskey "อ" >
+<!ENTITY event.attachments.popup.attachPage.label "แนบหน้าเว็บ…" >
+<!ENTITY event.attachments.popup.attachPage.accesskey "น" >
+<!ENTITY event.url.label "ลิงก์ที่เกี่ยวข้อง:" >
+<!ENTITY event.priority2.label "ความสำคัญ:">
+
+<!ENTITY event.reminder.none.label "ไม่มีการเตือนความจำ " >
+<!ENTITY event.reminder.0minutes.before.label "0 นาทีก่อนหน้า" >
+<!ENTITY event.reminder.5minutes.before.label "5 นาทีก่อนหน้า" >
+<!ENTITY event.reminder.15minutes.before.label "15 นาทีก่อนหน้า" >
+<!ENTITY event.reminder.30minutes.before.label "30 นาทีก่อนหน้า" >
+<!ENTITY event.reminder.1hour.before.label "1 ชั่วโมงก่อนหน้า" >
+<!ENTITY event.reminder.2hours.before.label "2 ชั่วโมงก่อนหน้า" >
+<!ENTITY event.reminder.12hours.before.label "12 ชั่วโมงก่อนหน้า" >
+<!ENTITY event.reminder.1day.before.label "1 วันก่อนหน้า" >
+<!ENTITY event.reminder.2days.before.label "2 วันก่อนหน้า" >
+<!ENTITY event.reminder.1week.before.label "1 สัปดาห์ก่อนหน้า" >
+<!ENTITY event.reminder.custom.label "กำหนดเอง…" >
+
+<!ENTITY event.reminder.multiple.label "การเตือนความจำหลายรายการ…" >
+
+<!ENTITY event.statusbarpanel.freebusy.label "เวลาเป็น:">
+<!ENTITY event.statusbarpanel.privacy.label "ความเป็นส่วนตัว:">
+
+<!-- Recurrence dialog -->
+<!ENTITY recurrence.title.label "แก้ไขการเกิดซ้ำ">
+
+<!ENTITY event.repeat.does.not.repeat.label "ไม่ทำซ้ำ">
+<!ENTITY event.repeat.daily.label "รายวัน">
+<!ENTITY event.repeat.weekly.label "รายสัปดาห์">
+<!ENTITY event.repeat.every.weekday.label "ทุกวันธรรมดา">
+<!ENTITY event.repeat.bi.weekly.label "รายปักษ์">
+<!ENTITY event.repeat.monthly.label "รายเดือน">
+<!ENTITY event.repeat.yearly.label "รายปี">
+<!ENTITY event.repeat.custom.label "กำหนดเอง…">
+
+<!ENTITY event.recurrence.pattern.label "รูปแบบการเกิดซ้ำ">
+<!ENTITY event.recurrence.occurs.label "ทำซ้ำ" >
+<!ENTITY event.recurrence.day.label "รายวัน" >
+<!ENTITY event.recurrence.week.label "รายสัปดาห์" >
+<!ENTITY event.recurrence.month.label "รายเดือน" >
+<!ENTITY event.recurrence.year.label "รายปี" >
+
+<!ENTITY event.recurrence.pattern.every.label "ทุก" >
+<!ENTITY repeat.units.days.both "วัน" >
+<!ENTITY event.recurrence.pattern.every.weekday.label "ทุกวันธรรมดา" >
+
+<!ENTITY event.recurrence.pattern.weekly.every.label "ทุก" >
+<!ENTITY repeat.units.weeks.both "สัปดาห์" >
+<!ENTITY event.recurrence.on.label "ใน:" >
+
+<!ENTITY event.recurrence.pattern.monthly.every.label "ทุก" >
+<!ENTITY repeat.units.months.both "เดือน" >
+<!ENTITY event.recurrence.monthly.every.label "ทุก" >
+<!ENTITY event.recurrence.monthly.first.label "แรก">
+<!ENTITY event.recurrence.monthly.second.label "ที่สอง">
+<!ENTITY event.recurrence.monthly.third.label "ที่สาม">
+<!ENTITY event.recurrence.monthly.fourth.label "ที่สี่">
+<!ENTITY event.recurrence.monthly.fifth.label "ที่ห้า">
+<!ENTITY event.recurrence.monthly.last.label "สุดท้าย">
+<!ENTITY event.recurrence.pattern.monthly.week.1.label "วันอาทิตย์" >
+<!ENTITY event.recurrence.pattern.monthly.week.2.label "วันจันทร์" >
+<!ENTITY event.recurrence.pattern.monthly.week.3.label "วันอังคาร" >
+<!ENTITY event.recurrence.pattern.monthly.week.4.label "วันพุธ" >
+<!ENTITY event.recurrence.pattern.monthly.week.5.label "วันพฤหัสบดี" >
+<!ENTITY event.recurrence.pattern.monthly.week.6.label "วันศุกร์" >
+<!ENTITY event.recurrence.pattern.monthly.week.7.label "วันเสาร์" >
+<!ENTITY event.recurrence.repeat.dayofmonth.label "วันของเดือน">
+<!ENTITY event.recurrence.repeat.recur.label "เกิดซ้ำในวัน">
+
+<!ENTITY event.recurrence.every.label "ทุก:" >
+<!ENTITY repeat.units.years.both "ปี" >
+<!ENTITY event.recurrence.pattern.yearly.every.month.label "ทุก" >
+
+<!-- LOCALIZATON NOTE
+ Some languages use a preposition when describing dates:
+ Portuguese: 6 de Setembro
+ English: 6 [of] September
+ event.recurrence.pattern.yearly.of.label is "of" in
+ Edit recurrence window -> Recurrence pattern -> Repeat yearly
+-->
+<!ENTITY event.recurrence.pattern.yearly.of.label "" >
+
+<!ENTITY event.recurrence.pattern.yearly.month.1.label "มกราคม" >
+<!ENTITY event.recurrence.pattern.yearly.month.2.label "กุมภาพันธ์" >
+<!ENTITY event.recurrence.pattern.yearly.month.3.label "มีนาคม" >
+<!ENTITY event.recurrence.pattern.yearly.month.4.label "เมษายน" >
+<!ENTITY event.recurrence.pattern.yearly.month.5.label "พฤษภาคม" >
+<!ENTITY event.recurrence.pattern.yearly.month.6.label "มิถุนายน" >
+<!ENTITY event.recurrence.pattern.yearly.month.7.label "กรกฎาคม" >
+<!ENTITY event.recurrence.pattern.yearly.month.8.label "สิงหาคม" >
+<!ENTITY event.recurrence.pattern.yearly.month.9.label "กันยายน" >
+<!ENTITY event.recurrence.pattern.yearly.month.10.label "ตุลาคม" >
+<!ENTITY event.recurrence.pattern.yearly.month.11.label "พฤศจิกายน" >
+<!ENTITY event.recurrence.pattern.yearly.month.12.label "ธันวาคม" >
+<!ENTITY event.recurrence.yearly.every.label "ทุก">
+<!ENTITY event.recurrence.yearly.first.label "แรก">
+<!ENTITY event.recurrence.yearly.second.label "ที่สอง">
+<!ENTITY event.recurrence.yearly.third.label "ที่สาม">
+<!ENTITY event.recurrence.yearly.fourth.label "ที่สี่">
+<!ENTITY event.recurrence.yearly.fifth.label "ที่ห้า">
+<!ENTITY event.recurrence.yearly.last.label "สุดท้าย">
+<!ENTITY event.recurrence.pattern.yearly.week.1.label "วันอาทิตย์" >
+<!ENTITY event.recurrence.pattern.yearly.week.2.label "วันจันทร์" >
+<!ENTITY event.recurrence.pattern.yearly.week.3.label "วันอังคาร" >
+<!ENTITY event.recurrence.pattern.yearly.week.4.label "วันพุธ" >
+<!ENTITY event.recurrence.pattern.yearly.week.5.label "วันพฤหัสบดี" >
+<!ENTITY event.recurrence.pattern.yearly.week.6.label "วันศุกร์" >
+<!ENTITY event.recurrence.pattern.yearly.week.7.label "วันเสาร์" >
+<!ENTITY event.recurrence.pattern.yearly.day.label "วัน" >
+<!ENTITY event.recurrence.of.label "ของ" >
+<!ENTITY event.recurrence.pattern.yearly.month2.1.label "มกราคม" >
+<!ENTITY event.recurrence.pattern.yearly.month2.2.label "กุมภาพันธ์" >
+<!ENTITY event.recurrence.pattern.yearly.month2.3.label "มีนาคม" >
+<!ENTITY event.recurrence.pattern.yearly.month2.4.label "เมษายน" >
+<!ENTITY event.recurrence.pattern.yearly.month2.5.label "พฤษภาคม" >
+<!ENTITY event.recurrence.pattern.yearly.month2.6.label "มิถุนายน" >
+<!ENTITY event.recurrence.pattern.yearly.month2.7.label "กรกฎาคม" >
+<!ENTITY event.recurrence.pattern.yearly.month2.8.label "สิงหาคม" >
+<!ENTITY event.recurrence.pattern.yearly.month2.9.label "กันยายน" >
+<!ENTITY event.recurrence.pattern.yearly.month2.10.label "ตุลาคม" >
+<!ENTITY event.recurrence.pattern.yearly.month2.11.label "พฤศจิกายน" >
+<!ENTITY event.recurrence.pattern.yearly.month2.12.label "ธันวาคม" >
+
+<!ENTITY event.recurrence.range.label "ช่วงของการเกิดซ้ำ">
+<!ENTITY event.recurrence.forever.label "ไม่มีวันที่สิ้นสุด" >
+<!ENTITY event.recurrence.repeat.for.label "สร้าง" >
+<!ENTITY event.recurrence.appointments.label "การนัดหมาย" >
+<!ENTITY event.repeat.until.label "ทำซ้ำจนถึง" >
+<!ENTITY event.recurrence.preview.label "แสดงตัวอย่าง">
+
+<!-- Attendees dialog -->
+<!ENTITY invite.title.label "เชิญผู้เข้าร่วม">
+<!ENTITY event.organizer.label "ผู้จัด">
+<!ENTITY event.freebusy.suggest.slot "ช่วงเวลาที่เสนอแนะ:">
+<!ENTITY event.freebusy.button.next.slot "ช่วงถัดไป">
+<!ENTITY event.freebusy.button.previous.slot "ช่วงก่อนหน้า">
+<!ENTITY event.freebusy.zoom "ซูม:">
+<!ENTITY event.freebusy.legend.free "ว่าง" >
+<!ENTITY event.freebusy.legend.busy "ไม่ว่าง" >
+<!ENTITY event.freebusy.legend.busy_tentative "ไม่แน่นอน" >
+<!ENTITY event.freebusy.legend.busy_unavailable "ไม่อยู่ที่สำนักงาน" >
+<!ENTITY event.freebusy.legend.unknown "ไม่มีข้อมูล" >
+<!ENTITY event.attendee.role.required "ผู้เข้าร่วมที่จำเป็น">
+<!ENTITY event.attendee.role.optional "ผู้เข้าร่วมเพิ่มเติม">
+<!ENTITY event.attendee.role.chair "ประธาน">
+<!ENTITY event.attendee.role.nonparticipant "ไม่ใช่ผู้เข้าร่วม">
+<!ENTITY event.attendee.usertype.individual "รายบุคคล">
+<!ENTITY event.attendee.usertype.group "กลุ่ม">
+<!ENTITY event.attendee.usertype.resource "ทรัพยากร">
+<!ENTITY event.attendee.usertype.room "ห้อง">
+<!ENTITY event.attendee.usertype.unknown "ไม่ทราบ">
+
+<!-- Timezone dialog -->
+<!ENTITY timezone.title.label "โปรดระบุเขตเวลา">
+<!ENTITY event.timezone.custom.label "เขตเวลาเพิ่มเติม…">
+
+<!-- Read-Only dialog -->
+<!ENTITY read.only.general.label "ทั่วไป">
+<!ENTITY read.only.title.label "ชื่อเรื่อง:">
+<!ENTITY read.only.calendar.label "ปฏิทิน:">
+<!ENTITY read.only.event.start.label "วันที่เริ่ม:">
+<!ENTITY read.only.task.start.label "วันที่เริ่ม:">
+<!ENTITY read.only.event.end.label "วันที่สิ้นสุด:">
+<!ENTITY read.only.task.due.label "วันที่ครบกำหนด:">
+<!ENTITY read.only.repeat.label "ทำซ้ำ:">
+<!ENTITY read.only.location.label "ตำแหน่งที่ตั้ง:">
+<!ENTITY read.only.category.label "หมวดหมู่:">
+<!ENTITY read.only.organizer.label "ผู้จัด:">
+<!ENTITY read.only.reminder.label "การเตือนความจำ:">
+<!ENTITY read.only.attachments.label "ไฟล์แนบ:">
+<!ENTITY read.only.attendees.label "ผู้เข้าร่วม">
+<!ENTITY read.only.description.label "คำอธิบาย">
+<!ENTITY read.only.link.label "ลิงก์ที่เกี่ยวข้อง">
+
+<!-- Summary dialog -->
+<!ENTITY summary.dialog.saveclose.label "บันทึกแล้วปิด">
+<!ENTITY summary.dialog.saveclose.tooltiptext "บันทึกการเปลี่ยนแปลงแล้วปิดหน้าต่างโดยไม่เปลี่ยนสถานะการเข้าร่วมและส่งการตอบสนอง">
+<!ENTITY summary.dialog.accept.label "ยอมรับ">
+<!ENTITY summary.dialog.accept.tooltiptext "ยอมรับคำเชิญ">
+<!ENTITY summary.dialog.tentative.label "ไม่แน่นอน">
+<!ENTITY summary.dialog.tentative.tooltiptext "ยอมรับคำเชิญอย่างไม่แน่นอน">
+<!ENTITY summary.dialog.decline.label "ปฏิเสธ">
+<!ENTITY summary.dialog.decline.tooltiptext "ปฏิเสธคำเชิญ">
+<!ENTITY summary.dialog.dontsend.label "ไม่ส่งการตอบสนอง">
+<!ENTITY summary.dialog.dontsend.tooltiptext "เปลี่ยนสถานะการเข้าร่วมโดยไม่ส่งการตอบกลับไปยังผู้จัดแล้วปิดหน้าต่าง">
+<!ENTITY summary.dialog.send.label "ส่งการตอบสนองตอนนี้">
+<!ENTITY summary.dialog.send.tooltiptext "ส่งการตอบสนองไปยังผู้จัดแล้วปิดหน้าต่าง">
diff --git a/l10n-th/calendar/chrome/calendar/calendar-event-dialog.properties b/l10n-th/calendar/chrome/calendar/calendar-event-dialog.properties
new file mode 100644
index 0000000000..d8668e3174
--- /dev/null
+++ b/l10n-th/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/l10n-th/calendar/chrome/calendar/calendar-extract.properties b/l10n-th/calendar/chrome/calendar/calendar-extract.properties
new file mode 100644
index 0000000000..0cb8d1fe43
--- /dev/null
+++ b/l10n-th/calendar/chrome/calendar/calendar-extract.properties
@@ -0,0 +1,265 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE:
+# 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
+
+# LOCALIZATION NOTE (end.prefix):
+# datetimes with these in front are extracted as end times
+
+# 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
+
+# LOCALIZATION NOTE (until.hour):
+# #1 = matches numbers 0-23 and number.0-number.23
+# should also list how to find end of a timeframe
+
+# 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
+
+# LOCALIZATION NOTE (until.half.hour.before):
+# denotes times 30 minutes before next full hour
+
+# LOCALIZATION NOTE (from.half.hour.after):
+# denotes times 30 minutes after last full hour
+
+# LOCALIZATION NOTE (until.half.hour.after):
+# denotes times 30 minutes after last full hour
+
+# LOCALIZATION NOTE (from.hour.minutes):
+# #1 = matches numbers 0-23
+# #2 = matches numbers 0-59
+
+# LOCALIZATION NOTE (until.hour.minutes):
+# #1 = matches numbers 0-23
+# #2 = matches numbers 0-59
+
+# LOCALIZATION NOTE (from.hour.minutes.am):
+# #1 = matches numbers 0-23
+# #2 = matches numbers 0-59
+
+# LOCALIZATION NOTE (until.hour.minutes.am):
+# #1 = matches numbers 0-23
+# #2 = matches numbers 0-59
+
+# LOCALIZATION NOTE (from.hour.minutes.pm):
+# #1 = matches numbers 0-23
+# #2 = matches numbers 0-59
+
+# LOCALIZATION NOTE (until.hour.minutes.pm):
+# #1 = matches numbers 0-23
+# #2 = matches numbers 0-59
+
+# LOCALIZATION NOTE (from.monthname.day):
+# #1 = matches numbers 1-31 and number.x
+# #2 = matches monthname
+
+# LOCALIZATION NOTE (until.monthname.day):
+# #1 = matches numbers 1-31
+# #2 = matches monthname
+
+# LOCALIZATION NOTE (from.month.day):
+# #1 = matches numbers 1-31
+# #2 = matches numbers 1-12
+
+# LOCALIZATION NOTE (until.month.day):
+# #1 = matches numbers 1-31 and number.x
+# #2 = matches numbers 1-12
+
+# LOCALIZATION NOTE (from.year.month.day):
+# #1 = matches numbers 1-31
+# #2 = matches numbers 1-12
+# #3 = matches 2/4 numbers
+
+# LOCALIZATION NOTE (until.year.month.day):
+# #1 = matches numbers 1-31
+# #2 = matches numbers 1-12
+# #3 = matches 2/4 numbers
+
+# LOCALIZATION NOTE (from.year.monthname.day):
+# #1 = matches numbers 1-31
+# #2 = matches monthname
+# #3 = matches 2/4 numbers
+
+# LOCALIZATION NOTE (until.year.monthname.day):
+# #1 = matches numbers 1-31
+# #2 = matches monthname
+# #3 = matches 2/4 numbers
+
+# 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.
+
+# 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/l10n-th/calendar/chrome/calendar/calendar-invitations-dialog.dtd b/l10n-th/calendar/chrome/calendar/calendar-invitations-dialog.dtd
new file mode 100644
index 0000000000..2b09df0f35
--- /dev/null
+++ b/l10n-th/calendar/chrome/calendar/calendar-invitations-dialog.dtd
@@ -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/.
+-->
+
+<!-- Calendar Invitations Dialog -->
+<!ENTITY calendar.invitations.dialog.invitations.text "คำเชิญ">
+<!ENTITY calendar.invitations.dialog.statusmessage.updating.text "กำลังอัปเดตรายการคำเชิญ">
+<!ENTITY calendar.invitations.dialog.statusmessage.noinvitations.text "ไม่พบคำเชิญที่ไม่ได้ยืนยัน">
+
+<!-- Calendar Invitations List -->
+<!ENTITY calendar.invitations.list.accept.button.label "ยอมรับ">
+<!ENTITY calendar.invitations.list.decline.button.label "ปฏิเสธ">
+<!ENTITY calendar.invitations.list.recurrentevent.text "เหตุการณ์ที่เกิดซ้ำ">
+<!ENTITY calendar.invitations.list.alldayevent.text "เหตุการณ์ตลอดวัน">
+<!ENTITY calendar.invitations.list.location.text "ตำแหน่งที่ตั้ง: ">
+<!ENTITY calendar.invitations.list.organizer.text "ผู้จัด: ">
+<!ENTITY calendar.invitations.list.attendee.text "ผู้เข้าร่วม: ">
+<!ENTITY calendar.invitations.list.none.text "ไม่มี">
diff --git a/l10n-th/calendar/chrome/calendar/calendar-invitations-dialog.properties b/l10n-th/calendar/chrome/calendar/calendar-invitations-dialog.properties
new file mode 100644
index 0000000000..70c46cdf70
--- /dev/null
+++ b/l10n-th/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/l10n-th/calendar/chrome/calendar/calendar-occurrence-prompt.dtd b/l10n-th/calendar/chrome/calendar/calendar-occurrence-prompt.dtd
new file mode 100644
index 0000000000..74b3bba25c
--- /dev/null
+++ b/l10n-th/calendar/chrome/calendar/calendar-occurrence-prompt.dtd
@@ -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/. -->
+
+<!ENTITY buttons.occurrence.accesskey "น">
+<!ENTITY buttons.allfollowing.accesskey "อ">
+<!ENTITY buttons.parent.accesskey "ท">
diff --git a/l10n-th/calendar/chrome/calendar/calendar-occurrence-prompt.properties b/l10n-th/calendar/chrome/calendar/calendar-occurrence-prompt.properties
new file mode 100644
index 0000000000..edd6ae9045
--- /dev/null
+++ b/l10n-th/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/l10n-th/calendar/chrome/calendar/calendar-subscriptions-dialog.dtd b/l10n-th/calendar/chrome/calendar/calendar-subscriptions-dialog.dtd
new file mode 100644
index 0000000000..0edbac15f0
--- /dev/null
+++ b/l10n-th/calendar/chrome/calendar/calendar-subscriptions-dialog.dtd
@@ -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/.
+-->
+
+<!-- Calendar Subscriptions Dialog -->
+<!ENTITY calendar.subscriptions.dialog.title "บอกรับปฏิทิน">
+<!ENTITY calendar.subscriptions.dialog.search.label.value "แสดงปฏิทินที่มี:">
+<!ENTITY calendar.subscriptions.dialog.search.button.label "ค้นหา">
+<!ENTITY calendar.subscriptions.dialog.select.label.value "เลือกปฏิทินที่จะบอกรับ:">
+<!ENTITY calendar.subscriptions.dialog.subscribe.button.label "บอกรับ">
+<!ENTITY calendar.subscriptions.dialog.unsubscribe.button.label "เลิกบอกรับ">
+<!ENTITY calendar.subscriptions.dialog.statusmessage.busy.label "ค้นหา…">
+<!ENTITY calendar.subscriptions.dialog.statusmessage.nomatches.label "ไม่พบที่ตรงกัน">
diff --git a/l10n-th/calendar/chrome/calendar/calendar.dtd b/l10n-th/calendar/chrome/calendar/calendar.dtd
new file mode 100644
index 0000000000..c337e79d9d
--- /dev/null
+++ b/l10n-th/calendar/chrome/calendar/calendar.dtd
@@ -0,0 +1,411 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!-- General -->
+<!ENTITY calendar.calendar.label "ปฏิทิน">
+<!ENTITY calendar.calendar.accesskey "ป">
+
+<!ENTITY calendar.newevent.button.tooltip "สร้างเหตุการณ์ใหม่" >
+<!ENTITY calendar.newtask.button.tooltip "สร้างงานใหม่" >
+
+<!ENTITY calendar.unifinder.todoitems.label "งาน" >
+
+<!ENTITY calendar.unifinder.showcompletedtodos.label "แสดงงานที่เสร็จสมบูรณ์">
+
+<!ENTITY calendar.today.button.label "วันนี้">
+<!ENTITY calendar.tomorrow.button.label "พรุ่งนี้">
+<!ENTITY calendar.upcoming.button.label "กำลังจะมาถึง">
+
+<!ENTITY calendar.events.filter.all.label "เหตุการณ์ทั้งหมด">
+<!ENTITY calendar.events.filter.today.label "เหตุการณ์วันนี้">
+<!ENTITY calendar.events.filter.future.label "เหตุการณ์ในอนาคตทั้งหมด">
+<!ENTITY calendar.events.filter.current.label "วันที่เลือกปัจจุบัน">
+<!ENTITY calendar.events.filter.currentview.label "เหตุการณ์ในมุมมองปัจจุบัน">
+<!ENTITY calendar.events.filter.next7Days.label "เหตุการณ์ใน 7 วันถัดไป">
+<!ENTITY calendar.events.filter.next14Days.label "เหตุการณ์ใน 14 วันถัดไป">
+<!ENTITY calendar.events.filter.next31Days.label "เหตุการณ์ใน 31 วันถัดไป">
+<!ENTITY calendar.events.filter.thisCalendarMonth.label "เหตุการณ์ในเดือนปฏิทินนี้">
+
+<!-- LOCALIZATION NOTE(calendar.unifinder.tree.done.tooltip)
+ - This label and tooltip is used for the column with the checkbox in the
+ - task tree view. -->
+<!ENTITY calendar.unifinder.tree.done.label "เสร็จสิ้น">
+<!ENTITY calendar.unifinder.tree.done.tooltip2 "เรียงตามความเสร็จสมบูรณ์">
+<!ENTITY calendar.unifinder.tree.priority.label "ความสำคัญ">
+<!ENTITY calendar.unifinder.tree.priority.tooltip2 "เรียงตามความสำคัญ">
+<!ENTITY calendar.unifinder.tree.title.label "ชื่อเรื่อง">
+<!ENTITY calendar.unifinder.tree.title.tooltip2 "เรียงตามชื่อเรื่อง">
+<!ENTITY calendar.unifinder.tree.percentcomplete.label "เสร็จสมบูรณ์ &#37;">
+<!ENTITY calendar.unifinder.tree.percentcomplete.tooltip2 "เรียงตามเสร็จสมบูรณ์ &#37;">
+<!ENTITY calendar.unifinder.tree.startdate.label "เริ่ม">
+<!ENTITY calendar.unifinder.tree.startdate.tooltip2 "เรียงตามวันที่เริ่ม">
+<!ENTITY calendar.unifinder.tree.enddate.label "สิ้นสุด">
+<!ENTITY calendar.unifinder.tree.enddate.tooltip2 "เรียงตามวันที่สิ้นสุด">
+<!ENTITY calendar.unifinder.tree.duedate.label "ครบกำหนด">
+<!ENTITY calendar.unifinder.tree.duedate.tooltip2 "เรียงตามวันที่ครบกำหนด">
+<!ENTITY calendar.unifinder.tree.completeddate.label "เสร็จสมบูรณ์">
+<!ENTITY calendar.unifinder.tree.completeddate.tooltip2 "เรียงตามวันที่เสร็จสมบูรณ์">
+<!ENTITY calendar.unifinder.tree.categories.label "หมวดหมู่">
+<!ENTITY calendar.unifinder.tree.categories.tooltip2 "เรียงตามหมวดหมู่">
+<!ENTITY calendar.unifinder.tree.location.label "ตำแหน่งที่ตั้ง">
+<!ENTITY calendar.unifinder.tree.location.tooltip2 "เรียงตามตำแหน่งที่ตั้ง">
+<!ENTITY calendar.unifinder.tree.status.label "สถานะ">
+<!ENTITY calendar.unifinder.tree.status.tooltip2 "เรียงตามสถานะ">
+<!ENTITY calendar.unifinder.tree.calendarname.label "ชื่อปฏิทิน">
+<!ENTITY calendar.unifinder.tree.calendarname.tooltip2 "เรียงตามชื่อปฏิทิน">
+<!ENTITY calendar.unifinder.tree.duration.label "ครบกำหนดใน">
+<!ENTITY calendar.unifinder.tree.duration.tooltip2 "เรียงตามเวลาจนถึงครบกำหนด">
+<!ENTITY calendar.unifinder.close.tooltip "ปิดการค้นหาเหตุการณ์และรายการเหตุการณ์">
+
+<!ENTITY calendar.today.button.tooltip "ไปยังวันนี้" >
+<!ENTITY calendar.todaypane.button.tooltip "แสดงบานหน้าต่างวันนี้" >
+
+<!ENTITY calendar.day.button.tooltip "สลับเป็นมุมมองวัน" >
+<!ENTITY calendar.week.button.tooltip "สลับเป็นมุมมองสัปดาห์" >
+<!ENTITY calendar.month.button.tooltip "สลับเป็นมุมมองเดือน" >
+<!ENTITY calendar.multiweek.button.tooltip "สลับเป็นมุมมองหลายสัปดาห์" >
+
+<!ENTITY calendar.nextday.label "วันถัดไป" >
+<!ENTITY calendar.prevday.label "วันก่อนหน้า" >
+<!ENTITY calendar.nextday.accesskey "ว" >
+<!ENTITY calendar.prevday.accesskey "น" >
+<!ENTITY calendar.nextweek.label "สัปดาห์ถัดไป" >
+<!ENTITY calendar.prevweek.label "สัปดาห์ก่อนหน้า" >
+<!ENTITY calendar.nextweek.accesskey "ส" >
+<!ENTITY calendar.prevweek.accesskey "ป" >
+<!ENTITY calendar.nextmonth.label "เดือนถัดไป" >
+<!ENTITY calendar.prevmonth.label "เดือนก่อนหน้า" >
+<!ENTITY calendar.nextmonth.accesskey "ด" >
+<!ENTITY calendar.prevmonth.accesskey "อ" >
+
+<!ENTITY calendar.navigation.nextday.tooltip "เดินหน้าหนึ่งวัน" >
+<!ENTITY calendar.navigation.prevday.tooltip "ย้อนกลับหนึ่งวัน" >
+<!ENTITY calendar.navigation.nextweek.tooltip "เดินหน้าหนึ่งสัปดาห์" >
+<!ENTITY calendar.navigation.prevweek.tooltip "ย้อนกลับหนึ่งสัปดาห์" >
+<!ENTITY calendar.navigation.nextmonth.tooltip "เดินหน้าหนึ่งเดือน" >
+<!ENTITY calendar.navigation.prevmonth.tooltip "ย้อนกลับหนึ่งเดือน" >
+
+<!ENTITY calendar.newevent.button.label "เหตุการณ์ใหม่" >
+<!ENTITY calendar.newtask.button.label "งานใหม่" >
+<!ENTITY calendar.print.button.label "พิมพ์" >
+<!ENTITY calendar.print.button.accesskey "พ">
+
+<!ENTITY calendar.day.button.label "วัน" >
+<!ENTITY calendar.week.button.label "สัปดาห์" >
+<!ENTITY calendar.month.button.label "เดือน" >
+<!ENTITY calendar.multiweek.button.label "หลายสัปดาห์" >
+<!ENTITY calendar.onlyworkday.checkbox.label "วันทำงานเท่านั้น" >
+<!ENTITY calendar.onlyworkday.checkbox.accesskey "ท" >
+<!ENTITY calendar.displaytodos.checkbox.label "งานในมุมมอง" >
+<!ENTITY calendar.displaytodos.checkbox.accesskey "ง" >
+<!ENTITY calendar.completedtasks.checkbox.label "แสดงงานที่เสร็จสมบูรณ์" >
+<!ENTITY calendar.completedtasks.checkbox.accesskey "ร" >
+
+<!ENTITY calendar.orientation.label "หมุนมุมมอง" >
+<!ENTITY calendar.orientation.accesskey "ห" >
+
+<!ENTITY calendar.search.options.searchfor " มี">
+
+<!ENTITY calendar.list.header.label "ปฏิทิน">
+
+<!ENTITY calendar.task.filter.title.label "แสดง">
+<!ENTITY calendar.task.filter.all.label "ทั้งหมด">
+<!ENTITY calendar.task.filter.all.accesskey "ท">
+<!ENTITY calendar.task.filter.today.label "วันนี้">
+<!ENTITY calendar.task.filter.today.accesskey "ว">
+<!ENTITY calendar.task.filter.next7days.label "เจ็ดวันถัดไป">
+<!ENTITY calendar.task.filter.next7days.accesskey "จ">
+<!ENTITY calendar.task.filter.notstarted.label "งานที่ยังไม่ได้เริ่ม">
+<!ENTITY calendar.task.filter.notstarted.accesskey "ง">
+<!ENTITY calendar.task.filter.overdue.label "งานที่เกินกำหนด">
+<!ENTITY calendar.task.filter.overdue.accesskey "น">
+<!ENTITY calendar.task.filter.completed.label "งานที่เสร็จสมบูรณ์">
+<!ENTITY calendar.task.filter.completed.accesskey "ส">
+<!ENTITY calendar.task.filter.open.label "งานที่ยังไม่เสร็จสมบูรณ์">
+<!ENTITY calendar.task.filter.open.accesskey "ย">
+
+<!-- LOCALIZATION NOTE(calendar.task.filter.current.label)
+ "Current Tasks" will show all tasks, except those with a start date set
+ that is after today and after the selected date. If a task repeats, a
+ separate entry will be shown for each of the occurrences that happen on or
+ before today (or the selected date, whichever is later). -->
+<!ENTITY calendar.task.filter.current.label "งานปัจจุบัน">
+<!ENTITY calendar.task.filter.current.accesskey "ป">
+
+<!ENTITY calendar.task-details.title.label "ชื่อเรื่อง">
+<!ENTITY calendar.task-details.organizer.label "จาก">
+<!ENTITY calendar.task-details.priority.label "ความสำคัญ">
+<!ENTITY calendar.task-details.priority.low.label "ต่ำ">
+<!ENTITY calendar.task-details.priority.normal.label "ปกติ">
+<!ENTITY calendar.task-details.priority.high.label "สูง">
+<!ENTITY calendar.task-details.status.label "สถานะ">
+<!ENTITY calendar.task-details.category.label "หมวดหมู่">
+<!ENTITY calendar.task-details.repeat.label "ทำซ้ำ">
+<!ENTITY calendar.task-details.attachments.label "ไฟล์แนบ">
+<!ENTITY calendar.task-details.start.label "วันที่เริ่ม">
+<!ENTITY calendar.task-details.due.label "วันที่ครบกำหนด">
+
+<!ENTITY calendar.task.category.button.tooltip "จัดหมวดหมู่งาน">
+<!ENTITY calendar.task.complete.button.tooltip "ทำเครื่องหมายงานที่เลือกว่าเสร็จสมบูรณ์">
+<!ENTITY calendar.task.priority.button.tooltip "เปลี่ยนความสำคัญ">
+
+<!ENTITY calendar.task.text-filter.textbox.emptytext.base1 "กรองงาน #1">
+<!ENTITY calendar.task.text-filter.textbox.emptytext.keylabel.nonmac "&lt;Ctrl+Shift+K&gt;">
+<!ENTITY calendar.task.text-filter.textbox.emptytext.keylabel.mac "&lt;&#x21E7;&#x2318;K&gt;">
+
+<!-- Context Menu -->
+<!ENTITY calendar.context.modifyorviewitem.label "เปิด">
+<!ENTITY calendar.context.modifyorviewitem.accesskey "ป">
+<!ENTITY calendar.context.modifyorviewtask.label "เปิดงาน…">
+<!ENTITY calendar.context.modifyorviewtask.accesskey "ป">
+<!ENTITY calendar.context.newevent.label "เหตุการณ์ใหม่…">
+<!ENTITY calendar.context.newevent.accesskey "ห">
+<!ENTITY calendar.context.newtodo.label "งานใหม่…">
+<!ENTITY calendar.context.newtodo.accesskey "ง">
+<!ENTITY calendar.context.deletetask.label "ลบงาน">
+<!ENTITY calendar.context.deletetask.accesskey "ล">
+<!ENTITY calendar.context.deleteevent.label "ลบเหตุการณ์">
+<!ENTITY calendar.context.deleteevent.accesskey "ล">
+<!ENTITY calendar.context.cutevent.label "ตัด">
+<!ENTITY calendar.context.cutevent.accesskey "ต">
+<!ENTITY calendar.context.copyevent.label "คัดลอก">
+<!ENTITY calendar.context.copyevent.accesskey "ค">
+<!ENTITY calendar.context.pasteevent.label "วาง">
+<!ENTITY calendar.context.pasteevent.accesskey "ว">
+<!ENTITY calendar.context.button.label "บานหน้าต่างวันนี้">
+<!ENTITY calendar.context.button.accesskey "บ">
+
+<!ENTITY calendar.context.attendance.menu.label "การเข้าร่วม">
+<!ENTITY calendar.context.attendance.menu.accesskey "ก">
+<!ENTITY calendar.context.attendance.occurrence.label "เหตุการณ์นี้">
+<!ENTITY calendar.context.attendance.all2.label "ชุดข้อมูลแบบสมบูรณ์">
+<!ENTITY calendar.context.attendance.send.label "ส่งการแจ้งเตือนตอนนี้">
+<!ENTITY calendar.context.attendance.send.accesskey "ส">
+<!ENTITY calendar.context.attendance.dontsend.label "ไม่ส่งการแจ้งเตือน">
+<!ENTITY calendar.context.attendance.dontsend.accesskey "ม">
+
+<!ENTITY calendar.context.attendance.occ.accepted.accesskey "ย">
+<!ENTITY calendar.context.attendance.occ.accepted.label "ยอมรับแล้ว">
+<!ENTITY calendar.context.attendance.occ.tentative.accesskey "อ">
+<!ENTITY calendar.context.attendance.occ.tentative.label "ยอมรับอย่างไม่แน่นอนแล้ว">
+<!ENTITY calendar.context.attendance.occ.declined.accesskey "ป">
+<!ENTITY calendar.context.attendance.occ.declined.label "ปฏิเสธแล้ว">
+<!ENTITY calendar.context.attendance.occ.delegated.accesskey "ม">
+<!ENTITY calendar.context.attendance.occ.delegated.label "มอบหมายแล้ว">
+<!ENTITY calendar.context.attendance.occ.needsaction.accesskey "ย">
+<!ENTITY calendar.context.attendance.occ.needsaction.label "ยังต้องการการกระทำ">
+<!ENTITY calendar.context.attendance.occ.inprogress.accesskey "ด">
+<!ENTITY calendar.context.attendance.occ.inprogress.label "ดำเนินการอยู่">
+<!ENTITY calendar.context.attendance.occ.completed.accesskey "ส">
+<!ENTITY calendar.context.attendance.occ.completed.label "เสร็จสมบูรณ์">
+
+<!ENTITY calendar.context.attendance.all.accepted.accesskey "ย">
+<!ENTITY calendar.context.attendance.all.accepted.label "ยอมรับแล้ว">
+<!ENTITY calendar.context.attendance.all.tentative.accesskey "อ">
+<!ENTITY calendar.context.attendance.all.tentative.label "ยอมรับอย่างไม่แน่นอนแล้ว">
+<!ENTITY calendar.context.attendance.all.declined.accesskey "ป">
+<!ENTITY calendar.context.attendance.all.declined.label "ปฏิเสธแล้ว">
+<!ENTITY calendar.context.attendance.all.delegated.accesskey "ม">
+<!ENTITY calendar.context.attendance.all.delegated.label "มอบหมายแล้ว">
+<!ENTITY calendar.context.attendance.all.needsaction.accesskey "ย">
+<!ENTITY calendar.context.attendance.all.needsaction.label "ยังต้องการการกระทำ">
+<!ENTITY calendar.context.attendance.all.inprogress.accesskey "ด">
+<!ENTITY calendar.context.attendance.all.inprogress.label "ดำเนินการอยู่">
+<!ENTITY calendar.context.attendance.all.completed.accesskey "ส">
+<!ENTITY calendar.context.attendance.all.completed.label "เสร็จสมบูรณ์">
+
+<!-- Task Context Menu -->
+<!ENTITY calendar.context.progress.label "ความคืบหน้า">
+<!ENTITY calendar.context.progress.accesskey "ค">
+<!ENTITY calendar.context.priority.label "ความสำคัญ">
+<!ENTITY calendar.context.priority.accesskey "ว">
+<!ENTITY calendar.context.postpone.label "เลื่อนงาน">
+<!ENTITY calendar.context.postpone.accesskey "ล">
+
+<!ENTITY percnt "&#38;#37;" ><!--=percent sign-->
+
+<!ENTITY calendar.context.markcompleted.label "ทำเครื่องหมายว่าเสร็จสมบูรณ์">
+<!ENTITY calendar.context.markcompleted.accesskey "ท">
+
+<!ENTITY progress.level.0 "เสร็จสมบูรณ์ 0&percnt;">
+<!ENTITY progress.level.0.accesskey "0">
+<!ENTITY progress.level.25 "เสร็จสมบูรณ์ 25&percnt;">
+<!ENTITY progress.level.25.accesskey "2">
+<!ENTITY progress.level.50 "เสร็จสมบูรณ์ 50&percnt;">
+<!ENTITY progress.level.50.accesskey "5">
+<!ENTITY progress.level.75 "เสร็จสมบูรณ์ 75&percnt;">
+<!ENTITY progress.level.75.accesskey "7">
+<!ENTITY progress.level.100 "เสร็จสมบูรณ์ 100&percnt;">
+<!ENTITY progress.level.100.accesskey "1">
+
+<!ENTITY priority.level.none "ไม่ระบุ">
+<!ENTITY priority.level.none.accesskey "ม">
+<!ENTITY priority.level.low "ต่ำ">
+<!ENTITY priority.level.low.accesskey "ต">
+<!ENTITY priority.level.normal "ปกติ">
+<!ENTITY priority.level.normal.accesskey "ป">
+<!ENTITY priority.level.high "สูง">
+<!ENTITY priority.level.high.accesskey "ส">
+
+<!ENTITY calendar.context.postpone.1hour.label "1 ชั่วโมง">
+<!ENTITY calendar.context.postpone.1hour.accesskey "ช">
+<!ENTITY calendar.context.postpone.1day.label "1 วัน">
+<!ENTITY calendar.context.postpone.1day.accesskey "ว">
+<!ENTITY calendar.context.postpone.1week.label "1 สัปดาห์">
+<!ENTITY calendar.context.postpone.1week.accesskey "ส">
+
+<!ENTITY calendar.copylink.label "คัดลอกตำแหน่งที่ตั้งลิงก์">
+<!ENTITY calendar.copylink.accesskey "ค">
+
+<!-- Task View -->
+<!-- Note that the above *.context.* strings are currently used for the other
+ task action buttons -->
+<!ENTITY calendar.taskview.delete.label "ลบ">
+
+<!-- Server Context Menu -->
+<!ENTITY calendar.context.newserver.label "ปฏิทินใหม่…">
+<!ENTITY calendar.context.newserver.accesskey "ป">
+<!ENTITY calendar.context.findcalendar.label "ค้นหาปฏิทิน…" >
+<!ENTITY calendar.context.findcalendar.accesskey "ค" >
+<!ENTITY calendar.context.deleteserver2.label "ลบปฏิทิน…">
+<!ENTITY calendar.context.deleteserver2.accesskey "ล">
+
+<!-- LOCALIZATION NOTE (calendar.context.removeserver.label): Removing the
+ calendar is the general action of removing it, while deleting means to
+ clear the data and unsubscribing means just taking it out of the calendar
+ list. -->
+<!ENTITY calendar.context.removeserver.label "เอาปฏิทินออก…">
+<!ENTITY calendar.context.removeserver.accesskey "อ">
+<!ENTITY calendar.context.unsubscribeserver.label "เลิกบอกรับปฏิทิน…">
+<!ENTITY calendar.context.unsubscribeserver.accesskey "ล">
+<!ENTITY calendar.context.synccalendars.label "ประสานปฏิทิน">
+<!ENTITY calendar.context.synccalendars.accesskey "ป">
+<!ENTITY calendar.context.publish.label "เผยแพร่ปฏิทิน…">
+<!ENTITY calendar.context.publish.accesskey "ผ">
+<!ENTITY calendar.context.export.label "ส่งออกปฏิทิน…">
+<!ENTITY calendar.context.export.accesskey "ส">
+<!ENTITY calendar.context.properties.label "คุณสมบัติ">
+<!ENTITY calendar.context.properties.accesskey "ค">
+
+<!-- LOCALIZATION NOTE (calendar.context.showcalendar.accesskey)
+ This is the access key used for the showCalendar string -->
+<!ENTITY calendar.context.showcalendar.accesskey "ส">
+
+<!-- LOCALIZATION NOTE (calendar.context.hidecalendar.accesskey)
+ This is the access key used for the hideCalendar string -->
+<!ENTITY calendar.context.hidecalendar.accesskey "อ">
+
+<!-- LOCALIZATION NOTE (calendar.context.showonly.accesskey)
+ This is the access key used for the showOnlyCalendar string -->
+<!ENTITY calendar.context.showonly.accesskey "ช">
+<!ENTITY calendar.context.showall.label "แสดงปฏิทินทั้งหมด">
+<!ENTITY calendar.context.showall.accesskey "ส">
+
+<!ENTITY calendar.context.convertmenu.label "แปลงเป็น">
+<!ENTITY calendar.context.convertmenu.accesskey.mail "ป">
+<!ENTITY calendar.context.convertmenu.accesskey.calendar "ป">
+<!ENTITY calendar.context.convertmenu.event.label "เหตุการณ์…">
+<!ENTITY calendar.context.convertmenu.event.accesskey "ห">
+<!ENTITY calendar.context.convertmenu.message.label "ข้อความ…">
+<!ENTITY calendar.context.convertmenu.message.accesskey "ข">
+<!ENTITY calendar.context.convertmenu.task.label "งาน…">
+<!ENTITY calendar.context.convertmenu.task.accesskey "ง">
+
+<!ENTITY calendar.tasks.view.minimonth.label "เดือนขนาดเล็ก">
+<!ENTITY calendar.tasks.view.minimonth.accesskey "ด">
+
+<!ENTITY calendar.tasks.view.calendarlist.label "รายการปฏิทิน">
+<!ENTITY calendar.tasks.view.calendarlist.accesskey "ร">
+
+<!ENTITY calendar.tasks.view.filtertasks.label "กรองงาน">
+<!ENTITY calendar.tasks.view.filtertasks.accesskey "ก">
+
+<!-- Calendar Alarm Dialog -->
+
+<!ENTITY calendar.alarm.location.label "ตำแหน่งที่ตั้ง:" >
+<!ENTITY calendar.alarm.details.label "รายละเอียด…" >
+
+<!ENTITY calendar.alarm.snoozefor.label "เลื่อนไป" >
+<!ENTITY calendar.alarm.snoozeallfor.label "เลือกทั้งหมดไป" >
+<!ENTITY calendar.alarm.title.label "การเตือนความจำปฏิทิน" >
+<!ENTITY calendar.alarm.dismiss.label "ยกเลิก" >
+<!ENTITY calendar.alarm.dismissall.label "ยกเลิกทั้งหมด" >
+
+<!ENTITY calendar.alarm.snooze.5minutes.label "5 นาที" >
+<!ENTITY calendar.alarm.snooze.10minutes.label "10 นาที" >
+<!ENTITY calendar.alarm.snooze.15minutes.label "15 นาที" >
+<!ENTITY calendar.alarm.snooze.30minutes.label "30 นาที" >
+<!ENTITY calendar.alarm.snooze.45minutes.label "45 นาที" >
+<!ENTITY calendar.alarm.snooze.1hour.label "1 ชั่วโมง" >
+<!ENTITY calendar.alarm.snooze.2hours.label "2 ชั่วโมง" >
+<!ENTITY calendar.alarm.snooze.1day.label "1 วัน" >
+
+<!-- LOCALIZATION NOTE (calendar.alarm.snooze.cancel)
+ This string is not seen in the UI, it is read by screen readers when the
+ user focuses the "Cancel" button in the "Snooze for..." popup of the alarm
+ dialog. -->
+<!ENTITY calendar.alarm.snooze.cancel "ยกเลิกการเลื่อน">
+
+<!-- Calendar Server Dialog -->
+<!ENTITY calendar.server.dialog.title.edit "แก้ไขปฏิทิน">
+<!ENTITY calendar.server.dialog.name.label "ชื่อปฏิทิน:">
+
+<!-- Calendar Properties -->
+<!ENTITY calendarproperties.color.label "สี:">
+<!ENTITY calendarproperties.webdav.label "iCalendar (ICS)">
+<!ENTITY calendarproperties.caldav.label "CalDAV">
+<!ENTITY calendarproperties.wcap.label "Sun Java System Calendar Server (WCAP)">
+<!ENTITY calendarproperties.format.label "รูปแบบ:">
+<!ENTITY calendarproperties.location.label "ตำแหน่งที่ตั้ง:">
+<!ENTITY calendarproperties.refreshInterval.label "เรียกปฏิทินใหม่:">
+<!ENTITY calendarproperties.refreshInterval.manual.label "ด้วยตนเอง">
+<!ENTITY calendarproperties.name.label "ชื่อ:">
+<!ENTITY calendarproperties.readonly.label "อ่านอย่างเดียว">
+<!ENTITY calendarproperties.firealarms.label "แสดงการเตือนความจำ">
+<!ENTITY calendarproperties.cache3.label "การสนับสนุนออฟไลน์">
+<!ENTITY calendarproperties.enabled.label "เปิดปฏิทินนี้">
+<!ENTITY calendarproperties.enabled2.label "เปิดใช้ปฏิทินนี้">
+<!ENTITY calendarproperties.forceDisabled.label "ไม่พบผู้ให้บริการสำหรับปฏิทินนี้ สิ่งนี้มักจะเกิดขึ้นหากคุณปิดใช้งานหรือถอนการติดตั้งส่วนเสริมบางตัว">
+<!ENTITY calendarproperties.unsubscribe.label "เลิกบอกรับ">
+<!ENTITY calendarproperties.unsubscribe.accesskey "ล">
+
+<!-- Calendar Publish Dialog -->
+<!ENTITY calendar.publish.dialog.title "เผยแพร่ปฏิทิน">
+<!ENTITY calendar.publish.url.label "URL การเผยแพร่">
+<!ENTITY calendar.publish.publish.button "เผยแพร่">
+<!ENTITY calendar.publish.close.button "ปิด">
+
+<!ENTITY calendar.publish.example.url.description "บางอย่างเช่น http://www.myserver.com/webdav/test.ics">
+
+<!-- Select Calendar Dialog -->
+<!ENTITY calendar.select.dialog.title "เลือกปฏิทิน">
+
+<!-- Calendar Printing -->
+<!ENTITY calendar.print.window.title "พิมพ์ปฏิทิน">
+<!ENTITY calendar.print.title.label "ชื่อเรื่อง:">
+<!ENTITY calendar.print.layout.label "เค้าโครง:">
+<!ENTITY calendar.print.range.label "สิ่งที่จะพิมพ์">
+<!ENTITY calendar.print.currentView2.label "มุมมองปัจจุบัน">
+<!ENTITY calendar.print.selectedEventsAndTasks.label "เหตุการณ์/งานที่เลือก">
+<!ENTITY calendar.print.tasks.label "งาน">
+<!ENTITY calendar.print.events.label "เหตุการณ์">
+<!ENTITY calendar.print.custom.label "ช่วงวันที่ที่กำหนดเอง:">
+<!ENTITY calendar.print.from.label "จาก:">
+<!ENTITY calendar.print.to.label "ถึง:">
+<!ENTITY calendar.print.settingsGroup.label "การตั้งค่าการพิมพ์">
+<!ENTITY calendar.print.optionsGroup.label "ตัวเลือก">
+<!ENTITY calendar.print.taskswithnoduedate.label "งานที่ไม่มีวันครบกำหนด">
+<!ENTITY calendar.print.completedtasks.label "งานที่เสร็จสมบูรณ์">
+
+<!-- Error reporting -->
+<!ENTITY calendar.error.detail "รายละเอียด…">
+<!ENTITY calendar.error.code "รหัสข้อผิดพลาด:">
+<!ENTITY calendar.error.description "คำอธิบาย:">
+<!ENTITY calendar.error.title "เกิดข้อผิดพลาด">
+
+<!-- Extract buttons in message header -->
+<!ENTITY calendar.extract.event.button "เพิ่มเป็นเหตุการณ์">
+<!ENTITY calendar.extract.task.button "เพิ่มเป็นงาน">
+<!ENTITY calendar.extract.event.button.tooltip "แยกข้อมูลปฏิทินจากข้อความและเพิ่มลงในปฏิทินของคุณเป็นเหตุการณ์">
+<!ENTITY calendar.extract.task.button.tooltip "แยกข้อมูลปฏิทินจากข้อความและเพิ่มลงในปฏิทินของคุณเป็นงาน">
diff --git a/l10n-th/calendar/chrome/calendar/calendar.properties b/l10n-th/calendar/chrome/calendar/calendar.properties
new file mode 100644
index 0000000000..bf79529c9a
--- /dev/null
+++ b/l10n-th/calendar/chrome/calendar/calendar.properties
@@ -0,0 +1,804 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.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 (noItemsInCalendarFile):
+# %1$S will be replaced with file path
+noItemsInCalendarFile=ไม่สามารถนำเข้าจาก %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 สำหรับใช้งาน และจะไม่สามารถใช้งานได้
+unknownTimezonesError=เกิดข้อผิดพลาดในการเตรียมปฏิทินที่ตั้งอยู่ที่ %1$S สำหรับใช้งาน อาจเป็นเพราะปฏิทินอ้างอิงเขตเวลาที่ไม่ทราบ โปรดติดตั้ง calendar-timezones.xpi ล่าสุด
+missingCalendarTimezonesError=ไม่พบเขตเวลา! โปรดติดตั้ง calendar-timezones.xpi
+
+# 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
+tooNewSchemaErrorBoxTitle=ปฏิทินของคุณเข้ากันไม่ได้กับ %1$S รุ่นนี้
+
+# LOCALIZATION NOTE (tooNewSchemaErrorBoxTextLightning):
+# %1$S will be replaced with the name of the calendar application e.g. 'Lightning'
+# %2$S will be replaced with the name of the host application 'calendar'
+tooNewSchemaErrorBoxTextLightning=ข้อมูลปฏิทินในโปรไฟล์ของคุณถูกอัปเดตโดย %1$S รุ่นใหม่ และการดำเนินการต่ออาจจะส่งผลให้ข้อมูลสูญหายหรือเสียดายได้ %1$S จะถูกปิดใช้งานและ %2$S จะเริ่มการทำงานใหม่
+
+# LOCALIZATION NOTE (tooNewSchemaButtonRestart):
+# %1$S will be replaced with the name of the host application 'Calendar'
+tooNewSchemaButtonRestart=เริ่มการทำงาน %1$S ใหม่
+
+# LOCALIZATION NOTE (tooNewSchemaButtonQuit):
+# %1$S will be replaced with the name of the host application 'Calendar'
+tooNewSchemaButtonQuit=ออกจาก %1$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 <email address> 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 <email address> 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 <email address> 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 <email address> 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 <email address> 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
+
+# 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/l10n-th/calendar/chrome/calendar/calendarCreation.dtd b/l10n-th/calendar/chrome/calendar/calendarCreation.dtd
new file mode 100644
index 0000000000..dd74b929c9
--- /dev/null
+++ b/l10n-th/calendar/chrome/calendar/calendarCreation.dtd
@@ -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/. -->
+
+<!ENTITY wizard.title "สร้างปฏิทินใหม่" >
+<!ENTITY wizard.label "สร้างปฏิทินใหม่" >
+<!ENTITY wizard.description "ระบุตำแหน่งปฏิทินของคุณ" >
+
+<!ENTITY initialpage.description "สามารถเก็บปฏิทินของคุณไว้ในคอมพิวเตอร์ของคุณหรือในเซิร์ฟเวอร์เพื่อให้สามารถเข้าถึงได้จากระยะไกลหรือแบ่งปันกับเพื่อนร่วมงานของคุณได้" >
+<!ENTITY initialpage.computer.label "ในคอมพิวเตอร์ของฉัน">
+<!ENTITY initialpage.network.label "ในเครือข่าย">
+
+<!ENTITY locationpage.description "ระบุข้อมูลเกี่ยวกับสิ่งที่จำเป็นในการเข้าถึงปฏิทินระยะไกลของคุณ" >
+<!ENTITY locationpage.login.description "เพิ่มเติม: ป้อนชื่อผู้ใช้และรหัสผ่าน" >
+<!ENTITY locationpage.username.label "ชื่อผู้ใช้:" >
+<!ENTITY locationpage.password.label "รหัสผ่าน:" >
+
+<!ENTITY custompage.shortdescription "ปรับแต่งปฏิทินของคุณ" >
+<!ENTITY custompage.longdescription "คุณสามารถตั้งชื่อเล่นปฏิทินของคุณและใส่สีเหตุการณ์จากปฏิทินนี้" >
+
+<!ENTITY finishpage.shortdescription "สร้างปฏิทินแล้ว" >
+<!ENTITY finishpage.longdescription "สร้างปฏิทินของคุณแล้ว" >
+
+<!-- Below are new strings for the revised new calendar dialog. The above strings should be
+ removed/renamed later on -->
+
+<!ENTITY sourcetabs.other.label "อื่น ๆ">
+
+<!ENTITY buttons.create.label "สร้างปฏิทิน">
+<!ENTITY buttons.create.accesskey "ส">
+
+<!ENTITY buttons.find.label "ค้นหาปฏิทิน">
+<!ENTITY buttons.find.accesskey "ค">
+
+<!ENTITY buttons.back.label "ย้อนกลับ">
+<!ENTITY buttons.back.accesskey "ย">
+
+<!ENTITY buttons.subscribe.label "บอกรับ">
+<!ENTITY buttons.subscribe.accesskey "บ">
+
+<!ENTITY calendartype.label "ชนิดปฏิทิน:">
+<!ENTITY location.label "ตำแหน่งที่ตั้ง:">
+<!ENTITY location.placeholder "URL หรือชื่อโฮสต์ของเซิร์ฟเวอร์ปฏิทิน">
+
+<!ENTITY network.nocredentials.label "ตำแหน่งที่ตั้งนี้ไม่ต้องการข้อมูลรับรอง">
+<!ENTITY network.loading.description "โปรดรอในขณะที่กำลังค้นพบปฏิทินของคุณ">
+<!ENTITY network.notfound.description "ไม่พบปฏิทินที่ตำแหน่งที่ตั้งนี้ โปรดตรวจสอบการตั้งค่าของคุณ">
+<!ENTITY network.authfail.description "ไม่ยอมรับข้อมูลรับรองที่คุณป้อน โปรดตรวจสอบการตั้งค่าของคุณ">
+
+<!ENTITY network.subscribe.single.description "โปรดเลือกปฏิทินที่คุณต้องการบอกรับ">
+<!ENTITY network.subscribe.multiple.description "มีปฏิทินหลายชนิดสำหรับตำแหน่งที่ตั้งนี้ โปรดเลือกชนิดปฏิทิน จากนั้นทำเครื่องหมายปฏิทินที่คุณต้องการบอกรับ">
diff --git a/l10n-th/calendar/chrome/calendar/calendarCreation.properties b/l10n-th/calendar/chrome/calendar/calendarCreation.properties
new file mode 100644
index 0000000000..a2d649e7fa
--- /dev/null
+++ b/l10n-th/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/l10n-th/calendar/chrome/calendar/categories.properties b/l10n-th/calendar/chrome/calendar/categories.properties
new file mode 100644
index 0000000000..e4fb8c88e3
--- /dev/null
+++ b/l10n-th/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/l10n-th/calendar/chrome/calendar/dateFormat.properties b/l10n-th/calendar/chrome/calendar/dateFormat.properties
new file mode 100644
index 0000000000..a49a313543
--- /dev/null
+++ b/l10n-th/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/l10n-th/calendar/chrome/calendar/dialogs/calendar-event-dialog-reminder.dtd b/l10n-th/calendar/chrome/calendar/dialogs/calendar-event-dialog-reminder.dtd
new file mode 100644
index 0000000000..4c57836ccb
--- /dev/null
+++ b/l10n-th/calendar/chrome/calendar/dialogs/calendar-event-dialog-reminder.dtd
@@ -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/. -->
+
+<!ENTITY reminderdialog.title "ตั้งค่าการเตือนความจำ">
+<!ENTITY reminder.add.label "เพิ่ม">
+<!ENTITY reminder.add.accesskey "พ">
+<!ENTITY reminder.remove.label "เอาออก">
+<!ENTITY reminder.remove.accesskey "อ">
+
+<!ENTITY reminder.reminderDetails.label "รายละเอียดการเตือนความจำ">
+<!ENTITY reminder.action.label "เลือกการกระทำการเตือนความจำ">
+
+<!ENTITY reminder.action.alert.label "แสดงการเตือน">
+<!ENTITY reminder.action.email.label "ส่งอีเมล">
+
+<!ENTITY alarm.units.minutes "นาที" >
+<!ENTITY alarm.units.hours "ชั่วโมง" >
+<!ENTITY alarm.units.days "วัน" >
diff --git a/l10n-th/calendar/chrome/calendar/global.dtd b/l10n-th/calendar/chrome/calendar/global.dtd
new file mode 100644
index 0000000000..b9ea1cb59f
--- /dev/null
+++ b/l10n-th/calendar/chrome/calendar/global.dtd
@@ -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/. -->
+
+<!ENTITY time.midnight "เที่ยงคืน" >
+<!ENTITY time.noon "เที่ยงวัน" >
+
+<!-- Day Names -->
+<!-- LOCALIZATION NOTE : Accesskeys for day.1.Ddd to day.7.Ddd are currently
+ only used in Preferences > Views > Workweek groupbox -->
+<!ENTITY day.1.Ddd "อาทิตย์" >
+<!ENTITY day.1.Ddd.accesskey "า">
+<!ENTITY day.2.Ddd "จันทร์" >
+<!ENTITY day.2.Ddd.accesskey "จ">
+<!ENTITY day.3.Ddd "อังคาร" >
+<!ENTITY day.3.Ddd.accesskey "อ">
+<!ENTITY day.4.Ddd "พุธ" >
+<!ENTITY day.4.Ddd.accesskey "พ">
+<!ENTITY day.5.Ddd "พฤหัสบดี" >
+<!ENTITY day.5.Ddd.accesskey "ฤ">
+<!ENTITY day.6.Ddd "ศุกร์" >
+<!ENTITY day.6.Ddd.accesskey "ศ">
+<!ENTITY day.7.Ddd "เสาร์" >
+<!ENTITY day.7.Ddd.accesskey "ส">
+
+<!ENTITY day.1.name "วันอาทิตย์" >
+<!ENTITY day.2.name "วันจันทร์" >
+<!ENTITY day.3.name "วันอังคาร" >
+<!ENTITY day.4.name "วันพุธ" >
+<!ENTITY day.5.name "วันพฤหัสบดี" >
+<!ENTITY day.6.name "วันศุกร์" >
+<!ENTITY day.7.name "วันเสาร์" >
+
+<!ENTITY month.1.name "มกราคม" >
+<!ENTITY month.2.name "กุมภาพันธ์" >
+<!ENTITY month.3.name "มีนาคม" >
+<!ENTITY month.4.name "เมษายน" >
+<!ENTITY month.5.name "พฤษภาคม" >
+<!ENTITY month.6.name "มิถุนายน" >
+<!ENTITY month.7.name "กรกฎาคม" >
+<!ENTITY month.8.name "สิงหาคม" >
+<!ENTITY month.9.name "กันยายน" >
+<!ENTITY month.10.name "ตุลาคม" >
+<!ENTITY month.11.name "พฤศจิกายน" >
+<!ENTITY month.12.name "ธันวาคม" >
+
+<!ENTITY onemonthbackward.tooltip "ย้อนกลับหนึ่งเดือน" >
+<!ENTITY onemonthforward.tooltip "เดินหน้าหนึ่งเดือน" >
+<!ENTITY oneyearbackward.tooltip "ย้อนกลับหนึ่งปี" >
+<!ENTITY oneyearforward.tooltip "เดินหน้าหนึ่งปี" >
+<!ENTITY showToday.tooltip "ไปยังวันนี้">
+<!ENTITY onedayforward.tooltip "เดินหน้าหนึ่งวัน">
+<!ENTITY onedaybackward.tooltip "ย้อนกลับหนึ่งวัน">
+<!ENTITY showselectedday.tooltip "แสดงเหตุการณ์สำหรับวันที่เลือก">
diff --git a/l10n-th/calendar/chrome/calendar/menuOverlay.dtd b/l10n-th/calendar/chrome/calendar/menuOverlay.dtd
new file mode 100644
index 0000000000..5e48430999
--- /dev/null
+++ b/l10n-th/calendar/chrome/calendar/menuOverlay.dtd
@@ -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/. -->
+
+<!-- Event Menu -->
+<!ENTITY event.new.event "เหตุการณ์ใหม่…">
+<!ENTITY event.new.event.accesskey "ม">
+
+<!ENTITY event.new.task "งานใหม่…">
+<!ENTITY event.new.task.accesskey "ง">
+
+<!ENTITY calendar.import.label "นำเข้า…">
+<!ENTITY calendar.import.accesskey "น">
+
+<!ENTITY calendar.export.label "ส่งออก…">
+<!ENTITY calendar.export.accesskey "ส">
+
+<!ENTITY calendar.publish.label "เผยแพร่…">
+<!ENTITY calendar.publish.accesskey "ผ">
+
+<!ENTITY calendar.deletecalendar.label "ลบปฏิทินที่เลือก…">
+<!ENTITY calendar.deletecalendar.accesskey "ล">
+<!ENTITY calendar.unsubscribecalendar.label "เลิกบอกรับปฏิทินที่เลือก…">
+<!ENTITY calendar.unsubscribecalendar.accesskey "เ">
+
+<!-- LOCALIZATION NOTE (calendar.removecalendar.label): Removing the calendar
+ is the general action of removing it, while deleting means to clear the
+ data and unsubscribing means just taking it out of the calendar list. -->
+<!ENTITY calendar.removecalendar.label "เอาปฏิทินที่เลือกออก…">
+<!ENTITY calendar.removecalendar.accesskey "อ">
+
+
+<!ENTITY calendar.menu.customize.label "ปรับแต่ง…">
+<!ENTITY calendar.menu.customize.accesskey "ป">
+
+<!ENTITY showUnifinderCmd.label "ค้นหาเหตุการณ์">
+<!ENTITY showUnifinderCmd.accesskey "ค">
+<!ENTITY showUnifinderCmd.tooltip "เปิด/ปิดบานหน้าต่างการค้นหาเหตุการณ์">
+
+<!ENTITY calendar.displaytodos.checkbox.label "แสดงงานในปฏิทิน">
+<!ENTITY calendar.displaytodos.checkbox.accesskey "ส">
+
+<!ENTITY goTodayCmd.label "วันนี้">
+<!ENTITY goTodayCmd.accesskey "ว">
+
+<!ENTITY showCurrentView.label "มุมมองปัจจุบัน">
+<!ENTITY showCurrentView.accesskey "ม">
+
+<!ENTITY calendar.properties.label "คุณสมบัติปฏิทิน…">
+<!ENTITY calendar.properties.accesskey "ค">
diff --git a/l10n-th/calendar/chrome/calendar/migration.dtd b/l10n-th/calendar/chrome/calendar/migration.dtd
new file mode 100644
index 0000000000..1edbc394cf
--- /dev/null
+++ b/l10n-th/calendar/chrome/calendar/migration.dtd
@@ -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/. -->
+
+<!ENTITY migration.title "&brandFullName;: การนำเข้าข้อมูล">
+<!ENTITY migration.welcome "ยินดีต้อนรับ">
+<!ENTITY migration.importing "กำลังนำเข้า">
+<!ENTITY migration.list.description "&brandShortName; สามารถนำเข้าข้อมูลปฏิทินจากหลายแอปพลิเคชันยอดนิยมได้ พบข้อมูลจากแอปพลิเคชันดังต่อไปนี้บนคอมพิวเตอร์ของคุณ โปรดเลือกแอปพลิเคชันที่คุณต้องการนำเข้าข้อมูล">
+<!ENTITY migration.progress.description "กำลังนำเข้าข้อมูลที่เลือก">
diff --git a/l10n-th/calendar/chrome/calendar/migration.properties b/l10n-th/calendar/chrome/calendar/migration.properties
new file mode 100644
index 0000000000..0fd0b21071
--- /dev/null
+++ b/l10n-th/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/l10n-th/calendar/chrome/calendar/provider-uninstall.dtd b/l10n-th/calendar/chrome/calendar/provider-uninstall.dtd
new file mode 100644
index 0000000000..a63ca4e9ca
--- /dev/null
+++ b/l10n-th/calendar/chrome/calendar/provider-uninstall.dtd
@@ -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/. -->
+
+<!ENTITY providerUninstall.title "ถอนการติดตั้งผู้ให้บริการ">
+<!ENTITY providerUninstall.accept.label "เลิกบอกรับที่เลือก">
+<!ENTITY providerUninstall.accept.accesskey "ล">
+<!ENTITY providerUninstall.cancel.label "เก็บส่วนเสริม">
+<!ENTITY providerUninstall.cancel.accesskey "ก">
+<!ENTITY providerUninstall.preName.label "คุณได้ขอถอนการติดตั้งหรือปิดใช้งาน:">
+<!ENTITY providerUninstall.postName.label "การดำเนินการนี้จะส่งผลให้ปฏิทินด้านล่างถูกปิดใช้งาน">
+<!ENTITY providerUninstall.reinstallNote.label "แต่หากคุณกำลังวางแผนติดตั้งผู้ให้บริการนี้ใหม่ คุณสามารถเลือกเลิกบอกรับปฏิทินของผู้ให้บริการนี้ได้">
diff --git a/l10n-th/calendar/chrome/calendar/timezones.properties b/l10n-th/calendar/chrome/calendar/timezones.properties
new file mode 100644
index 0000000000..3aff84fd94
--- /dev/null
+++ b/l10n-th/calendar/chrome/calendar/timezones.properties
@@ -0,0 +1,485 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# extension:
+extensions.calendar-timezones@mozilla.org.name=นิยามเขตเวลาสำหรับ Mozilla Calendar
+extensions.calendar-timezones@mozilla.org.description=นิยามเขตเวลาที่ Lightning จำเป็นต้องใช้
+extensions.calendar-timezones@mozilla.org.creator=โครงการ Mozilla Calendar
+
+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=เอเชีย/คอสทาไน
diff --git a/l10n-th/calendar/chrome/lightning/lightning-toolbar.dtd b/l10n-th/calendar/chrome/lightning/lightning-toolbar.dtd
new file mode 100644
index 0000000000..f29a873f81
--- /dev/null
+++ b/l10n-th/calendar/chrome/lightning/lightning-toolbar.dtd
@@ -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/. -->
+
+<!ENTITY lightning.toolbar.calendar.name "แถบเครื่องมือปฏิทิน">
+<!ENTITY lightning.toolbar.calendar.name.accesskey "ถ">
+<!ENTITY lightning.toolbar.task.name "แถบเครื่องมืองาน">
+<!ENTITY lightning.toolbar.task.name.accesskey "บ">
+
+<!ENTITY lightning.toolbar.sync.label "ประสาน">
+<!ENTITY lightning.toolbar.sync.tooltip "โหลดปฏิทินใหม่และประสานการเปลี่ยนแปลง">
+<!ENTITY lightning.toolbar.delete.label "ลบ">
+<!ENTITY lightning.toolbar.delete.tooltip "ลบเหตุการณ์หรืองานที่เลือก">
+<!ENTITY lightning.toolbar.edit.label "แก้ไข">
+<!ENTITY lightning.toolbar.edit.tooltip "แก้ไขเหตุการณ์หรืองานที่เลือก">
+<!ENTITY lightning.toolbar.gototoday.label "ไปยังวันนี้">
+<!ENTITY lightning.toolbar.gototoday.tooltip "ไปยังวันนี้">
+<!ENTITY lightning.toolbar.print.label "พิมพ์">
+<!ENTITY lightning.toolbar.print.tooltip "พิมพ์เหตุการณ์หรืองาน">
+
+<!-- Mode Toolbar -->
+<!ENTITY lightning.toolbar.calendar.label "ปฏิทิน">
+<!ENTITY lightning.toolbar.calendar.tooltip "สลับไปยังแท็บปฏิทิน">
+<!ENTITY lightning.toolbar.calendar.accesskey "ส">
+<!ENTITY lightning.toolbar.task.label "งาน">
+<!ENTITY lightning.toolbar.task.tooltip "สลับไปยังแท็บงาน">
+<!ENTITY lightning.toolbar.task.accesskey "ล">
+
+<!-- Toolbar write button -->
+<!ENTITY lightning.toolbar.newevent.label "เหตุการณ์">
+<!ENTITY lightning.toolbar.newevent.tooltip "สร้างเหตุการณ์ใหม่">
+<!ENTITY lightning.toolbar.newtask.label "งาน">
+<!ENTITY lightning.toolbar.newtask.tooltip "สร้างงานใหม่">
+
+<!-- Calendar and Task Mode Toolbar -->
+<!ENTITY lightning.toolbar.day.label "วัน">
+<!ENTITY lightning.toolbar.day.accesskey "ว">
+<!ENTITY lightning.toolbar.week.label "สัปดาห์">
+<!ENTITY lightning.toolbar.week.accesskey "ส">
+<!ENTITY lightning.toolbar.multiweek.label "หลายสัปดาห์">
+<!ENTITY lightning.toolbar.multiweek.accesskey "ห">
+<!ENTITY lightning.toolbar.month.label "เดือน">
+<!ENTITY lightning.toolbar.month.accesskey "ด">
+<!-- LOCALIZATION NOTE: the same as appmenuButton.label and appmenuButton1.tooltip
+ from messenger.dtd -->
+<!ENTITY lightning.toolbar.appmenuButton.label "เมนูแอป">
+<!ENTITY lightning.toolbar.appmenuButton1.tooltip "แสดงเมนู &brandShortName;">
+<!ENTITY lightning.toolbar.calendarmenu.label "บานหน้าต่างปฏิทิน">
+<!ENTITY lightning.toolbar.calendarmenu.accesskey "บ">
+<!ENTITY lightning.toolbar.calendarpane.label "แสดงบานหน้าต่างปฏิทิน">
+<!ENTITY lightning.toolbar.calendarpane.accesskey "ส">
diff --git a/l10n-th/calendar/chrome/lightning/lightning.dtd b/l10n-th/calendar/chrome/lightning/lightning.dtd
new file mode 100644
index 0000000000..e95c7ee9b0
--- /dev/null
+++ b/l10n-th/calendar/chrome/lightning/lightning.dtd
@@ -0,0 +1,107 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!-- WARNING! This file contains UTF-8 encoded characters!
+ - If this ==> … <== doesn't look like an ellipsis (three dots in a row),
+ - your editor isn't using UTF-8 encoding and may munge up the document!
+ -->
+
+<!-- Tools menu -->
+<!ENTITY lightning.preferencesLabel "ปฏิทิน">
+
+<!-- New menu popup in File menu -->
+<!ENTITY lightning.menupopup.new.event.label "เหตุการณ์…">
+<!ENTITY lightning.menupopup.new.event.accesskey "ห">
+<!ENTITY lightning.menupopup.new.task.label "งาน…">
+<!ENTITY lightning.menupopup.new.task.accesskey "ง">
+<!ENTITY lightning.menupopup.new.calendar.label "ปฏิทิน…">
+<!ENTITY lightning.menupopup.new.calendar.accesskey "ป">
+
+<!-- Open menu popup in File menu -->
+<!ENTITY lightning.menupopup.open.label "เปิด">
+<!ENTITY lightning.menupopup.open.accesskey "ป">
+<!ENTITY lightning.menupopup.open.message.label "ข้อความที่บันทึก…">
+<!ENTITY lightning.menupopup.open.message.accesskey "ข">
+
+<!-- Open menu popup in File menu -->
+<!ENTITY lightning.menupopup.open.calendar.label "ไฟล์ปฏิทิน…">
+<!ENTITY lightning.menupopup.open.calendar.accesskey "ฟ">
+
+<!-- View Menu -->
+<!ENTITY lightning.menu.view.calendar.label "ปฏิทิน">
+<!ENTITY lightning.menu.view.calendar.accesskey "ป">
+<!ENTITY lightning.menu.view.tasks.label "งาน">
+<!ENTITY lightning.menu.view.tasks.accesskey "ง">
+
+<!-- Events and Tasks menu -->
+<!ENTITY lightning.menu.eventtask.label "เหตุการณ์และงาน">
+<!ENTITY lightning.menu.eventtask.accesskey "ห">
+
+<!-- properties dialog, calendar creation wizard -->
+<!-- LOCALIZATON NOTE(lightning.calendarproperties.email.label,
+ lightning.calendarproperties.forceEmailScheduling.label)
+ These strings are used in the calendar wizard and the calendar properties dialog, but are only
+ displayed when setting/using a caldav calendar -->
+<!ENTITY lightning.calendarproperties.email.label "อีเมล:">
+<!-- LOCALIZATON NOTE(lightning.calendarproperties.forceEmailScheduling.tooltiptext1,
+ lightning.calendarproperties.forceEmailScheduling.tooltiptext2)
+ - tooltiptext1 is used in the calendar wizard when setting a new caldav calendar
+ - tooltiptext2 is used in the calendar properties dialog for caldav calendars -->
+
+<!-- iMIP Bar (meeting support) -->
+<!ENTITY lightning.imipbar.btnAccept.label "ยอมรับ">
+<!ENTITY lightning.imipbar.btnAccept2.tooltiptext "ยอมรับคำเชิญเหตุการณ์">
+<!ENTITY lightning.imipbar.btnAcceptRecurrences.label "ยอมรับทั้งหมด">
+<!ENTITY lightning.imipbar.btnAcceptRecurrences2.tooltiptext "ยอมรับคำเชิญเหตุการณ์สำหรับเหตุการณ์ทั้งหมดที่เกิดขึ้น">
+<!ENTITY lightning.imipbar.btnAdd.label "เพิ่ม">
+<!ENTITY lightning.imipbar.btnAdd.tooltiptext "เพิ่มเหตุการณ์ไปยังปฏิทิน">
+<!ENTITY lightning.imipbar.btnDecline.label "ปฏิเสธ">
+<!ENTITY lightning.imipbar.btnDecline2.tooltiptext "ปฏิเสธคำเชิญเหตุการณ์">
+<!ENTITY lightning.imipbar.btnDeclineRecurrences.label "ปฏิเสธทั้งหมด">
+<!ENTITY lightning.imipbar.btnDeclineRecurrences2.tooltiptext "ปฏิเสธคำเชิญเหตุการณ์สำหรับเหตุการณ์ทั้งหมดที่เกิดขึ้น">
+<!ENTITY lightning.imipbar.btnDeclineCounter.label "ปฏิเสธ">
+<!ENTITY lightning.imipbar.btnDeclineCounter.tooltiptext "ปฏิเสธการโต้แย้ง">
+<!ENTITY lightning.imipbar.btnDelete.label "ลบ">
+<!ENTITY lightning.imipbar.btnDelete.tooltiptext "ลบออกจากปฏิทิน">
+<!ENTITY lightning.imipbar.btnDetails.label "รายละเอียด…">
+<!ENTITY lightning.imipbar.btnDetails.tooltiptext "แสดงรายละเอียดเหตุการณ์">
+<!ENTITY lightning.imipbar.btnMore.label "เพิ่มเติม">
+<!ENTITY lightning.imipbar.btnMore.tooltiptext "คลิกเพื่อแสดงตัวเลือกเพิ่มเติม">
+<!ENTITY lightning.imipbar.btnReconfirm2.label "ยืนยันใหม่">
+<!ENTITY lightning.imipbar.btnReconfirm.tooltiptext "ส่งการยืนยันใหม่ไปยังผู้จัด">
+<!ENTITY lightning.imipbar.btnReschedule.label "จัดกำหนดการใหม่">
+<!ENTITY lightning.imipbar.btnReschedule.tooltiptext "จัดกำหนดการเหตุการณ์ใหม่">
+<!ENTITY lightning.imipbar.btnSaveCopy.label "บันทึกสำเนา">
+<!ENTITY lightning.imipbar.btnSaveCopy.tooltiptext "บันทึกสำเนาของกิจกรรมลงในปฏิทินต่างหากจากการตอบกลับไปยังผู้จัด รายชื่อผู้เข้าร่วมจะถูกล้าง">
+<!ENTITY lightning.imipbar.btnTentative.label "ไม่แน่นอน">
+<!ENTITY lightning.imipbar.btnTentative2.tooltiptext "ยอมรับคำเชิญเหตุการณ์อย่างไม่แน่นอน">
+<!ENTITY lightning.imipbar.btnTentativeRecurrences.label "ไม่แน่นอนทั้งหมด">
+<!ENTITY lightning.imipbar.btnTentativeRecurrences2.tooltiptext "ยอมรับคำเชิญเหตุการณ์แบบไม่แน่นอนสำหรับเหตุการณ์ทั้งหมดที่เกิดขึ้น">
+<!ENTITY lightning.imipbar.btnUpdate.label "อัปเดต">
+<!ENTITY lightning.imipbar.btnUpdate.tooltiptext "อัปเดตเหตุการณ์ในปฏิทิน">
+<!ENTITY lightning.imipbar.description "ข้อความนี้มีคำเชิญไปยังเหตุการณ์">
+
+<!ENTITY lightning.imipbar.btnSend.label "ส่งการตอบสนองตอนนี้">
+<!ENTITY lightning.imipbar.btnSend.tooltiptext "ส่งการตอบสนองไปยังผู้จัด">
+<!ENTITY lightning.imipbar.btnDontSend.label "ไม่ส่งการตอบสนอง">
+
+<!-- Lightning specific keybindings -->
+<!ENTITY lightning.keys.event.showCalendar.key "C">
+<!ENTITY lightning.keys.event.showTasks.key "D">
+<!ENTITY lightning.keys.event.new "I">
+<!ENTITY lightning.keys.todo.new "D">
+
+<!-- Account Central page -->
+<!ENTITY lightning.acctCentral.newCalendar.label "สร้างปฏิทินใหม่">
+
+<!-- today-pane-specific -->
+<!ENTITY todaypane.showMinimonth.label "แสดงเดือนขนาดเล็ก">
+<!ENTITY todaypane.showMinimonth.accesskey "ส">
+<!ENTITY todaypane.showMiniday.label "แสดงวันขนาดเล็ก">
+<!ENTITY todaypane.showMiniday.accesskey "ส">
+<!ENTITY todaypane.showNone.label "ไม่แสดง">
+<!ENTITY todaypane.showNone.accesskey "ม">
+<!ENTITY todaypane.showTodayPane.label "แสดงบานหน้าต่างวันนี้">
+<!ENTITY todaypane.showTodayPane.accesskey "ส">
+<!ENTITY todaypane.statusButton.label "บานหน้าต่างวันนี้">
diff --git a/l10n-th/calendar/chrome/lightning/lightning.properties b/l10n-th/calendar/chrome/lightning/lightning.properties
new file mode 100644
index 0000000000..8d6bdbb61e
--- /dev/null
+++ b/l10n-th/calendar/chrome/lightning/lightning.properties
@@ -0,0 +1,195 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# addon description:
+extensions.{e2fda1a4-762b-4020-b5ad-a41df1933103}.name=Lightning
+extensions.{e2fda1a4-762b-4020-b5ad-a41df1933103}.description=การจัดการปฏิทินและกำหนดการแบบรวมสำหรับไคลเอนต์อีเมลของคุณ
+extensions.{e2fda1a4-762b-4020-b5ad-a41df1933103}.creator=โครงการ Mozilla Calendar
+
+# Lightning branding
+brandShortName=Lightning
+
+# 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 <email address> 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 <email address> 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 <email address> 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 <email address> 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 <email address> 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=ข้อความนี้มีการอัปเดตหลายเหตุการณ์ที่มีอยู่
+imipBarAlreadyProcessedText=ข้อความนี้มีเหตุการณ์ที่ถูกประมวลผลไปแล้ว
+imipBarProcessedNeedsAction=ข้อความนี้มีเหตุการณ์ที่คุณยังไม่ได้ตอบสนอง
+imipBarReplyText=ข้อความนี้มีการตอบกลับคำเชิญ
+imipBarReplyToNotExistingItem=ข้อความนี้มีการตอบกลับที่อ้างอิงถึงเหตุการณ์ซึ่งไม่อยู่ในปฏิทินของคุณ
+# LOCALIZATION_NOTE(imipBarReplyToRecentlyRemovedItem):
+# %1$S - datetime of deletion
+imipBarReplyToRecentlyRemovedItem=ข้อความนี้มีการตอบกลับที่อ้างอิงถึงเหตุการณ์ซึ่งถูกเอาออกจากปฏิทินของคุณเมื่อ %1$S
+imipBarUnsupportedText=ข้อความนี้มีเหตุการณ์ที่ Lightning รุ่นนี้ไม่สามารถประมวลผลได้
+imipBarProcessingFailed=การประมวลผลข้อความล้มเหลว สถานะ: %1$S
+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(binaryComponentKnown): This is shown when Lightning is
+# missing the binary component and knows how to calculate the expected version
+# number. To test, remove the binary component from the components/
+# subdirectory and start Lightning, or force install into a different
+# Thunderbird version. In the last part of the sentence it should be made clear
+# that the user can install e.g. 3.7, 3.7.1 or anything other 3.7.x version
+# %1$S - The Lightning brand name, from the brandShortName string above.
+# %2$S - The current Lightning version
+# %3$S - The expected Lightning version
+binaryComponentKnown=ไม่สามารถโหลดองค์ประกอบไบนารีที่จำเป็นสำหรับ %1$S ได้ อาจเป็นเนื่องจากใช้รุ่นที่ผิด ขณะนี้คุณติดตั้ง %1$S %2$S ไว้อยู่ แต่ควรใช้รุ่นจากซีรีส์ %3$S
+
+# LOCALIZATION_NOTE(binaryComponentUnknown): This is shown when Lightning is
+# missing the binary component but can't calculate the expected version. This
+# happens in the rare case that Lightning is installed into something other
+# than Thunderbird or Seamonkey. You may link to a different page if you can
+# commit to keeping it up to date, I'd recommend staying with the English page.
+# %1$S - The Lightning brand name, from the brandShortName string above.
+# %2$S - The application brand name, e.g. Postbox
+# %3$S - The application version
+# %3$S - The current Lightning version
+binaryComponentUnknown=ไม่สามารถโหลดองค์ประกอบไบนารีที่จำเป็นสำหรับ %1$S ได้ อาจเป็นเนื่องจากใช้รุ่นที่ผิด คุณกำลังใช้ %2$S %3$S พร้อมกับ %1$S %4$S โปรดตรวจสอบ https://developer.mozilla.org/en/Calendar/Calendar_Versions สำหรับรายละเอียด
+
+# LOCALIZATION_NOTE(binaryComponentTitle): The title for the dialog that
+# notifies about a version mismatch.
+# %1$S - The Lightning brand name, from the brandShortName string above.
+binaryComponentTitle=รุ่นของ %1$S ไม่ตรงกัน
+
+# LOCALIZATION NOTE(noIdentitySelectedNotification):
diff --git a/l10n-th/chat/accounts.dtd b/l10n-th/chat/accounts.dtd
new file mode 100644
index 0000000000..448c051c48
--- /dev/null
+++ b/l10n-th/chat/accounts.dtd
@@ -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/. -->
+
+<!-- Account manager window for Instantbird -->
+<!ENTITY accounts.title "บัญชี - &brandShortName;">
+<!ENTITY accountManager.width "450">
+<!-- Instant messaging account status window for Thunderbird -->
+<!ENTITY accountsWindow.title "สถานะข้อความโต้ตอบแบบทันที">
+<!ENTITY accountsWindow2.style "width: 41em; height: 27em;">
+
+<!ENTITY accountManager.newAccount.label "บัญชีใหม่">
+<!ENTITY accountManager.newAccount.accesskey "บ">
+<!ENTITY accountManager.close.label "ปิด">
+<!ENTITY accountManager.close.accesskey "ป">
+<!-- This should match account.commandkey in instantbird.dtd -->
+<!ENTITY accountManager.close.commandkey "a">
+<!-- This title must be short, displayed with a big font size -->
+<!ENTITY accountManager.noAccount.title "ยังไม่มีบัญชีที่กำหนดค่า">
+<!ENTITY accountManager.noAccount.description "คลิกที่ปุ่ม &accountManager.newAccount.label; เพื่อให้ &brandShortName; แนะนำคุณผ่านกระบวนการกำหนดค่า">
+<!ENTITY account.autoSignOn.label "ลงชื่อเข้าเมื่อเริ่มการทำงาน">
+<!ENTITY account.autoSignOn.accesskey "ล">
+<!ENTITY account.connect.label "เชื่อมต่อ">
+<!ENTITY account.connect.accesskey "ช">
+<!ENTITY account.disconnect.label "ตัดการเชื่อมต่อ">
+<!ENTITY account.disconnect.accesskey "ต">
+<!ENTITY account.delete.label "ลบ">
+<!ENTITY account.delete.accesskey "บ">
+<!ENTITY account.edit.label "คุณสมบัติ">
+<!ENTITY account.edit.accesskey "ค">
+<!ENTITY account.moveup.label "ย้ายขึ้น">
+<!ENTITY account.movedown.label "ย้ายลง">
+<!ENTITY account.cancelReconnection.label "ยกเลิกการเชื่อมต่อใหม่">
+<!ENTITY account.cancelReconnection.accesskey "ย">
+<!ENTITY account.copyDebugLog.label "คัดลอกรายการบันทึกการดีบั๊ก">
+<!ENTITY account.copyDebugLog.accesskey "ด">
+<!ENTITY account.showDebugLog.label "แสดงรายการบันทึกการดีบั๊ก">
+<!ENTITY account.showDebugLog.accesskey "ส">
+<!ENTITY account.connecting "กำลังเชื่อมต่อ…">
+<!ENTITY account.disconnecting "กำลังตัดการเชื่อมต่อ…">
+<!ENTITY account.disconnected "ไม่ได้เชื่อมต่อ">
diff --git a/l10n-th/chat/accounts.properties b/l10n-th/chat/accounts.properties
new file mode 100644
index 0000000000..7d53613559
--- /dev/null
+++ b/l10n-th/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/l10n-th/chat/commands.properties b/l10n-th/chat/commands.properties
new file mode 100644
index 0000000000..8a876c207c
--- /dev/null
+++ b/l10n-th/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 &lt;command&gt; สำหรับข้อมูลเพิ่มเติม
+# LOCALIZATION NOTE (noCommand, noHelp):
+# %S is the command name the user typed.
+noCommand=ไม่มีคำสั่ง '%S'
+noHelp=ไม่มีข้อความช่วยเหลือสำหรับคำสั่ง '%S' ขออภัย!
+
+sayHelpString=say &lt;message&gt;: ส่งข้อความโดยไม่มีการประมวลผลคำสั่ง
+rawHelpString=raw &lt;message&gt;: ส่งข้อความโดยไม่มีการหลีกเลี่ยงเอนทิตี HTML
+helpHelpString=help &lt;name&gt;: แสดงข้อความช่วยเหลือสำหรับคำสั่ง &lt;name&gt; หรือรายการคำสั่งที่เป็นไปได้เมื่อถูกใช้โดยไม่มีพารามิเตอร์
+
+# 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 &lt;status message&gt;: ตั้งสถานะเป็น %2$S ด้วยข้อความสถานะตัวเลือก
+back=พร้อมใช้งาน
+away=ไม่อยู่
+busy=ไม่พร้อมใช้งาน
+dnd=ไม่พร้อมใช้งาน
+offline=ออฟไลน์
diff --git a/l10n-th/chat/contacts.properties b/l10n-th/chat/contacts.properties
new file mode 100644
index 0000000000..10a18b468f
--- /dev/null
+++ b/l10n-th/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/l10n-th/chat/conversations.properties b/l10n-th/chat/conversations.properties
new file mode 100644
index 0000000000..105b367a2a
--- /dev/null
+++ b/l10n-th/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/l10n-th/chat/dateFormat.properties b/l10n-th/chat/dateFormat.properties
new file mode 100644
index 0000000000..b84c3ff83c
--- /dev/null
+++ b/l10n-th/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/l10n-th/chat/facebook.properties b/l10n-th/chat/facebook.properties
new file mode 100644
index 0000000000..c45a7e7bf8
--- /dev/null
+++ b/l10n-th/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/l10n-th/chat/imtooltip.properties b/l10n-th/chat/imtooltip.properties
new file mode 100644
index 0000000000..e11a98c0ee
--- /dev/null
+++ b/l10n-th/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/l10n-th/chat/irc.properties b/l10n-th/chat/irc.properties
new file mode 100644
index 0000000000..a8c3c642b3
--- /dev/null
+++ b/l10n-th/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 &lt;การกระทำที่ต้องการดำเนินการ&gt;: ดำเนินการการกระทำ
+command.ban=%S &lt;nick!user@host&gt;: ห้ามผู้ใช้ที่ตรงกับรูปแบบที่กำหนด
+command.ctcp=%S &lt;nick&gt; &lt;msg&gt;: ส่งข้อความ CTCP ไปยังชื่อเล่น
+command.chanserv=%S &lt;command&gt;: ส่งคำสั่งไปยัง ChanServ
+command.deop=%S &lt;nick1&gt;[,&lt;nick2&gt;]*: เอาสถานะผู้ควบคุมช่องออกจากคนใดคนหนึ่ง คุณต้องเป็นผู้ควบคุมช่องเพื่อทำสิ่งนี้
+command.devoice=%S &lt;nick1&gt;[,&lt;nick2&gt;]*: เอาสถานะการพูดช่องออกจากคนใดคนหนึ่ง เพื่อป้องกันไม่ให้พูดหากช่องดังกล่าวมีการควบคุม (+m) คุณต้องเป็นผู้ควบคุมช่องเพื่อทำสิ่งนี้
+command.invite2=%S &lt;nick&gt;[ &lt;nick&gt;]* [&lt;channel&gt;]: เชิญชือเล่นอย่างน้อยหนึ่งชื่อให้เข้าร่วมคุณในช่องปัจจุบัน หรือให้เข้าร่วมช่องที่ระบุ
+command.join=%S &lt;room1&gt;[ &lt;key1&gt;][,&lt;room2&gt;[ &lt;key2&gt;]]*: ป้อนช่องอย่างน้อยหนึ่งช่อง โดยสามารถระบุคีย์ของช่องได้ในแต่ละครั้งที่ต้องการ
+command.kick=%S &lt;nick&gt; [&lt;message&gt;]: เอาใครบางคนออกจากช่อง โดยคุณจะต้องเป็นผู้ควบคุมช่องจึงจะสามารถดำเนินการนี้ได้
+command.list=%S: แสดงรายการห้องสนทนาบนเครือข่าย โปรดระวังด้วยว่าบางเซิร์ฟเวอร์อาจไม่ให้คุณเชื่อมต่อหากคุณดำเนินการนี้
+command.memoserv=%S &lt;command&gt;: ส่งคำสั่งไปยัง MemoServ
+command.modeUser2=%S &lt;nick&gt; [(+|-)&lt;mode&gt;]: รับ ตั้งค่า หรือเลิกตั้งค่าโหมดของผู้ใช้
+command.modeChannel2=%S [&lt;channel&gt;] [(+|-)&lt;new mode&gt; [&lt;parameter&gt;][,&lt;parameter&gt;]*]: รับ ตั้งค่า หรือเลิกตั้งค่าโหมดช่อง
+command.msg=%S &lt;nick&gt; &lt;message&gt;: ส่งข้อความส่วนตัวถึงผู้ใช้ (ไม่ส่งถึงช่องโดยตรง)
+command.nick=%S &lt;new nickname&gt;: เปลี่ยนชื่อเล่นของคุณ
+command.nickserv=%S &lt;command&gt;: ส่งคำสั่งไปยัง NickServ
+command.notice=%S &lt;target&gt; &lt;message&gt;: ส่งประกาศไปยังผู้ใช้หรือช่อง
+command.op=%S &lt;nick1&gt;[,&lt;nick2&gt;]*: มอบสถานะผู้ควบคุมช่องให้แก่คนใดคนหนึ่ง คุณต้องเป็นผู้ควบคุมช่องเพื่อทำสิ่งนี้
+command.operserv=%S &lt;command&gt;: ส่งคำสั่งไปยัง OperServ
+command.part=%S [message]: ออกจากช่องปัจจุบันพร้อมข้อความเพิ่มเติม
+command.ping=%S [&lt;nick&gt;]: ถามเวลาที่ล่าช้าของผู้ใช้ (หรือเซิร์ฟเวอร์หากไม่ได้ระบุผู้ใช้)
+command.quit=%S &lt;message&gt;: ตัดการเชื่อมต่อจากเซิร์ฟเวอร์พร้อมข้อความเพิ่มเติม
+command.quote=%S &lt;command&gt;: ส่งคำสั่งดิบไปยังเซิร์ฟเวอร์
+command.time=%S: แสดงผลเวลาท้องถิ่นปัจจุบันที่เซิร์ฟเวอร์ IRC
+command.topic=%S [&lt;new topic&gt;]: ตั้งค่าหัวข้อของช่องนี้
+command.umode=%S (+|-)&lt;new mode&gt;: ตั้งค่าหรือเลิกตั้งค่าโหมดผู้ใช้
+command.version=%S &lt;nick&gt;: ขอรุ่นของไคลเอนต์ของผู้ใช้
+command.voice=%S &lt;nick1&gt;[,&lt;nick2&gt;]*: มอบสถานะการพูดช่องให้แก่คนใดคนหนึ่ง คุณต้องเป็นผู้ควบคุมช่องเพื่อทำสิ่งนี้
+command.whois2=%S [&lt;nick&gt;]: รับข้อมูลเกี่ยวกับผู้ใช้
+
+# 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/l10n-th/chat/logger.properties b/l10n-th/chat/logger.properties
new file mode 100644
index 0000000000..6ac973d536
--- /dev/null
+++ b/l10n-th/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/l10n-th/chat/matrix.properties b/l10n-th/chat/matrix.properties
new file mode 100644
index 0000000000..a61e8e2ad8
--- /dev/null
+++ b/l10n-th/chat/matrix.properties
@@ -0,0 +1,26 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE (options.*):
+# These are the protocol specific options shown in the account manager and
+# account wizard windows.
+options.connectServer=เซิร์ฟเวอร์
+options.connectPort=พอร์ต
+
+# 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=การกระทำล่าสุด
diff --git a/l10n-th/chat/skype.properties b/l10n-th/chat/skype.properties
new file mode 100644
index 0000000000..ed2de38cb8
--- /dev/null
+++ b/l10n-th/chat/skype.properties
@@ -0,0 +1,14 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE (connection.*):
+# These will show in the account manager to show progress during a connection.
+connecting.authenticating=กำลังรับรองความถูกต้อง
+connecting.registrationToken=กำลังรับโทเค็นการลงทะเบียน
+
+# LOCALIZATION NOTE (error.*):
+# These will show in the account manager if the account is disconnected
+# because of an error.
+error.auth=ไม่สามารถรับรองความถูกต้องไปยังเซิร์ฟเวอร์
+error.registrationToken=ไม่สามารถรับโทเค็นการลงทะเบียน
diff --git a/l10n-th/chat/status.properties b/l10n-th/chat/status.properties
new file mode 100644
index 0000000000..07d3696cce
--- /dev/null
+++ b/l10n-th/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/l10n-th/chat/twitter.properties b/l10n-th/chat/twitter.properties
new file mode 100644
index 0000000000..7f8bc7fff6
--- /dev/null
+++ b/l10n-th/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
+# @<username>.
+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 &lt;username&gt;[ &lt;username&gt;]*: เริ่มติดตามผู้ใช้
+command.unfollow=%S &lt;username&gt;[ &lt;username&gt;]*: หยุดติดตามผู้ใช้
+
+twitter.disabled=ไม่รองรับ Twitter อีกต่อไปเนื่องจาก Twitter ปิดใช้งานโปรโตคอลการสตรีมแล้ว
diff --git a/l10n-th/chat/xmpp.properties b/l10n-th/chat/xmpp.properties
new file mode 100644
index 0000000000..19d966df0c
--- /dev/null
+++ b/l10n-th/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 [&lt;room&gt;[@&lt;server&gt;][/&lt;nick&gt;]] [&lt;password&gt;]: เข้าร่วมห้องโดยระบุเซิร์ฟเวอร์อื่น, หรือชื่อ, หรือรหัสผ่านห้องเพิ่มเติม
+command.part2=%S [&lt;message&gt;]: ออกจากห้องปัจจุบันพร้อมข้อความเพิ่มเติม
+command.topic=%S [&lt;new topic&gt;]: ตั้งค่าหัวข้อของห้องนี้
+command.ban=%S &lt;nick&gt;[&lt;message&gt;]: ห้ามใครบางคนจากห้อง โดยคุณจะต้องเป็นผู้ดูแลห้องจึงจะสามารถดำเนินการนี้ได้
+command.kick=%S &lt;nick&gt;[&lt;message&gt;]: เอาใครบางคนออกจากห้อง โดยคุณจะต้องเป็นผู้ดูแลห้องจึงจะสามารถดำเนินการนี้ได้
+command.invite=%S &lt;jid&gt;[&lt;message&gt;]: เชิญผู้ใช้ให้เข้าร่วมห้องปัจจุบันพร้อมข้อความเพิ่มเติม
+command.inviteto=%S &lt;room jid&gt;[&lt;password&gt;]: เชิญคู่สนทนาของคุณให้เข้าร่วมห้องพร้อมด้วยรหัสผ่านหากจำเป็น
+command.me=%S &lt;การกระทำที่ต้องการดำเนินการ&gt;: ดำเนินการการกระทำ
+command.nick=%S &lt;new nickname&gt;: เปลี่ยนชื่อเล่นของคุณ
+command.msg=%S &lt;nick&gt; &lt;message&gt;: ส่งข้อความส่วนตัวถึงผู้เข้าร่วมที่อยู่ในห้อง
+command.version=%S: ขอข้อมูลเกี่ยวกับไคลเอ็นต์ที่คู่สนทนาของคุณกำลังใช้
diff --git a/l10n-th/chat/yahoo.properties b/l10n-th/chat/yahoo.properties
new file mode 100644
index 0000000000..5ad8e33da5
--- /dev/null
+++ b/l10n-th/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/l10n-th/devtools/client/aboutdebugging.ftl b/l10n-th/devtools/client/aboutdebugging.ftl
new file mode 100644
index 0000000000..9f03d53626
--- /dev/null
+++ b/l10n-th/devtools/client/aboutdebugging.ftl
@@ -0,0 +1,394 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.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 = การเชื่อมต่อหมดเวลา
+
+# Temporary text displayed in sidebar items representing remote runtimes after
+# successfully connecting to them. Temporary UI, do not localize.
+about-debugging-sidebar-item-connected-label = เชื่อมต่อแล้ว
+
+# 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 = ใช้ <a>{ about-debugging-this-firefox-runtime-name }</a> เพื่อดีบั๊กส่วนขยายและตัวทำงานบริการบน { -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? <a>แก้ไขปัญหา</a>
+
+# 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 = มีปัญหาในการเชื่อมต่อผ่านตำแหน่งที่ตั้งเครือข่าย? <a>แก้ไขปัญหา</a>
+
+# Text of a button displayed after the network locations "Host" input.
+# Clicking on it will add the new network location to the list.
+about-debugging-network-locations-add-button = เพิ่ม
+
+# 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 = การกำหนดค่าเบราว์เซอร์ของคุณเข้ากันไม่ได้กับตัวทำงานบริการ <a>เรียนรู้เพิ่มเติม</a>
+
+# 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 ล้มเหลว โปรดอัปเดตเบราว์เซอร์ที่เชื่อมต่อ <a>การแก้ไขปัญหา</a>
+
+# Dedicated message for a backward compatibility issue that occurs when connecting:
+# from Fx 70+ to the old Firefox for Android (aka Fennec) which uses Fx 68.
+about-debugging-browser-version-too-old-fennec = Firefox รุ่นนี้ไม่สามารถดีบั๊ก Firefox สำหรับ Android (68) ได้ เราแนะนำให้ติดตั้ง Firefox สำหรับ Android Nightly บนโทรศัพท์ของคุณเพื่อทำการทดสอบ <a>รายละเอียดเพิ่มเติม</a>
+
+# 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 <a>การแก้ไขปัญหา</a>
+
+# Displayed for runtime info in runtime pages.
+# { $name } is brand name such as "Firefox Nightly"
+# { $version } is version such as "64.0a1"
+about-debugging-runtime-name = { $name } ({ $version })
+
+# Text of a button displayed in Runtime pages for remote runtimes.
+# Clicking on the button will close the connection to the runtime.
+about-debugging-runtime-disconnect-button = ตัดการเชื่อมต่อ
+
+# 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 ชั่วคราว <a>เรียนรู้เพิ่มเติม</a>
+
+# 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/l10n-th/devtools/client/accessibility.ftl b/l10n-th/devtools/client/accessibility.ftl
new file mode 100644
index 0000000000..139098c111
--- /dev/null
+++ b/l10n-th/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 = ใช้แอตทริบิวต์ <code>alt</code> เพื่อกำหนดป้ายชื่อให้กับองค์ประกอบ <div>area</div> ที่มีแอตทริบิวต์ <span>href</span> <a>เรียนรู้เพิ่มเติม</a>
+
+accessibility-text-label-issue-dialog = กล่องโต้ตอบควรมีป้ายชื่อ <a>เรียนรู้เพิ่มเติม</a>
+
+accessibility-text-label-issue-document-title = เอกสารต้องมี <code>title</code> <a>เรียนรู้เพิ่มเติม</a>
+
+accessibility-text-label-issue-embed = เนื้อหาที่ฝังต้องมีป้ายชื่อ <a>เรียนรู้เพิ่มเติม</a>
+
+accessibility-text-label-issue-figure = รูปภาพที่มีคำอธิบายภาพเพิ่มเติมควรมีป้ายกำกับ <a>เรียนรู้เพิ่มเติม</a>
+
+accessibility-text-label-issue-fieldset = องค์ประกอบ <code>fieldset</code> ต้องมีป้ายกำกับ <a>เรียนรู้เพิ่มเติม</a>
+
+accessibility-text-label-issue-fieldset-legend2 = ใช้องค์ประกอบ <code>legend</code> เพื่อกำหนดป้ายกำกับให้กับ <span>fieldset</span> <a>เรียนรู้เพิ่มเติม</a>
+
+accessibility-text-label-issue-form = องค์ประกอบแบบฟอร์มต้องมีป้ายชื่อ <a>เรียนรู้เพิ่มเติม</a>
+
+accessibility-text-label-issue-form-visible = องค์ประกอบแบบฟอร์มต้องมีป้ายกำกับข้อความที่สามารถมองเห็นได้ <a>เรียนรู้เพิ่มเติม</a>
+
+accessibility-text-label-issue-frame = องค์ประกอบ <code>frame</code> ต้องมีป้ายกำกับ <a>เรียนรู้เพิ่มเติม</a>
+
+accessibility-text-label-issue-glyph = ใช้แอตทริบิวต์ <code>alt</code> เพื่อกำหนดป้ายกำกับให้กับองค์ประกอบ <span>mglyph</span> <a>เรียนรู้เพิ่มเติม</a>
+
+accessibility-text-label-issue-heading = หัวเรื่องต้องมีป้ายชื่อ <a>เรียนรู้เพิ่มเติม</a>
+
+accessibility-text-label-issue-heading-content = หัวเรื่องควรมีบริบทข้อความที่มองเห็นได้ <a>เรียนรู้เพิ่มเติม</a>
+
+accessibility-text-label-issue-iframe = ใช้แอตทริบิวต์ <code>title</code> เพื่ออธิบายเนื้อหา <span>iframe</span> <a>เรียนรู้เพิ่มเติม</a>
+
+accessibility-text-label-issue-image = เนื้อหาที่มีภาพต้องมีป้ายชื่อ <a>เรียนรู้เพิ่มเติม</a>
+
+accessibility-text-label-issue-interactive = องค์ประกอบแบบโต้ตอบต้องมีป้ายชื่อ <a>เรียนรู้เพิ่มเติม</a>
+
+accessibility-text-label-issue-optgroup-label2 = ใช้แอตทริบิวต์ <code>label</code> เพื่อกำหนดป้ายกำกับให้กับ <span>optgroup</span> <a>เรียนรู้เพิ่มเติม</a>
+
+accessibility-text-label-issue-toolbar = แถบเครื่องมือต้องมีป้ายชื่อเมื่อมีแถบเครื่องมือมากกว่าหนึ่งแถบ <a>เรียนรู้เพิ่มเติม</a>
+
+## Text entries for a paragraph used in the accessibility panel sidebar's checks section
+## that describe that currently selected accessible object has a keyboard accessibility
+## issue.
+
+accessibility-keyboard-issue-semantics = องค์ประกอบที่สามารถโฟกัสได้ควรมีการสื่อความหมายเชิงโต้ตอบ <a>เรียนรู้เพิ่มเติม</a>
+
+accessibility-keyboard-issue-tabindex = หลีกเลี่ยงการใช้แอตทริบิวต์ <code>tabindex</code> ที่มีค่ามากกว่าศูนย์ <a>เรียนรู้เพิ่มเติม</a>
+
+accessibility-keyboard-issue-action = องค์ประกอบเชิงโต้ตอบต้องสามารถเปิดใช้งานโดยใช้แป้นพิมพ์ได้ <a>เรียนรู้เพิ่มเติม</a>
+
+accessibility-keyboard-issue-focusable = องค์ประกอบเชิงโต้ตอบต้องสามารถโฟกัสได้ <a>เรียนรู้เพิ่มเติม</a>
+
+accessibility-keyboard-issue-focus-visible = องค์ประกอบที่สามารถโฟกัสได้อาจขาดการกำหนดลักษณะการโฟกัส <a>เรียนรู้เพิ่มเติม</a>
+
+accessibility-keyboard-issue-mouse-only = องค์ประกอบที่คลิกได้ต้องสามารถโฟกัสได้และควรมีการสื่อความหมายเชิงโต้ตอบ <a>เรียนรู้เพิ่มเติม</a>
diff --git a/l10n-th/devtools/client/accessibility.properties b/l10n-th/devtools/client/accessibility.properties
new file mode 100644
index 0000000000..0572e72adb
--- /dev/null
+++ b/l10n-th/devtools/client/accessibility.properties
@@ -0,0 +1,310 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.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.deuteranomaly): This label is shown
+# in the "Simulate" menu in the accessibility panel and represent the deuteranomaly simulation option.
+accessibility.simulation.deuteranomaly=ตาบอดจางสีเขียว
+
+# LOCALIZATION NOTE (accessibility.simulation.protanomaly): This label is shown
+# in the "Simulate" menu in the accessibility panel and represent the protanomaly simulation option.
+accessibility.simulation.protanomaly=ตาบอดจางสีแดง
+
+# 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.tritanomaly): This label is shown
+# in the "Simulate" menu in the accessibility panel and represent the tritanomaly simulation option.
+accessibility.simulation.tritanomaly=ตาบอดจางสีน้ำเงิน
+
+# 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/l10n-th/devtools/client/animationinspector.properties b/l10n-th/devtools/client/animationinspector.properties
new file mode 100644
index 0000000000..149750d1fe
--- /dev/null
+++ b/l10n-th/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=&#8734;
+
+# LOCALIZATION NOTE (player.infiniteIterationCountText):
+# See player.infiniteIterationCount for a description of what this is.
+# Unlike player.infiniteIterationCount, this string isn't used in HTML, but in
+# a tooltip.
+player.infiniteIterationCountText=∞
+
+# LOCALIZATION NOTE (player.animationIterationStartLabel2):
+# This string is displayed in a tooltip that appears when hovering over
+# animations in the timeline. It is the label displayed before the animation
+# iterationStart value.
+# %1$S will be replaced by the original iteration start value
+# %2$S will be replaced by the actual time of iteration start without time unit
+# e.g.
+# If iterationStart of animation is 0.5 and duration is 1 sec, the string will be
+# "Iteration start: 0.5 (0.5s)"
+player.animationIterationStartLabel2=การทวนซ้ำเริ่ม: %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/l10n-th/devtools/client/application.ftl b/l10n-th/devtools/client/application.ftl
new file mode 100644
index 0000000000..b73c060f80
--- /dev/null
+++ b/l10n-th/devtools/client/application.ftl
@@ -0,0 +1,144 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+
+### 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 = เปิด <a>about:debugging</a> สำหรับตัวทำงานบริการจากโดเมนอื่น ๆ
+# 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 = สามารถดีบั๊กได้เฉพาะเวิร์กเกอร์บริการที่ทำงานอยู่เท่านั้น
+# Text for the debug link displayed for an already started Service Worker, when we
+# are in multi e10s mode, which effectively disables this link.
+serviceworker-worker-debug-forbidden = ดีบั๊ก
+ .title = สามารถดีบั๊กตัวทำงานบริการได้หาก multi e10s ถูกปิดใช้งานอยู่เท่านั้น
+# 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-start2 = เริ่ม
+ .title = สามารถเริ่มตัวทำงานบริการได้หาก multi e10s ถูกปิดใช้งานอยู่เท่านั้น
+# 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 <time> element will
+# display the last update time of the service worker script.
+serviceworker-worker-updated = อัปเดตเมื่อ <time>{ DATETIME($date, month: "long", year: "numeric", day: "numeric", hour: "numeric", minute: "numeric", second: "numeric") }</time>
+# Text displayed next to the URL for the source of the service worker (e-g. "Source my/path/to/worker-js")
+serviceworker-worker-source = แหล่งที่มา
+# Text displayed next to the current status of the service worker.
+serviceworker-worker-status = สถานะ
+
+## Service Worker status strings: all serviceworker-worker-status-* strings are also
+## defined in aboutdebugging.properties and should be synchronized with them.
+
+# Service Worker status. A running service worker is registered, currently executed, can
+# be debugged and stopped.
+serviceworker-worker-status-running = กำลังทำงาน
+# Service Worker status. A stopped service worker is registered but not currently active.
+serviceworker-worker-status-stopped = หยุดอยู่
+# Text displayed when no service workers are visible for the current page. Clicking on the
+# link will open https://developer-mozilla-org/docs/Web/API/Service_Worker_API/Using_Service_Workers
+serviceworker-empty-intro = คุณต้องลงทะเบียนเวิร์กเกอร์บริการเพื่อตรวจสอบที่นี่ <a>เรียนรู้เพิ่มเติม</a>
+# Text displayed when there are no Service Workers to display for the current page,
+# introducing hints to debug Service Worker issues.
+serviceworker-empty-suggestions = ถ้าหน้าปัจจุบันควรมีเวิร์กเกอร์บริการ ต่อไปนี้คือบางสิ่งที่คุณสามารถลองทำได้
+# Suggestion to check for errors in the Console to investigate why a service worker is not
+# registered. Clicking on the link opens the webconsole.
+serviceworker-empty-suggestions-console = มองหาข้อผิดพลาดในคอนโซล <a>เปิดคอนโซล</a>
+# Suggestion to use the debugger to investigate why a service worker is not registered.
+# Clicking on the link will switch from the Application panel to the debugger.
+serviceworker-empty-suggestions-debugger = ลงทะเบียนเวิร์กเกอร์บริการของคุณตามขั้นตอนที่กำหนดและมองหาข้อยกเว้น <a>เปิดตัวดีบั๊ก</a>
+# Suggestion to go to about:debugging in order to see Service Workers for all domains.
+# Clicking on the link will open about:debugging in a new tab.
+serviceworker-empty-suggestions-aboutdebugging = ตรวจสอบเวิร์กเกอร์บริการจากโดเมนอื่น <a>เปิด about:debugging</a>
+# Text displayed when no service workers are visible for the current page.
+serviceworker-empty-intro2 = ไม่พบตัวทำงานบริการ
+# Link will open https://developer.mozilla.org/docs/Web/API/Service_Worker_API/Using_Service_Workers
+serviceworker-empty-intro-link = เรียนรู้เพิ่มเติม
+# Text displayed when there are no Service Workers to display for the current page,
+# introducing hints to debug Service Worker issues.
+# <a> and <span> are links that will open the webconsole and the debugger, respectively.
+serviceworker-empty-suggestions2 = หากหน้าปัจจุบันควรมีตัวทำงานบริการ คุณสามารถมองหาข้อผิดพลาดใน<a>คอนโซล</a>หรือลงทะเบียนตัวทำงานบริการของคุณใน<span>ตัวดีบั๊ก</span>ได้
+# Suggestion to go to about:debugging in order to see Service Workers for all domains.
+# Link will open about:debugging in a new tab.
+serviceworker-empty-suggestions-aboutdebugging2 = ดูตัวทำงานบริการจากโดเมนอื่น
+# Header for the Manifest page when we have an actual manifest
+manifest-view-header = ไฟล์กำกับของแอป
+# Header for the Manifest page when there's no manifest to inspect
+# The link will open https://developer.mozilla.org/en-US/docs/Web/Manifest
+manifest-empty-intro = คุณต้องเพิ่มไฟล์กำกับของแอปพลิเคชันเว็บเพื่อตรวจสอบที่นี่ <a>เรียนรู้เพิ่มเติม</a>
+# Header for the Manifest page when there's no manifest to inspect
+manifest-empty-intro2 = ตรวจไม่พบไฟล์กำกับเว็บแอป
+# The link will open https://developer.mozilla.org/en-US/docs/Web/Manifest
+manifest-empty-intro-link = เรียนรู้วิธีเพิ่มไฟล์กำกับ
+# Header for the Errors and Warnings section of Manifest inspection displayed in the application panel.
+manifest-item-warnings = ข้อผิดพลาดและคำเตือน
+# Header for the Identity section of Manifest inspection displayed in the application panel.
+manifest-item-identity = ข้อมูลประจำตัว
+# Header for the Presentation section of Manifest inspection displayed in the application panel.
+manifest-item-presentation = งานนำเสนอ
+# Header for the Icon section of Manifest inspection displayed in the application panel.
+manifest-item-icons = ไอคอน
+# Text displayed while we are loading the manifest file
+manifest-loading = กำลังโหลดไฟล์กำกับ…
+# Text displayed when the manifest has been successfully loaded
+manifest-loaded-ok = โหลดไฟล์กำกับแล้ว
+# Text displayed as a caption when there has been an error while trying to
+# load the manifest
+manifest-loaded-error = มีข้อผิดพลาดขณะโหลดไฟล์กำกับ:
+# Text displayed as an error when there has been a Firefox DevTools error while
+# trying to load the manifest
+manifest-loaded-devtools-error = ข้อผิดพลาด Firefox DevTools
+# Text displayed when the page has no manifest available
+manifest-non-existing = ไม่พบไฟล์กำกับที่จะตรวจสอบ
+# Text displayed when the page has a manifest embedded in a Data URL and
+# thus we cannot link to it.
+manifest-json-link-data-url = ไฟล์กำกับถูกฝังอยู่ใน URL ข้อมูล
+# Text displayed at manifest icons to label their purpose, as declared
+# in the manifest.
+manifest-icon-purpose = จุดประสงค์: <code>{ $purpose }</code>
+# Text displayed as the alt attribute for <img> tags showing the icons in the
+# manifest.
+manifest-icon-img =
+ .alt = ไอคอน
+# Text displayed as the title attribute for <img> tags showing the icons in the
+# manifest. `$sizes` is a user-dependent string that has been parsed as a
+# space-separated list of `<width>x<height>` sizes or the keyword `any`.
+manifest-icon-img-title = ไอคอนที่มีขนาด: { $sizes }
+# Text displayed as the title attribute for <img> tags showing the icons in the
+# manifest, in case there's no icon size specified by the user
+manifest-icon-img-title-no-sizes = ไอคอนขนาดที่ไม่ระบุ
+# Sidebar navigation item for Manifest sidebar item section
+sidebar-item-manifest = ไฟล์กำกับ
+ .alt = ไอคอนไฟล์กำกับ
+ .title = ไฟล์กำกับ
+# Sidebar navigation item for Service Workers sidebar item section
+sidebar-item-service-workers = ตัวทำงานบริการ
+ .alt = ไอคอนตัวทำงานบริการ
+ .title = ตัวทำงานบริการ
+# Text for the ALT and TITLE attributes of the warning icon
+icon-warning =
+ .alt = ไอคอนคำเตือน
+ .title = คำเตือน
+# Text for the ALT and TITLE attributes of the error icon
+icon-error =
+ .alt = ไอคอนข้อผิดพลาด
+ .title = ข้อผิดพลาด
diff --git a/l10n-th/devtools/client/boxmodel.properties b/l10n-th/devtools/client/boxmodel.properties
new file mode 100644
index 0000000000..455b15dcc8
--- /dev/null
+++ b/l10n-th/devtools/client/boxmodel.properties
@@ -0,0 +1,48 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE : FILE This file contains the Layout View strings.
+# The Layout View is a panel displayed in the computed view tab of the Inspector sidebar.
+
+# LOCALIZATION NOTE : FILE The correct localization of this file might be to
+# keep it in English, or another language commonly spoken among web developers.
+# You want to make that choice consistent across the developer tools.
+# A good criteria is the language in which you'd find the best
+# documentation on web development on the web.
+
+# LOCALIZATION NOTE (boxmodel.title) This is the title of the box model panel and is
+# displayed as a label.
+boxmodel.title=โมเดลกล่อง
+
+# LOCALIZATION NOTE: (boxmodel.geometryButton.tooltip) This label is displayed as a
+# tooltip that appears when hovering over the button that allows users to edit the
+# position of an element in the page.
+boxmodel.geometryButton.tooltip=แก้ไขตำแหน่ง
+
+# LOCALIZATION NOTE: (boxmodel.propertiesLabel) This label is displayed as the header
+# for showing and collapsing the properties underneath the box model in the layout view
+boxmodel.propertiesLabel=คุณสมบัติโมเดลกล่อง
+
+# LOCALIZATION NOTE (boxmodel.propertiesHideLabel):
+# This is the spoken label for the twisty.
+# If the properties are currently showing, it will say "Hide".
+boxmodel.propertiesHideLabel=ซ่อน
+
+# LOCALIZATION NOTE (boxmodel.propertiesShowLabel):
+# This is the spoken label for the twisty.
+# If the properties are currently hidden, it will say "Show".
+boxmodel.propertiesShowLabel=แสดง
+
+# LOCALIZATION NOTE: (boxmodel.offsetParent) This label is displayed inside the list of
+# properties, below the box model, in the layout view. It is displayed next to the
+# position property, when position is absolute, relative, sticky. This label tells users
+# what the DOM node previewed next to it is: an offset parent for the position element.
+boxmodel.offsetParent=ออฟเซต
+
+# LOCALIZATION NOTE: (boxmodel.offsetParent.title) This label is displayed as a
+# tooltip that appears when hovering over the offset label, inside the list of properties,
+# below the box model, in the layout view. This label tells users
+# what the DOM node previewed next to it is: an offset parent for the position element.
+boxmodel.offsetParent.title=ข้อมูลหลักออฟเซตขององค์ประกอบที่เลือก
+
diff --git a/l10n-th/devtools/client/changes.properties b/l10n-th/devtools/client/changes.properties
new file mode 100644
index 0000000000..5b8dd1e2b6
--- /dev/null
+++ b/l10n-th/devtools/client/changes.properties
@@ -0,0 +1,64 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE This file contains the strings for the Changes panel accessible from
+# the Inspector sidebar.
+
+# LOCALIZATION NOTE (changes.noChanges): This text is shown when no changes are available.
+changes.noChanges=ไม่พบการเปลี่ยนแปลง
+
+# LOCALIZATION NOTE (changes.noChangesDescription): This text is shown when no changes are
+# available and provides additional context for the purpose of the Changes panel.
+changes.noChangesDescription=การเปลี่ยนแปลง CSS ในตัวตรวจสอบจะปรากฏที่นี่
+
+# LOCALIZATION NOTE (changes.inlineStyleSheetLabel): This label appears in the Changes
+# panel above changes done to inline stylesheets. The variable will be replaced with the
+# index of the stylesheet within its document like so: Inline #1
+changes.inlineStyleSheetLabel=%S แบบอินไลน์
+
+# LOCALIZATION NOTE (changes.elementStyleLabel): This label appears in the Changes
+# panel above changes done to element styles.
+changes.elementStyleLabel=องค์ประกอบ
+
+# LOCALIZATION NOTE (changes.iframeLabel): This label appears next to URLs of stylesheets
+# and element inline styles hosted by iframes. Lowercase intentional.
+changes.iframeLabel=iframe
+
+# LOCALIZATION NOTE (changes.contextmenu.copy): Label for "Copy" option in Changes panel
+# context menu
+changes.contextmenu.copy=คัดลอก
+
+# LOCALIZATION NOTE (changes.contextmenu.copy.accessKey): Access key for "Copy"
+# option in the Changes panel.
+changes.contextmenu.copy.accessKey=ค
+
+# LOCALIZATION NOTE (changes.contextmenu.copyAllChanges): Label for "Copy All Changes"
+# option in Changes panel context menu which copies all changed CSS declarations from a
+# stylesheet
+changes.contextmenu.copyAllChanges=คัดลอกการเปลี่ยนแปลงทั้งหมด
+
+# LOCALIZATION NOTE (changes.contextmenu.copyAllChangesDescription): Detailed explanation
+# for "Copy All Changes" option in Changes panel. Used as title attribute on "Copy All
+# Changes" button
+changes.contextmenu.copyAllChangesDescription=คัดลอกรายการการเปลี่ยนแปลง CSS ทั้งหมดไปยังคลิปบอร์ด
+
+# LOCALIZATION NOTE (changes.contextmenu.copyDeclaration): Label for "Copy Declaration"
+# option in Changes panel context menu which copies the target CSS declaration.
+changes.contextmenu.copyDeclaration=คัดลอกการประกาศ
+
+# LOCALIZATION NOTE (changes.contextmenu.copyRule): Label for "Copy Rule" option in
+# Changes panel context menu which copies the complete contents of a CSS rule.
+changes.contextmenu.copyRule=คัดลอกกฎ
+
+# LOCALIZATION NOTE (changes.contextmenu.copyRuleDescription): Detailed explanation for
+# "Copy Rule" option in Changes panel. Used as title attribute on "Copy Rule" button.
+changes.contextmenu.copyRuleDescription=คัดลอกเนื้อหาของกฎ CSS นี้ไปยังคลิปบอร์ด
+
+# LOCALIZATION NOTE (changes.contextmenu.selectAll): Label for "Select All" option in the
+# Changes panel context menu to select all text content.
+changes.contextmenu.selectAll=เลือกทั้งหมด
+
+# LOCALIZATION NOTE (changes.contextmenu.selectAll.accessKey): Access key for "Select All"
+# option in the Changes panel.
+changes.contextmenu.selectAll.accessKey=ล
diff --git a/l10n-th/devtools/client/compatibility.ftl b/l10n-th/devtools/client/compatibility.ftl
new file mode 100644
index 0000000000..09554ca490
--- /dev/null
+++ b/l10n-th/devtools/client/compatibility.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/.
+
+
+## Messages used as headers in the main pane
+
+compatibility-selected-element-header = องค์ประกอบที่ถูกเลือก
+compatibility-all-elements-header = ปัญหาทั้งหมด
+
+## Message used as labels for the type of issue
+
+compatibility-issue-deprecated = (เลิกใช้)
+compatibility-issue-experimental = (ทดลอง)
+compatibility-issue-prefixneeded = (จำเป็นต้องใส่คำนำหน้า)
+compatibility-issue-deprecated-experimental = (เลิกใช้, ทดลอง)
+
+compatibility-issue-deprecated-prefixneeded = (เลิกใช้แล้ว และจำเป็นต้องใส่คำนำหน้า)
+compatibility-issue-experimental-prefixneeded = (เป็นคุณลักษณะทดลอง และจำเป็นต้องใส่คำนำหน้า)
+compatibility-issue-deprecated-experimental-prefixneeded = (เลิกใช้แล้ว เป็นคุณลักษณะทดลอง และจำเป็นต้องใส่คำนำหน้า)
+
+## Messages used as labels and titles for buttons in the footer
+
+compatibility-settings-button-label = การตั้งค่า
+compatibility-settings-button-title =
+ .title = การตั้งค่า
+compatibility-feedback-button-label = ข้อเสนอแนะ
+compatibility-feedback-button-title =
+ .title = ข้อเสนอแนะ
+
+## Messages used as headers in settings pane
+
+compatibility-settings-header = การตั้งค่า
+compatibility-target-browsers-header = เบราว์เซอร์เป้าหมาย
+
+##
+
+# Text used as the label for the number of nodes where the issue occurred
+# Variables:
+# $number (Number) - The number of nodes where the issue occurred
+compatibility-issue-occurrences =
+ { $number ->
+ *[other] { $number } ครั้งที่ปรากฏ
+ }
+
+compatibility-no-issues-found = ไม่พบปัญหาความเข้ากันได้
+compatibility-close-settings-button =
+ .title = ปิดการตั้งค่า
diff --git a/l10n-th/devtools/client/components.properties b/l10n-th/devtools/client/components.properties
new file mode 100644
index 0000000000..e28db772a0
--- /dev/null
+++ b/l10n-th/devtools/client/components.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/.
+
+# LOCALIZATION NOTE These strings are used in the shared React components,
+# so files in `devtools/client/shared/components/*`.
+
+# LOCALIZATION NOTE (frame.unknownSource): When we do not know the source filename of
+# a frame, we use this string instead.
+frame.unknownSource=(ไม่ทราบ)
+
+# LOCALIZATION NOTE (frame.viewsourceindebugger): The label for the tooltip when hovering over
+# a source link that links to the debugger.
+# %S represents the URL to match in the debugger.
+frame.viewsourceindebugger=ดูต้นฉบับในตัวดีบั๊ก → %S
+
+# LOCALIZATION NOTE (frame.viewsourceinstyleeditor): The label for the tooltip when hovering over
+# a source link that links to the Style Editor.
+# %S represents the URL to match in the style editor.
+frame.viewsourceinstyleeditor=ดูต้นฉบับในตัวแก้ไขลักษณะ → %S
+
+# LOCALIZATION NOTE (notificationBox.closeTooltip): The content of a tooltip that
+# appears when hovering over the close button in a notification box.
+notificationBox.closeTooltip=ปิดข้อความนี้
diff --git a/l10n-th/devtools/client/debugger.properties b/l10n-th/devtools/client/debugger.properties
new file mode 100644
index 0000000000..54b3f2b9f7
--- /dev/null
+++ b/l10n-th/devtools/client/debugger.properties
@@ -0,0 +1,1130 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE These strings are used inside the Debugger
+# which is available from the Web Developer sub-menu -> 'Debugger'.
+# The correct localization of this file might be to keep it in
+# English, or another language commonly spoken among web developers.
+# You want to make that choice consistent across the developer tools.
+# A good criteria is the language in which you'd find the best
+# documentation on web development on the web.
+
+# LOCALIZATION NOTE (collapseSources): This is the tooltip for the button
+# that collapses the Sources and Outlines panes in the debugger UI.
+collapseSources=ยุบบานหน้าต่างแหล่งที่มาและเค้าร่าง
+
+# LOCALIZATION NOTE (collapseBreakpoints): This is the tooltip for the button
+# that collapses the Breakpoints panes in the debugger UI.
+collapseBreakpoints=ยุบบานหน้าต่างจุดพัก
+
+# LOCALIZATION NOTE (copyToClipboard.label): This is the text that appears in the
+# context menu to copy the text that the user selected.
+copyToClipboard.label=คัดลอกไปยังคลิปบอร์ด
+copyToClipboard.accesskey=ค
+
+# LOCALIZATION NOTE (copySource.label): This is the text that appears in the
+# context menu to copy all of the text in the open file.
+copySource.label=คัดลอกข้อความต้นฉบับ
+copySource.accesskey=ด
+
+# LOCALIZATION NOTE (copySourceUri2): This is the text that appears in the
+# context menu to copy the source URI of file open.
+copySourceUri2=คัดลอก URI ต้นฉบับ
+copySourceUri2.accesskey=ล
+
+# LOCALIZATION NOTE (collapseAll.label): This is the text that appears in the
+# context menu to collapse a directory and all of its subdirectories.
+collapseAll.label=ยุบทั้งหมด
+
+# LOCALIZATION NOTE (expandAll.label): This is the text that appears in the
+# context menu to expand a directory and all of its subdirectories.
+expandAll.label=ขยายทั้งหมด
+
+# LOCALIZATION NOTE (setDirectoryRoot.label): This is the text that appears in the
+# context menu to set a directory as root directory
+setDirectoryRoot.label=ตั้งค่าไดเรกทอรีราก
+setDirectoryRoot.accesskey=ต
+
+# LOCALIZATION NOTE (removeDirectoryRoot.label): This is the text that appears in the
+# context menu to remove a directory as root directory
+removeDirectoryRoot.label=เอาไดเรกทอรีรากออก
+
+# LOCALIZATION NOTE (blackBoxAll.label): Text associated with the blackbox context menu item
+blackBoxAll.label=กล่องดำ
+
+# LOCALIZATION NOTE (blackBoxAllInGroup.label): This is the text that appears in the
+# context submenu to blackbox all files inside of the selected group
+blackBoxAllInGroup.label=เปิดกล่องดำไฟล์ที่อยู่ในกลุ่มนี้
+
+# LOCALIZATION NOTE (unblackBoxAllInGroup.label): This is the text that appears in the
+# context submenu to unblackbox all files inside of the selected group
+unblackBoxAllInGroup.label=ปิดกล่องดำไฟล์ที่อยู่ในกลุ่มนี้
+
+# LOCALIZATION NOTE (blackBoxAllOutsideGroup.label): This is the text that appears in the
+# context submenu to blackbox all files outside of the selected group
+blackBoxAllOutsideGroup.label=เปิดกล่องดำไฟล์ที่อยู่นอกกลุ่มนี้
+
+# LOCALIZATION NOTE (unblackBoxAllOutsideGroup.label): This is the text that appears in the
+# context submenu to unblackbox all files outside of the selected group
+unblackBoxAllOutsideGroup.label=ปิดกล่องดำไฟล์ที่อยู่นอกกลุ่มนี้
+
+# LOCALIZATION NOTE (blackBoxAllInDir.label): This is the text that appears in the
+# context submenu to blackbox all files inside of the selected directory
+blackBoxAllInDir.label=เปิดกล่องดำไฟล์ที่อยู่ในไดเรกทอรีนี้
+
+# LOCALIZATION NOTE (unblackBoxAllInDir.label): This is the text that appears in the
+# context submenu to unblackbox all files inside of the selected directory
+unblackBoxAllInDir.label=ปิดกล่องดำไฟล์ที่อยู่ในไดเรกทอรีนี้
+
+# LOCALIZATION NOTE (blackBoxAllOutsideDir.label): This is the text that appears in the
+# context submenu to blackbox all files outside of the selected directory
+blackBoxAllOutsideDir.label=เปิดกล่องดำไฟล์ที่อยู่นอกไดเรกทอรีนี้
+
+# LOCALIZATION NOTE (unblackBoxAllOutsideDir.label: This is the text that appears in the
+# context submenu to unblackbox all files outside of the selected directory
+unblackBoxAllOutsideDir.label=ปิดกล่องดำไฟล์ที่อยู่นอกไดเรกทอรีนี้
+
+# LOCALIZATION NOTE (ignoreAll.label): Text associated with the ignore context menu item
+ignoreAll.label=เพิกเฉย
+
+# LOCALIZATION NOTE (ignoreAllInGroup.label): This is the text that appears in the
+# context submenu to ignore all files inside of the selected group
+ignoreAllInGroup.label=เพิกเฉยไฟล์ที่อยู่ในกลุ่มนี้
+
+# LOCALIZATION NOTE (unignoreAllInGroup.label): This is the text that appears in the
+# context submenu to unignore all files inside of the selected group
+unignoreAllInGroup.label=เลิกเพิกเฉยไฟล์ที่อยู่ในกลุ่มนี้
+
+# LOCALIZATION NOTE (ignoreAllOutsideGroup.label): This is the text that appears in the
+# context submenu to ignore all files outside of the selected group
+ignoreAllOutsideGroup.label=เพิกเฉยไฟล์ที่อยู่นอกกลุ่มนี้
+
+# LOCALIZATION NOTE (unignoreAllOutsideGroup.label): This is the text that appears in the
+# context submenu to unignore all files outside of the selected group
+unignoreAllOutsideGroup.label=เลิกเพิกเฉยไฟล์ที่อยู่นอกกลุ่มนี้
+
+# LOCALIZATION NOTE (ignoreAllInDir.label): This is the text that appears in the
+# context submenu to ignore all files inside of the selected directory
+ignoreAllInDir.label=เพิกเฉยไฟล์ที่อยู่ในไดเรกทอรีนี้
+
+# LOCALIZATION NOTE (unignoreAllInDir.label): This is the text that appears in the
+# context submenu to unignore all files inside of the selected directory
+unignoreAllInDir.label=เลิกเพิกเฉยไฟล์ที่อยู่ในไดเรกทอรีนี้
+
+# LOCALIZATION NOTE (ignoreAllOutsideDir.label): This is the text that appears in the
+# context submenu to ignore all files outside of the selected directory
+ignoreAllOutsideDir.label=เพิกเฉยไฟล์ที่อยู่นอกไดเรกทอรีนี้
+
+# LOCALIZATION NOTE (unignoreAllOutsideDir.label: This is the text that appears in the
+# context submenu to unignore all files outside of the selected directory
+unignoreAllOutsideDir.label=เลิกเพิกเฉยไฟล์ที่อยู่นอกไดเรกทอรีนี้
+
+# LOCALIZATION NOTE (copyFunction.label): This is the text that appears in the
+# context menu to copy the function the user selected
+copyFunction.label=คัดลอกฟังก์ชัน
+copyFunction.accesskey=อ
+
+# LOCALIZATION NOTE (copyStackTrace): This is the text that appears in the
+# context menu to copy the stack trace methods, file names and row number.
+copyStackTrace=คัดลอกการติดตามสแตก
+copyStackTrace.accesskey=ค
+
+# LOCALIZATION NOTE (restartFrame): This is the text that appears in the
+# context menu to restart a frame.
+restartFrame=เริ่มเฟรมใหม่
+restartFrame.accesskey=r
+
+# LOCALIZATION NOTE (expandSources): This is the tooltip for the button
+# that expands the Sources and Outlines panes in the debugger UI.
+expandSources=ขยายบานหน้าต่างแหล่งที่มาและเค้าร่าง
+
+# LOCALIZATION NOTE (expandBreakpoints): This is the tooltip for the button
+# that expands the Breakpoints panes in the debugger UI.
+expandBreakpoints=ขยายบานหน้าต่างจุดพัก
+
+# LOCALIZATION NOTE (evaluateInConsole.label): Editor right-click menu item
+# to execute selected text in browser console.
+evaluateInConsole.label=ประเมินในคอนโซล
+
+# LOCALIZATION NOTE (pauseButtonTooltip): The tooltip that is displayed for the pause
+# button when the debugger is in a running state.
+pauseButtonTooltip=คลิกเพื่อหยุดชั่วคราว (%S)
+
+# LOCALIZATION NOTE (pausePendingButtonTooltip): The tooltip that is displayed for
+# the pause button after it's been clicked but before the next JavaScript to run.
+pausePendingButtonTooltip=กำลังรอการดำเนินการถัดไป
+
+# LOCALIZATION NOTE (resumeButtonTooltip): The label that is displayed on the pause
+# button when the debugger is in a paused state.
+resumeButtonTooltip=คลิกเพื่อทำต่อ (%S)
+
+# LOCALIZATION NOTE (stepOverTooltip): The label that is displayed on the
+# button that steps over a function call.
+stepOverTooltip=ก้าวข้าม (%S)
+
+# LOCALIZATION NOTE (stepInTooltip): The label that is displayed on the
+# button that steps into a function call.
+stepInTooltip=ก้าวเข้า (%S)
+
+# LOCALIZATION NOTE (stepOutTooltip): The label that is displayed on the
+# button that steps out of a function call.
+stepOutTooltip=ก้าวออก (%S)
+
+# LOCALIZATION NOTE (skipPausingTooltip.label): The tooltip text for disabling all
+# breakpoints and pausing triggers
+skipPausingTooltip.label=ปิดใช้งานจุดพัก
+
+# LOCALIZATION NOTE (undoSkipPausingTooltip.label): The tooltip text for enabling all
+# breakpoints and pausing triggers
+undoSkipPausingTooltip.label=เปิดใช้งานจุดพัก
+
+# LOCALIZATION NOTE (pauseOnExceptionsItem2): The pause on exceptions checkbox description
+# when the debugger will pause on all exceptions.
+pauseOnExceptionsItem2=หยุดชั่วคราวที่ข้อยกเว้น
+
+# LOCALIZATION NOTE (pauseOnCaughtExceptionsItem): The pause on exceptions checkbox description
+# when the debugger should pause on caught exceptions
+pauseOnCaughtExceptionsItem=หยุดชั่วคราวที่ข้อยกเว้นที่จับ
+
+# LOCALIZATION NOTE (threadsHeader): The text to describe the threads header
+threadsHeader=เธรด
+
+# LOCALIZATION NOTE (mainThread): The text to describe the thread of the
+# program as opposed to worker threads.
+mainThread=เธรดหลัก
+
+# LOCALIZATION NOTE (noSourcesText): The text to display in the sources list
+# when there are no sources.
+noSourcesText=หน้านี้ไม่มีแหล่งที่มา
+
+# LOCALIZATION NOTE (eventListenersHeader1): The text to display in the events
+# header.
+eventListenersHeader1=จุดพักตัวฟังเหตุการณ์
+
+# LOCALIZATION NOTE (noDomMutationBreakpoints): The text to
+# display in the DOM Mutation Breakpoints pane when there are no events.
+# %S will be replaced by an active link using inspectorTool as text
+noDomMutationBreakpoints=คลิกขวาองค์ประกอบใน %S และเลือก “พักเมื่อ…” เพื่อเพิ่มจุดพัก
+
+# LOCALIZATION NOTE (inspectorTool): The text to describe the the Inspector tool
+inspectorTool=ตัวตรวจสอบ
+
+# LOCALIZATION NOTE (eventListenersHeader1.placeholder): The placeholder text in
+# the event search input bar
+eventListenersHeader1.placeholder=กรองตามประเภทเหตุการณ์
+
+# LOCALIZATION NOTE (domMutationHeader): The text to display in the
+# DOM Mutation Breakpoints header
+domMutationHeader=จุดพัก DOM Mutation
+
+# LOCALIZATION NOTE (domMutationTypes.attribute): The text to display in the
+# DOM Mutation Breakpoints panel for an attribute change
+domMutationTypes.attribute=การปรับเปลี่ยนแอตทริบิวต์
+
+# LOCALIZATION NOTE (domMutationTypes.removal): The text to display in the
+# DOM Mutation Breakpoints panel for a DOM node removal
+domMutationTypes.removal=การเอาโหนดออก
+
+# LOCALIZATION NOTE (domMutationTypes.subtree): The text to display in the
+# DOM Mutation Breakpoints panel for a DOM subtree change
+domMutationTypes.subtree=การปรับเปลี่ยนทรีย่อย
+
+# LOCALIZATION NOTE (sources.search.key2): Key shortcut to open the search for
+# searching all the source files the debugger has seen.
+# Do not localize "CmdOrCtrl+P", or change the format of the string. These are
+# key identifiers, not messages displayed to the user.
+sources.search.key2=CmdOrCtrl+P
+
+# LOCALIZATION NOTE (sources.search.alt.key): A second key shortcut to open the
+# search for searching all the source files the debugger has seen.
+# Do not localize "CmdOrCtrl+O", or change the format of the string. These are
+# key identifiers, not messages displayed to the user.
+sources.search.alt.key=CmdOrCtrl+O
+
+# LOCALIZATION NOTE (projectTextSearch.key): A key shortcut to open the
+# full project text search for searching all the files the debugger has seen.
+# Do not localize "CmdOrCtrl+Shift+F", or change the format of the string. These are
+# key identifiers, not messages displayed to the user.
+projectTextSearch.key=CmdOrCtrl+Shift+F
+
+# LOCALIZATION NOTE (allShortcut.key): A key shortcut to open the
+# modal of full shortcuts list.
+# Do not localize "CmdOrCtrl+/", or change the format of the string. These are
+# key identifiers, not messages displayed to the user.
+allShortcut.key=CmdOrCtrl+/
+
+# LOCALIZATION NOTE (functionSearch.key): A key shortcut to open the
+# modal for searching functions in a file.
+# Do not localize "CmdOrCtrl+Shift+O", or change the format of the string. These are
+# key identifiers, not messages displayed to the user.
+functionSearch.key=CmdOrCtrl+Shift+O
+
+# LOCALIZATION NOTE (toggleBreakpoint.key): A key shortcut to toggle
+# breakpoints.
+# Do not localize "CmdOrCtrl+B", or change the format of the string. These are
+# key identifiers, not messages displayed to the user.
+toggleBreakpoint.key=CmdOrCtrl+B
+
+# LOCALIZATION NOTE (toggleCondPanel.breakpoint.key): A key shortcut to toggle
+# the conditional panel for breakpoints.
+# Do not localize "CmdOrCtrl+Shift+B", or change the format of the string. These are
+# key identifiers, not messages displayed to the user.
+toggleCondPanel.breakpoint.key=CmdOrCtrl+Shift+B
+
+# LOCALIZATION NOTE (toggleCondPanel.logPoint.key): A key shortcut to toggle
+# the conditional panel for log points.
+# Do not localize "CmdOrCtrl+Shift+Y", or change the format of the string. These are
+# key identifiers, not messages displayed to the user.
+toggleCondPanel.logPoint.key=CmdOrCtrl+Shift+Y
+
+# LOCALIZATION NOTE (stepOut.key): A key shortcut to
+# step out.
+stepOut.key=Shift+F11
+
+# LOCALIZATION NOTE (shortcuts.header.editor): Sections header in
+# the shortcuts modal for keyboard shortcuts related to editing.
+shortcuts.header.editor=ตัวแก้ไข
+
+# LOCALIZATION NOTE (shortcuts.header.stepping): Sections header in
+# the shortcuts modal for keyboard shortcuts related to stepping.
+shortcuts.header.stepping=การก้าว
+
+# LOCALIZATION NOTE (shortcuts.header.search): Sections header in
+# the shortcuts modal for keyboard shortcuts related to search.
+shortcuts.header.search=ค้นหา
+
+# LOCALIZATION NOTE (projectTextSearch.placeholder): A placeholder shown
+# when searching across all of the files in a project.
+projectTextSearch.placeholder=ค้นหาในไฟล์…
+
+# LOCALIZATION NOTE (projectTextSearch.noResults): The center pane Text Search
+# message when the query did not match any text of all files in a project.
+projectTextSearch.noResults=ไม่พบผลลัพธ์
+
+# LOCALIZATION NOTE (sourceSearch.search.key2): Key shortcut to open the search
+# for searching within a the currently opened files in the editor
+# Do not localize "CmdOrCtrl+F", or change the format of the string. These are
+# key identifiers, not messages displayed to the user.
+sourceSearch.search.key2=CmdOrCtrl+F
+
+# LOCALIZATION NOTE (sourceSearch.search.placeholder): placeholder text in
+# the source search input bar
+sourceSearch.search.placeholder=ค้นหาในไฟล์…
+
+# LOCALIZATION NOTE (sourceSearch.search.placeholder2): placeholder text in
+# the source search input bar
+sourceSearch.search.placeholder2=ค้นหาในไฟล์…
+
+# LOCALIZATION NOTE (sourceSearch.search.again.key3): Key shortcut to highlight
+# the next occurrence of the last search triggered from a source search
+# Do not localize "Cmd+G", or change the format of the string. These are
+# key identifiers, not messages displayed to the user.
+sourceSearch.search.again.key3=Cmd+G
+
+# LOCALIZATION NOTE (sourceSearch.search.againPrev.key3): Key shortcut to highlight
+# the previous occurrence of the last search triggered from a source search
+# Do not localize "Cmd+Shift+G", or change the format of the string. These are
+# key identifiers, not messages displayed to the user.
+sourceSearch.search.againPrev.key3=Cmd+Shift+G
+
+# LOCALIZATION NOTE (sourceSearch.resultsSummary2): Semi-colon list of plural forms.
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# Shows a summary of the number of matches for autocomplete
+sourceSearch.resultsSummary2=#1 ผลลัพธ์
+
+# LOCALIZATION NOTE (breakpointHeadingMenuItem.*): The text for all the elements
+# that are displayed in the breakpoint headings menu item popup.
+breakpointHeadingsMenuItem.enableInSource.label=เปิดใช้งานจุดพัก
+breakpointHeadingsMenuItem.enableInSource.accesskey=ป
+breakpointHeadingsMenuItem.disableInSource.label=ปิดใช้งานจุดพัก
+breakpointHeadingsMenuItem.disableInSource.accesskey=ป
+breakpointHeadingsMenuItem.removeInSource.label=เอาจุดพักออก
+breakpointHeadingsMenuItem.removeInSource.accesskey=อ
+
+# LOCALIZATION NOTE (breakpointMenuItem): The text for all the elements that
+# are displayed in the breakpoints menu item popup.
+breakpointMenuItem.enableSelf2.label=เปิดใช้งาน
+breakpointMenuItem.enableSelf2.accesskey=ป
+breakpointMenuItem.disableSelf2.label=ปิดใช้งาน
+breakpointMenuItem.disableSelf2.accesskey=ป
+breakpointMenuItem.deleteSelf2.label=เอาออก
+breakpointMenuItem.deleteSelf2.accesskey=อ
+breakpointMenuItem.disabledbg.label=ไม่ต้องพักที่นี่
+breakpointMenuItem.enabledbg.label=พักที่นี่
+breakpointMenuItem.enableOthers2.label=เปิดใช้งานอื่น ๆ
+breakpointMenuItem.enableOthers2.accesskey=ด
+breakpointMenuItem.disableOthers2.label=ปิดใช้งานอื่น ๆ
+breakpointMenuItem.disableOthers2.accesskey=ด
+breakpointMenuItem.deleteOthers2.label=เอาอื่น ๆ ออก
+breakpointMenuItem.deleteOthers2.accesskey=น
+breakpointMenuItem.enableAll2.label=เปิดใช้งานทั้งหมด
+breakpointMenuItem.enableAll2.accesskey=ช
+breakpointMenuItem.disableAll2.label=ปิดใช้งานทั้งหมด
+breakpointMenuItem.disableAll2.accesskey=ช
+breakpointMenuItem.deleteAll2.label=เอาทั้งหมดออก
+breakpointMenuItem.deleteAll2.accesskey=อ
+breakpointMenuItem.removeCondition2.label=เอาเงื่อนไขออก
+breakpointMenuItem.removeCondition2.accesskey=อ
+breakpointMenuItem.addCondition2.label=เพิ่มเงื่อนไข
+breakpointMenuItem.addCondition2.accesskey=พ
+breakpointMenuItem.editCondition2.label=แก้ไขเงื่อนไข
+breakpointMenuItem.editCondition2.accesskey=ก
+breakpointMenuItem.enableSelf=เปิดใช้งานจุดพัก
+breakpointMenuItem.disableSelf=ปิดใช้งานจุดพัก
+breakpointMenuItem.deleteSelf=เอาจุดพักออก
+breakpointMenuItem.enableOthers=เปิดใช้งานอื่น ๆ
+breakpointMenuItem.disableOthers=ปิดใช้งานอื่น ๆ
+breakpointMenuItem.deleteOthers=เอาอื่น ๆ ออก
+breakpointMenuItem.enableAll=เปิดใช้งานจุดพักทั้งหมด
+breakpointMenuItem.disableAll=ปิดใช้งานจุดพักทั้งหมด
+breakpointMenuItem.deleteAll=เอาจุดพักทั้งหมดออก
+breakpointMenuItem.disableAllAtLine.label=ปิดใช้งานจุดพักบนบรรทัด
+breakpointMenuItem.disableAllAtLine.accesskey=ป
+breakpointMenuItem.enableAllAtLine.label=เปิดใช้งานจุดพักบนบรรทัด
+breakpointMenuItem.enableAllAtLine.accesskey=ป
+breakpointMenuItem.removeAllAtLine.label=เอาจุดพักบนบรรทัดออก
+breakpointMenuItem.removeAllAtLine.accesskey=อ
+
+# LOCALIZATION NOTE (breakpoints.header): Breakpoints right sidebar pane header.
+breakpoints.header=จุดพัก
+
+# LOCALIZATION NOTE (breakpoints.enable): The text that may appear as a tooltip
+# when hovering over the 'disable breakpoints' switch button in right sidebar
+breakpoints.enable=เปิดใช้งานจุดพัก
+
+# LOCALIZATION NOTE (breakpoints.disable): The text that may appear as a tooltip
+# when hovering over the 'disable breakpoints' switch button in right sidebar
+breakpoints.disable=ปิดใช้งานจุดพัก
+
+# LOCALIZATION NOTE (breakpoints.removeBreakpointTooltip): The tooltip that is displayed
+# for remove breakpoint button in right sidebar
+breakpoints.removeBreakpointTooltip=เอาจุดพักออก
+
+# LOCALIZATION NOTE (callStack.header): Call Stack right sidebar pane header.
+callStack.header=สแตกการเรียก
+
+# LOCALIZATION NOTE (callStack.notPaused): Call Stack right sidebar pane
+# message when not paused.
+callStack.notPaused=ไม่ได้หยุดชั่วคราว
+
+# LOCALIZATION NOTE (callStack.collapse): Call Stack right sidebar pane
+# message to hide some of the frames that are shown.
+callStack.collapse=ยุบแถว
+
+# LOCALIZATION NOTE (callStack.expand): Call Stack right sidebar pane
+# message to show more of the frames.
+callStack.expand=ขยายแถว
+
+# LOCALIZATION NOTE (callStack.group.expandTooltip): The text that will appear
+# when hovering a collapsed Group of frames in the callStack panel. `frames` is
+# always plural since a group can only exist if it contain more that 1 frame.
+# %S is replaced by the name of the library of the frames in the group.
+# example: `Show React frames`.
+callStack.group.expandTooltip=แสดงเฟรม %S
+
+# LOCALIZATION NOTE (callStack.group.collapseTooltip): The text that will appear
+# when hovering an expanded Group of frames in the callStack panel. `frames` is
+# always plural since a group can only exist if it contain more that 1 frame.
+# %S is replaced by the name of the library of the frames in the group.
+# example: `Collapse React frames`.
+callStack.group.collapseTooltip=ยุบเฟรม %S
+
+# LOCALIZATION NOTE (editor.searchResults1): Semi-colon list of plural forms.
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# Editor Search bar message to summarize the selected search result. e.g. 5 of 10 results.
+editor.searchResults1=%d จาก #1 ผลลัพธ์
+
+# LOCALIZATION NOTE (editor.noResultsFound): Editor Search bar message
+# for when no results found.
+editor.noResultsFound=ไม่พบผลลัพธ์
+
+# LOCALIZATION NOTE (editor.searchResults.nextResult): Editor Search bar
+# tooltip for traversing to the Next Result
+editor.searchResults.nextResult=ผลลัพธ์ถัดไป
+
+# LOCALIZATION NOTE (editor.searchResults.prevResult): Editor Search bar
+# tooltip for traversing to the Previous Result
+editor.searchResults.prevResult=ผลลัพธ์ก่อนหน้า
+
+# LOCALIZATION NOTE (editor.continueToHere.label): Editor gutter context
+# menu item for jumping to a new paused location
+editor.continueToHere.label=ดำเนินการต่อไปยังที่นี่
+editor.continueToHere.accesskey=น
+
+# LOCALIZATION NOTE (editor.addBreakpoint): Editor gutter context menu item
+# for adding a breakpoint on a line.
+editor.addBreakpoint=เพิ่มจุดพัก
+
+# LOCALIZATION NOTE (editor.disableBreakpoint): Editor gutter context menu item
+# for disabling a breakpoint on a line.
+editor.disableBreakpoint=ปิดใช้งานจุดพัก
+editor.disableBreakpoint.accesskey=ป
+
+# LOCALIZATION NOTE (editor.enableBreakpoint): Editor gutter context menu item
+# for enabling a breakpoint on a line.
+editor.enableBreakpoint=เปิดใช้งานจุดพัก
+
+# LOCALIZATION NOTE (editor.removeBreakpoint): Editor gutter context menu item
+# for removing a breakpoint on a line.
+editor.removeBreakpoint=เอาจุดพักออก
+
+# LOCALIZATION NOTE (editor.addConditionBreakpoint): Editor gutter context
+# menu item for adding a breakpoint condition on a line.
+editor.addConditionBreakpoint=เพิ่มเงื่อนไข
+editor.addConditionBreakpoint.accesskey=พ
+
+# LOCALIZATION NOTE (editor.editConditionBreakpoint): Editor gutter context menu item
+# for setting a breakpoint condition on a line.
+editor.editConditionBreakpoint=แก้ไขเงื่อนไข
+
+# LOCALIZATION NOTE (editor.addLogPoint): Editor gutter context
+# menu item for adding a log point on a line.
+editor.addLogPoint=เพิ่มรายการบันทึก
+editor.addLogPoint.accesskey=ม
+
+# LOCALIZATION NOTE (editor.editLogPoint): Editor gutter context menu item
+# for editing a log point already set on a line.
+editor.editLogPoint=แก้ไขรายการบันทึก
+editor.editLogPoint.accesskey=ก
+
+# LOCALIZATION NOTE (editor.removeLogPoint): Context menu item for removing
+# a log point on a line.
+editor.removeLogPoint.label=เอารายการบันทึกออก
+editor.removeLogPoint.accesskey=อ
+
+# LOCALIZATION NOTE (editor.conditionalPanel.placeholder2): Placeholder text for
+# input element inside ConditionalPanel component
+editor.conditionalPanel.placeholder2=เงื่อนไขของจุดพัก เช่น items.length > 0
+
+# LOCALIZATION NOTE (editor.conditionalPanel.logPoint.placeholder2): Placeholder text for
+# input element inside ConditionalPanel component when a log point is set
+editor.conditionalPanel.logPoint.placeholder2=ข้อความรายการบันทึก เช่น displayName
+
+# LOCALIZATION NOTE (editor.jumpToMappedLocation1): Context menu item
+# for navigating to a source mapped location
+editor.jumpToMappedLocation1=กระโดดไปยังตำแหน่ง %S
+editor.jumpToMappedLocation1.accesskey=ก
+
+# LOCALIZATION NOTE (downloadFile.label): Context menu item
+# for downloading a source's content
+downloadFile.label=ดาวน์โหลดไฟล์
+downloadFile.accesskey=ด
+
+# LOCALIZATION NOTE (inlinePreview.show.label): Context menu item
+# for showing the inline preview blocks
+inlinePreview.show.label=แสดงตัวอย่างแบบอินไลน์
+
+# LOCALIZATION NOTE (inlinePreview.hide.label): Context menu item
+# for hiding the inline preview block
+inlinePreview.hide.label=ซ่อนตัวอย่างแบบอินไลน์
+
+# LOCALIZATION NOTE (inlinePreview.toggle.label): Context menu item
+# that will toggle display of inline preview
+inlinePreview.toggle.label=แสดงตัวอย่างตัวแปรแบบอินไลน์
+
+# LOCALIZATION NOTE (inlinePreview.toggle.tooltip): Context menu item
+# tooltip that will describe toggling inline preview
+inlinePreview.toggle.tooltip=แสดงตัวอย่างแบบอินไลน์ในตัวแก้ไขตัวดีบั๊ก
+
+# LOCALIZATION NOTE (editorWrapping.show.label): Context menu item
+# for showing the wrap lines block
+editorWrapping.show.label=ตัดบรรทัด
+
+# LOCALIZATION NOTE (editorWrapping.hide.label): Context menu item
+# for showing the wrap lines block
+editorWrapping.hide.label=เลิกตัดบรรทัด
+
+# LOCALIZATION NOTE (editorWrapping.toggle.label): Context menu item
+# label for toggling the lines wrapping feature
+editorWrapping.toggle.label=ตัดบรรทัด
+
+# LOCALIZATION NOTE (editorWrapping.toggle.tooltip): Context menu item
+# tooltip for toggling the lines wrapping feature
+editorWrapping.toggle.tooltip=ตัดบรรทัดในตัวแก้ไขตัวดีบั๊ก
+
+# LOCALIZATION NOTE (settings.button.label): Label for Settings button
+settings.button.label=การตั้งค่าตัวดีบั๊ก
+
+# LOCALIZATION NOTE (settings.disableJavaScript.label): Context menu item
+# label for disabling JavaScript
+settings.disableJavaScript.label=ปิดใช้งาน JavaScript
+
+# LOCALIZATION NOTE (settings.disableJavaScript.tooltip): Context menu item
+# tooltip for disabling JavaScript
+settings.disableJavaScript.tooltip=ปิดใช้งาน JavaScript (ต้องเรียกใหม่)
+
+# LOCALIZATION NOTE (settings.toggleSourceMaps.tooltip): Context menu item
+# tooltip for toggling the source maps feature
+settings.toggleSourceMaps.tooltip=เปิดใช้งานการแมปต้นฉบับเพื่อให้ DevTools โหลดต้นฉบับเดิมของคุณนอกเหนือจากที่คุณสร้างไว้
+
+# LOCALIZATION NOTE (settings.toggleSourceMaps.label): Context menu item
+# label for toggling the source maps feature
+settings.toggleSourceMaps.label=การแมปต้นฉบับ
+
+# LOCALIZATION NOTE (preview.noProperties): Label shown in the preview
+# popup when there are no properties to show.
+preview.noProperties=ไม่มีคุณสมบัติ
+
+# LOCALIZATION NOTE (framework.disableGrouping): This is the text that appears in the
+# context menu to disable framework grouping.
+framework.disableGrouping=ปิดใช้งานการจัดกลุ่มเฟรมเวิร์ก
+framework.disableGrouping.accesskey=ฟ
+
+# LOCALIZATION NOTE (framework.enableGrouping): This is the text that appears in the
+# context menu to enable framework grouping.
+framework.enableGrouping=เปิดใช้งานการจัดกลุ่มเฟรมเวิร์ก
+framework.enableGrouping.accesskey=ฟ
+
+# LOCALIZATION NOTE (generated): Source Map term for a server source location
+generated=ที่สร้างขึ้น
+
+# LOCALIZATION NOTE (original): Source Map term for a debugger UI source location
+original=ต้นฉบับ
+
+# LOCALIZATION NOTE (expressions.placeholder): Placeholder text for expression
+# input element
+expressions.placeholder=เพิ่มการดูนิพจน์
+
+# LOCALIZATION NOTE (expressions.errorMsg): Error text for expression
+# input element
+expressions.errorMsg=นิพจน์ไม่ถูกต้อง…
+expressions.label=เพิ่มการดูนิพจน์
+expressions.accesskey=พ
+expressions.remove.tooltip=เอาการดูนิพจน์ออก
+
+# LOCALIZATION NOTE (xhrBreakpoints.header): The pause on any XHR breakpoints headings
+xhrBreakpoints.header=จุดพัก XHR
+xhrBreakpoints.placeholder=พักเมื่อ URL มี
+xhrBreakpoints.label=เพิ่มจุดพัก XHR
+
+# LOCALIZATION NOTE (xhrBreakpoints.item.label): message displayed when reaching a breakpoint for XHR requests. %S is replaced by the path provided as condition for the breakpoint.
+xhrBreakpoints.item.label=URL มี “%S”
+
+# LOCALIZATION NOTE (pauseOnAnyXHR): The pause on any XHR checkbox description
+# when the debugger will pause on any XHR requests.
+pauseOnAnyXHR=หยุดชั่วคราวที่ URL ใด ๆ
+
+# LOCALIZATION NOTE (watchpoints.submenu): This is the text for the watchpoints sub-menu.
+watchpoints.submenu=พักเมื่อ…
+
+# LOCALIZATION NOTE (watchpoints.getWatchpoint): This is the text that appears in the
+# watchpoints sub-menu to add a "get" watchpoint on an object property.
+watchpoints.getWatchpoint=การรับคุณสมบัติ
+
+# LOCALIZATION NOTE (watchpoints.setWatchpoint): This is the text that appears in the
+# watchpoints submenu to add a "set" watchpoint on an object property.
+watchpoints.setWatchpoint=การตั้งคุณสมบัติ
+
+# LOCALIZATION NOTE (watchpoints.getOrSetWatchpoint): This is the text that appears in the
+# watchpoints submenu to add a "set" watchpoint on an object property.
+watchpoints.getOrSetWatchpoint=การรับหรือตั้งคุณสมบัติ
+
+# LOCALIZATION NOTE (watchpoints.removeWatchpoint): This is the text that appears in the
+# context menu to delete a watchpoint on an object property.
+watchpoints.removeWatchpoint=เอาจุดเฝ้าดูออก
+
+# LOCALIZATION NOTE (watchpoints.removeWatchpointTooltip): This is the text that appears in the
+# tooltip to delete a watchpoint on an object property.
+watchpoints.removeWatchpointTooltip=ลบจุดเฝ้าดู
+
+# LOCALIZATION NOTE (sourceTabs.closeTab): Editor source tab context menu item
+# for closing the selected tab below the mouse.
+sourceTabs.closeTab=ปิดแท็บ
+sourceTabs.closeTab.accesskey=ป
+sourceTabs.closeTab.key=CmdOrCtrl+W
+
+# LOCALIZATION NOTE (sourceTabs.closeOtherTabs): Editor source tab context menu item
+# for closing the other tabs.
+sourceTabs.closeOtherTabs=ปิดแท็บอื่น ๆ
+sourceTabs.closeOtherTabs.accesskey=ด
+
+# LOCALIZATION NOTE (sourceTabs.closeTabsToEnd): Editor source tab context menu item
+# for closing the tabs to the end (the right for LTR languages) of the selected tab.
+sourceTabs.closeTabsToEnd=ปิดแท็บไปทางขวา
+sourceTabs.closeTabsToEnd.accesskey=ท
+
+# LOCALIZATION NOTE (sourceTabs.closeAllTabs): Editor source tab context menu item
+# for closing all tabs.
+sourceTabs.closeAllTabs=ปิดแท็บทั้งหมด
+sourceTabs.closeAllTabs.accesskey=บ
+
+# LOCALIZATION NOTE (sourceTabs.revealInTree): Editor source tab context menu item
+# for revealing source in tree.
+sourceTabs.revealInTree=แสดงในต้นไม้
+sourceTabs.revealInTree.accesskey=ส
+
+# LOCALIZATION NOTE (sourceTabs.prettyPrint): Editor source tab context menu item
+# for pretty printing the source.
+sourceTabs.prettyPrint=แสดงต้นฉบับแบบสวยงาม
+sourceTabs.prettyPrint.accesskey=ส
+
+# LOCALIZATION NOTE (sourceFooter.blackbox): Tooltip text associated
+# with the blackbox button
+sourceFooter.blackbox=เปิดกล่องดำต้นฉบับ
+
+# LOCALIZATION NOTE (sourceFooter.unblackbox): Tooltip text associated
+# with the blackbox button
+sourceFooter.unblackbox=ปิดกล่องดำต้นฉบับ
+
+# LOCALIZATION NOTE (blackboxContextItem.blackbox): Text associated
+# with the blackbox context menu item
+blackboxContextItem.blackbox=เปิดกล่องดำต้นฉบับ
+blackboxContextItem.blackbox.accesskey=เ
+
+# LOCALIZATION NOTE (blackboxContextItem.unblackbox): Text associated
+# with the unblackbox context menu item
+blackboxContextItem.unblackbox=ปิดกล่องดำต้นฉบับ
+blackboxContextItem.unblackbox.accesskey=ป
+
+# LOCALIZATION NOTE (sourceFooter.ignores): Tooltip text associated
+# with the ignores button
+sourceFooter.ignore=เพิกเฉยต้นฉบับ
+
+# LOCALIZATION NOTE (sourceFooter.unignore): Tooltip text associated
+# with the ignore button
+sourceFooter.unignore=เลิกเพิกเฉยต้นฉบับ
+
+# LOCALIZATION NOTE (ignoreContextItem.ignore): Text associated
+# with the ignore context menu item
+ignoreContextItem.ignore=เพิกเฉยต้นฉบับ
+ignoreContextItem.ignore.accesskey=พ
+
+# LOCALIZATION NOTE (ignoreContextItem.unignore): Text associated
+# with the unignore context menu item
+ignoreContextItem.unignore=เลิกเพิกเฉยต้นฉบับ
+ignoreContextItem.unignore.accesskey=ล
+
+# LOCALIZATION NOTE (sourceFooter.mappedSource): Text associated
+# with a mapped source. %S is replaced by the source map origin.
+sourceFooter.mappedSource=(จาก %S)
+
+# LOCALIZATION NOTE (sourceFooter.mappedSourceTooltip): Tooltip text associated
+# with a mapped source. %S is replaced by the source map origin.
+sourceFooter.mappedSourceTooltip=(ซอร์สถูกแมปจาก %S)
+
+# LOCALIZATION NOTE (sourceFooter.mappedSuffix): Text associated
+# with a mapped source. Displays next to URLs in tree and tabs.
+sourceFooter.mappedSuffix=(ถูกแมป)
+
+# LOCALIZATION NOTE (sourceFooter.currentCursorPosition): Text associated
+# with the current cursor line and column
+sourceFooter.currentCursorPosition=(%S, %S)
+
+# LOCALIZATION NOTE (sourceFooter.currentCursorPosition.tooltip): Text associated
+# with the current cursor line and column
+sourceFooter.currentCursorPosition.tooltip=(บรรทัด %1$S, คอลัมน์ %2$S)
+
+# LOCALIZATION NOTE (sourceTabs.closeTabButtonTooltip): The tooltip that is displayed
+# for close tab button in source tabs.
+sourceTabs.closeTabButtonTooltip=ปิดแท็บ
+
+# LOCALIZATION NOTE (scopes.header): Scopes right sidebar pane header.
+scopes.header=ขอบเขต
+
+# LOCALIZATION NOTE (scopes.notAvailable): Scopes right sidebar pane message
+# for when the debugger is paused, but there isn't pause data.
+scopes.notAvailable=ไม่มีขอบเขต
+
+# LOCALIZATION NOTE (scopes.notPaused): Scopes right sidebar pane message
+# for when the debugger is not paused.
+scopes.notPaused=ไม่ได้หยุดชั่วคราว
+
+# LOCALIZATION NOTE (scopes.mapping.label): Scopes right sidebar pane
+# tooltip for checkbox and label
+scopes.mapping.label=แมปชื่อตัวแปรต้นฉบับ
+
+# LOCALIZATION NOTE (eventlisteners.log.label): Event listeners tooltip for
+# checkbox and label
+eventlisteners.log.label=บันทึกเหตุการณ์ไปยังคอนโซล
+
+# LOCALIZATION NOTE (eventlisteners.log): Checkbox label for logging events
+eventlisteners.log=รายการบันทึก
+
+# LOCALIZATION NOTE (scopes.helpTooltip.label): Scopes right sidebar pane
+# icon tooltip for link to MDN
+scopes.helpTooltip.label=เรียนรู้เพิ่มเติมเกี่ยวกับขอบเขตการแมป
+
+# LOCALIZATION NOTE (scopes.map.label): Checkbox label to map scopes
+scopes.map.label=แมป
+
+# LOCALIZATION NOTE (scopes.block): Refers to a block of code in
+# the scopes pane when the debugger is paused.
+scopes.block=บล็อก
+
+# LOCALIZATION NOTE (sources.header): Sources left sidebar header
+sources.header=แหล่งที่มา
+
+# LOCALIZATION NOTE (outline.header): Outline left sidebar header
+outline.header=เค้าร่าง
+
+# LOCALIZATION NOTE (outline.placeholder): Placeholder text for the filter input
+# element
+outline.placeholder=กรองฟังก์ชัน
+
+# LOCALIZATION NOTE (outline.sortLabel): Label for the sort button
+outline.sortLabel=เรียงตามชื่อ
+
+# LOCALIZATION NOTE (outline.noFunctions): Outline text when there are no functions to display
+outline.noFunctions=ไม่มีฟังก์ชัน
+
+# LOCALIZATION NOTE (outline.noFileSelected): Outline text when there are no files selected
+outline.noFileSelected=ไม่มีไฟล์ที่ถูกเลือก
+
+# LOCALIZATION NOTE (sources.search): Sources left sidebar prompt
+# e.g. Cmd+P to search. On a mac, we use the command unicode character.
+# On windows, it's ctrl.
+sources.search=%S เพื่อค้นหา
+
+# LOCALIZATION NOTE (watchExpressions.header): Watch Expressions right sidebar
+# pane header.
+watchExpressions.header=การดูนิพจน์
+
+# LOCALIZATION NOTE (watchExpressions.refreshButton): Watch Expressions header
+# button for refreshing the expressions.
+watchExpressions.refreshButton=เรียกใหม่
+
+# LOCALIZATION NOTE (welcome.search): The center pane welcome panel's
+# search prompt. e.g. cmd+p to search for files. On windows, it's ctrl, on
+# a mac we use the unicode character.
+welcome.search=%S เพื่อค้นหาแหล่งที่มา
+
+# LOCALIZATION NOTE (welcome.search2): The center pane welcome panel's
+# search prompt. e.g. cmd+p to search for files. On windows, it's ctrl, on
+# a mac we use the unicode character.
+welcome.search2=%S ไปยังไฟล์
+
+# LOCALIZATION NOTE (welcome.findInFiles): The center pane welcome panel's
+# search prompt. e.g. cmd+f to search for files. On windows, it's ctrl+shift+f, on
+# a mac we use the unicode character.
+welcome.findInFiles=%S เพื่อค้นหาในไฟล์
+
+# LOCALIZATION NOTE (welcome.findInFiles2): The center pane welcome panel's
+# search prompt. e.g. cmd+f to search for files. On windows, it's ctrl+shift+f, on
+# a mac we use the unicode character.
+welcome.findInFiles2=%S ค้นหาในไฟล์
+
+# LOCALIZATION NOTE (welcome.allShortcuts): The label to open the modal of
+# shortcuts, displayed in the welcome panel.
+welcome.allShortcuts=แสดงทางลัดทั้งหมด
+
+# LOCALIZATION NOTE (sourceSearch.search): The center pane Source Search
+# prompt for searching for files.
+sourceSearch.search=ค้นหา…
+
+# LOCALIZATION NOTE (sourceSearch.search2): The center pane Source Search
+# prompt for searching for files.
+sourceSearch.search2=ไปยังไฟล์…
+
+# LOCALIZATION NOTE (pauseOnExceptions): The pause on exceptions button tooltip
+# when the debugger will pause on all exceptions.
+pauseOnExceptions=หยุดชั่วคราวที่ข้อยกเว้นทั้งหมด คลิกเพื่อละเว้นข้อยกเว้น
+
+# LOCALIZATION NOTE (loadingText): The text that is displayed in the script
+# editor when the loading process has started but there is no file to display
+# yet.
+loadingText=กำลังโหลด\u2026
+
+# LOCALIZATION NOTE (wasmIsNotAvailable): The text that is displayed in the
+# script editor when the WebAssembly source is not available.
+wasmIsNotAvailable=โปรดเรียกใหม่เพื่อดีบั๊กโมดูลนี้
+
+# LOCALIZATION NOTE (errorLoadingText3): The text that is displayed in the debugger
+# viewer when there is an error loading a file
+errorLoadingText3=เกิดข้อผิดพลาดในการโหลด URI นี้: %S
+
+# LOCALIZATION NOTE(gotoLineModal.placeholder): The placeholder
+# text displayed when the user searches for specific lines in a file
+gotoLineModal.placeholder=ไปยังบรรทัดที่…
+
+# LOCALIZATION NOTE(gotoLineModal.title): The message shown to users
+# to open the go to line modal
+gotoLineModal.title=ไปยังหมายเลขบรรทัดในไฟล์
+
+# LOCALIZATION NOTE(gotoLineModal.key3): The shortcut for opening the
+# go to line modal
+# Do not localize "Ctrl+G", or change the format of the string. These are
+# key identifiers, not messages displayed to the user.
+gotoLineModal.key3=Ctrl+G
+
+# LOCALIZATION NOTE(symbolSearch.search.functionsPlaceholder): The placeholder
+# text displayed when the user searches for functions in a file
+symbolSearch.search.functionsPlaceholder=ค้นหาฟังก์ชัน…
+symbolSearch.search.functionsPlaceholder.title=ค้นหาฟังก์ชันในไฟล์
+
+# LOCALIZATION NOTE(symbolSearch.search.variablesPlaceholder): The placeholder
+# text displayed when the user searches for variables in a file
+symbolSearch.search.variablesPlaceholder=ค้นหาตัวแปร…
+symbolSearch.search.variablesPlaceholder.title=ค้นหาตัวแปรในไฟล์
+
+# LOCALIZATION NOTE(symbolSearch.search.key2): The Key Shortcut for
+# searching for a function or variable
+# Do not localize "CmdOrCtrl+Shift+O", or change the format of the string. These are
+# key identifiers, not messages displayed to the user.
+symbolSearch.search.key2=CmdOrCtrl+Shift+O
+
+# LOCALIZATION NOTE(symbolSearch.searchModifier.modifiersLabel): A label
+# preceding the group of modifiers
+symbolSearch.searchModifier.modifiersLabel=ตัวปรับเปลี่ยน:
+
+# LOCALIZATION NOTE(symbolSearch.searchModifier.regex): A search option
+# when searching text in a file
+symbolSearch.searchModifier.regex=Regex
+
+# LOCALIZATION NOTE(symbolSearch.searchModifier.caseSensitive): A search option
+# when searching text in a file
+symbolSearch.searchModifier.caseSensitive=ตัวพิมพ์ใหญ่เล็กตรงกัน
+
+# LOCALIZATION NOTE(symbolSearch.searchModifier.wholeWord): A search option
+# when searching text in a file
+symbolSearch.searchModifier.wholeWord=ตรงกันทุกคำ
+
+experimental=นี่เป็นคุณลักษณะทดลอง
+
+# LOCALIZATION NOTE (whyPaused.debuggerStatement): The text that is displayed
+# in a info block explaining how the debugger is currently paused due to a `debugger`
+# statement in the code
+whyPaused.debuggerStatement=ถูกหยุดชั่วคราวจากคำสั่งของตัวดีบั๊ก
+
+# LOCALIZATION NOTE (whyPaused.breakpoint): The text that is displayed
+# in a info block explaining how the debugger is currently paused on a breakpoint
+whyPaused.breakpoint=ถูกหยุดชั่วคราวจากจุดพัก
+
+# LOCALIZATION NOTE (whyPaused.eventBreakpoint): The text that is displayed
+# in a info block explaining how the debugger is currently paused on an event
+# breakpoint.
+whyPaused.eventBreakpoint=ถูกหยุดชั่วคราวบนจุดพักเหตุการณ์
+
+# LOCALIZATION NOTE (whyPaused.exception): The text that is displayed
+# in a info block explaining how the debugger is currently paused on an exception
+whyPaused.exception=ถูกหยุดชั่วคราวจากข้อยกเว้น
+
+# LOCALIZATION NOTE (whyPaused.mutationBreakpoint): The text that is displayed
+# in a info block explaining how the debugger is currently paused on a
+# DOM mutation breakpoint
+whyPaused.mutationBreakpoint=พักเมื่อ DOM mutation
+
+# LOCALIZATION NOTE (whyPaused.mutationBreakpointAdded): The text that
+# is displayed to describe an added node which triggers a subtree modification
+whyPaused.mutationBreakpointAdded=เพิ่มแล้ว:
+
+# LOCALIZATION NOTE (whyPaused.mutationBreakpointRemoved): The text that
+# is displayed to describe a removed node which triggers a subtree modification
+whyPaused.mutationBreakpointRemoved=เอาออกแล้ว:
+
+# LOCALIZATION NOTE (whyPaused.interrupted): The text that is displayed
+# in a info block explaining how the debugger is currently paused at
+# a JS execution
+whyPaused.interrupted=หยุดชั่วคราวเมื่อเรียกใช้งาน
+
+# LOCALIZATION NOTE (whyPaused.resumeLimit): The text that is displayed
+# in a info block explaining how the debugger is currently paused while stepping
+# in or out of the stack
+whyPaused.resumeLimit=ถูกหยุดชั่วคราวขณะการก้าว
+
+# LOCALIZATION NOTE (whyPaused.pauseOnDOMEvents): The text that is displayed
+# in a info block explaining how the debugger is currently paused on a
+# dom event
+whyPaused.pauseOnDOMEvents=ถูกหยุดชั่วคราวจากตัวเฝ้าดูเหตุการณ์
+
+# LOCALIZATION NOTE (whyPaused.breakpointConditionThrown): The text that is displayed
+# in an info block when evaluating a conditional breakpoint throws an error
+whyPaused.breakpointConditionThrown=เกิดข้อผิดพลาดกับจุดพักแบบมีเงื่อนไข
+
+# LOCALIZATION NOTE (whyPaused.XHR): The text that is displayed
+# in a info block explaining how the debugger is currently paused on an
+# xml http request
+whyPaused.XHR=ถูกพักเนื่องจาก XMLHttpRequest
+
+# LOCALIZATION NOTE (whyPaused.promiseRejection): The text that is displayed
+# in a info block explaining how the debugger is currently paused on a
+# promise rejection
+whyPaused.promiseRejection=ถูกหยุดชั่วคราวจากการปฏิเสธ promise
+
+# LOCALIZATION NOTE (whyPaused.getWatchpoint): The text that is displayed
+# in a info block explaining how the debugger is currently paused at a
+# watchpoint on an object property
+whyPaused.getWatchpoint=ถูกพักเนื่องจากมีการรับคุณสมบัติ
+
+# LOCALIZATION NOTE (whyPaused.setWatchpoint): The text that is displayed
+# in an info block explaining how the debugger is currently paused at a
+# watchpoint on an object property
+whyPaused.setWatchpoint=ถูกพักเนื่องจากมีการตั้งคุณสมบัติ
+
+# LOCALIZATION NOTE (whyPaused.assert): The text that is displayed
+# in a info block explaining how the debugger is currently paused on an
+# assert
+whyPaused.assert=ถูกหยุดชั่วคราวจากการตรวจสอบเงื่อนไข
+
+# LOCALIZATION NOTE (whyPaused.debugCommand): The text that is displayed
+# in a info block explaining how the debugger is currently paused on a
+# debugger statement
+whyPaused.debugCommand=ถูกหยุดชั่วคราวจากฟังก์ชันที่ถูกดีบั๊ก
+
+# LOCALIZATION NOTE (whyPaused.other): The text that is displayed
+# in a info block explaining how the debugger is currently paused on an event
+# listener breakpoint set
+whyPaused.other=ตัวดีบั๊กถูกหยุดชั่วคราว
+
+# LOCALIZATION NOTE (ctrl): The text that is used for documenting
+# keyboard shortcuts that use the control key
+ctrl=Ctrl
+
+# LOCALIZATION NOTE (anonymousFunction): this string is used to display
+# JavaScript functions that have no given name - they are said to be
+# anonymous.
+anonymousFunction=<ไม่ระบุชื่อ>
+
+# LOCALIZATION NOTE (stacktrace.asyncStack): this string is used to
+# indicate that a given stack frame has an async parent.
+# %S is the "Async Cause" of the frame.
+stacktrace.asyncStack=(ไม่ตรงกัน: %S)
+
+# LOCALIZATION NOTE (shortcuts.toggleBreakpoint): text describing
+# keyboard shortcut action for toggling breakpoint
+shortcuts.toggleBreakpoint=เปิด/ปิดจุดพัก
+shortcuts.toggleBreakpoint.accesskey=ป
+
+# LOCALIZATION NOTE (shortcuts.toggleCondPanel.breakpoint): text describing
+# keyboard shortcut action for toggling conditional panel for breakpoints
+shortcuts.toggleCondPanel.breakpoint=แก้ไขจุดพักแบบมีเงื่อนไข
+
+# LOCALIZATION NOTE (shortcuts.toggleCondPanel.logPoint): text describing
+# keyboard shortcut action for toggling conditional panel for log points
+shortcuts.toggleCondPanel.logPoint=แก้ไขจุดรายการบันทึก
+
+# LOCALIZATION NOTE (shortcuts.pauseOrResume): text describing
+# keyboard shortcut action for pause of resume
+shortcuts.pauseOrResume=หยุดชั่วคราว/ทำต่อ
+
+# LOCALIZATION NOTE (shortcuts.stepOver): text describing
+# keyboard shortcut action for stepping over
+shortcuts.stepOver=ก้าวข้าม
+
+# LOCALIZATION NOTE (shortcuts.stepIn): text describing
+# keyboard shortcut action for stepping in
+shortcuts.stepIn=ก้าวเข้า
+
+# LOCALIZATION NOTE (shortcuts.stepOut): text describing
+# keyboard shortcut action for stepping out
+shortcuts.stepOut=ก้าวออก
+
+# LOCALIZATION NOTE (shortcuts.fileSearch): text describing
+# keyboard shortcut action for source file search
+shortcuts.fileSearch=การค้นหาไฟล์ต้นฉบับ
+
+# LOCALIZATION NOTE (shortcuts.fileSearch2): text describing
+# keyboard shortcut action for source file search
+shortcuts.fileSearch2=ไปยังไฟล์
+
+# LOCALIZATION NOTE (shortcuts.gotoLine): text describing
+# keyboard shortcut for jumping to a specific line
+shortcuts.gotoLine=ไปยังบรรทัดที่
+
+# LOCALIZATION NOTE (shortcuts.searchAgain): text describing
+# keyboard shortcut action for searching again
+shortcuts.searchAgain=ค้นหาอีกครั้ง
+
+# LOCALIZATION NOTE (shortcuts.searchAgain2): text describing
+# keyboard shortcut action for searching again
+shortcuts.searchAgain2=ค้นหาถัดไป
+
+# LOCALIZATION NOTE (shortcuts.projectSearch): text describing
+# keyboard shortcut action for full project search
+shortcuts.projectSearch=การค้นหาโครงการแบบเต็ม
+
+# LOCALIZATION NOTE (shortcuts.projectSearch2): text describing
+# keyboard shortcut action for full project search
+shortcuts.projectSearch2=ค้นหาในไฟล์
+
+# LOCALIZATION NOTE (shortcuts.functionSearch): text describing
+# keyboard shortcut action for function search
+shortcuts.functionSearch=การค้นหาฟังก์ชัน
+
+# LOCALIZATION NOTE (shortcuts.functionSearch2): text describing
+# keyboard shortcut action for function search
+shortcuts.functionSearch2=ค้นหาฟังก์ชัน
+
+# LOCALIZATION NOTE (shortcuts.buttonName): text describing
+# keyboard shortcut button text
+shortcuts.buttonName=แป้นพิมพ์ลัด
+
+# LOCALIZATION NOTE (variablesSeparatorLabel): The text that is displayed
+# in the variables list as a separator between the name and value.
+variablesSeparatorLabel=:
+variablesViewOptimizedOut=(ถูกปรับให้เหมาะสมแล้ว)
+variablesViewUninitialized=(ไม่ได้เตรียมใช้งาน)
+variablesViewMissingArgs=(ไม่พร้อมใช้งาน)
+
+# LOCALIZATION NOTE (variablesDomNodeValueTooltip): The text that is displayed
+# in a tooltip on the "open in inspector" button in the the variables list for a
+# DOMNode item.
+variablesDomNodeValueTooltip=คลิกเพื่อเลือกโหนดในตัวตรวจสอบ
+
+# LOCALIZATION NOTE (variablesEditButtonTooltip): The text that is displayed
+# in the variables list on a getter or setter which can be edited.
+variablesEditButtonTooltip=คลิกเพื่อตั้งค่า
+
+# LOCALIZATION NOTE (variablesViewErrorStacktrace): This is the text that is
+# shown before the stack trace in an error.
+variablesViewErrorStacktrace=การติดตามสแตก:
+
+# LOCALIZATION NOTE (variablesViewMoreObjects): the text that is displayed
+# when you have an object preview that does not show all of the elements. At the end of the list
+# you see "N more..." in the web console output.
+# This is a semi-colon list of plural forms.
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# #1 number of remaining items in the object
+# example: 3 more…
+variablesViewMoreObjects=#1 เพิ่มเติม…
+
+# LOCALIZATION NOTE (variablesEditableNameTooltip): The text that is displayed
+# in the variables list on an item with an editable name.
+variablesEditableNameTooltip=คลิกสองครั้งเพื่อแก้ไข
+
+# LOCALIZATION NOTE (variablesEditableValueTooltip): The text that is displayed
+# in the variables list on an item with an editable value.
+variablesEditableValueTooltip=คลิกเพื่อเปลี่ยนค่า
+
+# LOCALIZATION NOTE (variablesCloseButtonTooltip): The text that is displayed
+# in the variables list on an item which can be removed.
+variablesCloseButtonTooltip=คลิกเพื่อเอาออก
+
+# LOCALIZATION NOTE (configurable|...|Tooltip): The text that is displayed
+# in the variables list on certain variables or properties as tooltips.
+# Explanations of what these represent can be found at the following links:
+# https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object/defineProperty
+# https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object/isExtensible
+# https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object/isFrozen
+# https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object/isSealed
+# It's probably best to keep these in English.
+configurableTooltip=กำหนดค่าได้
+enumerableTooltip=แจงจำนวนไม่ได้
+writableTooltip=เขียนได้
+frozenTooltip=หยุดดำเนินการ
+sealedTooltip=ปิดผนึก
+extensibleTooltip=ขยายได้
+overriddenTooltip=ถูกแทนที่
+WebIDLTooltip=WebIDL
+
+# LOCALIZATION NOTE (serviceWorkerInfo.parsed): State displayed for a service
+# worker that has been parsed.
+serviceWorkerInfo.parsed=ถูกแยกวิเคราะห์
+# LOCALIZATION NOTE (serviceWorkerInfo.installing): State displayed for a
+# service worker that is being installed.
+serviceWorkerInfo.installing=กำลังติดตั้ง
+# LOCALIZATION NOTE (serviceWorkerInfo.installed): State displayed for a
+# service worker that has finished being installed.
+serviceWorkerInfo.installed=ติดตั้งแล้ว
+# LOCALIZATION NOTE (serviceWorkerInfo.activating): State displayed for a
+# service worker that is being activated.
+serviceWorkerInfo.activating=กำลังเปิดใช้งาน
+# LOCALIZATION NOTE (serviceWorkerInfo.activated): State displayed for a
+# service worker that has finished being activated.
+serviceWorkerInfo.activated=เปิดใช้งานแล้ว
+# LOCALIZATION NOTE (serviceWorkerInfo.redundant): State displayed for a
+# service worker that is redundant.
+serviceWorkerInfo.redundant=ซ้ำซ้อน
+# LOCALIZATION NOTE (serviceWorkerInfo.unknown): State displayed for a
+# service worker that is in an unknown state.
+serviceWorkerInfo.unknown=ไม่ทราบ
diff --git a/l10n-th/devtools/client/device.properties b/l10n-th/devtools/client/device.properties
new file mode 100644
index 0000000000..a7740e7c8d
--- /dev/null
+++ b/l10n-th/devtools/client/device.properties
@@ -0,0 +1,20 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE These strings are used inside Device Emulation developer
+# tools. The correct localization of this file might be to keep it in English,
+# or another language commonly spoken among web developers. You want to make
+# that choice consistent across the developer tools. A good criteria is the
+# language in which you'd find the best documentation on web development on the
+# web.
+
+# LOCALIZATION NOTE:
+# These strings are category names in a list of devices that a user can choose
+# to simulate (e.g. "ZTE Open C", "VIA Vixen", "720p HD Television", etc).
+device.phones=โทรศัพท์
+device.tablets=แท็บเล็ต
+device.laptops=แล็ปท็อป
+device.televisions=โทรทัศน์
+device.consoles=คอนโซลเกม
+device.watches=นาฬิกา
diff --git a/l10n-th/devtools/client/dom.properties b/l10n-th/devtools/client/dom.properties
new file mode 100644
index 0000000000..23f07077e1
--- /dev/null
+++ b/l10n-th/devtools/client/dom.properties
@@ -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/.
+
+# LOCALIZATION NOTE These strings are used inside the DOM panel
+# which is available from the Web Developer sub-menu -> 'DOM'.
+# The correct localization of this file might be to keep it in
+# English, or another language commonly spoken among web developers.
+# You want to make that choice consistent across the developer tools.
+# A good criteria is the language in which you'd find the best
+# documentation on web development on the web.
+
+# LOCALIZATION NOTE (dom.filterDOMPanel): A placeholder text used for
+# DOM panel search box.
+dom.filterDOMPanel=กรองแผง DOM
+
+# LOCALIZATION NOTE (dom.refresh): A label for Refresh button in
+# DOM panel toolbar
+dom.refresh=เรียกใหม่ \ No newline at end of file
diff --git a/l10n-th/devtools/client/filterwidget.properties b/l10n-th/devtools/client/filterwidget.properties
new file mode 100644
index 0000000000..ae4c869784
--- /dev/null
+++ b/l10n-th/devtools/client/filterwidget.properties
@@ -0,0 +1,61 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE These strings are used in the CSS Filter Editor Widget
+# which can be found in a tooltip that appears in the Rule View when clicking
+# on a filter swatch displayed next to CSS declarations like 'filter: blur(2px)'.
+
+# LOCALIZATION NOTE (emptyFilterList):
+# This string is displayed when filter's list is empty
+# (no filter specified / all removed)
+emptyFilterList=ไม่ได้ระบุตัวกรอง
+
+# LOCALIZATION NOTE (emptyPresetList):
+# This string is displayed when preset's list is empty
+emptyPresetList=คุณไม่มีค่าที่ตั้งไว้ล่วงหน้า \
+คุณสามารถจัดเก็บค่าที่ตั้งไว้ล่วงหน้าของตัวกรองได้โดยเลือกชื่อและบันทึก \
+ค่าที่ตั้งไว้ล่วงหน้าสามารถเข้าถึงได้อย่างรวดเร็วและคุณสามารถนำกลับมาใช้ได้อย่างง่ายดาย
+
+# LOCALIZATION NOTE (addUsingList):
+# This string is displayed under [emptyFilterList] when filter's
+# list is empty, guiding user to add a filter using the list below it
+addUsingList=เพิ่มตัวกรองโดยใช้รายการด้านล่าง
+
+# LOCALIZATION NOTE (dropShadowPlaceholder):
+# This string is used as a placeholder for drop-shadow's input
+# in the filter list (shown when <input> is empty)
+dropShadowPlaceholder=สีรัศมี x y
+
+# LOCALIZATION NOTE (dragHandleTooltipText):
+# This string is used as a tooltip text (shown on mouse hover) on the
+# drag handles of filters which are used to re-order filters
+dragHandleTooltipText=ลากขึ้นหรือลงเพื่อเรียงลำดับตัวกรองใหม่
+
+# LOCALIZATION NOTE (labelDragTooltipText):
+# This string is used as a tooltip text (shown on mouse hover) on the
+# filters' labels which can be dragged left/right to increase/decrease
+# the filter's value (like photoshop)
+labelDragTooltipText=ลากไปทางซ้ายหรือขวาเพื่อเพิ่มหรือลดค่า
+
+# LOCALIZATION NOTE (filterListSelectPlaceholder):
+# This string is used as a preview option in the list of possible filters
+# <select>
+filterListSelectPlaceholder=เลือกตัวกรอง
+
+# LOCALIZATION NOTE (addNewFilterButton):
+# This string is displayed on a button used to add new filters
+addNewFilterButton=เพิ่ม
+
+# LOCALIZATION NOTE (newPresetPlaceholder):
+# This string is used as a placeholder in the list of presets which is used to
+# save a new preset
+newPresetPlaceholder=ชื่อ Preset
+
+# LOCALIZATION NOTE (savePresetButton):
+# This string is displayed on a button used to save a new preset
+savePresetButton=บันทึก
+
+# LOCALIZATION NOTE(presetsToggleButton):
+# This string is used in a button which toggles the presets list
+presetsToggleButton=ค่าที่ตั้งไว้
diff --git a/l10n-th/devtools/client/font-inspector.properties b/l10n-th/devtools/client/font-inspector.properties
new file mode 100644
index 0000000000..ad185460c7
--- /dev/null
+++ b/l10n-th/devtools/client/font-inspector.properties
@@ -0,0 +1,69 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE This file contains the Font Inspector strings.
+# The Font Inspector is a panel accessible in the Inspector sidebar.
+
+# LOCALIZATION NOTE (fontinspector.system) This label indicates that the font is a local
+# system font.
+fontinspector.system=ระบบ
+
+# LOCALIZATION NOTE (fontinspector.noFontsUsedOnCurrentElement): This label is shown when
+# no fonts were used on the selected element.
+fontinspector.noFontsUsedOnCurrentElement=ไม่มีแบบอักษรที่ถูกใช้ในองค์ประกอบปัจจุบัน
+
+# LOCALIZATION NOTE (fontinspector.copyURL): This is the text that appears in a tooltip
+# displayed when the user hovers over the copy icon next to the font URL.
+# Clicking the copy icon copies the full font URL to the user's clipboard
+fontinspector.copyURL=คัดลอก URL
+
+# LOCALIZATION NOTE (fontinspector.customInstanceName): Think of instances as presets
+# (groups of settings that apply in bulk to a thing). Instances have names. When the user
+# creates a new instance, it doesn't have a name. This is the text that appears as the
+# default name for a new instance. It shows up in a dropdown from which users can select
+# between predefined instances and this custom instance.
+fontinspector.customInstanceName=กำหนดเอง
+
+# LOCALIZATION NOTE (fontinspector.fontInstanceLabel): This label is shown next to the UI
+# in the font editor which allows a user to select a font instance option from a
+# dropdown. An instance is like a preset. A "font instance" is the term used by the font
+# authors to mean a group of predefined font settings.
+fontinspector.fontInstanceLabel=อินสแตนซ์
+
+# LOCALIZATION NOTE (fontinspector.fontSizeLabel): This label is shown next to the UI
+# in the font editor which allows the user to change the font size.
+fontinspector.fontSizeLabel=ขนาด
+
+# LOCALIZATION NOTE (fontinspector.fontWeightLabel): This label is shown next to the UI
+# in the font editor which allows the user to change the font weight.
+fontinspector.fontWeightLabel=น้ำหนัก
+
+# LOCALIZATION NOTE (fontinspector.fontItalicLabel): This label is shown next to the UI
+# in the font editor which allows the user to change the style of the font to italic.
+fontinspector.fontItalicLabel=ตัวเอียง
+
+# LOCALIZATION NOTE (fontinspector.showMore): Label for a collapsed list of fonts.
+fontinspector.showMore=แสดงเพิ่มเติม
+
+# LOCALIZATION NOTE (fontinspector.showLess): Label for an expanded list of fonts.
+fontinspector.showLess=แสดงน้อยลง
+
+# LOCALIZATION NOTE (fontinspector.letterSpacingLabel): Label for the UI to change the
+# letter spacing in the font editor.
+fontinspector.letterSpacingLabel=ระยะห่าง
+
+# LOCALIZATION NOTE (fontinspector.lineHeightLabelCapitalized): Label for the UI to change the line height in the font editor.
+fontinspector.lineHeightLabelCapitalized=ความสูงของบรรทัด
+
+# LOCALIZATION NOTE (fontinspector.allFontsOnPageHeader): Header for the section listing
+# all the fonts on the current page.
+fontinspector.allFontsOnPageHeader=แบบอักษรทั้งหมดในหน้า
+
+# LOCALIZATION NOTE (fontinspector.fontsUsedLabel): Label for the Font Editor section
+# which shows the fonts used on the selected element.
+fontinspector.fontsUsedLabel=แบบอักษรที่ใช้
+
+# LOCALIZATION NOTE (fontinspector.previewTextPlaceholder): Placeholder for the input
+# where the user can type text to get a preview of it using a font.
+fontinspector.previewTextPlaceholder=ข้อความแสดงตัวอย่างแบบอักษร
diff --git a/l10n-th/devtools/client/graphs.properties b/l10n-th/devtools/client/graphs.properties
new file mode 100644
index 0000000000..e84c0c88f9
--- /dev/null
+++ b/l10n-th/devtools/client/graphs.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/.
+
+# LOCALIZATION NOTE These strings are used inside the Performance Tools
+# which is available from the Web Developer sub-menu -> 'Performance'.
+# 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. These strings
+# are specifically for marker names in the performance tool.
+
+# LOCALIZATION NOTE (graphs.label.average):
+# This string is displayed on graphs when showing an average.
+graphs.label.average=ค่าเฉลี่ย
+
+# LOCALIZATION NOTE (graphs.label.minimum):
+# This string is displayed on graphs when showing a minimum.
+graphs.label.minimum=ต่ำสุด
+
+# LOCALIZATION NOTE (graphs.label.maximum):
+# This string is displayed on graphs when showing a maximum.
+graphs.label.maximum=สูงสุด
diff --git a/l10n-th/devtools/client/har.properties b/l10n-th/devtools/client/har.properties
new file mode 100644
index 0000000000..734fe17cab
--- /dev/null
+++ b/l10n-th/devtools/client/har.properties
@@ -0,0 +1,22 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE These strings are used inside the Network Monitor
+# which is available from the Web Developer sub-menu -> 'Network Monitor'.
+# The correct localization of this file might be to keep it in
+# English, or another language commonly spoken among web developers.
+# You want to make that choice consistent across the developer tools.
+# A good criteria is the language in which you'd find the best
+# documentation on web development on the web.
+
+# LOCALIZATION NOTE (har.responseBodyNotIncluded): A label used within
+# HAR file explaining that HTTP response bodies are not includes
+# in exported data.
+har.responseBodyNotIncluded=ไม่รวมเนื้อหาการตอบสนอง
+
+# LOCALIZATION NOTE (har.requestBodyNotIncluded): A label used within
+# HAR file explaining that HTTP request bodies are not includes
+# in exported data.
+har.requestBodyNotIncluded=ไม่รวมเนื้อหาคำขอ
+
diff --git a/l10n-th/devtools/client/inspector.properties b/l10n-th/devtools/client/inspector.properties
new file mode 100644
index 0000000000..ab76702620
--- /dev/null
+++ b/l10n-th/devtools/client/inspector.properties
@@ -0,0 +1,557 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE These strings are used inside the Inspector
+# which is available from the Web Developer sub-menu -> 'Inspect'.
+#
+# The correct localization of this file might be to keep it in
+# English, or another language commonly spoken among web developers.
+# You want to make that choice consistent across the developer tools.
+# A good criteria is the language in which you'd find the best
+# documentation on web development on the web.
+
+inspector.panelLabel.markupView=มุมมองมาร์กอัป
+
+# LOCALIZATION NOTE (markupView.more.showing)
+# When there are too many nodes to load at once, we will offer to
+# show all the nodes.
+markupView.more.showing=บางโหนดถูกซ่อนไว้
+
+# LOCALIZATION NOTE (markupView.more.showAll2): Semi-colon list of plural forms.
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+markupView.more.showAll2=แสดง #1 โหนดทั้งหมด
+
+# LOCALIZATION NOTE (markupView.whitespaceOnly.label)
+# Used in the badge that appears when whitespace-only text nodes are displayed in the
+# inspector.
+markupView.whitespaceOnly.label=ช่องว่าง
+
+# LOCALIZATION NOTE (markupView.whitespaceOnly)
+# Used in a tooltip that appears when the user hovers over whitespace-only text nodes in
+# the inspector. %S in the content will be replaced by the whitespace characters used in
+# the text node.
+markupView.whitespaceOnly=โหนดข้อความที่มีเฉพาะช่องว่างเท่านั้น: %S
+
+# LOCALIZATION NOTE (markupView.display.flex.tooltiptext2)
+# Used in a tooltip that appears when the user hovers over the display type button in
+# the markup view.
+markupView.display.flex.tooltiptext2=องค์ประกอบนี้ทำงานเหมือนองค์ประกอบบล็อกและวางเนื้อหาตามแบบจำลอง flexbox คลิกเพื่อเปิด/ปิดการซ้อนทับ flexbox สำหรับองค์ประกอบนี้
+
+# LOCALIZATION NOTE (markupView.display.inlineFlex.tooltiptext2)
+# Used in a tooltip that appears when the user hovers over the display type button in
+# the markup view.
+markupView.display.inlineFlex.tooltiptext2=องค์ประกอบนี้ทำงานเหมือนองค์ประกอบอินไลน์และวางเนื้อหาตามแบบจำลอง flexbox คลิกเพื่อเปิด/ปิดการซ้อนทับ flexbox สำหรับองค์ประกอบนี้
+
+# LOCALIZATION NOTE (markupView.display.grid.tooltiptext2)
+# Used in a tooltip that appears when the user hovers over the display type button in
+# the markup view.
+markupView.display.grid.tooltiptext2=องค์ประกอบนี้ทำงานเหมือนองค์ประกอบบล็อกและวางเนื้อหาตามแบบจำลอง grid คลิกเพื่อเปิด/ปิดการซ้อนทับ flexbox สำหรับองค์ประกอบนี้
+
+# LOCALIZATION NOTE (markupView.display.inlineGrid.tooltiptext2)
+# Used in a tooltip that appears when the user hovers over the display type button in
+# the markup view.
+markupView.display.inlineGrid.tooltiptext2=องค์ประกอบนี้ทำงานเหมือนองค์ประกอบอินไลน์และวางเนื้อหาตามแบบจำลอง grid คลิกเพื่อเปิด/ปิดการซ้อนทับ flexbox สำหรับองค์ประกอบนี้
+
+# LOCALIZATION NOTE (markupView.display.subgrid.tooltiptext)
+# Used in a tooltip that appears when the user hovers over the display type button in
+# the markup view.
+markupView.display.subgrid.tooltiptiptext=องค์ประกอบนี้วางโครงร่างเนื้อหาตามรูปแบบ grid แต่กำหนดนิยามของแถวและ/หรือคอลัมน์ไปยังตัวบรรจุ grid ของข้อมูลหลัก
+
+# LOCALIZATION NOTE (markupView.display.flowRoot.tooltiptext)
+# Used in a tooltip that appears when the user hovers over the display type button in
+# the markup view.
+markupView.display.flowRoot.tooltiptext=องค์ประกอบนี้สร้างกล่ององค์ประกอบบล็อกที่สร้างบริบทการจัดรูปแบบบล็อกใหม่
+
+# LOCALIZATION NOTE (markupView.display.contents.tooltiptext2)
+# Used in a tooltip that appears when the user hovers over the display type button in
+# the markup view.
+markupView.display.contents.tooltiptext2=องค์ประกอบนี้ไม่ได้ผลิตกล่องเฉพาะด้วยตัวเอง แต่แสดงผลเนื้อหา
+
+# LOCALIZATION NOTE (markupView.event.tooltiptext)
+# Used in a tooltip that appears when the user hovers over 'event' badge in
+# the markup view.
+markupView.event.tooltiptext=ตัวเฝ้าดูเหตุการณ์
+
+# LOCALIZATION NOTE (markupView.custom.tooltiptext)
+# Used in a tooltip that appears when the user hovers over 'custom' badge in
+# the markup view. Only displayed on custom elements with a shadow root attached.
+markupView.custom.tooltiptext=แสดงนิยามองค์ประกอบที่กำหนดเอง
+
+# LOCALIZATION NOTE (markupView.newAttribute.label)
+# This is used to speak the New Attribute button when editing a tag
+# and a screen reader user tabs to it. This string is not visible onscreen.
+markupView.newAttribute.label=แอตทริบิวต์ใหม่
+
+# LOCALIZATION NOTE (markupView.revealLink.tooltip)
+# Used as a tooltip for an icon in the markup view when displaying elements inserted in
+# <slot> nodes in a custom component. When clicking on the icon, the corresponding
+# non-slotted container will be selected
+markupView.revealLink.tooltip=เปิดเผย
+
+#LOCALIZATION NOTE: Used in the image preview tooltip when the image could not be loaded
+previewTooltip.image.brokenImage=ไม่สามารถโหลดภาพ
+
+# LOCALIZATION NOTE: Used in color picker tooltip when the eyedropper is disabled for
+# non-HTML documents
+eyedropper.disabled.title=ไม่พร้อมใช้งานในเอกสารที่ไม่ใช่ HTML
+
+#LOCALIZATION NOTE: Used in the event tooltip to allow the debugger to be opened
+eventsTooltip.openInDebugger=เปิดในตัวดีบั๊ก
+
+#LOCALIZATION NOTE: Used in the event tooltip when a script's filename cannot be detected
+eventsTooltip.unknownLocation=ไม่ทราบตำแหน่งที่ตั้ง
+
+#LOCALIZATION NOTE: Used in the mouseover tooltip when hovering "Unknown location."
+eventsTooltip.unknownLocationExplanation=ไม่สามารถตรวจพบตำแหน่งที่ตั้งดั้งเดิมของตัวเฝ้าดูนี้ได้ อาจเป็นรหัสที่แปลโดยโปรแกรมอรรถประโยชน์ เช่น Babel
+
+#LOCALIZATION NOTE: Used in the tooltip for Bubbling
+eventsTooltip.Bubbling=Bubbling
+
+#LOCALIZATION NOTE: Used in the tooltip for Capturing
+eventsTooltip.Capturing=Capturing
+
+# LOCALIZATION NOTE (allTabsMenuButton.tooltip): The tooltip that gets
+# displayed when hovering over the tabs overflow button.
+allTabsMenuButton.tooltip=แสดงแท็บทั้งหมด
+
+# LOCALIZATION NOTE (inspector.showThreePaneMode): This is the tooltip for the button
+# that toggles on the 3 pane inspector mode.
+inspector.showThreePaneMode=เปิดตัวตรวจสอบแบบ 3 บานหน้าต่าง
+
+# LOCALIZATION NOTE (inspector.hideThreePaneMode): This is the tooltip for the button
+# that toggles off the 3 pane inspector mode.
+inspector.hideThreePaneMode=ปิดตัวตรวจสอบแบบ 3 บานหน้าต่าง
+
+# LOCALIZATION NOTE (inspector.searchResultsCount2): This is the label that
+# will show up next to the inspector search box. %1$S is the current result
+# index and %2$S is the total number of search results. For example: "3 of 9".
+# This won't be visible until the search box is updated in Bug 835896.
+inspector.searchResultsCount2=%1$S จาก %2$S
+
+# LOCALIZATION NOTE (inspector.searchResultsNone): This is the label that
+# will show up next to the inspector search box when no matches were found
+# for the given string.
+# This won't be visible until the search box is updated in Bug 835896.
+inspector.searchResultsNone=ไม่มีที่ตรงกัน
+
+# LOCALIZATION NOTE (inspector.menu.openUrlInNewTab.label): This is the label of
+# a menu item in the inspector contextual-menu that appears when the user right-
+# clicks on the attribute of a node in the inspector that is a URL, and that
+# allows to open that URL in a new tab.
+inspector.menu.openUrlInNewTab.label=เปิดลิงก์ในแท็บใหม่
+
+# LOCALIZATION NOTE (inspector.menu.copyUrlToClipboard.label): This is the label
+# of a menu item in the inspector contextual-menu that appears when the user
+# right-clicks on the attribute of a node in the inspector that is a URL, and
+# that allows to copy that URL in the clipboard.
+inspector.menu.copyUrlToClipboard.label=คัดลอกที่อยู่ลิงก์
+
+# LOCALIZATION NOTE (inspector.menu.selectElement.label): This is the label of a
+# menu item in the inspector contextual-menu that appears when the user right-
+# clicks on the attribute of a node in the inspector that is the ID of another
+# element in the DOM (like with <label for="input-id">), and that allows to
+# select that element in the inspector.
+inspector.menu.selectElement.label=เลือกองค์ประกอบ #%S
+
+# LOCALIZATION NOTE (inspectorEditAttribute.label): This is the label of a
+# sub-menu "Attribute" in the inspector contextual-menu that appears
+# when the user right-clicks on the node in the inspector, and that allows
+# to edit an attribute on this node.
+inspectorEditAttribute.label=แก้ไขแอตทริบิวต์ %S
+inspectorEditAttribute.accesskey=ก
+
+# LOCALIZATION NOTE (inspectorRemoveAttribute.label): This is the label of a
+# sub-menu "Attribute" in the inspector contextual-menu that appears
+# when the user right-clicks on the attribute of a node in the inspector,
+# and that allows to remove this attribute.
+inspectorRemoveAttribute.label=เอาแอตทริบิวต์ “%S” ออก
+inspectorRemoveAttribute.accesskey=อ
+
+# LOCALIZATION NOTE (inspectorCopyAttributeValue.label): This is the label of a
+# sub-menu "Attribute" in the inspector contextual-menu that appears
+# when the user right-clicks on the attribute of a node in the inspector,
+# and that allows to copy the attribute value to clipboard.
+inspectorCopyAttributeValue.label=คัดลอกค่าแอตทริบิวต์ “%S”
+inspectorCopyAttributeValue.accesskey=ค
+
+# LOCALIZATION NOTE (inspector.nodePreview.highlightNodeLabel):
+# This string is displayed in a tooltip that is shown when hovering over a the
+# inspector icon displayed next to a DOM node preview (e.g. next to something
+# like "div#foo.bar").
+# DOM node previews can be displayed in places like the animation-inspector, the
+# console or the object inspector.
+# The tooltip invites the user to click on the icon in order to highlight the
+# node in the page.
+inspector.nodePreview.highlightNodeLabel=คลิกเพื่อเน้นสีโหนดนี้ในหน้า
+
+# LOCALIZATION NOTE (inspectorHTMLEdit.label): This is the label shown
+# in the inspector contextual-menu for the item that lets users edit the
+# (outer) HTML of the current node
+inspectorHTMLEdit.label=แก้ไขเป็น HTML
+inspectorHTMLEdit.accesskey=ก
+
+# LOCALIZATION NOTE (inspectorCopyInnerHTML.label): This is the label shown
+# in the inspector contextual-menu for the item that lets users copy the
+# inner HTML of the current node
+inspectorCopyInnerHTML.label=HTML ภายใน
+inspectorCopyInnerHTML.accesskey=ภ
+
+# LOCALIZATION NOTE (inspectorCopyOuterHTML.label): This is the label shown
+# in the inspector contextual-menu for the item that lets users copy the
+# outer HTML of the current node
+inspectorCopyOuterHTML.label=HTML ภายนอก
+inspectorCopyOuterHTML.accesskey=ย
+
+# LOCALIZATION NOTE (inspectorCopyCSSSelector.label): This is the label
+# shown in the inspector contextual-menu for the item that lets users copy
+# the CSS Selector of the current node
+inspectorCopyCSSSelector.label=ตัวเลือก CSS
+inspectorCopyCSSSelector.accesskey=ต
+
+# LOCALIZATION NOTE (inspectorCopyCSSPath.label): This is the label
+# shown in the inspector contextual-menu for the item that lets users copy
+# the full CSS path of the current node
+inspectorCopyCSSPath.label=เส้นทาง CSS
+inspectorCopyCSSPath.accesskey=ส
+
+# LOCALIZATION NOTE (inspectorCopyXPath.label): This is the label
+# shown in the inspector contextual-menu for the item that lets users copy
+# the XPath of the current node
+inspectorCopyXPath.label=XPath
+inspectorCopyXPath.accesskey=X
+
+# LOCALIZATION NOTE (inspectorPasteOuterHTML.label): This is the label shown
+# in the inspector contextual-menu for the item that lets users paste outer
+# HTML in the current node
+inspectorPasteOuterHTML.label=HTML ภายนอก
+inspectorPasteOuterHTML.accesskey=ย
+
+# LOCALIZATION NOTE (inspectorPasteInnerHTML.label): This is the label shown
+# in the inspector contextual-menu for the item that lets users paste inner
+# HTML in the current node
+inspectorPasteInnerHTML.label=HTML ภายใน
+inspectorPasteInnerHTML.accesskey=ภ
+
+# LOCALIZATION NOTE (inspectorHTMLPasteBefore.label): This is the label shown
+# in the inspector contextual-menu for the item that lets users paste
+# the HTML before the current node
+inspectorHTMLPasteBefore.label=ก่อนหน้า
+inspectorHTMLPasteBefore.accesskey=ก
+
+# LOCALIZATION NOTE (inspectorHTMLPasteAfter.label): This is the label shown
+# in the inspector contextual-menu for the item that lets users paste
+# the HTML after the current node
+inspectorHTMLPasteAfter.label=หลังจาก
+inspectorHTMLPasteAfter.accesskey=ห
+
+# LOCALIZATION NOTE (inspectorHTMLPasteFirstChild.label): This is the label
+# shown in the inspector contextual-menu for the item that lets users paste
+# the HTML as the first child the current node
+inspectorHTMLPasteFirstChild.label=เป็นรายการย่อยแรก
+inspectorHTMLPasteFirstChild.accesskey=ป
+
+# LOCALIZATION NOTE (inspectorHTMLPasteLastChild.label): This is the label
+# shown in the inspector contextual-menu for the item that lets users paste
+# the HTML as the last child the current node
+inspectorHTMLPasteLastChild.label=เป็นรายการย่อยสุดท้าย
+inspectorHTMLPasteLastChild.accesskey=น
+
+# LOCALIZATION NOTE (inspectorScrollNodeIntoView.label): This is the label
+# shown in the inspector contextual-menu for the item that lets users scroll
+# the current node into view
+inspectorScrollNodeIntoView.label=เลื่อนไปในมุมมอง
+inspectorScrollNodeIntoView.accesskey=น
+
+# LOCALIZATION NOTE (inspectorHTMLDelete.label): This is the label shown in
+# the inspector contextual-menu for the item that lets users delete the
+# current node
+inspectorHTMLDelete.label=ลบโหนด
+inspectorHTMLDelete.accesskey=ล
+
+# LOCALIZATION NOTE (inspectorAttributesSubmenu.label): This is the label
+# shown in the inspector contextual-menu for the sub-menu of the other
+# attribute items, which allow to:
+# - add new attribute
+# - edit attribute
+# - remove attribute
+inspectorAttributesSubmenu.label=แอตทริบิวต์
+inspectorAttributesSubmenu.accesskey=อ
+
+# LOCALIZATION NOTE (inspectorAddAttribute.label): This is the label shown in
+# the inspector contextual-menu for the item that lets users add attribute
+# to current node
+inspectorAddAttribute.label=เพิ่มแอตทริบิวต์
+inspectorAddAttribute.accesskey=พ
+
+# LOCALIZATION NOTE (inspectorPseudoClassSubmenu.label): This is the label
+# shown in the inspector contextual-menu for the sub-menu of the pseudo-classes.
+inspectorPseudoClassSubmenu.label=เปลี่ยนคลาสแฝง
+
+# LOCALIZATION NOTE (inspectorBreakpointSubmenu.label): This is the label
+# shown in the inspector contextual-menu for the sub-menu of the DOM breakpoints.
+inspectorBreakpointSubmenu.label=พักเมื่อ…
+
+# LOCALIZATION NOTE (inspectorSubtreeModification.label): This is the label shown
+# in the inspector contextual-menu for the item that lets users add a DOM breakpoint
+# for subtree modification.
+inspectorSubtreeModification.label=การปรับเปลี่ยนทรีย่อย
+
+# LOCALIZATION NOTE (inspectorAttributeModification.label): This is the label shown
+# in the inspector contextual-menu for the item that lets users add a DOM breakpoint
+# for attribute modification.
+inspectorAttributeModification.label=การปรับเปลี่ยนแอตทริบิวต์
+
+# LOCALIZATION NOTE (inspectorNodeRemoval.label): This is the label shown
+# in the inspector contextual-menu for the item that lets users add a DOM breakpoint
+# for node removal.
+inspectorNodeRemoval.label=การเอาโหนดออก
+
+# LOCALIZATION NOTE (inspectorSearchHTML.label3): This is the label that is
+# shown as the placeholder for the markup view search in the inspector.
+inspectorSearchHTML.label3=ค้นหา HTML
+
+# LOCALIZATION NOTE (inspectorImageDataUri.label): This is the label
+# shown in the inspector contextual-menu for the item that lets users copy
+# the URL embedding the image data encoded in Base 64 (what we name
+# here Image Data URL). For more information:
+# https://developer.mozilla.org/en-US/docs/Web/HTTP/data_URIs
+inspectorImageDataUri.label=Data-URL ภาพ
+
+# LOCALIZATION NOTE (inspectorShowDOMProperties.label): This is the label
+# shown in the inspector contextual-menu for the item that lets users see
+# the DOM properties of the current node. When triggered, this item
+# opens the split Console and displays the properties in its side panel.
+inspectorShowDOMProperties.label=แสดงคุณสมบัติ DOM
+
+# LOCALIZATION NOTE (inspectorShowAccessibilityProperties.label): This is the
+# label shown in the inspector contextual-menu for the item that lets users see
+# the accessibility tree and accessibility properties of the current node.
+# When triggered, this item opens accessibility panel and selects an accessible
+# object for the given node.
+inspectorShowAccessibilityProperties.label=แสดงคุณสมบัติการช่วยการเข้าถึง
+
+# LOCALIZATION NOTE (inspectorUseInConsole.label): This is the label
+# shown in the inspector contextual-menu for the item that outputs a
+# variable for the current node to the console. When triggered,
+# this item opens the split Console.
+inspectorUseInConsole.label=ใช้ในคอนโซล
+
+# LOCALIZATION NOTE (inspectorExpandNode.label): This is the label
+# shown in the inspector contextual-menu for recursively expanding
+# mark-up elements
+inspectorExpandNode.label=ขยายทั้งหมด
+
+# LOCALIZATION NOTE (inspectorCollapseAll.label): This is the label
+# shown in the inspector contextual-menu for recursively collapsing
+# mark-up elements
+inspectorCollapseAll.label=ยุบทั้งหมด
+
+# LOCALIZATION NOTE (inspectorScreenshotNode.label): This is the label
+# shown in the inspector contextual-menu for the item that lets users take
+# a screenshot of the currently selected node.
+inspectorScreenshotNode.label=จับภาพหน้าจอโหนด
+
+# LOCALIZATION NOTE (inspectorDuplicateNode.label): This is the label
+# shown in the inspector contextual-menu for the item that lets users
+# duplicate the currently selected node.
+inspectorDuplicateNode.label=ทำสำเนาโหนด
+
+# LOCALIZATION NOTE (inspectorAddNode.label): This is the label shown in
+# the inspector toolbar for the button that lets users add elements to the
+# DOM (as children of the currently selected element).
+inspectorAddNode.label=สร้างโหนดใหม่
+inspectorAddNode.accesskey=ส
+
+# LOCALIZATION NOTE (inspectorCopyHTMLSubmenu.label): This is the label
+# shown in the inspector contextual-menu for the sub-menu of the other
+# copy items, which allow to:
+# - Copy Inner HTML
+# - Copy Outer HTML
+# - Copy Unique selector
+# - Copy Image data URI
+inspectorCopyHTMLSubmenu.label=คัดลอก
+
+# LOCALIZATION NOTE (inspectorPasteHTMLSubmenu.label): This is the label
+# shown in the inspector contextual-menu for the sub-menu of the other
+# paste items, which allow to:
+# - Paste Inner HTML
+# - Paste Outer HTML
+# - Before
+# - After
+# - As First Child
+# - As Last Child
+inspectorPasteHTMLSubmenu.label=วาง
+
+# LOCALIZATION NOTE (inspectorCustomElementDefinition.label): This is the label
+# shown in the inspector contextual-menu for custom elements to which a shadow root has
+# been attached. Clicking on the menu item will open the Debugger on the custom element
+# definition location.
+inspectorCustomElementDefinition.label=แสดงองค์ประกอบที่กำหนดเอง
+
+# LOCALIZATION NOTE (inspector.searchHTML.key):
+# Key shortcut used to focus the DOM element search box on top-right corner of
+# the markup view
+inspector.searchHTML.key=CmdOrCtrl+F
+
+# LOCALIZATION NOTE (markupView.hide.key):
+# Key shortcut used to hide the selected node in the markup view.
+markupView.hide.key=h
+
+# LOCALIZATION NOTE (markupView.edit.key):
+# Key shortcut used to hide the selected node in the markup view.
+markupView.edit.key=F2
+
+# LOCALIZATION NOTE (markupView.scrollInto.key):
+# Key shortcut used to scroll the webpage in order to ensure the selected node
+# is visible
+markupView.scrollInto.key=s
+
+# LOCALIZATION NOTE (inspector.sidebar.fontInspectorTitle):
+# This is the title shown in a tab in the side panel of the Inspector panel
+# that corresponds to the tool displaying the list of fonts used in the page.
+inspector.sidebar.fontInspectorTitle=แบบอักษร
+
+# LOCALIZATION NOTE (inspector.sidebar.changesViewTitle):
+# Title of the Changes sidebar tab shown in the Inspector panel. The Changes panel shows
+# style changes made using DevTools.
+inspector.sidebar.changesViewTitle=การเปลี่ยนแปลง
+
+# LOCALIZATION NOTE (inspector.sidebar.ruleViewTitle):
+# This is the title shown in a tab in the side panel of the Inspector panel
+# that corresponds to the tool displaying the list of CSS rules used
+# in the page.
+inspector.sidebar.ruleViewTitle=กฎ
+
+# LOCALIZATION NOTE (inspector.sidebar.computedViewTitle):
+# This is the title shown in a tab in the side panel of the Inspector panel
+# that corresponds to the tool displaying the list of computed CSS values
+# used in the page.
+inspector.sidebar.computedViewTitle=คำนวณ
+
+# LOCALIZATION NOTE (inspector.sidebar.layoutViewTitle2):
+# This is the title shown in a tab in the side panel of the Inspector panel
+# that corresponds to the tool displaying layout information defined in the page.
+inspector.sidebar.layoutViewTitle2=เค้าโครง
+
+# LOCALIZATION NOTE (inspector.sidebar.animationInspectorTitle):
+# This is the title shown in a tab in the side panel of the Inspector panel
+# that corresponds to the tool displaying animations defined in the page.
+inspector.sidebar.animationInspectorTitle=ภาพเคลื่อนไหว
+
+# LOCALIZATION NOTE (inspector.sidebar.compatibilityViewTitle):
+# This is the title shown in a tab in the side panel of the Inspector panel
+# that corresponds to the tool displaying web compatibility information about the page.
+inspector.sidebar.compatibilityViewTitle=ความเข้ากันได้
+
+# LOCALIZATION NOTE (inspector.eyedropper.label): A string displayed as the tooltip of
+# a button in the inspector which toggles the Eyedropper tool
+inspector.eyedropper.label=ดูดสีจากหน้า
+
+# LOCALIZATION NOTE (inspector.breadcrumbs.label): A string visible only to a screen reader and
+# is used to label (using aria-label attribute) a container for inspector breadcrumbs
+inspector.breadcrumbs.label=เส้นทาง
+
+# LOCALIZATION NOTE (inspector.browserStyles.label): This is the label for the checkbox
+# that specifies whether the styles that are not from the user's stylesheet should be
+# displayed or not.
+inspector.browserStyles.label=ลักษณะเบราว์เซอร์
+
+# LOCALIZATION NOTE (inspector.filterStyles.placeholder): This is the placeholder that
+# goes in the search box when no search term has been entered.
+inspector.filterStyles.placeholder=กรองลักษณะ
+
+# LOCALIZATION NOTE (inspector.addRule.tooltip): This is the tooltip shown when
+# hovering the `Add new rule` button in the rules view toolbar. This should
+# match ruleView.contextmenu.addNewRule in styleinspector.properties
+inspector.addRule.tooltip=เพิ่มกฎใหม่
+
+# LOCALIZATION NOTE (inspector.togglePseudo.tooltip): This is the tooltip
+# shown when hovering over the `Toggle Pseudo Class Panel` button in the
+# rule view toolbar.
+inspector.togglePseudo.tooltip=เปิด/ปิดคลาสแฝง
+
+# LOCALIZATION NOTE (inspector.classPanel.toggleClass.tooltip): This is the tooltip
+# shown when hovering over the `Toggle Class Panel` button in the
+# rule view toolbar.
+inspector.classPanel.toggleClass.tooltip=เปิด/ปิดคลาส
+
+# LOCALIZATION NOTE (inspector.classPanel.newClass.placeholder): This is the placeholder
+# shown inside the text field used to add a new class in the rule-view.
+inspector.classPanel.newClass.placeholder=เพิ่มคลาสใหม่
+
+# LOCALIZATION NOTE (inspector.classPanel.noClasses): This is the text displayed in the
+# class panel when the current element has no classes applied.
+inspector.classPanel.noClasses=ไม่มีคลาสในองค์ประกอบนี้
+
+# LOCALIZATION NOTE (inspector.noProperties): In the case where there are no CSS
+# properties to display e.g. due to search criteria this message is
+# displayed.
+inspector.noProperties=ไม่พบคุณสมบัติ CSS
+
+# LOCALIZATION NOTE (inspector.printSimulation.tooltip):
+# This is the tooltip of the print simulation button in the Rule View toolbar
+# that toggles print simulation.
+inspector.printSimulation.tooltip = เปิด/ปิดการจำลองสื่อสิ่งพิมพ์สำหรับหน้า
+
+# LOCALIZATION NOTE (inspector.colorSchemeSimulation.tooltip):
+# This is the tooltip of the color scheme simulation button in the Rule View
+# toolbar that toggles color scheme simulation.
+inspector.colorSchemeSimulation.tooltip=เปิด/ปิดการจำลองแบบแผนสีสำหรับหน้า
+
+# LOCALIZATION NOTE (markupView.scrollableBadge.label): This is the text displayed inside a
+# badge, in the inspector, next to nodes that are scrollable in the page.
+markupView.scrollableBadge.label=เลื่อน
+
+# LOCALIZATION NOTE (markupView.scrollableBadge.tooltip): This is the tooltip that is displayed
+# when hovering over badges next to scrollable elements in the inspector.
+markupView.scrollableBadge.tooltip=องค์ประกอบนี้มีส่วนล้นที่เลื่อนได้
+
+# LOCALIZATION NOTE (markupView.scrollableBadge.interactive.tooltip): This is the tooltip that is displayed
+# when hovering over interactive badges next to scrollable elements in the inspector.
+markupView.scrollableBadge.interactive.tooltip=องค์ประกอบนี้มีส่วนเกินที่สามารถเลื่อนได้ คลิกเพื่อเปิดเผยองค์ประกอบที่กำลังทำให้เกิดส่วนเกิน
+
+# LOCALIZATION NOTE (markupView.overflowBadge.label): This is the text displayed inside a
+# badge, in the inspector, next to nodes that are causing overflow in other elements.
+markupView.overflowBadge.label=overflow
+
+# LOCALIZATION NOTE (markupView.overflowBadge.tooltip): This is the tooltip that is displayed
+# when hovering over badges next to overflow causing elements in the inspector.
+markupView.overflowBadge.tooltip=องค์ประกอบนี้กำลังทำให้องค์ประกอบเกิดส่วนเกิน
+
+# LOCALIZATION NOTE (rulePreviewTooltip.noAssociatedRule): This is the text displayed inside
+# the RulePreviewTooltip when a rule cannot be found for a CSS property declaration.
+rulePreviewTooltip.noAssociatedRule=ไม่มีกฎที่เกี่ยวข้อง
+
+# LOCALIZATION NOTE (colorPickerTooltip.contrastAgainstBgTitle): A title text for the
+# contrast ratio value description that labels the background the color contrast ratio is calculated
+# against, used together with the actual background color. %S in the content will be replaced by a
+# span (containing bg color swatch) and textNode (containing bg color hex string) at run time
+colorPickerTooltip.contrastAgainstBgTitle=คำนวณในเบื้องหลัง: %S
+
+# LOCALIZATION NOTE (colorPickerTooltip.spectrumDraggerTitle): A title text for the
+# spectrum dragger panel in the color picker tooltip.
+colorPickerTooltip.spectrumDraggerTitle=สเปกตรัม
+
+# LOCALIZATION NOTE (colorPickerTooltip.eyedropperTitle): A title text for the
+# eyedropper in the color picker tooltip.
+colorPickerTooltip.eyedropperTitle=เลือกสีบนหน้า
+
+# LOCALIZATION NOTE (colorPickerTooltip.colorNameTitle): A title text for the
+# closest color name shown in the color picker tooltip, used together with the actual color.
+# %S in the content will be replaced by the color name the current color is closest to.
+colorPickerTooltip.colorNameTitle=ใกล้เคียงที่สุดกับ: %S
+
+# LOCALIZATION NOTE (colorPickerTooltip.hueSliderTitle): A title text for the
+# hue slider in the color picker tooltip.
+colorPickerTooltip.hueSliderTitle=สีสัน
+
+# LOCALIZATION NOTE (colorPickerTooltip.alphaSliderTitle): A title text for the
+# alpha slider in the color picker tooltip.
+colorPickerTooltip.alphaSliderTitle=ความทึบ
+
+# LOCALIZATION NOTE (colorPickerTooltip.contrast.large.title): A title text for the color
+# contrast ratio description in the color picker tooltip, used together with the specification
+# that the color contrast criteria used is for large text. %S in the content will be replaced by a
+# large text indicator span at run time.
+colorPickerTooltip.contrast.large.title=ความเปรียบต่าง %S:
diff --git a/l10n-th/devtools/client/jit-optimizations.properties b/l10n-th/devtools/client/jit-optimizations.properties
new file mode 100644
index 0000000000..c781e01644
--- /dev/null
+++ b/l10n-th/devtools/client/jit-optimizations.properties
@@ -0,0 +1,35 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE These strings are used within the JIT tools
+# in the Performance Tools which is available from the Web Developer
+# sub-menu -> 'Performance' 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 (jit.title):
+# This string is displayed in the header of the JIT Optimizations view.
+jit.title=การปรับ JIT ให้เหมาะสม
+
+# LOCALIZATION NOTE (jit.optimizationFailure):
+# This string is displayed in a tooltip when no JIT optimizations were detected.
+jit.optimizationFailure=การปรับให้เหมาะสมล้มเหลว
+
+# LOCALIZATION NOTE (jit.samples):
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# This string is displayed for the unit representing the number of times a
+# frame is sampled.
+# "#1" represents the number of samples
+# example: 30 samples
+jit.samples=#1 ตัวอย่าง
+
+# LOCALIZATION NOTE (jit.types):
+# This string is displayed for the group of Ion Types in the optimizations view.
+jit.types=ประเภท
+
+# LOCALIZATION NOTE (jit.attempts):
+# This string is displayed for the group of optimization attempts in the optimizations view.
+jit.attempts=พยายาม
diff --git a/l10n-th/devtools/client/jsonview.properties b/l10n-th/devtools/client/jsonview.properties
new file mode 100644
index 0000000000..0cc8bd81ba
--- /dev/null
+++ b/l10n-th/devtools/client/jsonview.properties
@@ -0,0 +1,47 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE These strings are used in the JSON View tool
+# that is used to inspect application/json document types loaded
+# in the browser.
+
+# LOCALIZATION NOTE The correct localization of this file might be to keep it
+# in English, or another language commonly spoken among web developers.
+# You want to make that choice consistent across the developer tools.
+# A good criteria is the language in which you'd find the best documentation
+# on web development on the web.
+
+# LOCALIZATION NOTE (jsonViewer.tab.JSON, jsonViewer.tab.RawData,
+# jsonViewer.tab.Headers): Label for a panel tab.
+jsonViewer.tab.JSON=JSON
+jsonViewer.tab.RawData=ข้อมูลดิบ
+jsonViewer.tab.Headers=ส่วนหัว
+
+# LOCALIZATION NOTE (jsonViewer.responseHeaders, jsonViewer.requestHeaders):
+# Label for header groups within the 'Headers' panel.
+jsonViewer.responseHeaders=ส่วนหัวการตอบสนอง
+jsonViewer.requestHeaders=ส่วนหัวคำขอ
+
+# LOCALIZATION NOTE (jsonViewer.Save): Label for save command
+jsonViewer.Save=บันทึก
+
+# LOCALIZATION NOTE (jsonViewer.Copy): Label for clipboard copy command
+jsonViewer.Copy=คัดลอก
+
+# LOCALIZATION NOTE (jsonViewer.ExpandAll): Label for expanding all nodes
+jsonViewer.ExpandAll=ขยายทั้งหมด
+
+jsonViewer.ExpandAllSlow=ขยายทั้งหมด (ช้า)
+
+# LOCALIZATION NOTE (jsonViewer.CollapseAll): Label for collapsing all nodes
+jsonViewer.CollapseAll=ยุบทั้งหมด
+
+# LOCALIZATION NOTE (jsonViewer.PrettyPrint): Label for JSON
+# pretty print action button.
+jsonViewer.PrettyPrint=แสดงแบบสวยงาม
+
+# LOCALIZATION NOTE (jsonViewer.filterJSON): Label used in search box
+# at the top right cornder of the JSON Viewer.
+jsonViewer.filterJSON=กรอง JSON
+
diff --git a/l10n-th/devtools/client/layout.properties b/l10n-th/devtools/client/layout.properties
new file mode 100644
index 0000000000..0d800e35f9
--- /dev/null
+++ b/l10n-th/devtools/client/layout.properties
@@ -0,0 +1,129 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE This file contains the Layout Inspector strings.
+# The Layout Inspector is a panel accessible in the Inspector sidebar.
+
+# LOCALIZATION NOTE (flexbox.header): The accordion header for the Flexbox panel when
+# no flex container or item is selected.
+flexbox.header=Flexbox
+
+# LOCALIZATION NOTE (flexbox.backButtonLabel): The spoken label for the button
+# that returns from the display of a flex item to the flex item list.
+# This label is spoken by screen readers, not displayed on screen.
+flexbox.backButtonLabel=กลับไปที่ตัวบรรจุ Flex
+
+# LOCALIZATION (flexbox.flexContainer): The accordion header for the Flexbox panel
+# when a flex container is selected.
+flexbox.flexContainer=ตัวบรรจุ Flex
+
+# LOCALIZATION NOTE) (flexbox.flexItemOf): The accordion header for the Flexbox panel
+# when a flex item is selected. %s represents the flex container selector.
+flexbox.flexItemOf=รายการ Flex ของ %S
+
+# LOCALIZATION NOTE (flexbox.noFlexboxeOnThisPage): In the case where there are no CSS
+# flex containers to display.
+flexbox.noFlexboxeOnThisPage=เลือกตัวบรรจุ Flex หรือรายการเพื่อดำเนินการต่อ
+
+# LOCALIZATION NOTE (flexbox.flexItems): Header label displayed for the flex item list.
+flexbox.flexItems=รายการ Flex
+
+# LOCALIZATION NOTE (flexbox.noFlexItems): Label shown in the flex items list section if
+# there are no flex items for the flex container to display.
+flexbox.noFlexItems=ไม่มีรายการ Flex
+
+# LOCALIZATION NOTE (flexbox.itemSizing.baseSizeSectionHeader): Header label displayed
+# at the start of the flex item sizing Base Size section.
+flexbox.itemSizing.baseSizeSectionHeader=ขนาดฐาน
+
+# LOCALIZATION NOTE (flexbox.itemSizing.flexibilitySectionHeader): Header label displayed
+# at the start of the flex item sizing Flexibility section.
+flexbox.itemSizing.flexibilitySectionHeader=ความยืดหยุ่น
+
+# LOCALIZATION NOTE (flexbox.itemSizing.minSizeSectionHeader): Header label displayed
+# at the start of the flex item sizing Minimum Size section.
+flexbox.itemSizing.minSizeSectionHeader=ขนาดต่ำสุด
+
+# LOCALIZATION NOTE (flexbox.itemSizing.maxSizeSectionHeader): Header label displayed at
+# the start of the flex item sizing Maximum Size section.
+flexbox.itemSizing.maxSizeSectionHeader=ขนาดสูงสุด
+
+# LOCALIZATION NOTE (flexbox.itemSizing.finalSizeSectionHeader): Header label displayed at
+# the start of the flex item sizing Final Size section.
+flexbox.itemSizing.finalSizeSectionHeader=ขนาดสุดท้าย
+
+# LOCALIZATION NOTE (flexbox.itemSizing.itemContentSize): Label shown in the flex item
+# sizing panel. It tells users that a given item’s base size was calculated from its
+# content size when unconstrained.
+flexbox.itemSizing.itemContentSize=ขนาดเนื้อหา
+
+# LOCALIZATION NOTE (flexbox.itemSizing.clampedToMax): Label shown in the flexbox item
+# sizing panel. It tells users that a given item attempted to grow but ended up being
+# clamped to a smaller max size.
+# (Note that clamp is a common word in flexbox terminology. It refers to constraining an
+# item's size to some defined min/max-width/height set on the element, even though there
+# might have been room for it to grow, or reason for it to shrink more).
+flexbox.itemSizing.clampedToMax=รายการถูกบีบให้มีขนาดสูงสุด
+
+# LOCALIZATION NOTE (flexbox.itemSizing.clampedToMin): Label shown in the flexbox item
+# sizing panel. It tells users that a given item attempted to grow but ended up being
+# clamped to a larger min size.
+# (Note that clamp is a common word in flexbox terminology. It refers to constraining an
+# item's size to some defined min/max-width/height set on the element, even though there
+# might have been room for it to grow, or reason for it to shrink more).
+flexbox.itemSizing.clampedToMin=รายการถูกบีบให้มีขนาดต่ำสุด
+
+# LOCALIZATION NOTE (flexbox.itemSizing.setToGrow): Label shown in the flex item sizing
+# panel. It tells users that a given item was set to grow.
+flexbox.itemSizing.setToGrow=รายการถูกตั้งค่าให้เพิ่มขนาด
+
+# LOCALIZATION NOTE (flexbox.itemSizing.setToShrink): Label shown in the flexbox item
+# sizing panel. It tells users that a given item was set to shrink.
+flexbox.itemSizing.setToShrink=รายการถูกตั้งค่าให้ลดขนาด
+
+# LOCALIZATION NOTE (flexbox.itemSizing.notSetToGrow): Label shown in the
+# flexbox item sizing panel. It tells users that a given item was not set to grow, even
+# though there might have been space on the flex line for it to grow.
+flexbox.itemSizing.notSetToGrow=รายการไม่ได้ถูกตั้งค่าให้เพิ่มขนาด
+
+# LOCALIZATION NOTE (flexbox.itemSizing.notSetToShrink): Label shown in the
+# flexbox item sizing panel. It tells users that a given item did not shrink even though
+# there might not have been enough space on the flex line for all items to fit.
+flexbox.itemSizing.notSetToShrink=รายการไม่ได้ถูกตั้งค่าให้ลดขนาด
+
+# LOCALIZATION NOTE (flexbox.togglesFlexboxHighlighter2): The tooltip text for the Flexbox
+# toggle button.
+flexbox.togglesFlexboxHighlighter2=เปิด/ปิดตัวเน้น Flexbox
+
+# LOCALIZATION NOTE (layout.cannotShowGridOutline, layout.cannotSHowGridOutline.title):
+# In the case where the grid outline cannot be effectively displayed.
+layout.cannotShowGridOutline=ไม่สามารถแสดงเค้าร่างสำหรับเส้นตารางนี้
+layout.cannotShowGridOutline.title=ไม่สามารถปรับเค้าร่างของเส้นตารางที่เลือกให้พอดีกับภายในแผงเค้าโครงได้อย่างมีประสิทธิภาพเพื่อให้สามารถใช้งานได้
+
+# LOCALIZATION NOTE (layout.displayAreaNames): Label of the display area names setting
+# option in the CSS Grid panel.
+layout.displayAreaNames=แสดงชื่อพื้นที่
+
+# LOCALIZATION NOTE (layout.displayLineNumbers): Label of the display line numbers
+# setting option in the CSS Grid panel.
+layout.displayLineNumbers=แสดงตัวเลขบอกบรรทัด
+
+# LOCALIZATION NOTE (layout.extendLinesInfinitely): Label of the extend lines
+# infinitely setting option in the CSS Grid panel.
+layout.extendLinesInfinitely=ขยายเส้นไปอย่างไม่มีขอบเขต
+
+# LOCALIZATION NOTE (layout.header): The accordion header for the CSS Grid panel.
+layout.header=เส้นตาราง
+
+# LOCALIZATION NOTE (layout.gridDisplaySettings): The header for the grid display
+# settings container in the CSS Grid panel.
+layout.gridDisplaySettings=การตั้งค่าการแสดง Grid
+
+# LOCALIZATION NOTE (layout.noGridsOnThisPage): In the case where there are no CSS grid
+# containers to display.
+layout.noGridsOnThisPage=ไม่มีการใช้ CSS Grid ในหน้านี้
+
+# LOCALIZATION NOTE (layout.overlayGrid): Alternate header for the list of grid container
+# elements if only one item can be selected.
+layout.overlayGrid=แสดงเส้นตารางแบบซ้อนทับกัน
diff --git a/l10n-th/devtools/client/markers.properties b/l10n-th/devtools/client/markers.properties
new file mode 100644
index 0000000000..2e08074f7a
--- /dev/null
+++ b/l10n-th/devtools/client/markers.properties
@@ -0,0 +1,139 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE These strings are used inside the Performance Tools
+# which is available from the Web Developer sub-menu -> 'Performance'.
+# 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. These strings
+# are specifically for marker names in the performance tool.
+
+# LOCALIZATION NOTE (marker.label.*):
+# These strings are displayed in the Performance Tool waterfall, identifying markers.
+# We want to use the same wording as Google Chrome when appropriate.
+marker.label.styles=คำนวณสไตล์ใหม่
+marker.label.stylesApplyChanges=ใช้การเปลี่ยนแปลงลักษณะ
+marker.label.reflow=เค้าโครง
+marker.label.paint=วาด
+marker.label.composite=เลเยอร์แบบรวม
+marker.label.compositeForwardTransaction=ส่งคำขอแบบรวมแล้ว
+marker.label.javascript=การเรียกฟังก์ชัน
+marker.label.parseHTML=แยกวิเคราะห์ HTML
+marker.label.parseXML=แยกวิเคราะห์ XML
+marker.label.domevent=เหตุการณ์ DOM
+marker.label.consoleTime=คอนโซล
+marker.label.garbageCollection2=การกำจัดข้อมูลขยะ
+marker.label.garbageCollection.incremental=ตัวเก็บกวาดขยะแบบเพิ่มขึ้น
+marker.label.garbageCollection.nonIncremental=ตัวเก็บกวาดขยะแบบไม่เพิ่มขึ้น
+marker.label.minorGC=ตัวเก็บกวาดขยะรอง
+marker.label.cycleCollection=การรวบรวมวงจร
+marker.label.cycleCollection.forgetSkippable=การลดกราฟ CC
+marker.label.timestamp=บันทึกเวลา
+marker.label.worker=ตัวทำงาน
+marker.label.messagePort=MessagePort
+marker.label.unknown=ไม่ทราบ
+
+# LOCALIZATION NOTE (marker.label.javascript.*):
+# These strings are displayed as JavaScript markers that have special
+# reasons that can be translated.
+marker.label.javascript.scriptElement=ป้ายกำกับสคริปต์
+marker.label.javascript.promiseCallback=การเรียกกลับ Promise
+marker.label.javascript.promiseInit=การเตรียมใช้งาน Promise
+marker.label.javascript.workerRunnable=ตัวทำงาน
+marker.label.javascript.jsURI=URI ของ JavaScript
+marker.label.javascript.eventHandler=ตัวจัดการเหตุการณ์
+
+# LOCALIZATION NOTE (marker.field.*):
+# Strings used in the waterfall sidebar as property names.
+
+# General marker fields
+marker.field.start=เริ่ม:
+marker.field.end=สิ้นสุด:
+marker.field.duration=ระยะเวลา:
+
+# General "reason" for a marker (JavaScript, Garbage Collection)
+marker.field.causeName=สาเหตุ:
+# General "type" for a marker (Cycle Collection, Garbage Collection)
+marker.field.type=ชนิด:
+# General "label" for a marker (user defined)
+marker.field.label=ป้ายชื่อ:
+
+# Field names for stack values
+marker.field.stack=สแตก:
+marker.field.startStack=สแตกเมื่อเริ่ม:
+marker.field.endStack=สแตกเมื่อสิ้นสุด:
+
+# %S is the "Async Cause" of a marker, and this signifies that the cause
+# was an asynchronous one in a displayed stack.
+marker.field.asyncStack=(ไม่ตรงกัน: %S)
+
+# For console.time markers
+marker.field.consoleTimerName=ชื่อตัวจับเวลา:
+
+# For DOM Event markers
+marker.field.DOMEventType=ชนิดเหตุการณ์:
+marker.field.DOMEventPhase=เฟส:
+
+# Non-incremental cause for a Garbage Collection marker
+marker.field.nonIncrementalCause=สาเหตุแบบไม่เพิ่มขึ้น:
+
+# For "Recalculate Style" markers
+marker.field.isAnimationOnly=ภาพเคลื่อนไหวเท่านั้น:
+
+# The type of operation performed by a Worker.
+marker.worker.serializeDataOffMainThread=ซีเรียลไลซ์ข้อมูลในตัวทำงาน
+marker.worker.serializeDataOnMainThread=ซีเรียลไลซ์ข้อมูลบนเธรดหลัก
+marker.worker.deserializeDataOffMainThread=ดีซีเรียลไลซ์ข้อมูลในตัวทำงาน
+marker.worker.deserializeDataOnMainThread=ดีซีเรียลไลซ์ข้อมูลบนเธรดหลัก
+
+# The type of operation performed by a MessagePort
+marker.messagePort.serializeData=ซีเรียลไลซ์ข้อมูล
+marker.messagePort.deserializeData=ดีซีเรียลไลซ์ข้อมูล
+
+# Strings used in the waterfall sidebar as values.
+marker.value.unknownFrame=<ไม่ทราบตำแหน่งที่ตั้ง>
+marker.value.DOMEventTargetPhase=เป้าหมาย
+marker.value.DOMEventCapturingPhase=จับ
+marker.value.DOMEventBubblingPhase=ฟอง
+
+# LOCALIZATION NOTE (marker.gcreason.label.*):
+# These strings are used to give a concise but readable description of a GC reason.
+marker.gcreason.label.API=เรียก API
+marker.gcreason.label.EAGER_ALLOC_TRIGGER=ทริกเกอร์การจัดสรรทันที
+marker.gcreason.label.DESTROY_RUNTIME=ปิดการทำงาน
+marker.gcreason.label.LAST_DITCH=หน่วยความจำไม่เพียงพอ
+marker.gcreason.label.TOO_MUCH_MALLOC=มีการจัดสรรไบต์มากเกินไป
+marker.gcreason.label.ALLOC_TRIGGER=มีการจัดสรรมากเกินไป
+marker.gcreason.label.DEBUG_GC=ดีบั๊กตัวเก็บกวาดขยะ
+marker.gcreason.label.COMPARTMENT_REVIVED=กู้คืนวัตถุส่วนกลางที่เสียหาย
+marker.gcreason.label.RESET=สิ้นสุดวงจรการเพิ่มขึ้น
+marker.gcreason.label.OUT_OF_NURSERY=เนิร์สเซอรีเต็ม
+marker.gcreason.label.EVICT_NURSERY=การกำจัดเนิร์สเซอรี
+marker.gcreason.label.FULL_STORE_BUFFER=วัตถุเนิร์สเซอรีที่ใช้งานอยู่มากเกินไป
+marker.gcreason.label.SHARED_MEMORY_LIMIT=การจองพื้นที่ขนาดใหญ่ล้มเหลว
+marker.gcreason.label.PERIODIC_FULL_GC=ตัวเก็บกวาดขยะเต็มเป็นระยะ
+marker.gcreason.label.INCREMENTAL_TOO_SLOW=อัตราการจัดสรรเร็วเกินไป
+marker.gcreason.label.COMPONENT_UTILS=Cu.forceGC
+marker.gcreason.label.MEM_PRESSURE=หน่วยความจำเหลือน้อย
+marker.gcreason.label.CC_WAITING=ถูกบังคับโดยการรวบรวมวงจร
+marker.gcreason.label.CC_FINISHED=การรวบรวมวงจรเสร็จสิ้น
+marker.gcreason.label.CC_FORCED=ถูกบังคับโดยการรวบรวมวงจร
+marker.gcreason.label.LOAD_END=โหลดหน้าสำเร็จแล้ว
+marker.gcreason.label.PAGE_HIDE=ย้ายไปยังพื้นหลัง
+marker.gcreason.label.NSJSCONTEXT_DESTROY=ทำลายเนื้อหา JS
+marker.gcreason.label.SET_NEW_DOCUMENT=เอกสารใหม่
+marker.gcreason.label.SET_DOC_SHELL=เอกสารใหม่
+marker.gcreason.label.DOM_UTILS=เรียก API
+marker.gcreason.label.DOM_IPC=IPC
+marker.gcreason.label.DOM_WORKER=ตัวเก็บกวาดขยะตัวทำงานแบบเป็นระยะ
+marker.gcreason.label.INTER_SLICE_GC=ชิ้นข้อมูลตัวเก็บกวาดขยะแบบเพิ่มขึ้นเป็นระยะ
+marker.gcreason.label.FULL_GC_TIMER=ตัวเก็บกวาดขยะเต็มเป็นระยะ
+marker.gcreason.label.SHUTDOWN_CC=ปิดการทำงาน
+marker.gcreason.label.DOM_WINDOW_UTILS=ผู้ใช้ไม่ได้ใช้งาน
+marker.gcreason.label.USER_INACTIVE=ผู้ใช้ไม่ได้ใช้งาน
+
+# The name of a nursery collection.
+marker.nurseryCollection=การรวบรวมเนิร์สเซอรี
diff --git a/l10n-th/devtools/client/memory.properties b/l10n-th/devtools/client/memory.properties
new file mode 100644
index 0000000000..56ddd3a2d5
--- /dev/null
+++ b/l10n-th/devtools/client/memory.properties
@@ -0,0 +1,426 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE These strings are used inside the Memory Tools
+# which is available from the Web Developer sub-menu -> 'Memory'.
+# The correct localization of this file might be to keep it in
+# English, or another language commonly spoken among web developers.
+# You want to make that choice consistent across the developer tools.
+# A good criteria is the language in which you'd find the best
+# documentation on web development on the web.
+
+# LOCALIZATION NOTE (snapshot.io.save): The label for the link that saves a
+# snapshot to disk.
+snapshot.io.save=บันทึก
+
+# LOCALIZATION NOTE (snapshot.io.delete): The label for the link that deletes
+# a snapshot
+snapshot.io.delete=ลบ
+
+# LOCALIZATION NOTE (snapshot.io.save.window): The title for the window
+# displayed when saving a snapshot to disk.
+snapshot.io.save.window=บันทึกสแนปช็อต
+
+# LOCALIZATION NOTE (snapshot.io.import.window): The title for the window
+# displayed when importing a snapshot form disk.
+snapshot.io.import.window=นำเข้าสแนปช็อต
+
+# LOCALIZATION NOTE (snapshot.io.filter): The title for the filter used to
+# filter file types (*.fxsnapshot)
+snapshot.io.filter=Firefox Snapshots
+
+# LOCALIZATION NOTE (aggregate.mb): The label annotating the number of bytes (in
+# megabytes) in a snapshot. %S represents the value, rounded to 2 decimal
+# points.
+aggregate.mb=%S MB
+
+# LOCALIZATION NOTE (snapshot-title.loading): The title for a snapshot before
+# it has a creation time to display.
+snapshot-title.loading=กำลังประมวลผล…
+
+# LOCALIZATION NOTE (checkbox.recordAllocationStacks): The label describing the
+# boolean checkbox whether or not to record call stacks.
+checkbox.recordAllocationStacks=อัดบันทึกสแตกการเรียก
+
+# LOCALIZATION NOTE (checkbox.recordAllocationStacks.tooltip): The tooltip for
+# the label describing the boolean checkbox whether or not to record call
+# stacks.
+checkbox.recordAllocationStacks.tooltip=เปิด/ปิดการอัดบันทึกสแตกการเรียกเมื่อวัตถุถูกจัดสรร สแนปช็อตต่อไปจะสามารถจัดกลุ่มและกำหนดป้ายกำกับให้กับวัตถุตามสแตกการเรียก โดยจะดำเนินการกับวัตถุที่สร้างหลังจากเปิด/ปิดตัวเลือกนี้เท่านั้น การอัดบันทึกสแตกการเรียกต้องใช้ประสิทธิภาพมาก
+
+# LOCALIZATION NOTE (toolbar.displayBy): The label describing the select menu
+# options of the display options.
+toolbar.displayBy=จัดกลุ่มตาม:
+
+# LOCALIZATION NOTE (toolbar.displayBy.tooltip): The tooltip for the label
+# describing the select menu options of the display options.
+toolbar.displayBy.tooltip=เปลี่ยนวิธีจัดกลุ่มวัตถุ
+
+# LOCALIZATION NOTE (toolbar.pop-view): The text in the button to go back to the
+# previous view.
+toolbar.pop-view=←
+
+# LOCALIZATION NOTE (toolbar.pop-view.label): The text for the label for the
+# button to go back to the previous view.
+toolbar.pop-view.label=กลับไปที่ค่ารวม
+
+# LOCALIZATION NOTE (toolbar.viewing-individuals): The text letting the user
+# know that they are viewing individual nodes from a census group.
+toolbar.viewing-individuals=⁂ ดูแต่ละรายการในกลุ่ม
+
+# LOCALIZATION NOTE (censusDisplays.coarseType.tooltip): The tooltip for the
+# "coarse type" display option.
+censusDisplays.coarseType.tooltip=จัดกลุ่มรายการตามชนิด
+
+# LOCALIZATION NOTE (censusDisplays.allocationStack.tooltip): The tooltip for
+# the "call stack" display option.
+censusDisplays.allocationStack.tooltip=จัดกลุ่มรายการตามสแตก JavaScript ที่อัดบันทึกเมื่อวัตถุถูกจัดสรร
+
+# LOCALIZATION NOTE (censusDisplays.invertedAllocationStack.tooltip): The
+# tooltip for the "inverted call stack" display option.
+censusDisplays.invertedAllocationStack.tooltip=จัดกลุ่มรายการตามสแตกการเรียก JavaScript แบบย้อนกลับที่อัดบันทึกเมื่อวัตถุถูกสร้างขึ้น
+
+# LOCALIZATION NOTE (toolbar.labelBy): The label describing the select menu
+# options of the label options.
+toolbar.labelBy=ติดป้ายโดย:
+
+# LOCALIZATION NOTE (toolbar.labelBy.tooltip): The tooltip for the label describing the
+# select menu options of the label options.
+toolbar.labelBy.tooltip=เปลี่ยนวิธีติดป้ายกำกับวัตถุ
+
+# LOCALIZATION NOTE (dominatorTreeDisplays.coarseType.tooltip): The tooltip for
+# the "coarse type" dominator tree display option.
+dominatorTreeDisplays.coarseType.tooltip=กำหนดป้ายกำกับให้กับวัตถุตามหมวดหมู่กว้าง ๆ ที่มีขนาดพอดี
+
+# LOCALIZATION NOTE (dominatorTreeDisplays.allocationStack.tooltip): The
+# tooltip for the "call stack" dominator tree display option.
+dominatorTreeDisplays.allocationStack.tooltip=กำหนดป้ายกำกับให้กับวัตถุตามสแตก JavaScript ที่อัดบันทึกเมื่อถูกจัดสรร
+
+# LOCALIZATION NOTE (treeMapDisplays.coarseType.tooltip): The tooltip for
+# the "coarse type" tree map display option.
+treeMapDisplays.coarseType.tooltip=กำหนดป้ายกำกับให้กับวัตถุตามหมวดหมู่กว้าง ๆ ที่มีขนาดพอดี
+
+# LOCALIZATION NOTE (toolbar.view): The label for the view selector in the
+# toolbar.
+toolbar.view=มุมมอง:
+
+# LOCALIZATION NOTE (toolbar.view.tooltip): The tooltip for the label for the
+# view selector in the toolbar.
+toolbar.view.tooltip=เปลี่ยนมุมมองของสแนปช็อต
+
+# LOCALIZATION NOTE (toolbar.view.census): The label for the census view option
+# in the toolbar.
+toolbar.view.census=ค่ารวม
+
+# LOCALIZATION NOTE (toolbar.view.census.tooltip): The tooltip for the label for
+# the census view option in the toolbar.
+toolbar.view.census.tooltip=ดูสรุปเนื้อหาของสแนปช็อตโดยรวมวัตถุเป็นกลุ่ม
+
+# LOCALIZATION NOTE (toolbar.view.dominators): The label for the dominators view
+# option in the toolbar.
+toolbar.view.dominators=ตัวควบคุม
+
+# LOCALIZATION NOTE (toolbar.view.dominators.tooltip): The tooltip for the label
+# for the dominators view option in the toolbar.
+toolbar.view.dominators.tooltip=ดูต้นไม้ตัวควบคุมและทำโครงสร้างที่ใหญ่ที่สุดในสแนปช็อตให้มีขนาดเท่ากัน
+
+# LOCALIZATION NOTE (toolbar.view.treemap): The label for the tree map option
+# in the toolbar.
+toolbar.view.treemap=แผนที่ต้นไม้
+
+# LOCALIZATION NOTE (toolbar.view.treemap.tooltip): The tooltip for the label for
+# the tree map view option in the toolbar.
+toolbar.view.treemap.tooltip=แสดงภาพการใช้หน่วยความจำ: บล็อกที่มีขนาดใหญ่หมายถึงมีเปอร์เซ็นต์การใช้หน่วยความจำมาก
+
+# LOCALIZATION NOTE (take-snapshot): The label describing the button that
+# initiates taking a snapshot, either as the main label, or a tooltip.
+take-snapshot=ถ่ายสแนปช็อต
+
+# LOCALIZATION NOTE (import-snapshot): The label describing the button that
+# initiates importing a snapshot.
+import-snapshot=นำเข้า…
+
+# LOCALIZATION NOTE (clear-snapshots.tooltip): The tooltip for the button that
+# deletes existing snapshot.
+clear-snapshots.tooltip=ลบสแนปช็อตทั้งหมด
+
+# LOCALIZATION NOTE (diff-snapshots.tooltip): The tooltip for the button that
+# initiates selecting two snapshots to diff with each other.
+diff-snapshots.tooltip=เปรียบเทียบสแนปช็อต
+
+# LOCALIZATION NOTE (filter.placeholder): The placeholder text used for the
+# memory tool's filter search box.
+filter.placeholder=ตัวกรอง
+
+# LOCALIZATION NOTE (filter.tooltip): The tooltip text used for the memory
+# tool's filter search box.
+filter.tooltip=กรองเนื้อหาของสแนปช็อต
+
+# LOCALIZATION NOTE (tree-item.view-individuals.tooltip): The tooltip for the
+# button to view individuals in this group.
+tree-item.view-individuals.tooltip=ดูแต่ละโหนดที่อยู่ในกลุ่มนี้และเส้นทางการเก็บข้อมูลของแต่ละโหนด
+
+# LOCALIZATION NOTE (tree-item.load-more): The label for the links to fetch the
+# lazily loaded sub trees in the dominator tree view.
+tree-item.load-more=โหลดเพิ่มเติม…
+
+# LOCALIZATION NOTE (tree-item.rootlist): The label for the root of the
+# dominator tree.
+tree-item.rootlist=ราก GC
+
+# LOCALIZATION NOTE (tree-item.nostack): The label describing the row in the heap tree
+# that represents a row broken down by call stack when no stack was available.
+tree-item.nostack=(ไม่มีสแตก)
+
+# LOCALIZATION NOTE (tree-item.nofilename): The label describing the row in the
+# heap tree that represents a row broken down by filename when no filename was
+# available.
+tree-item.nofilename=(ไม่มีชื่อไฟล์)
+
+# LOCALIZATION NOTE (tree-item.root): The label describing the row in the heap tree
+# that represents the root of the tree when inverted.
+tree-item.root=(ราก)
+
+# LOCALIZATION NOTE (tree-item.percent2): A percent of bytes or count displayed in the tree view.
+# there are two "%" after %S to escape and display "%"
+tree-item.percent2=%S%%
+
+# LOCALIZATION NOTE (diffing.baseline): The name of the baseline snapshot in a
+# diffing comparison.
+diffing.baseline=ขั้นต้น
+
+# LOCALIZATION NOTE (diffing.comparison): The name of the snapshot being
+# compared to the baseline in a diffing comparison.
+diffing.comparison=การเปรียบเทียบ
+
+# LOCALIZATION NOTE (diffing.prompt.selectBaseline): The prompt to select the
+# first snapshot when doing a diffing comparison.
+diffing.prompt.selectBaseline=เลือกสแนปช็อตขั้นต้น
+
+# LOCALIZATION NOTE (diffing.prompt.selectComparison): The prompt to select the
+# second snapshot when doing a diffing comparison.
+diffing.prompt.selectComparison=เลือกสแนปช็อตเพื่อเปรียบเทียบกับสแนปช็อตขั้นต้น
+
+# LOCALIZATION NOTE (diffing.state.error): The label describing the diffing
+# state ERROR, used in the snapshot list when an error occurs while diffing two
+# snapshots.
+diffing.state.error=ข้อผิดพลาด
+
+# LOCALIZATION NOTE (diffing.state.error.full): The text describing the diffing
+# state ERROR, used in the main view when an error occurs while diffing two
+# snapshots.
+diffing.state.error.full=มีข้อผิดพลาดขณะเปรียบเทียบสแนปช็อต
+
+# LOCALIZATION NOTE (diffing.state.taking-diff): The label describing the diffin
+# state TAKING_DIFF, used in the snapshots list when computing the difference
+# between two snapshots.
+diffing.state.taking-diff=กำลังคำนวณความแตกต่าง…
+
+# LOCALIZATION NOTE (diffing.state.taking-diff.full): The label describing the
+# diffing state TAKING_DIFF, used in the main view when computing the difference
+# between two snapshots.
+diffing.state.taking-diff.full=กำลังคำนวณความแตกต่าง…
+
+# LOCALIZATION NOTE (diffing.state.selecting): The label describing the diffing
+# state SELECTING.
+diffing.state.selecting=เลือก 2 สแนปช็อตที่จะเปรียบเทียบ
+
+# LOCALIZATION NOTE (diffing.state.selecting.full): The label describing the
+# diffing state SELECTING, used in the main view when selecting snapshots to
+# diff.
+diffing.state.selecting.full=เลือก 2 สแนปช็อตที่จะเปรียบเทียบ
+
+# LOCALIZATION NOTE (dominatorTree.state.computing): The label describing the
+# dominator tree state COMPUTING.
+dominatorTree.state.computing=กำลังสร้างรายงานตัวควบคุม…
+
+# LOCALIZATION NOTE (dominatorTree.state.computing.full): The label describing the
+# dominator tree state COMPUTING, used in the dominator tree view.
+dominatorTree.state.computing.full=กำลังสร้างรายงานตัวควบคุม…
+
+# LOCALIZATION NOTE (dominatorTree.state.fetching): The label describing the
+# dominator tree state FETCHING.
+dominatorTree.state.fetching=กำลังคำนวณขนาด…
+
+# LOCALIZATION NOTE (dominatorTree.state.fetching.full): The label describing the
+# dominator tree state FETCHING, used in the dominator tree view.
+dominatorTree.state.fetching.full=กำลังคำนวณขนาดสะสมของตัวควบคุม…
+
+# LOCALIZATION NOTE (dominatorTree.state.incrementalFetching): The label
+# describing the dominator tree state INCREMENTAL_FETCHING.
+dominatorTree.state.incrementalFetching=กำลังดึงข้อมูล…
+
+# LOCALIZATION NOTE (dominatorTree.state.incrementalFetching.full): The label describing the
+# dominator tree state INCREMENTAL_FETCHING, used in the dominator tree view.
+dominatorTree.state.incrementalFetching.full=กำลังดึงข้อมูลเพิ่มเติม…
+
+# LOCALIZATION NOTE (dominatorTree.state.error): The label describing the
+# dominator tree state ERROR.
+dominatorTree.state.error=ข้อผิดพลาด
+
+# LOCALIZATION NOTE (dominatorTree.state.error.full): The label describing the
+# dominator tree state ERROR, used in the dominator tree view.
+dominatorTree.state.error.full=เกิดข้อผิดพลาดขณะประมวลผลทรีตัวควบคุม
+
+# LOCALIZATION NOTE (snapshot.state.saving.full): The label describing the
+# snapshot state SAVING, used in the main heap view.
+snapshot.state.saving.full=กำลังบันทึกสแนปช็อต…
+
+# LOCALIZATION NOTE (snapshot.state.reading.full): The label describing the
+# snapshot state READING, and SAVED, due to these states being combined
+# visually, used in the main heap view.
+snapshot.state.reading.full=กำลังอ่านสแนปช็อต…
+
+# LOCALIZATION NOTE (snapshot.state.saving-census.full): The label describing
+# the snapshot state SAVING, used in the main heap view.
+snapshot.state.saving-census.full=กำลังสร้างรายงานค่ารวม…
+
+# LOCALIZATION NOTE (snapshot.state.saving-tree-map.full): The label describing
+# the snapshot state SAVING, used in the main heap view.
+snapshot.state.saving-tree-map.full=กำลังบันทึกแผนที่ต้นไม้…
+
+# LOCALIZATION NOTE (snapshot.state.error.full): The label describing the
+# snapshot state ERROR, used in the main heap view.
+snapshot.state.error.full=เกิดข้อผิดพลาดในการประมวลผลสแนปช็อตนี้
+
+# LOCALIZATION NOTE (individuals.state.error): The short message displayed when
+# there is an error fetching individuals from a group.
+individuals.state.error=ข้อผิดพลาด
+
+# LOCALIZATION NOTE (individuals.state.error.full): The longer message displayed
+# when there is an error fetching individuals from a group.
+individuals.state.error.full=มีข้อผิดพลาดขณะดึงข้อมูลของแต่ละรายการที่อยู่ในกลุ่ม
+
+# LOCALIZATION NOTE (individuals.state.fetching): The short message displayed
+# while fetching individuals.
+individuals.state.fetching=กำลังดึงข้อมูล…
+
+# LOCALIZATION NOTE (individuals.state.fetching.full): The longer message
+# displayed while fetching individuals.
+individuals.state.fetching.full=กำลังดึงข้อมูลของแต่ละรายการที่อยู่ในกลุ่ม…
+
+# LOCALIZATION NOTE (individuals.field.node): The header label for an individual
+# node.
+individuals.field.node=โหนด
+
+# LOCALIZATION NOTE (individuals.field.node.tooltip): The tooltip for the header
+# label for an individual node.
+individuals.field.node.tooltip=แต่ละโหนดที่อยู่ในสแนปช็อต
+
+# LOCALIZATION NOTE (snapshot.state.saving): The label describing the snapshot
+# state SAVING, used in the snapshot list view
+snapshot.state.saving=กำลังบันทึกสแนปช็อต…
+
+# LOCALIZATION NOTE (snapshot.state.importing): The label describing the
+# snapshot state IMPORTING, used in the snapshot list view
+snapshot.state.importing=กำลังนำเข้าสแนปช็อต…
+
+# LOCALIZATION NOTE (snapshot.state.reading): The label describing the snapshot
+# state READING, and SAVED, due to these states being combined visually, used in
+# the snapshot list view.
+snapshot.state.reading=กำลังอ่านสแนปช็อต…
+
+# LOCALIZATION NOTE (snapshot.state.saving-census): The label describing the
+# snapshot state SAVING, used in snapshot list view.
+snapshot.state.saving-census=กำลังบันทึกรายงาน…
+
+# LOCALIZATION NOTE (snapshot.state.saving-census): The label describing the
+# snapshot state SAVING, used in snapshot list view.
+snapshot.state.saving-tree-map=กำลังบันทึกแผนที่ต้นไม้…
+
+# LOCALIZATION NOTE (snapshot.state.error): The label describing the snapshot
+# state ERROR, used in the snapshot list view.
+snapshot.state.error=ข้อผิดพลาด
+
+# LOCALIZATION NOTE (heapview.no-difference): Message displayed when there is no
+# difference between two snapshots.
+heapview.no-difference=ไม่มีความแตกต่างระหว่างสแนปช็อตขั้นต้นกับสแนปช็อตที่นำมาเปรียบเทียบ
+
+# LOCALIZATION NOTE (heapview.none-match): Message displayed when there are no
+# matches when filtering.
+heapview.none-match=ไม่มีที่ตรงกัน
+
+# LOCALIZATION NOTE (heapview.none-match): Message displayed when there report
+# is empty.
+heapview.empty=ว่างเปล่า
+
+# LOCALIZATION NOTE (heapview.noAllocationStacks): The message displayed to
+# users when selecting a display by "call stack" but no call stacks
+# were recorded in the heap snapshot.
+heapview.noAllocationStacks=ไม่พบสแตกการเรียก อัดบันทึกสแตกการเรียกก่อนที่จะถ่ายสแนปช็อต
+
+# LOCALIZATION NOTE (heapview.field.retainedSize): The name of the column in the
+# dominator tree view for retained byte sizes.
+heapview.field.retainedSize=ขนาดที่เก็บ (ไบต์)
+
+# LOCALIZATION NOTE (heapview.field.retainedSize.tooltip): The tooltip for the
+# column header in the dominator tree view for retained byte sizes.
+heapview.field.retainedSize.tooltip=ผลรวมของขนาดของวัตถุเองและขนาดของวัตถุอื่นทั้งหมดที่เกี่ยวข้อง
+
+# LOCALIZATION NOTE (heapview.field.shallowSize): The name of the column in the
+# dominator tree view for shallow byte sizes.
+heapview.field.shallowSize=ขนาดโครงสร้างข้อมูลหลัก (ไบต์)
+
+# LOCALIZATION NOTE (heapview.field.shallowSize.tooltip): The tooltip for the
+# column header in the dominator tree view for shallow byte sizes.
+heapview.field.shallowSize.tooltip=ขนาดของวัตถุเอง
+
+# LOCALIZATION NOTE (dominatortree.field.label): The name of the column in the
+# dominator tree for an object's label.
+dominatortree.field.label=ตัวควบคุม
+
+# LOCALIZATION NOTE (dominatortree.field.label.tooltip): The tooltip for the column
+# header in the dominator tree view for an object's label.
+dominatortree.field.label.tooltip=ป้ายกำกับสำหรับวัตถุที่อยู่ในหน่วยความจำ
+
+# LOCALIZATION NOTE (heapview.field.bytes): The name of the column in the heap
+# view for bytes.
+heapview.field.bytes=ไบต์
+
+# LOCALIZATION NOTE (heapview.field.bytes.tooltip): The tooltip for the column
+# header in the heap view for bytes.
+heapview.field.bytes.tooltip=จำนวนไบต์ที่ใช้ไปโดยกลุ่มนี้ ไม่รวมถึงกลุ่มย่อย
+
+# LOCALIZATION NOTE (heapview.field.count): The name of the column in the heap
+# view for count.
+heapview.field.count=จำนวน
+
+# LOCALIZATION NOTE (heapview.field.count.tooltip): The tooltip for the column
+# header in the heap view for count.
+heapview.field.count.tooltip=จำนวนวัตถุที่เข้าถึงได้ที่อยู่ในกลุ่มนี้ ไม่รวมถึงกลุ่มย่อย
+
+# LOCALIZATION NOTE (heapview.field.totalbytes): The name of the column in the
+# heap view for total bytes.
+heapview.field.totalbytes=จำนวนไบต์รวม
+
+# LOCALIZATION NOTE (heapview.field.totalbytes.tooltip): The tooltip for the
+# column header in the heap view for total bytes.
+heapview.field.totalbytes.tooltip=จำนวนไบต์ที่ใช้ไปโดยกลุ่มนี้ รวมถึงกลุ่มย่อย
+
+# LOCALIZATION NOTE (heapview.field.totalcount): The name of the column in the
+# heap view for total count.
+heapview.field.totalcount=จำนวนรวม
+
+# LOCALIZATION NOTE (heapview.field.totalcount.tooltip): The tooltip for the
+# column header in the heap view for total count.
+heapview.field.totalcount.tooltip=จำนวนวัตถุที่เข้าถึงได้ที่อยู่ในกลุ่มนี้ รวมถึงกลุ่มย่อย
+
+# LOCALIZATION NOTE (heapview.field.name): The name of the column in the heap
+# view for name.
+heapview.field.name=กลุ่ม
+
+# LOCALIZATION NOTE (heapview.field.name.tooltip): The tooltip for the column
+# header in the heap view for name.
+heapview.field.name.tooltip=ชื่อของกลุ่ม
+
+# LOCALIZATION NOTE (shortest-paths.header): The header label for the shortest
+# paths pane.
+shortest-paths.header=เส้นทางการเก็บข้อมูล (จากรากตัวรวบรวมขยะ)
+
+# LOCALIZATION NOTE (shortest-paths.select-node): The message displayed in the
+# shortest paths pane when a node is not yet selected.
+shortest-paths.select-node=เลือกรายการเพื่อดูเส้นทางการเก็บข้อมูล
+
+# LOCALIZATION NOTE (tree-map.node-count): The label for the count value of a
+# node in the tree map
+tree-map.node-count=จำนวน
diff --git a/l10n-th/devtools/client/menus.properties b/l10n-th/devtools/client/menus.properties
new file mode 100644
index 0000000000..7c1e05cac9
--- /dev/null
+++ b/l10n-th/devtools/client/menus.properties
@@ -0,0 +1,35 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE (devtoolsRemoteDebugging.label): This is the label for the menu item
+# in Tools > Web Developer. Clicking on this menu item will open about:debugging which
+# acts as a hub for debugging remote devices.
+devtoolsRemoteDebugging.label = การดีบั๊กระยะไกล
+devtoolsRemoteDebugging.accesskey = ก
+
+browserConsoleCmd.label = คอนโซลเบราว์เซอร์
+browserConsoleCmd.accesskey = ค
+
+responsiveDesignMode.label = โหมดการออกแบบเชิงตอบสนอง
+responsiveDesignMode.accesskey = ห
+
+eyedropper.label = หลอดดูดสี
+eyedropper.accesskey = ล
+
+# LOCALIZATION NOTE (browserToolboxMenu.label): This is the label for the
+# application menu item that opens the browser toolbox UI in the Tools menu.
+browserToolboxMenu.label = กล่องเครื่องมือเบราว์เซอร์
+browserToolboxMenu.accesskey = อ
+
+# LOCALIZATION NOTE (browserContentToolboxMenu.label): This is the label for the
+# application menu item that opens the browser content toolbox UI in the Tools menu.
+# This toolbox allows to debug the chrome of the content process in multiprocess builds.
+browserContentToolboxMenu.label = กล่องเครื่องมือเนื้อหาเบราว์เซอร์
+browserContentToolboxMenu.accesskey = ง
+
+devToolboxMenuItem.label = เปิด/ปิดเครื่องมือ
+devToolboxMenuItem.accesskey = ป
+
+getMoreDevtoolsCmd.label = รับเครื่องมือเพิ่มเติม
+getMoreDevtoolsCmd.accesskey = ร
diff --git a/l10n-th/devtools/client/netmonitor.properties b/l10n-th/devtools/client/netmonitor.properties
new file mode 100644
index 0000000000..985d354059
--- /dev/null
+++ b/l10n-th/devtools/client/netmonitor.properties
@@ -0,0 +1,1539 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE These strings are used inside the Network Monitor
+# which is available from the Web Developer sub-menu -> 'Network Monitor'.
+# The correct localization of this file might be to keep it in
+# English, or another language commonly spoken among web developers.
+# You want to make that choice consistent across the developer tools.
+# A good criteria is the language in which you'd find the best
+# documentation on web development on the web.
+
+# LOCALIZATION NOTE (netmonitor.security.state.secure)
+# This string is used as an tooltip for request that was performed over secure
+# channel i.e. the connection was encrypted.
+netmonitor.security.state.secure=การเชื่อมต่อที่ใช้ดึงทรัพยากรนี้ปลอดภัย
+
+# LOCALIZATION NOTE (netmonitor.security.state.insecure)
+# This string is used as an tooltip for request that was performed over insecure
+# channel i.e. the connection was not https
+netmonitor.security.state.insecure=การเชื่อมต่อที่ใช้ดึงทรัพยากรนี้ไม่ปลอดภัย
+
+# LOCALIZATION NOTE (netmonitor.security.state.broken)
+# This string is used as an tooltip for request that failed due to security
+# issues.
+netmonitor.security.state.broken=ข้อผิดพลาดความปลอดภัยป้องกันไม่ให้ทรัพยากรถูกโหลด
+
+# LOCALIZATION NOTE (netmonitor.security.state.weak)
+# This string is used as an tooltip for request that had minor security issues
+netmonitor.security.state.weak=ทรัพยากรนี้ถูกถ่ายโอนผ่านการเชื่อมต่อที่ใช้การเข้ารหัสที่อ่อนแอ
+
+# LOCALIZATION NOTE (netmonitor.security.enabled):
+# This string is used to indicate that a specific security feature is used by
+# a connection in the security details tab.
+# For example: "HTTP Strict Transport Security: Enabled"
+netmonitor.security.enabled=เปิดใช้งานอยู่
+
+# LOCALIZATION NOTE (netmonitor.security.disabled):
+# This string is used to indicate that a specific security feature is not used by
+# a connection in the security details tab.
+# For example: "HTTP Strict Transport Security: Disabled"
+netmonitor.security.disabled=ปิดใช้งานอยู่
+
+# LOCALIZATION NOTE (netmonitor.security.hostHeader):
+# This string is used as a header for section containing security information
+# related to the remote host. %S is replaced with the domain name of the remote
+# host. For example: Host example.com
+netmonitor.security.hostHeader=โฮสต์ %S:
+
+# LOCALIZATION NOTE (netmonitor.security.notAvailable):
+# This string is used to indicate that a certain piece of information is not
+# available to be displayed. For example a certificate that has no organization
+# defined:
+# Organization: <Not Available>
+netmonitor.security.notAvailable=<ไม่พร้อมใช้งาน>
+
+# LOCALIZATION NOTE (collapseDetailsPane): This is the tooltip for the button
+# that collapses the network details pane in the UI.
+collapseDetailsPane=ซ่อนรายละเอียดคำขอ
+
+# LOCALIZATION NOTE (collapseActionPane): This is the tooltip for the button
+# that collapses the network action pane in the UI.
+collapseActionPane=ซ่อนการกระทำของเครือข่าย
+
+# LOCALIZATION NOTE (allTabsMenuButton.tooltip): The tooltip that gets
+# displayed when hovering over the tabs overflow button.
+allTabsMenuButton.tooltip=แสดงแท็บทั้งหมด
+
+# LOCALIZATION NOTE (headersEmptyText): This is the text displayed in the
+# headers tab of the network details pane when there are no headers available.
+headersEmptyText=ไม่มีส่วนหัวสำหรับคำขอนี้
+
+# LOCALIZATION NOTE (headersFilterText): This is the text displayed in the
+# headers tab of the network details pane for the filtering input.
+headersFilterText=กรองส่วนหัว
+
+# LOCALIZATION NOTE (messagesEmptyText): This is the text displayed in the
+# WebSockets tab of the network details pane when there are no frames available.
+messagesEmptyText=ไม่มีข้อความสำหรับคำขอนี้
+
+# LOCALIZATION NOTE (cookiesEmptyText): This is the text displayed in the
+# cookies tab of the network details pane when there are no cookies available.
+cookiesEmptyText=ไม่มีคุกกี้สำหรับคำขอนี้
+
+# LOCALIZATION NOTE (cookiesFilterText): This is the text displayed in the
+# cookies tab of the network details pane for the filtering input.
+cookiesFilterText=กรองคุกกี้
+
+# LOCALIZATION NOTE (responseEmptyText): This is the text displayed in the
+# response tab of the network details pane when the response is empty or not
+# available for shown.
+responseEmptyText=ไม่มีข้อมูลการตอบกลับที่ใช้ได้สำหรับคำขอนี้
+
+# LOCALIZATION NOTE (paramsEmptyText): This is the text displayed in the
+# request tab of the network details pane when there are no params available.
+paramsEmptyText=ไม่มีพารามิเตอร์สำหรับคำขอนี้
+
+# LOCALIZATION NOTE (paramsFilterText): This is the text displayed in the
+# request tab of the network details pane for the filtering input.
+paramsFilterText=กรองพารามิเตอร์ของคำขอ
+
+# LOCALIZATION NOTE (paramsQueryString): This is the label displayed
+# in the network details request tab identifying the query string.
+paramsQueryString=สตริงการสืบค้น
+
+# LOCALIZATION NOTE (paramsFormData): This is the label displayed
+# in the network details request tab identifying the form data.
+paramsFormData=ข้อมูลแบบฟอร์ม
+
+# LOCALIZATION NOTE (paramsPostPayload): This is the label displayed
+# in the network details request tab identifying the request payload.
+paramsPostPayload=ส่วนข้อมูลคำขอ
+
+# LOCALIZATION NOTE (requestHeaders): This is the label displayed
+# in the network details headers tab identifying the request headers.
+requestHeaders=ส่วนหัวคำขอ
+
+# LOCALIZATION NOTE (requestHeadersFromUpload): This is the label displayed
+# in the network details headers tab identifying the request headers from
+# the upload stream of a POST request's body.
+requestHeadersFromUpload=ขอส่วนหัวจากสตรีมการอัปโหลด
+
+# LOCALIZATION NOTE (responseHeaders): This is the label displayed
+# in the network details headers tab identifying the response headers.
+responseHeaders=ส่วนหัวการตอบสนอง
+
+# LOCALIZATION NOTE (requestCookies): This is the label displayed
+# in the network details request tab identifying the request cookies.
+requestCookies=คุกกี้คำขอ
+
+# LOCALIZATION NOTE (responseCookies): This is the label displayed
+# in the network details request tab identifying the response cookies.
+responseCookies=คุกกี้การตอบสนอง
+
+# LOCALIZATION NOTE (responsePayload): This is the label displayed
+# in the network details response tab identifying the response payload.
+responsePayload=ส่วนข้อมูลการตอบสนอง
+
+# LOCALIZATION NOTE (jsonFilterText): This is the text displayed
+# in the response tab of the network details pane for the JSON filtering input.
+jsonFilterText=กรองคุณสมบัติ
+
+# LOCALIZATION NOTE (jsonScopeName): This is the text displayed
+# in the response tab of the network details pane for a JSON scope.
+jsonScopeName=JSON
+
+# LOCALIZATION NOTE (jsonpScopeName): This is the text displayed
+# in the response tab of the network details pane for a JSONP scope.
+jsonpScopeName=JSONP → callback %S()
+
+# LOCALIZATION NOTE (responseTruncated): This is the text displayed
+# in the response tab of the network details pane when the response is over
+# the truncation limit and thus was truncated.
+responseTruncated=การตอบกลับได้ถูกตัดทอนแล้ว
+
+# LOCALIZATION NOTE (requestTruncated): This is the text displayed
+# in the request tab of the network details pane when the request is over
+# the truncation limit and thus was truncated.
+requestTruncated=การตอบกลับได้ถูกตัดทอนแล้ว
+
+# LOCALIZATION NOTE (responsePreview): This is the text displayed
+# in the response tab of the network details pane for an HTML preview.
+responsePreview=ตัวอย่าง
+
+# LOCALIZATION NOTE (networkMenu.raced): This is the label displayed
+# in the network menu specifying the transfer or a request is
+# raced. %S refers to the current transfer size.
+networkMenu.raced=%S (ถูกแย่งชิง)
+
+# LOCALIZATION NOTE (networkMenu.sortedAsc): This is the tooltip displayed
+# in the network table toolbar, for any column that is sorted ascending.
+networkMenu.sortedAsc=เรียงจากน้อยไปมาก
+
+# LOCALIZATION NOTE (networkMenu.sortedDesc): This is the tooltip displayed
+# in the network table toolbar, for any column that is sorted descending.
+networkMenu.sortedDesc=เรียงจากมากไปน้อย
+
+# LOCALIZATION NOTE (networkMenu.summary.tooltip.perf): A tooltip explaining
+# what the perf button does
+networkMenu.summary.tooltip.perf=เริ่มการวิเคราะห์ประสิทธิภาพ
+
+# LOCALIZATION NOTE (networkMenu.summary.tooltip.domContentLoaded): A tooltip explaining
+# what the DOMContentLoaded label displays
+networkMenu.summary.tooltip.domContentLoaded=เวลาที่เกิดเหตุการณ์ “DOMContentLoad”
+
+# LOCALIZATION NOTE (networkMenu.summary.tooltip.load): A tooltip explaining
+# what the load label displays
+networkMenu.summary.tooltip.load=เวลาที่เกิดเหตุการณ์ “load”
+
+# LOCALIZATION NOTE (networkMenu.summary.requestsCount2): This label is displayed
+# in the network table footer providing the number of requests
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+networkMenu.summary.requestsCount2=#1 คำขอ
+
+# LOCALIZATION NOTE (networkMenu.summary.requestsCountEmpty): This label is displayed
+# in the network table footer when there are no requests
+networkMenu.summary.requestsCountEmpty=ไม่มีคำขอ
+
+# LOCALIZATION NOTE (networkMenu.summary.tooltip.requestsCount): A tooltip explaining
+# what the requestsCount label displays
+networkMenu.summary.tooltip.requestsCount=จำนวนคำขอ
+
+# LOCALIZATION NOTE (networkMenu.summary.transferred): This label is displayed
+# in the network table footer providing the transferred size.
+networkMenu.summary.transferred=ถ่ายโอนแล้ว %S / %S
+
+# LOCALIZATION NOTE (networkMenu.summary.tooltip.transferred): A tooltip explaining
+# what the transferred label displays
+networkMenu.summary.tooltip.transferred=ขนาด/ขนาดเมื่อถ่ายโอนของคำขอทั้งหมด
+
+# LOCALIZATION NOTE (networkMenu.summary.finish): This label is displayed
+# in the network table footer providing the transfer time.
+networkMenu.summary.finish=เสร็จสิ้น: %S
+
+# LOCALIZATION NOTE (networkMenu.summary.tooltip.finish): A tooltip explaining
+# what the finish label displays
+networkMenu.summary.tooltip.finish=เวลาทั้งหมดที่ต้องใช้ในการโหลดคำขอทั้งหมด
+
+# LOCALIZATION NOTE (networkMenu.ws.summary.framesCount2): This label is displayed
+# in the messages table footer providing the number of frames
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+networkMenu.ws.summary.framesCount2=#1 ข้อความ
+
+# LOCALIZATION NOTE (networkMenu.ws.summary.framesCountEmpty): This label is displayed
+# in the messages table footer when there are no frames
+networkMenu.ws.summary.framesCountEmpty=ไม่มีข้อความ
+
+# LOCALIZATION NOTE (networkMenu.ws.summary.tooltip.framesCount): A tooltip explaining
+# what the framesCount label displays
+networkMenu.ws.summary.tooltip.framesCount=จำนวนข้อความ
+
+# LOCALIZATION NOTE (networkMenu.ws.summary.tooltip.framesTotalSize): A tooltip explaining
+# what the framesTotalSize label displays
+networkMenu.ws.summary.tooltip.framesTotalSize=ขนาดทั้งหมดของข้อความที่แสดง
+
+# LOCALIZATION NOTE (networkMenu.ws.summary.label.framesTranferredSize): A label showing
+# summary size info related to the current list of WS messages
+# %1$S is the total size of the transferred data, %2$S is the size of sent data, %3$S is the size of received data.
+networkMenu.ws.summary.label.framesTranferredSize=รวม %1$S, ส่งแล้ว %2$S, ได้รับแล้ว %3$S
+
+# LOCALIZATION NOTE (networkMenu.ws.summary.tooltip.framesTotalTime): A tooltip explaining
+# what framesTotalTime displays
+networkMenu.ws.summary.tooltip.framesTotalTime=เวลาที่ผ่านไปโดยรวมระหว่างข้อความที่แสดงครั้งแรกและครั้งสุดท้าย
+
+# LOCALIZATION NOTE (networkMenu.sizeB): This is the label displayed
+# in the network menu specifying the size of a request (in bytes).
+networkMenu.sizeB=%S B
+
+# LOCALIZATION NOTE (networkMenu.sizeKB): This is the label displayed
+# in the network menu specifying the size of a request (in kilobytes).
+networkMenu.sizeKB=%S KB
+
+# LOCALIZATION NOTE (networkMenu.sizeMB): This is the label displayed
+# in the network menu specifying the size of a request (in megabytes).
+networkMenu.sizeMB=%S MB
+
+# LOCALIZATION NOTE (networkMenu.sizeGB): This is the label displayed
+# in the network menu specifying the size of a request (in gigabytes).
+networkMenu.sizeGB=%S GB
+
+# LOCALIZATION NOTE (networkMenu.sizeUnavailable): This is the label displayed
+# in the network menu specifying the transferred size of a request is
+# unavailable.
+networkMenu.sizeUnavailable=—
+
+# LOCALIZATION NOTE (networkMenu.sizeUnavailable.title): This is the tooltip
+# displayed in the network menu specifying that the transferred size of a
+# request is unavailable.
+networkMenu.sizeUnavailable.title=ขนาดที่ถ่ายโอนไม่สามารถใช้ได้
+
+# LOCALIZATION NOTE (networkMenu.sizeCached): This is the label displayed
+# in the network menu and the headers panel specifying the transfer or a request is
+# cached.
+networkMenu.sizeCached=ถูกแคช
+
+# LOCALIZATION NOTE (networkMenu.sizeServiceWorker): This is the label displayed
+# in the network menu and the headers panel specifying the transferred of a request
+# computed by a service worker.
+networkMenu.sizeServiceWorker=ตัวทำงานบริการ
+
+# LOCALIZATION NOTE (networkMenu.blocked2): This is a generic message for a
+# URL that has been blocked for an unknown reason
+networkMenu.blocked2=ถูกปิดกั้น
+
+# LOCALIZATION NOTE (networkMenu.blockedby): This is a generic message for a
+# URL that has been blocked by an extension
+# %S is the extension name.
+networkMenu.blockedby=ปิดกั้นอยู่โดย %S
+
+# LOCALIZATION NOTE (networkMenu.blockedTooltip): This is a the text displayed
+# as a tooltip for the blocked icon in the request list
+networkMenu.blockedTooltip=ถูกปิดกั้น
+
+# LOCALIZATION NOTE (networkMenu.totalMS2): This is the label displayed
+# in the network menu specifying the time for a request to finish (in milliseconds).
+networkMenu.totalMS2=%S ms
+
+# This string is used to concatenate tooltips (netmonitor.waterfall.tooltip.*)
+# in the requests waterfall for total time (in milliseconds). \\u0020 represents
+# a whitespace. You can replace this with a different character, e.g. an hyphen
+# or a period, if a comma doesn't work for your language.
+netmonitor.waterfall.tooltip.separator=,\u0020
+
+# LOCALIZATION NOTE (netmonitor.waterfall.tooltip.total): This is part of the tooltip
+# displayed in the requests waterfall for total time (in milliseconds).
+netmonitor.waterfall.tooltip.total=รวม %S ms
+
+# LOCALIZATION NOTE (netmonitor.waterfall.tooltip.blocked): This is part of the tooltip
+# displayed in the requests waterfall for blocked time (in milliseconds).
+netmonitor.waterfall.tooltip.blocked=ถูกปิดกั้น %S ms
+
+# LOCALIZATION NOTE (netmonitor.waterfall.tooltip.dns): This is part of the tooltip
+# displayed in the requests waterfall for dns time (in milliseconds).
+netmonitor.waterfall.tooltip.dns=DNS %S ms
+
+# LOCALIZATION NOTE (netmonitor.waterfall.tooltip.ssl): This is part of the tooltip
+# displayed in the requests waterfall for tls setup time (in milliseconds).
+netmonitor.waterfall.tooltip.ssl=TLS %S ms
+
+# LOCALIZATION NOTE (netmonitor.waterfall.tooltip.connect): This is part of the tooltip
+# displayed in the requests waterfall for connect time (in milliseconds).
+netmonitor.waterfall.tooltip.connect=เชื่อมต่อ %S ms
+
+# LOCALIZATION NOTE (netmonitor.waterfall.tooltip.send): This is part of the tooltip
+# displayed in the requests waterfall for send time (in milliseconds).
+netmonitor.waterfall.tooltip.send=ส่ง %S ms
+
+# LOCALIZATION NOTE (netmonitor.waterfall.tooltip.wait): This is part of the tooltip
+# displayed in the requests waterfall for wait time (in milliseconds).
+netmonitor.waterfall.tooltip.wait=รอ %S ms
+
+# LOCALIZATION NOTE (netmonitor.waterfall.tooltip.receive): This is part of the tooltip
+# displayed in the requests waterfall for receive time (in milliseiconds).
+netmonitor.waterfall.tooltip.receive=รับ %S ms
+
+# LOCALIZATION NOTE (netmonitor.timings.requestTiming): This is the title of the existing
+# section in Timings side panel. This section contains request timings.
+netmonitor.timings.requestTiming=การจับเวลาคำขอ
+
+# LOCALIZATION NOTE (netmonitor.timings.serverTiming): This is the title of a new section
+# in Timings side panel. This section contains server timings transferred from the server
+# through the "Server-Timing" header.
+netmonitor.timings.serverTiming=การจับเวลาเซิร์ฟเวอร์
+
+# LOCALIZATION NOTE (netmonitor.timings.queuedAt): This is relative queued time to the
+# first request. %S is time expressed in milliseconds or minutes.
+netmonitor.timings.queuedAt=เข้าคิวแล้ว: %S
+
+# LOCALIZATION NOTE (netmonitor.timings.startedAt): Relative to the first request,
+# when the request actually started. %S is time expressed in milliseconds or minutes.
+netmonitor.timings.startedAt=เริ่มแล้ว: %S
+
+# LOCALIZATION NOTE (netmonitor.timings.downloadedAt): Relative to first request,
+# when the request actually finished downloading.
+# %S is time expressed in milliseconds or minutes.
+netmonitor.timings.downloadedAt=ดาวน์โหลดแล้ว: %S
+
+# LOCALIZATION NOTE (netmonitor.timings.noTimings): Message that displays in the
+# timings pane when thea request has been blocked
+netmonitor.timings.noTimings=ไม่มีการจับเวลาสำหรับคำร้องขอนี้
+
+# LOCALIZATION NOTE (networkMenu.millisecond): This is the label displayed
+# in the network menu specifying timing interval divisions (in milliseconds).
+networkMenu.millisecond=%S ms
+
+# LOCALIZATION NOTE (networkMenu.second): This is the label displayed
+# in the network menu specifying timing interval divisions (in seconds).
+networkMenu.second=%S s
+
+# LOCALIZATION NOTE (networkMenu.minute): This is the label displayed
+# in the network menu specifying timing interval divisions (in minutes).
+networkMenu.minute=%S min
+
+# LOCALIZATION NOTE (pieChart.loading): This is the label displayed
+# for pie charts (e.g., in the performance analysis view) when there is
+# no data available yet.
+pieChart.loading=กำลังโหลด
+
+# LOCALIZATION NOTE (pieChart.unavailable): This is the label displayed
+# for pie charts (e.g., in the performance analysis view) when there is
+# no data available, even after loading it.
+pieChart.unavailable=ว่างเปล่า
+
+# LOCALIZATION NOTE (tableChart.loading): This is the label displayed
+# for table charts (e.g., in the performance analysis view) when there is
+# no data available yet.
+tableChart.loading=โปรดรอ…
+
+# LOCALIZATION NOTE (tableChart.unavailable): This is the label displayed
+# for table charts (e.g., in the performance analysis view) when there is
+# no data available, even after loading it.
+tableChart.unavailable=ไม่มีข้อมูล
+
+# LOCALIZATION NOTE (charts.sizeKB): This is the label displayed
+# in pie or table charts specifying the size of a request (in kilobytes).
+charts.sizeKB=%S KB
+
+# LOCALIZATION NOTE (charts.transferredSizeKB): This is the label displayed
+# in pie or table charts specifying the size of a transferred request (in kilobytes).
+charts.transferredSizeKB=%S KB
+
+# LOCALIZATION NOTE (charts.totalS): This is the label displayed
+# in pie or table charts specifying the time for a request to finish (in seconds).
+charts.totalS=%S s
+
+# LOCALIZATION NOTE (charts.totalTransferredSize): This is the label displayed
+# in the performance analysis view for total transferred size, in kilobytes.
+charts.totalTransferredSize=ขนาดที่ถ่ายโอน: %S KB
+
+# LOCALIZATION NOTE (charts.cacheEnabled): This is the label displayed
+# in the performance analysis view for "cache enabled" charts.
+charts.cacheEnabled=แคชขั้นต้น
+
+# LOCALIZATION NOTE (charts.cacheDisabled): This is the label displayed
+# in the performance analysis view for "cache disabled" charts.
+charts.cacheDisabled=แคชที่ว่างเปล่า
+
+# LOCALIZATION NOTE (charts.learnMore): This is the label displayed
+# in the performance analysis view, with a link to external documentation.
+charts.learnMore=เรียนรู้เพิ่มเติมเกี่ยวกับการวิเคราะห์ประสิทธิภาพ
+
+# LOCALIZATION NOTE (charts.totalSize): This is the label displayed
+# in the performance analysis view for total requests size, in kilobytes.
+charts.totalSize=ขนาด: %S KB
+
+# LOCALIZATION NOTE (charts.totalSeconds): Semi-colon list of plural forms.
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# This is the label displayed in the performance analysis view for the
+# total requests time, in seconds.
+charts.totalSeconds=เวลา: #1 วินาที
+
+# LOCALIZATION NOTE (charts.totalSecondsNonBlocking): Semi-colon list of plural forms.
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# This is the label displayed in the performance analysis view for the
+# total requests time (non-blocking), in seconds.
+charts.totalSecondsNonBlocking=เวลาที่ไม่ใช่การปิดกั้น: #1 วินาที
+
+# LOCALIZATION NOTE (charts.totalCached): This is the label displayed
+# in the performance analysis view for total cached responses.
+charts.totalCached=การตอบสนองที่แคชไว้: %S
+
+# LOCALIZATION NOTE (charts.totalCount): This is the label displayed
+# in the performance analysis view for total requests.
+charts.totalCount=คำขอรวม: %S
+
+# LOCALIZATION NOTE (charts.size): This is the label displayed
+# in the header column in the performance analysis view for size of the request.
+charts.size=ขนาด
+
+# LOCALIZATION NOTE (charts.type): This is the label displayed
+# in the header column in the performance analysis view for type of request.
+charts.type=ชนิด
+
+# LOCALIZATION NOTE (charts.transferred): This is the label displayed
+# in the header column in the performance analysis view for transferred
+# size of the request.
+charts.transferred=ถ่ายโอนแล้ว
+
+# LOCALIZATION NOTE (charts.time): This is the label displayed
+# in the header column in the performance analysis view for time of request.
+charts.time=เวลา
+
+# LOCALIZATION NOTE (charts.nonBlockingTime): This is the label displayed
+# in the header column in the performance analysis view for non blocking
+# time of request.
+charts.nonBlockingTime=เวลาที่ไม่ใช่การปิดกั้น
+
+# LOCALIZATION NOTE (netRequest.originalFileURL.tooltip): This is the tooltip
+# displayed for the file's original URL value displayed in the file column of
+# a request.
+netRequest.originalFileURL.tooltip=ต้นฉบับ: %S
+
+# LOCALIZATION NOTE (netRequest.decodedFileURL.tooltip): This is the tooltip
+# displayed for the file's decoded URL value displayed in the file column of
+# a request.
+netRequest.decodedFileURL.tooltip=ถอดรหัส: %S
+
+# LOCALIZATION NOTE (certmgr.subjectinfo.label):
+# A label used for a certificate section in security tab.
+# This section displays Name and organization who has been assigned the fingerprints
+certmgr.subjectinfo.label=ออกให้
+
+# LOCALIZATION NOTE (certmgr.certdetail.cn):
+# A label used for Issued To and Issued By sub-section in security tab
+certmgr.certdetail.cn=ชื่อสามัญ (CN):
+
+# LOCALIZATION NOTE (certmgr.certdetail.o):
+# A label used for Issued To and Issued By sub-section in security tab
+certmgr.certdetail.o=องค์กร (O):
+
+# LOCALIZATION NOTE (certmgr.certdetail.ou):
+# A label used for Issued To and Issued By sub-section in security tab
+certmgr.certdetail.ou=หน่วยงาน (OU):
+
+# LOCALIZATION NOTE (certmgr.issuerinfo.label):
+# A label used for a certificate section in security tab
+# This section displays Name and organization who issued the fingerprints
+certmgr.issuerinfo.label=ออกโดย
+
+# LOCALIZATION NOTE (certmgr.periodofvalidity.label):
+# A label used for a certificate section in security tab
+# This section displays the valid period of this fingerprints
+certmgr.periodofvalidity.label=ระยะเวลาที่มีผล
+
+# LOCALIZATION NOTE (certmgr.begins):
+# A label used for Period of Validity sub-section in security tab
+certmgr.begins=เริ่มเมื่อ:
+
+# LOCALIZATION NOTE (certmgr.expires):
+# A label used for Period of Validity sub-section in security tab
+certmgr.expires=หมดอายุเมื่อ:
+
+# LOCALIZATION NOTE (certmgr.fingerprints.label):
+# A label used for a certificate section in security tab
+# This section displays the valid period of this fingerprints
+certmgr.fingerprints.label=ลายนิ้วมือ
+
+# LOCALIZATION NOTE (certmgr.certdetail.sha256fingerprint):
+# A label used for Fingerprints sub-section in security tab
+certmgr.certdetail.sha256fingerprint=ลายนิ้วมือ SHA-256:
+
+# LOCALIZATION NOTE (certmgr.certdetail.sha1fingerprint):
+# A label used for Fingerprints sub-section in security tab
+certmgr.certdetail.sha1fingerprint=ลายนิ้วมือ SHA1:
+
+# LOCALIZATION NOTE (certmgr.certificateTransparency.label):
+# This string is used as a label in the security tab.
+certmgr.certificateTransparency.label=ความโปร่งใส:
+
+# LOCALIZATION NOTE (certmgr.certificateTransparency.status.ok):
+# This string is used to indicate that there are valid signed certificate
+# timestamps. This is a property for the 'Transparency'
+# field in the security tab.
+certmgr.certificateTransparency.status.ok=การบันทึก SCT ที่ถูกต้อง
+
+# LOCALIZATION NOTE (certmgr.certificateTransparency.status.notEnoughSCTS):
+# This string is used to indicate that there are not enough valid signed
+# certificate timestamps. This is a property for the 'Transparency'
+# field in the security tab.
+certmgr.certificateTransparency.status.notEnoughSCTS=SCT ไม่เพียงพอ
+
+# LOCALIZATION NOTE (certmgr.certificateTransparency.status.notDiverseSCTS):
+# This string is used to indicate that there ar not enough diverse signed
+# certificate timestamps. This is a property for the 'Transparency'
+# field in the security tab.
+certmgr.certificateTransparency.status.notDiverseSCTS=SCT ไม่หลากหลาย
+
+# LOCALIZATION NOTE (netmonitor.perfNotice1/2/3): These are the labels displayed
+# in the network table when empty to start performance analysis.
+netmonitor.perfNotice1=• คลิกที่ปุ่ม
+netmonitor.perfNotice2=เพื่อเริ่มการวิเคราะห์ประสิทธิภาพ
+netmonitor.perfNotice3=วิเคราะห์
+
+# LOCALIZATION NOTE (netmonitor.reload1/2/3): These are the labels displayed
+# in the network table when empty to start logging network requests.
+netmonitor.reloadNotice1=• ดำเนินการส่งคำขอหรือ
+netmonitor.reloadNotice2=โหลดใหม่
+netmonitor.reloadNotice3=หน้าเพื่อดูข้อมูลโดยละเอียดเกี่ยวกับกิจกรรมเครือข่าย
+
+# LOCALIZATION NOTE (netmonitor.toolbar.status3): This is the label displayed
+# in the network table toolbar, above the "status" column.
+netmonitor.toolbar.status3=สถานะ
+
+# LOCALIZATION NOTE (netmonitor.toolbar.method): This is the label displayed
+# in the network table toolbar, above the "method" column.
+netmonitor.toolbar.method=วิธีการ
+
+# LOCALIZATION NOTE (netmonitor.toolbar.file): This is the label displayed
+# in the network table toolbar, above the "file" column.
+netmonitor.toolbar.file=ไฟล์
+
+# LOCALIZATION NOTE (netmonitor.toolbar.url): This is the label displayed
+# in the network table toolbar, above the "url" column.
+netmonitor.toolbar.url=URL
+
+# LOCALIZATION NOTE (netmonitor.toolbar.protocol): This is the label displayed
+# in the network table toolbar, above the "protocol" column.
+netmonitor.toolbar.protocol=โปรโตคอล
+
+# LOCALIZATION NOTE (netmonitor.toolbar.domain): This is the label displayed
+# in the network table toolbar, above the "domain" column.
+netmonitor.toolbar.domain=โดเมน
+
+# LOCALIZATION NOTE (netmonitor.toolbar.remoteip): This is the label displayed
+# in the network table toolbar, above the "remoteip" column.
+netmonitor.toolbar.remoteip=IP ระยะไกล
+
+# LOCALIZATION NOTE (netmonitor.toolbar.initiator): This is the label displayed
+# in the network table toolbar, above the "initiator" column.
+netmonitor.toolbar.initiator=ตัวเริ่มต้น
+
+# LOCALIZATION NOTE (netmonitor.toolbar.type): This is the label displayed
+# in the network table toolbar, above the "type" column.
+netmonitor.toolbar.type=ชนิด
+
+# LOCALIZATION NOTE (netmonitor.toolbar.cookies): This is the label displayed
+# in the network table toolbar, above the "cookies" column.
+netmonitor.toolbar.cookies=คุกกี้
+
+# LOCALIZATION NOTE (netmonitor.toolbar.setCookies): This is the label displayed
+# in the network table toolbar, above the "set cookies" column.
+# Set-Cookie is a HTTP response header. This string is the plural form of it.
+# See https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Set-Cookie
+netmonitor.toolbar.setCookies=Set-Cookies
+
+# LOCALIZATION NOTE (netmonitor.toolbar.scheme): This is the label displayed
+# in the network table toolbar, above the "scheme" column.
+netmonitor.toolbar.scheme=แบบแผน
+
+# LOCALIZATION NOTE (netmonitor.toolbar.startTime): This is the label displayed
+# in the network table toolbar, above the "start time" column, which is the time
+# from start of 1st request until the start of this request.
+netmonitor.toolbar.startTime=เวลาเริ่ม
+
+# LOCALIZATION NOTE (netmonitor.toolbar.endTime): This is the label displayed
+# in the network table toolbar, above the "end time" column, which is the time
+# from start of 1st request until the end of this response.
+netmonitor.toolbar.endTime=เวลาสิ้นสุด
+
+# LOCALIZATION NOTE (netmonitor.toolbar.responseTime): This is the label displayed
+# in the network table toolbar, above the "response time" column, which is the time
+# from start of 1st request until the beginning of download of this response.
+netmonitor.toolbar.responseTime=เวลาตอบสนอง
+
+# LOCALIZATION NOTE (netmonitor.toolbar.duration): This is the label displayed
+# in the network table toolbar, above the "duration" column, which is the time
+# from start of this request until the end of this response.
+netmonitor.toolbar.duration=ระยะเวลา
+
+# LOCALIZATION NOTE (netmonitor.toolbar.latency): This is the label displayed
+# in the network table toolbar, above the "latency" column, which is the time
+# from end of this request until the beginning of download of this response.
+netmonitor.toolbar.latency=เวลาแฝง
+
+# LOCALIZATION NOTE (netmonitor.toolbar.transferred): This is the label displayed
+# in the network table toolbar, above the "transferred" column and in general
+# section of the headers panel, which is the compressed / encoded size.
+netmonitor.toolbar.transferred=ถ่ายโอนแล้ว
+
+# LOCALIZATION NOTE (netmonitor.toolbar.contentSize): This is the label displayed
+# in the network table toolbar, above the "size" column, which is the
+# uncompressed / decoded size.
+netmonitor.toolbar.contentSize=ขนาด
+
+# LOCALIZATION NOTE (netmonitor.toolbar.waterfall): This is the label displayed
+# in the network table toolbar, above the "waterfall" column.
+netmonitor.toolbar.waterfall=เส้นเวลา
+
+# LOCALIZATION NOTE (netmonitor.ws.toolbar.size): This is the label displayed
+# in the messages table header, above the "size" column.
+netmonitor.ws.toolbar.size=ขนาด
+
+# LOCALIZATION NOTE (netmonitor.ws.toolbar.data): This is the label displayed
+# in the messages table header, above the "data" column.
+netmonitor.ws.toolbar.data=ข้อมูล
+
+# LOCALIZATION NOTE (netmonitor.ws.toolbar.opCode): This is the label displayed
+# in the messages table header, above the "opCode" column.
+netmonitor.ws.toolbar.opCode=OpCode
+
+# LOCALIZATION NOTE (netmonitor.ws.toolbar.maskBit): This is the label displayed
+# in the messages table header, above the "maskBit" column.
+netmonitor.ws.toolbar.maskBit=MaskBit
+
+# LOCALIZATION NOTE (netmonitor.ws.toolbar.finBit): This is the label displayed
+# in the messages table header, above the "finBit" column.
+netmonitor.ws.toolbar.finBit=FinBit
+
+# LOCALIZATION NOTE (netmonitor.ws.toolbar.time): This is the label displayed
+# in the messages table header, above the "time" column.
+netmonitor.ws.toolbar.time=เวลา
+
+# LOCALIZATION NOTE (netmonitor.ws.toolbar.eventName): This is the label displayed
+# in the messages table header, above the "eventName" column.
+netmonitor.ws.toolbar.eventName=ชื่อเหตุการณ์
+
+# LOCALIZATION NOTE (netmonitor.ws.toolbar.retry): This is the label displayed
+# in the messages table header, above the "retry" column.
+netmonitor.ws.toolbar.retry=ลองใหม่
+
+# LOCALIZATION NOTE (netmonitor.ws.toolbar.lastEventId): This is the label displayed
+# in the messages table header, above the "lastEventId" column.
+netmonitor.ws.toolbar.lastEventId=ID เหตุการณ์ล่าสุด
+
+# LOCALIZATION NOTE (netmonitor.ws.toolbar.clear): This is the label displayed
+# in the messages panel toolbar for the "Clear" button.
+netmonitor.ws.toolbar.clear=ล้าง
+
+# LOCALIZATION NOTE (netmonitor.ws.toolbar.filterFreetext.label): This is the label
+# displayed in the messages panel toolbar for the frames filtering textbox.
+netmonitor.ws.toolbar.filterFreetext.label=กรองข้อความ
+
+# LOCALIZATION NOTE (netmonitor.ws.toolbar.filterFreetext.key): This is the
+# shortcut key to focus on the messages panel toolbar messages filtering textbox
+netmonitor.ws.toolbar.filterFreetext.key=CmdOrCtrl+E
+
+# LOCALIZATION NOTE (netmonitor.ws.toolbar.resetColumns): This is the label
+# displayed in the messages panel table header context menu.
+netmonitor.ws.toolbar.resetColumns=กลับค่าเดิมของคอลัมน์
+
+# LOCALIZATION NOTE (netmonitor.ws.context.all): This is the label displayed
+# on the context menu that shows "All" WebSocket frames.
+netmonitor.ws.context.all=ทั้งหมด
+
+# LOCALIZATION NOTE (netmonitor.ws.context.all.accesskey): This is the access key
+# for the "All" menu item displayed in the context menu in the websocket toolbar.
+netmonitor.ws.context.all.accesskey=ท
+
+# LOCALIZATION NOTE (netmonitor.ws.context.sent): This is the label displayed
+# on the context menu that shows "Sent" WebSocket frames.
+netmonitor.ws.context.sent=ส่ง
+
+# LOCALIZATION NOTE (netmonitor.ws.context.sent.accesskey): This is the access key
+# for the "Sent" menu item displayed in the context menu in the websocket toolbar.
+netmonitor.ws.context.sent.accesskey=ส
+
+# LOCALIZATION NOTE (netmonitor.ws.context.received): This is the label displayed
+# on the context menu that shows "Received" WebSocket frames.
+netmonitor.ws.context.received=รับ
+
+# LOCALIZATION NOTE (netmonitor.ws.context.received.accesskey): This is the access key
+# for the "Received" menu item displayed in the context menu in the websocket toolbar.
+netmonitor.ws.context.received.accesskey=ร
+
+# LOCALIZATION NOTE (netmonitor.ws.context.controlFrames): This is the label displayed
+# on the context menu that shows "Control Frames" WebSocket frames.
+netmonitor.ws.context.controlFrames=การควบคุม
+
+# LOCALIZATION NOTE (netmonitor.ws.context.controlFrames.accesskey): This is the access key
+# for the "Control Frames" menu item displayed in the context menu in the websocket toolbar.
+netmonitor.ws.context.controlFrames.accesskey=ค
+
+# LOCALIZATION NOTE (netmonitor.ws.context.copyFrame): This is the label displayed
+# on the context menu that shows "Copy Message".
+netmonitor.ws.context.copyFrame=คัดลอกข้อความ
+
+# LOCALIZATION NOTE (netmonitor.ws.context.copyFrame.accesskey): This is the access key
+# for the "Copy Message" menu item displayed in the context menu of a WebSocket frame.
+netmonitor.ws.context.copyFrame.accesskey=ค
+
+# LOCALIZATION NOTE (netmonitor.ws.connection.closed): This is the text displayed in the
+# websocket messages panel when the connection is closed
+netmonitor.ws.connection.closed=ปิดการเชื่อมต่อ
+
+# LOCALIZATION NOTE (netmonitor.ws.type.sent): This is the label used as
+# accessible text for the "sent" type icon in the websocket table's "data" column.
+netmonitor.ws.type.sent=ส่ง
+
+# LOCALIZATION NOTE (netmonitor.ws.type.received): This is the label used as
+# accessible text for the "received" type icon in the websocket table's "data" column.
+netmonitor.ws.type.received=รับ
+
+# LOCALIZATION NOTE (netmonitor.ws.rawData.header): This is the label displayed
+# in the messages panel identifying the raw data.
+netmonitor.ws.rawData.header=ข้อมูลดิบ (%S)
+
+# LOCALIZATION NOTE (netmonitor.search.toolbar.inputPlaceholder): This is the label
+# displayed in the search toolbar for the search input as the placeholder.
+netmonitor.search.toolbar.inputPlaceholder=ค้นหาในทรัพยากร…
+
+# LOCALIZATION NOTE (netmonitor.search.toolbar.close): This is the label
+# displayed in the search toolbar to close the search panel.
+netmonitor.search.toolbar.close=ปิดแผงการค้นหา
+
+# LOCALIZATION NOTE (netmonitor.search.toolbar.clear): This is the label
+# displayed in the search toolbar to clear the search panel.
+netmonitor.search.toolbar.clear=ล้างผลลัพธ์การค้นหา
+
+# LOCALIZATION NOTE (netmonitor.search.toolbar.caseSensitive): This is the label
+# displayed in the search toolbar to do a case sensitive search.
+netmonitor.search.toolbar.caseSensitive=ตัวพิมพ์ใหญ่เล็กตรงกัน
+
+# LOCALIZATION NOTE (netmonitor.search.status.labels.fetching): This is the label
+# displayed in the search results status bar when status is set to fetching.
+netmonitor.search.status.labels.fetching=กำลังค้นหา…
+
+# LOCALIZATION NOTE (netmonitor.search.status.labels.canceled): This is the label
+# displayed in the search results status bar when status is set to cancelled.
+netmonitor.search.status.labels.canceled=ยกเลิกการค้นหาแล้ว
+
+# LOCALIZATION NOTE (netmonitor.search.status.labels.done): This is the label
+# displayed in the search results status bar when status is set to done.
+# %1$S is the number of matching lines in search results (netmonitor.search.status.labels.matchingLines)
+# %2$S is the number of files in which matching lines were found (netmonitor.search.status.labels.fileCount)
+netmonitor.search.status.labels.done=สิ้นสุดการค้นหาแล้ว %1$S %2$S
+
+# LOCALIZATION NOTE (netmonitor.search.status.labels.matchingLines): Semi-colon list of plural forms.
+# This is the label displayed in the search results status bar showing matching lines found.
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# #1 is the number of matching lines found
+netmonitor.search.status.labels.matchingLines=พบ #1 บรรทัดที่ตรงกัน
+
+# LOCALIZATION NOTE (netmonitor.search.status.labels.fileCount): Semi-colon list of plural forms.
+# This is the label displayed in the search results status bar showing file count
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# #1 is the number of files in which matching lines were found
+netmonitor.search.status.labels.fileCount=ใน #1 ไฟล์
+
+# LOCALIZATION NOTE (netmonitor.search.status.labels.error): This is the label
+# displayed in the search results status bar when status is set to error.
+netmonitor.search.status.labels.error=มีข้อผิดพลาดในการค้นหา
+
+# LOCALIZATION NOTE (netmonitor.toolbar.requestBlocking): This is the tooltip displayed
+# over the toolbar's Request Blocking buttonn
+netmonitor.toolbar.requestBlocking=การปิดกั้นคำขอ
+
+# LOCALIZATION NOTE (netmonitor.actionbar.requestBlocking2): This is the label displayed
+# in the action bar's request blocking tab
+netmonitor.actionbar.requestBlocking2=การปิดกั้น
+
+# LOCALIZATION NOTE (netmonitor.actionbar.enableBlocking): This is the label displayed
+# in request blocking tab to represent if requests blocking should be enabled
+netmonitor.actionbar.enableBlocking=เปิดใช้งานการปิดกั้นคำขอ
+
+# LOCALIZATION NOTE (netmonitor.actionbar.blockSearchPlaceholder): This is the
+# placeholder text for the request addition form
+netmonitor.actionbar.blockSearchPlaceholder=ปิดกั้นทรัพยากรเมื่อ URL มี
+
+# LOCALIZATION NOTE (netmonitor.actionbar.removeBlockedUrl): This is the
+# tooltip shown over the remove button for blocked URL item
+netmonitor.actionbar.removeBlockedUrl=ลบรูปแบบ
+
+# LOCALIZATION NOTE (netmonitor.actionbar.requestBlockingUsageNotice): This is the
+# usage notice displayed when network blocking list is empty
+netmonitor.actionbar.requestBlockingUsageNotice=เพิ่มรูปแบบ URL ที่นี่เพื่อปิดกั้นคำขอที่ตรงกัน
+
+# LOCALIZATION NOTE (netmonitor.actionbar.requestBlockingAddNotice): This is the
+# add notice that explains ways to add blocking pattern that is displayed when
+# network blocking list is empty
+netmonitor.actionbar.requestBlockingAddNotice=เริ่มโดยเพิ่มรูปแบบหรือลากแถวจากตารางเครือข่าย
+
+# LOCALIZATION NOTE (netmonitor.requestBlockingMenu.removeAllBlockedUrls): This is the
+# context menu item for removing all blocked URLs
+netmonitor.requestBlockingMenu.removeAllBlockedUrls=เอาออกทั้งหมด
+
+# LOCALIZATION NOTE (netmonitor.requestBlockingMenu.enableAllBlockedUrls): This is the
+# context menu item for enabling all blocked URLs
+netmonitor.requestBlockingMenu.enableAllBlockedUrls=เปิดใช้งานทั้งหมด
+
+# LOCALIZATION NOTE (netmonitor.requestBlockingMenu.disableAllBlockedUrls): This is the
+# context menu item for disabling all blocked URLs
+netmonitor.requestBlockingMenu.disableAllBlockedUrls=ปิดใช้งานทั้งหมด
+
+# LOCALIZATION NOTE (netmonitor.actionbar.search): This is the label displayed
+# in the action bar's search tab
+netmonitor.actionbar.search=ค้นหา
+
+# LOCALIZATION NOTE (messagesTruncated): This is the text displayed
+# in the messages panel when the number of messages is over the
+# truncation limit.
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+netmonitor.ws.truncated-messages.warning=#1 ข้อความได้ถูกตัดทอนเพื่อประหยัดหน่วยความจำ
+
+# LOCALIZATION NOTE (disableMessagesTruncation): This is the text displayed
+# in the messages panel checkbox label for toggling message truncation.
+toggleMessagesTruncation=เก็บข้อความในอนาคตทั้งหมด
+
+# LOCALIZATION NOTE (toggleMessagesTruncation.title): This is the title used
+# to describe the checkbox used to toggle message truncation.
+toggleMessagesTruncation.title=เก็บข้อความในอนาคตทั้งหมดหรือแสดงข้อความที่ถูกตัดทอนต่อไป
+
+# LOCALIZATION NOTE (messageDataTruncated): This is the text displayed
+# to describe to describe data truncation in the messages panel.
+messageDataTruncated=ข้อมูลได้ถูกตัดทอนแล้ว
+
+# LOCALIZATION NOTE (netmonitor.tab.headers): This is the label displayed
+# in the network details pane identifying the headers tab.
+netmonitor.tab.headers=ส่วนหัว
+
+# LOCALIZATION NOTE (netmonitor.tab.messages): This is the label displayed
+# in the network details pane identifying the messages tab.
+netmonitor.tab.messages=ข้อความ
+
+# LOCALIZATION NOTE (netmonitor.tab.cookies): This is the label displayed
+# in the network details pane identifying the cookies tab.
+netmonitor.tab.cookies=คุกกี้
+
+# LOCALIZATION NOTE (netmonitor.tab.cache): This is the label displayed
+# in the network details pane identifying the cache tab.
+netmonitor.tab.cache=แคช
+
+# LOCALIZATION NOTE (netmonitor.tab.params): This is the label displayed
+# in the network details pane identifying the params tab.
+netmonitor.tab.params=พารามิเตอร์
+
+# LOCALIZATION NOTE (netmonitor.tab.request): This is the label displayed
+# in the network details pane identifying the request tab.
+netmonitor.tab.request=คำขอ
+
+# LOCALIZATION NOTE (netmonitor.tab.response): This is the label displayed
+# in the network details pane identifying the response tab.
+netmonitor.tab.response=การตอบสนอง
+
+# LOCALIZATION NOTE (netmonitor.tab.timings): This is the label displayed
+# in the network details pane identifying the timings tab.
+netmonitor.tab.timings=การจับเวลา
+
+# LOCALIZATION NOTE (netmonitor.tab.stackTrace): This is the label displayed
+# in the network details pane identifying the stack-trace tab.
+netmonitor.tab.stackTrace=การติดตามสแตก
+
+# LOCALIZATION NOTE (netmonitor.tab.security): This is the label displayed
+# in the network details pane identifying the security tab.
+netmonitor.tab.security=ความปลอดภัย
+
+# LOCALIZATION NOTE (netmonitor.toolbar.filter.all): This is the label displayed
+# in the network toolbar for the "All" filtering button.
+netmonitor.toolbar.filter.all=ทั้งหมด
+
+# LOCALIZATION NOTE (netmonitor.toolbar.filter.html): This is the label displayed
+# in the network toolbar for the "HTML" filtering button.
+netmonitor.toolbar.filter.html=HTML
+
+# LOCALIZATION NOTE (netmonitor.toolbar.filter.css): This is the label displayed
+# in the network toolbar for the "CSS" filtering button.
+netmonitor.toolbar.filter.css=CSS
+
+# LOCALIZATION NOTE (netmonitor.toolbar.filter.js): This is the label displayed
+# in the network toolbar for the "JS" filtering button.
+netmonitor.toolbar.filter.js=JS
+
+# LOCALIZATION NOTE (netmonitor.toolbar.filter.xhr): This is the label displayed
+# in the network toolbar for the "XHR" filtering button.
+netmonitor.toolbar.filter.xhr=XHR
+
+# LOCALIZATION NOTE (netmonitor.toolbar.filter.fonts): This is the label displayed
+# in the network toolbar for the "Fonts" filtering button.
+netmonitor.toolbar.filter.fonts=แบบอักษร
+
+# LOCALIZATION NOTE (netmonitor.toolbar.filter.images): This is the label displayed
+# in the network toolbar for the "Images" filtering button.
+netmonitor.toolbar.filter.images=ภาพ
+
+# LOCALIZATION NOTE (netmonitor.toolbar.filter.media): This is the label displayed
+# in the network toolbar for the "Media" filtering button.
+netmonitor.toolbar.filter.media=สื่อ
+
+# LOCALIZATION NOTE (netmonitor.toolbar.filter.flash): This is the label displayed
+# in the network toolbar for the "Flash" filtering button.
+netmonitor.toolbar.filter.flash=Flash
+
+# LOCALIZATION NOTE (netmonitor.toolbar.filter.ws): This is the label displayed
+# in the network toolbar for the "WS" filtering button.
+netmonitor.toolbar.filter.ws=WS
+
+# LOCALIZATION NOTE (netmonitor.toolbar.filter.other): This is the label displayed
+# in the network toolbar for the "Other" filtering button.
+netmonitor.toolbar.filter.other=อื่น ๆ
+
+# LOCALIZATION NOTE (netmonitor.toolbar.filterFreetext.label): This is the label
+# displayed in the network toolbar for the url filtering textbox.
+netmonitor.toolbar.filterFreetext.label=กรอง URL
+
+# LOCALIZATION NOTE (netmonitor.toolbar.filterFreetext.key): This is the
+# shortcut key to focus on the toolbar url filtering textbox
+netmonitor.toolbar.filterFreetext.key=CmdOrCtrl+F
+
+# LOCALIZATION NOTE (netmonitor.toolbar.search.key): This is the
+# shortcut key to toggle the search panel
+netmonitor.toolbar.search.key=CmdOrCtrl+Shift+F
+
+# LOCALIZATION NOTE (netmonitor.toolbar.copy.key): This is the
+# shortcut key to copy a selected request url from the network table
+netmonitor.toolbar.copy.key=CmdOrCtrl+C
+
+# LOCALIZATION NOTE (netmonitor.toolbar.filterFreetext.learnMore): This is
+# the title used for MDN icon in filtering textbox
+netmonitor.toolbar.filterFreetext.learnMore=เรียนรู้เพิ่มเติมเกี่ยวกับการกรอง
+
+# LOCALIZATION NOTE (netmonitor.toolbar.enablePersistentLogs.label): This is the label
+# displayed for the checkbox for enabling persistent logs.
+netmonitor.toolbar.enablePersistentLogs.label=คงรายการบันทึก
+
+# LOCALIZATION NOTE (netmonitor.toolbar.enablePersistentLogs.tooltip): This is the tooltip
+# displayed for the checkbox for enabling persistent logs.
+netmonitor.toolbar.enablePersistentLogs.tooltip=หากคุณเปิดใช้งานตัวเลือกนี้ รายการคำขอจะไม่ถูกล้างในแต่ละครั้งที่คุณนำทางไปยังหน้าใหม่
+
+# LOCALIZATION NOTE (netmonitor.toolbar.disableCache.label): This is the label
+# displayed for the checkbox for disabling browser cache.
+netmonitor.toolbar.disableCache.label=ปิดใช้งานแคช
+
+# LOCALIZATION NOTE (netmonitor.toolbar.disableCache.tooltip): This is the tooltip
+# displayed for the checkbox for disabling browser cache.
+netmonitor.toolbar.disableCache.tooltip=ปิดใช้งานแคช HTTP
+
+# LOCALIZATION NOTE (netmonitor.toolbar.clear): This is the label displayed
+# in the network toolbar for the "Clear" button.
+netmonitor.toolbar.clear=ล้าง
+
+# LOCALIZATION NOTE (netmonitor.toolbar.toggleRecording): This is the label displayed
+# in the network toolbar for the toggle recording button.
+netmonitor.toolbar.toggleRecording=พัก/บันทึกรายการบันทึกเครือข่ายต่อ
+
+# LOCALIZATION NOTE (netmonitor.toolbar.search): This is the tooltip label displayed
+# in the network toolbar for the search button.
+netmonitor.toolbar.search=ค้นหา
+
+# LOCALIZATION NOTE (netmonitor.toolbar.resetColumns): This is the label
+# displayed in the network table header context menu.
+netmonitor.toolbar.resetColumns=กลับค่าเดิมของคอลัมน์
+
+# LOCALIZATION NOTE (netmonitor.toolbar.resetSorting): This is the label
+# displayed in the network table header context menu to reset sorting
+netmonitor.toolbar.resetSorting=กลับค่าเดิมของการเรียง
+
+# LOCALIZATION NOTE (netmonitor.toolbar.resizeColumnToFitContent): This is the label
+# displayed in the network table header context menu to resize a column to fit its content
+netmonitor.toolbar.resizeColumnToFitContent=ปรับขนาดคอลัมน์ให้พอดีกับเนื้อหา
+
+# LOCALIZATION NOTE (netmonitor.toolbar.resizeColumnToFitContent.title): This is the title
+# tooltip displayed when draggable resizer in network table headers is hovered
+netmonitor.toolbar.resizeColumnToFitContent.title=คลิกสองครั้งเพื่อให้คอลัมน์พอดีกับเนื้อหา
+
+# LOCALIZATION NOTE (netmonitor.toolbar.timings): This is the label
+# displayed in the network table header context menu for the timing submenu
+netmonitor.toolbar.timings=การจับเวลา
+
+# LOCALIZATION NOTE (netmonitor.toolbar.responseHeaders): This is the
+# label displayed in the network table header context menu for the
+# response headers submenu.
+netmonitor.toolbar.responseHeaders=ส่วนหัวการตอบสนอง
+
+# LOCALIZATION NOTE (netmonitor.headers.toolbar.block): This is the
+# label displayed in the network details headers tab identifying the
+# block url toolbar button.
+netmonitor.headers.toolbar.block=ปิดกั้น
+
+# LOCALIZATION NOTE (netmonitor.headers.address): This is the label displayed
+# in the network details headers tab identifying the remote address.
+netmonitor.headers.address=ที่อยู่
+
+# LOCALIZATION NOTE (netmonitor.headers.status): This is the label displayed
+# in the network details headers tab identifying the status code.
+netmonitor.headers.status=สถานะ
+
+# LOCALIZATION NOTE (netmonitor.headers.size): This is the label displayed
+# in the network details headers tab identifying the size.
+netmonitor.headers.size=ขนาด
+
+# LOCALIZATION NOTE (networkMenu.headers.sizeDetails): This label is displayed
+# in the network details headers tab providing the size details.
+# %1$S is the transferred size, %2$S is the size.
+netmonitor.headers.sizeDetails=%1$S (ขนาด %2$S)
+
+# LOCALIZATION NOTE (netmonitor.headers.version): This is the label displayed
+# in the network details headers tab identifying the http version.
+netmonitor.headers.version=รุ่น
+
+# LOCALIZATION NOTE (netmonitor.summary.learnMore): This is the label displayed
+# in the network details headers tab, with a link to external documentation for
+# status codes.
+netmonitor.summary.learnMore=เรียนรู้เพิ่มเติมเกี่ยวกับรหัสสถานะ
+
+# LOCALIZATION NOTE (netmonitor.headers.referrerPolicy): This is the label displayed
+# in the network details headers tab identifying the referrer policy.
+netmonitor.headers.referrerPolicy=นโยบาย Referrer
+
+# LOCALIZATION NOTE (netmonitor.headers.contentBlocking): This is the label displayed
+# in the network details headers tab identifying the content blocking mode.
+netmonitor.headers.contentBlocking=การปิดกั้น
+
+# LOCALIZATION NOTE (netmonitor.summary.editAndResend): This is the label displayed
+# on the button in the headers tab that opens a form to edit and resend the currently
+# displayed request
+netmonitor.summary.editAndResend=แก้ไขและส่งใหม่
+
+# LOCALIZATION NOTE (netmonitor.headers.raw): This is the label displayed
+# on the button in the headers tab that toggle view for raw request/response headers
+# from the currently displayed request
+netmonitor.headers.raw=ดิบ
+
+# LOCALIZATION NOTE (netmonitor.response.name): This is the label displayed
+# in the network details response tab identifying an image's file name.
+netmonitor.response.name=ชื่อ:
+
+# LOCALIZATION NOTE (netmonitor.response.dimensions): This is the label displayed
+# in the network details response tab identifying an image's dimensions.
+netmonitor.response.dimensions=มิติ:
+
+# LOCALIZATION NOTE (netmonitor.response.mime): This is the label displayed
+# in the network details response tab identifying an image's mime.
+netmonitor.response.mime=ชนิด MIME:
+
+# LOCALIZATION NOTE (netmonitor.timings.blocked): This is the label displayed
+# in the network details timings tab identifying the amount of time spent
+# in a "blocked" state.
+netmonitor.timings.blocked=ถูกปิดกั้น:
+
+# LOCALIZATION NOTE (netmonitor.timings.dns): This is the label displayed
+# in the network details timings tab identifying the amount of time spent
+# in a "dns" state.
+netmonitor.timings.dns=การแปลงที่อยู่ DNS:
+
+# LOCALIZATION NOTE (netmonitor.timings.ssl): This is the label displayed
+# in the network details timings tab identifying the amount of time spent
+# in a "tls" handshake state.
+netmonitor.timings.ssl=การตั้งค่า TLS:
+
+# LOCALIZATION NOTE (netmonitor.timings.connect): This is the label displayed
+# in the network details timings tab identifying the amount of time spent
+# in a "connect" state.
+netmonitor.timings.connect=การเชื่อมต่อ:
+
+# LOCALIZATION NOTE (netmonitor.timings.send): This is the label displayed
+# in the network details timings tab identifying the amount of time spent
+# in a "send" state.
+netmonitor.timings.send=การส่ง:
+
+# LOCALIZATION NOTE (netmonitor.timings.wait): This is the label displayed
+# in the network details timings tab identifying the amount of time spent
+# in a "wait" state.
+netmonitor.timings.wait=การรอ:
+
+# LOCALIZATION NOTE (netmonitor.timings.receive): This is the label displayed
+# in the network details timings tab identifying the amount of time spent
+# in a "receive" state.
+netmonitor.timings.receive=การรับ:
+
+# LOCALIZATION NOTE (netmonitor.timings.learnMore): This is the label displayed
+# in the network details timings tab, with a link to external documentation
+netmonitor.timings.learnMore=เรียนรู้เพิ่มเติมเกี่ยวกับการกำหนดเวลา
+
+# LOCALIZATION NOTE (netmonitor.audits.slowIconTooltip): This is the tooltip text displayed
+# in the network request list file column, on the slow icon button.
+# %1$S is the waiting time %2$S is the slow threshold.
+netmonitor.audits.slowIconTooltip=เวลาในการตอบสนองของเซิร์ฟเวอร์ช้า (%1$S) ขีดจำกัดที่แนะนำคือ %2$S
+
+# LOCALIZATION NOTE (netmonitor.security.warning.cipher): A tooltip
+# for warning icon that indicates a connection uses insecure cipher suite.
+netmonitor.security.warning.cipher=การเข้ารหัสที่ใช้เลิกใช้แล้วและไม่ปลอดภัย
+
+# LOCALIZATION NOTE (netmonitor.security.error): This is the label displayed
+# in the security tab if a security error prevented the connection.
+netmonitor.security.error=เกิดข้อผิดพลาด:
+
+# LOCALIZATION NOTE (netmonitor.security.protocolVersion): This is the label displayed
+# in the security tab describing TLS/SSL protocol version.
+netmonitor.security.protocolVersion=รุ่นโปรโตคอล:
+
+# LOCALIZATION NOTE (netmonitor.security.cipherSuite): This is the label displayed
+# in the security tab describing the cipher suite used to secure this connection.
+netmonitor.security.cipherSuite=ชุดการเข้ารหัส:
+
+# LOCALIZATION NOTE (netmonitor.security.keaGroup): This is the label displayed
+# in the security tab describing the key exchange group suite used to secure
+# this connection.
+netmonitor.security.keaGroup=กลุ่มการแลกเปลี่ยนกุญแจ:
+
+# LOCALIZATION NOTE (netmonitor.security.keaGroup.none): This is the label
+# displayed in the security tab describing the case when no group was used.
+netmonitor.security.keaGroup.none=ไม่มี
+
+# LOCALIZATION NOTE (netmonitor.security.keaGroup.custom): This is the label
+# displayed in the security tab describing the case when a custom group was used.
+netmonitor.security.keaGroup.custom=กำหนดเอง
+
+# LOCALIZATION NOTE (netmonitor.security.keaGroup.unknown): This is the value
+# displayed in the security tab describing an unknown group.
+netmonitor.security.keaGroup.unknown=ไม่ทราบกลุ่ม
+
+# LOCALIZATION NOTE (netmonitor.security.signatureScheme): This is the label
+# displayed in the security tab describing the signature scheme used by for
+# the server certificate in this connection.
+netmonitor.security.signatureScheme=แบบแผนลายเซ็น:
+
+# LOCALIZATION NOTE (netmonitor.security.signatureScheme.none): This is the
+# label displayed in the security tab describing the case when no signature
+# was used.
+netmonitor.security.signatureScheme.none=ไม่มี
+
+# LOCALIZATION NOTE (netmonitor.security.signatureScheme.unknown): This is the
+# value displayed in the security tab describing an unknown signature scheme.
+netmonitor.security.signatureScheme.unknown=แบบแผนลายเซ็นที่ไม่รู้จัก
+
+# LOCALIZATION NOTE (netmonitor.security.hsts): This is the label displayed
+# in the security tab describing the usage of HTTP Strict Transport Security.
+netmonitor.security.hsts=HTTP Strict Transport Security:
+
+# LOCALIZATION NOTE (netmonitor.security.hpkp): This is the label displayed
+# in the security tab describing the usage of Public Key Pinning.
+netmonitor.security.hpkp=Public Key Pinning:
+
+# LOCALIZATION NOTE (netmonitor.security.connection): This is the label displayed
+# in the security tab describing the section containing information related to
+# the secure connection.
+netmonitor.security.connection=การเชื่อมต่อ:
+
+# LOCALIZATION NOTE (netmonitor.security.certificate): This is the label displayed
+# in the security tab describing the server certificate section.
+netmonitor.security.certificate=ใบรับรอง:
+
+# LOCALIZATION NOTE (netmonitor.trackingResource.tooltip): This is the label used
+# in the Network monitor panel as a tooltip for tracking resource icon.
+netmonitor.trackingResource.tooltip=URL นี้ตรงกับตัวติดตามที่รู้จักและจะถูกปิดกั้นเมื่อเปิดใช้งานการปิดกั้นเนื้อหา
+
+# LOCALIZATION NOTE (netmonitor.trackingResource.enhancedTrackingProtection): This is
+# the label used in the Network monitor panel for showing enhanced tracking protection.
+netmonitor.trackingResource.enhancedTrackingProtection=การป้องกันการติดตามที่มากขึ้น
+
+# LOCALIZATION NOTE (netmonitor.enhancedTrackingProtection.learnMore): This is the label
+# displayed in the network details headers tab, with a link to external documentation for
+# enhanced tracking protection.
+netmonitor.enhancedTrackingProtection.learnMore=เรียนรู้เพิ่มเติมเกี่ยวกับการป้องกันการติดตามที่มากขึ้น
+
+# LOCALIZATION NOTE (netmonitor.context.copy): This is the label displayed
+# for the copy sub-menu in the context menu for a request
+netmonitor.context.copy=คัดลอก
+
+# LOCALIZATION NOTE (netmonitor.context.copy.accesskey): This is the access key
+# for the copy menu/sub-menu displayed in the context menu for a request
+netmonitor.context.copy.accesskey=ค
+
+# LOCALIZATION NOTE (netmonitor.context.copyUrl): This is the label displayed
+# on the context menu that copies the selected request's url
+netmonitor.context.copyUrl=คัดลอก URL
+
+# LOCALIZATION NOTE (netmonitor.context.copyUrl.accesskey): This is the access key
+# for the Copy URL menu item displayed in the context menu for a request
+netmonitor.context.copyUrl.accesskey=ด
+
+# LOCALIZATION NOTE (netmonitor.context.copyUrlParams): This is the label displayed
+# on the context menu that copies the selected request's url parameters
+netmonitor.context.copyUrlParams=คัดลอกพารามิเตอร์ URL
+
+# LOCALIZATION NOTE (netmonitor.context.copyUrlParams.accesskey): This is the access key
+# for the Copy URL Parameters menu item displayed in the context menu for a request
+netmonitor.context.copyUrlParams.accesskey=ล
+
+# LOCALIZATION NOTE (netmonitor.context.copyRequestData): This is the label displayed
+# on the context menu that copies the selected request's data
+netmonitor.context.copyRequestData=คัดลอกข้อมูล %S
+
+# LOCALIZATION NOTE (netmonitor.context.copyRequestData.accesskey): This is the access key
+# for the Copy POST/PATCH/PUT/DELETE Data menu item displayed in the context menu for a request
+netmonitor.context.copyRequestData.accesskey=อ
+
+# LOCALIZATION NOTE (netmonitor.context.copyAsCurl): This is the label displayed
+# on the context menu that copies the selected request as a cURL command.
+# The capitalization is part of the official name and should be used throughout all languages.
+# http://en.wikipedia.org/wiki/CURL
+netmonitor.context.copyAsCurl=คัดลอกเป็น cURL
+
+# LOCALIZATION NOTE (netmonitor.context.copyAsCurl.accesskey): This is the access key
+# for the Copy as cURL menu item displayed in the context menu for a request
+netmonitor.context.copyAsCurl.accesskey=ก
+
+# LOCALIZATION NOTE (netmonitor.context.copyAsCurl.*): This is the template used to add
+# a target platform to the label for "Copy as cURL" command
+# e.g. Copy as cURL (Windows)
+# Localized label for "Copy as cURL": %S
+netmonitor.context.copyAsCurl.win=%S (Windows)
+netmonitor.context.copyAsCurl.win.accesskey=ค
+netmonitor.context.copyAsCurl.posix=%S (POSIX)
+netmonitor.context.copyAsCurl.posix.accesskey=P
+
+# LOCALIZATION NOTE (netmonitor.context.copyAsFetch): This is the label displayed
+# on the context menu that copies the selected request as a fetch request.
+netmonitor.context.copyAsFetch=คัดลอกเป็น Fetch
+
+# LOCALIZATION NOTE (netmonitor.context.copyAsFetch.accesskey): This is the access key
+# for the Copy as fetch menu item displayed in the context menu for a request
+netmonitor.context.copyAsFetch.accesskey=F
+
+# LOCALIZATION NOTE (netmonitor.context.copyRequestHeaders): This is the label displayed
+# on the context menu that copies the selected item's request headers
+netmonitor.context.copyRequestHeaders=คัดลอกส่วนหัวคำขอ
+
+# LOCALIZATION NOTE (netmonitor.context.copyRequestHeaders.accesskey): This is the access key
+# for the Copy Request Headers menu item displayed in the context menu for a request
+netmonitor.context.copyRequestHeaders.accesskey=ส
+
+# LOCALIZATION NOTE (netmonitor.context.copyResponseHeaders): This is the label displayed
+# on the context menu that copies the selected item's response headers
+netmonitor.context.copyResponseHeaders=คัดลอกส่วนหัวการตอบสนอง
+
+# LOCALIZATION NOTE (netmonitor.context.copyResponseHeaders.accesskey): This is the access key
+# for the Copy Response Headers menu item displayed in the context menu for a response
+netmonitor.context.copyResponseHeaders.accesskey=ว
+
+# LOCALIZATION NOTE (netmonitor.context.copyResponse): This is the label displayed
+# on the context menu that copies the selected response as a string
+netmonitor.context.copyResponse=คัดลอกการตอบสนอง
+
+# LOCALIZATION NOTE (netmonitor.context.copyResponse.accesskey): This is the access key
+# for the Copy Response menu item displayed in the context menu for a request
+netmonitor.context.copyResponse.accesskey=ร
+
+# LOCALIZATION NOTE (netmonitor.context.copyImageAsDataUri): This is the label displayed
+# on the context menu that copies the selected image as data uri
+netmonitor.context.copyImageAsDataUri=คัดลอกภาพเป็น URI ของข้อมูล
+
+# LOCALIZATION NOTE (netmonitor.context.copyImageAsDataUri.accesskey): This is the access key
+# for the Copy Image As Data URI menu item displayed in the context menu for a request
+netmonitor.context.copyImageAsDataUri.accesskey=ภ
+
+# LOCALIZATION NOTE (netmonitor.context.useAsFetch): This is the label displayed
+# on the context menu that copies the selected request as a fetch command.
+netmonitor.context.useAsFetch=ใช้เป็น Fetch ในคอนโซล
+
+# LOCALIZATION NOTE (netmonitor.context.useAsFetch.accesskey): This is the access key
+# for the Copy as fetch menu item displayed in the context menu for a request
+netmonitor.context.useAsFetch.accesskey=F
+
+# LOCALIZATION NOTE (netmonitor.context.saveImageAs): This is the label displayed
+# on the context menu that save the Image
+netmonitor.context.saveImageAs=บันทึกภาพเป็น…
+
+# LOCALIZATION NOTE (netmonitor.context.saveImageAs.accesskey): This is the access key
+# for the Copy Image As Data URI menu item displayed in the context menu for a request
+netmonitor.context.saveImageAs.accesskey=บ
+
+# LOCALIZATION NOTE (netmonitor.context.copyAll): This is the label displayed
+# on the context menu that copies all data
+netmonitor.context.copyAll=คัดลอกทั้งหมด
+
+# LOCALIZATION NOTE (netmonitor.context.copyAll.accesskey): This is the access key
+# for the Copy All menu item displayed in the context menu for a properties view panel
+netmonitor.context.copyAll.accesskey=ค
+
+# LOCALIZATION NOTE (netmonitor.context.copyAllAsHar): This is the label displayed
+# on the context menu that copies all as HAR format
+netmonitor.context.copyAllAsHar=คัดลอกทั้งหมดเป็น HAR
+
+# LOCALIZATION NOTE (netmonitor.context.copyAllAsHar.accesskey): This is the access key
+# for the Copy All As HAR menu item displayed in the context menu for a network panel
+netmonitor.context.copyAllAsHar.accesskey=ด
+
+# LOCALIZATION NOTE (netmonitor.context.saveAllAsHar): This is the label displayed
+# on the context menu that saves all as HAR format
+netmonitor.context.saveAllAsHar=บันทึกทั้งหมดเป็น HAR
+
+# LOCALIZATION NOTE (netmonitor.context.saveAllAsHar.accesskey): This is the access key
+# for the Save All As HAR menu item displayed in the context menu for a network panel
+netmonitor.context.saveAllAsHar.accesskey=H
+
+# LOCALIZATION NOTE (netmonitor.context.importHar.accesskey): This is the access key
+# for the Import HAR menu item displayed in the context menu for a network panel
+netmonitor.context.importHar.accesskey=น
+
+# LOCALIZATION NOTE (netmonitor.har.importHarDialogTitle): This is a label
+# used for import file open dialog
+netmonitor.har.importHarDialogTitle=นำเข้าไฟล์ HAR
+
+# LOCALIZATION NOTE (netmonitor.har.importDialogHARFilter):
+# This string is displayed as a filter for importing HAR file
+netmonitor.har.importDialogHARFilter=ไฟล์ HAR
+
+# LOCALIZATION NOTE (netmonitor.har.importDialogAllFilter):
+# This string is displayed as a filter for importing HAR file
+netmonitor.har.importDialogAllFilter=ไฟล์ทั้งหมด
+
+# LOCALIZATION NOTE (netmonitor.context.resend.label): This is the label displayed
+# on the context menu that resends the currently displayed request immediately
+netmonitor.context.resend.label=ส่งใหม่
+
+# LOCALIZATION NOTE (netmonitor.context.resend.accesskey): This is the access key
+# for the "Resend" menu item displayed in the context menu for a request
+netmonitor.context.resend.accesskey=ส
+
+# LOCALIZATION NOTE (netmonitor.context.editAndResend): This is the label displayed
+# on the context menu that opens a form to edit and resend the currently
+# displayed request
+netmonitor.context.editAndResend=แก้ไขและส่งใหม่
+
+# LOCALIZATION NOTE (netmonitor.context.editAndResend.accesskey): This is the access key
+# for the "Edit and Resend" menu item displayed in the context menu for a request
+netmonitor.context.editAndResend.accesskey=ก
+
+# LOCALIZATION NOTE (netmonitor.context.blockURL): This is the label displayed
+# on the context menu that blocks any requests matching the selected request's URL.
+netmonitor.context.blockURL=ปิดกั้น URL
+
+# LOCALIZATION NOTE (netmonitor.context.unblockURL): This is the label displayed
+# on the context menu that unblocks any requests matching the selected request's URL.
+netmonitor.context.unblockURL=เลิกปิดกั้น URL
+
+# LOCALIZATION NOTE (netmonitor.context.newTab): This is the label
+# for the Open in New Tab menu item displayed in the context menu of the
+# network container
+netmonitor.context.newTab=เปิดในแท็บใหม่
+
+# LOCALIZATION NOTE (netmonitor.context.newTab.accesskey): This is the access key
+# for the Open in New Tab menu item displayed in the context menu of the
+# network container
+netmonitor.context.newTab.accesskey=ป
+
+# LOCALIZATION NOTE (netmonitor.context.openInDebugger): This is the label
+# for the Open in Debugger menu item displayed in the context menu of the
+# network container
+netmonitor.context.openInDebugger=เปิดในตัวดีบั๊ก
+
+# LOCALIZATION NOTE (netmonitor.context.openInDebugger.accesskey): This is the access key
+# for the Open in Debugger menu item displayed in the context menu of the
+# network container
+netmonitor.context.openInDebugger.accesskey=ด
+
+# LOCALIZATION NOTE (netmonitor.context.openInStyleEditor): This is the label
+# for the Open in Style Editor menu item displayed in the context menu of the
+# network container
+netmonitor.context.openInStyleEditor=เปิดในตัวแก้ไขลักษณะ
+
+# LOCALIZATION NOTE (netmonitor.context.openInStyleEditor.accesskey): This is
+# the access key for the Open in Style Editor menu item displayed in the
+# context menu of the network container
+netmonitor.context.openInStyleEditor.accesskey=น
+
+# LOCALIZATION NOTE (netmonitor.context.perfTools): This is the label displayed
+# on the context menu that shows the performance analysis tools
+netmonitor.context.perfTools=เริ่มการวิเคราะห์ประสิทธิภาพ…
+
+# LOCALIZATION NOTE (netmonitor.context.perfTools.accesskey): This is the access key
+# for the performance analysis menu item displayed in the context menu for a request
+netmonitor.context.perfTools.accesskey=ร
+
+# LOCALIZATION NOTE (netmonitor.custom.newRequest): This is the label displayed
+# as the title of the new custom request form
+netmonitor.custom.newRequest=คำขอใหม่
+
+# LOCALIZATION NOTE (netmonitor.custom.newRequestMethodLabel): This is the label displayed
+# above the method text input field of the new custom request form
+netmonitor.custom.newRequestMethodLabel=วิธีการ
+
+# LOCALIZATION NOTE (netmonitor.custom.newRequestUrlLabel): This is the label displayed
+# above the url text input field of the new custom request form
+netmonitor.custom.newRequestUrlLabel=URL
+
+# LOCALIZATION NOTE (netmonitor.custom.query): This is the label displayed
+# above the query string entry in the custom request form
+netmonitor.custom.query=สตริงการสืบค้น:
+
+# LOCALIZATION NOTE (netmonitor.custom.headers): This is the label displayed
+# above the request headers entry in the custom request form
+netmonitor.custom.headers=ส่วนหัวคำขอ
+
+# LOCALIZATION NOTE (netmonitor.custom.postData): This is the label displayed
+# above the request body entry in the custom request form
+netmonitor.custom.postData=เนื้อหาคำขอ
+
+# LOCALIZATION NOTE (netmonitor.custom.send): This is the label displayed
+# on the button which sends the custom request
+netmonitor.custom.send=ส่ง
+
+# LOCALIZATION NOTE (netmonitor.custom.cancel): This is the label displayed
+# on the button which cancels and closes the custom request form
+netmonitor.custom.cancel=ยกเลิก
+
+# LOCALIZATION NOTE (netmonitor.backButton): This is the label displayed
+# on the button which exists the performance statistics view
+netmonitor.backButton=ย้อนกลับ
+
+# LOCALIZATION NOTE (netmonitor.status.tooltip.simple): This is the tooltip of the
+# column status code, when request is not being cached or is not from a service worker
+# %1$S is the status code, %2$S is the status text.
+netmonitor.status.tooltip.simple = %1$S %2$S
+
+# LOCALIZATION NOTE (netmonitor.status.tooltip.cached): This is the tooltip of
+# the column status code, when the request is cached
+# %1$S is the status code, %2$S is the status text.
+netmonitor.status.tooltip.cached = %1$S %2$S (ถูกแคช)
+
+# LOCALIZATION NOTE (netmonitor.status.tooltip.worker): This is the tooltip of
+# the column status code, when the request is from a service worker
+# %1$S is the status code, %2$S is the status text.
+netmonitor.status.tooltip.worker = %1$S %2$S (ตัวทำงานบริการ)
+
+# LOCALIZATION NOTE (netmonitor.status.tooltip.cachedworker): This is the tooltip
+# of the column status code, when the request is cached and is from a service worker
+# %1$S is the status code, %2$S is the status text.
+netmonitor.status.tooltip.cachedworker = %1$S %2$S (ถูกแคช, ตัวทำงานบริการ)
+
+# LOCALIZATION NOTE (netmonitor.label.dropHarFiles): This is a label
+# rendered within the Network panel when *.har file(s) are dragged
+# over the content.
+netmonitor.label.dropHarFiles = ปล่อยไฟล์ HAR ที่นี่
+
+# LOCALIZATION NOTE (netmonitor.label.har): This is a label used
+# as a tooltip for toolbar drop-down button with HAR actions
+netmonitor.label.har=การส่งออก/การนำเข้า HAR
+
+# LOCALIZATION NOTE (netmonitor.cache.cache): This is the label text for the parent
+# node in the TreeView.
+netmonitor.cache.cache=แคช
+
+# LOCALIZATION NOTE (netmonitor.cache.empty): This is the text displayed when cache
+# information is not available.
+netmonitor.cache.empty=ไม่มีข้อมูลแคช
+
+# LOCALIZATION NOTE (netmonitor.cache.notAvailable): This is the text displayed under
+# a node that has no information available.
+netmonitor.cache.notAvailable=ไม่พร้อมใช้งาน
+
+# LOCALIZATION NOTE (netmonitor.cache.dataSize): This is the label text for
+# the datasize of the cached object.
+netmonitor.cache.dataSize=ขนาดข้อมูล
+
+# LOCALIZATION NOTE (netmonitor.cache.expires): This is the label text for the
+# expires time of the cached object.
+netmonitor.cache.expires=หมดอายุ
+
+# LOCALIZATION NOTE (netmonitor.cache.fetchCount): This is the label text for the
+# fetch count of the cached object.
+netmonitor.cache.fetchCount=จำนวนการดึงข้อมูล
+
+# LOCALIZATION NOTE (netmonitor.cache.lastFetched): This is the label text for the
+# last fetched date/time of the cached object.
+netmonitor.cache.lastFetched=ดึงข้อมูลล่าสุด
+
+# LOCALIZATION NOTE (netmonitor.cache.lastModified): This is the label text for the
+# last modified date/time of the cached object.
+netmonitor.cache.lastModified=วันที่เปลี่ยนแปลงล่าสุด
+
+# LOCALIZATION NOTE (netmonitor.cache.device): This is the label text for the device
+# where a cached object was fetched from (e.g. "disk").
+netmonitor.cache.device=อุปกรณ์
+
+# LOCALIZATION NOTE (netmonitor.settings.menuTooltip): This is the tooltip that gets displayed
+# when the settings menu button is hovered.
+netmonitor.settings.menuTooltip=การตั้งค่าเครือข่าย
+
+# LOCALIZATION NOTE (netmonitor.settings.importHarTooltip): This is the tooltip that gets displayed
+# when the HAR import menu item is hovered
+netmonitor.settings.importHarTooltip=นำเข้าไฟล์ HAR ของข้อมูลเครือข่าย
+
+# LOCALIZATION NOTE (netmonitor.settings.saveHarTooltip): This is the tooltip that gets displayed
+# when the HAR save menu item is hovered
+netmonitor.settings.saveHarTooltip=บันทึกข้อมูลเครือข่ายเป็นไฟล์ HAR
+
+# LOCALIZATION NOTE (netmonitor.settings.copyHarTooltip): This is the tooltip that gets displayed
+# when the HAR copy menu item is hovered
+netmonitor.settings.copyHarTooltip=คัดลอกข้อมูลเครือข่ายไปยังคลิปบอร์ด
+
+# LOCALIZATION NOTE (netmonitor.errorpanel.description): This is the information displayed once the monitor errors out
+netmonitor.errorpanel.description=แผงเครือข่ายล่ม
+
+# LOCALIZATION NOTE (netmonitor.errorpanel.fileBugButton): This is the text that appears in the button to visit the bug filing link.
+netmonitor.errorpanel.fileBugButton=รายงานข้อบกพร่อง
+
+# LOCALIZATION NOTE (netmonitor.errorpanel.reloadPanelInfo): This is the text that appears after Network panel errors to instruct the user to reload the panel.
+netmonitor.errorpanel.reloadPanelInfo=ปิดและเปิดกล่องเครื่องมือใหม่เพื่อล้างข้อผิดพลาดนี้
diff --git a/l10n-th/devtools/client/network-throttling.properties b/l10n-th/devtools/client/network-throttling.properties
new file mode 100644
index 0000000000..dde91c67a3
--- /dev/null
+++ b/l10n-th/devtools/client/network-throttling.properties
@@ -0,0 +1,27 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE These strings are used inside the NetworkThrottlingSelector
+# component used to throttle network bandwidth.
+#
+# The correct localization of this file might be to keep it in
+# English, or another language commonly spoken among web developers.
+# You want to make that choice consistent across the developer tools.
+# A good criteria is the language in which you'd find the best
+# documentation on web development on the web.
+
+# LOCALIZATION NOTE These strings are used inside the NetworkThrottlingMenu
+# component used to throttle network bandwidth.
+#
+# The correct localization of this file might be to keep it in
+# English, or another language commonly spoken among web developers.
+# You want to make that choice consistent across the developer tools.
+# A good criteria is the language in which you'd find the best
+# documentation on web development on the web.
+
+# LOCALIZATION NOTE (responsive.noThrottling): UI option in a menu to configure
+# network throttling. This option is the default and disables throttling so you
+# just have normal network conditions. There is not very much room in the UI
+# so a short string would be best if possible.
+responsive.noThrottling=ไม่มีการควบคุมปริมาณ
diff --git a/l10n-th/devtools/client/performance.dtd b/l10n-th/devtools/client/performance.dtd
new file mode 100644
index 0000000000..649fa745c2
--- /dev/null
+++ b/l10n-th/devtools/client/performance.dtd
@@ -0,0 +1,130 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.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 Performance strings -->
+<!-- LOCALIZATION NOTE : FILE Do not translate commandkey -->
+
+<!-- LOCALIZATION NOTE : FILE The correct localization of this file might be to
+ - keep it in English, or another language commonly spoken among web developers.
+ - You want to make that choice consistent across the developer tools.
+ - A good criteria is the language in which you'd find the best
+ - documentation on web development on the web. -->
+
+<!-- LOCALIZATION NOTE (performanceUI.bufferStatusTooltip): This string
+ - is displayed as the tooltip for the buffer capacity during a recording. -->
+<!ENTITY performanceUI.bufferStatusTooltip "ตัวเก็บประวัติจะจัดเก็บตัวอย่างที่สุ่มไว้ในบัฟเฟอร์แบบวงกลม และเมื่อบัฟเฟอร์ถึงขีดจำกัดในการอัดบันทึกแล้ว ตัวอย่างที่สุ่มภายหลังก็จะเริ่มเขียนทับตัวอย่างที่สุ่มที่อัดบันทึกไว้เมื่อตอนเริ่ม">
+
+<!-- LOCALIZATION NOTE (performanceUI.disabledRealTime.disabledE10S): This string
+ - is displayed as a message for why the real time overview graph is disabled
+ - when running on a build that can run multiprocess Firefox, but just is not enabled. -->
+<!ENTITY performanceUI.disabledRealTime.disabledE10S "เปิดใช้งาน Firefox แบบหลายกระบวนการในค่ากำหนดเพื่อเปิดใช้การแสดงผลข้อมูลการอัดบันทึกแบบเรียลไทม์">
+
+<!-- LOCALIZATION NOTE (performanceUI.bufferStatusFull): This string
+ - is displayed when the profiler's circular buffer has started to overlap. -->
+<!ENTITY performanceUI.bufferStatusFull "บัฟเฟอร์เต็มแล้ว ตัวอย่างที่สุ่มก่อนหน้านี้จะถูกเขียนทับ">
+
+<!-- LOCALIZATION NOTE (performanceUI.unavailableNoticePB): This is the label shown
+ - in the details view while the profiler is unavailable, for example, while
+ - in Private Browsing mode. -->
+<!ENTITY performanceUI.unavailableNoticePB "การอัดบันทึกประวัติไม่พร้อมใช้งานในขณะนี้ โปรดปิดหน้าต่างการท่องเว็บแบบส่วนตัวทั้งหมดแล้วลองอีกครั้ง">
+
+<!-- LOCALIZATION NOTE (performanceUI.loadingNotice): This is the label shown
+ - in the details view while loading a profile. -->
+<!ENTITY performanceUI.loadingNotice "กำลังโหลด…">
+
+<!-- LOCALIZATION NOTE (performanceUI.toolbar.*): These strings are displayed
+ - in the toolbar on buttons that select which view is currently shown. -->
+<!ENTITY performanceUI.toolbar.waterfall "น้ำตก">
+<!ENTITY performanceUI.toolbar.waterfall.tooltiptext "แสดงแผนภูมิที่แสดงการทำงานต่าง ๆ ของเบราว์เซอร์ระหว่างที่อัดบันทึกโดยจัดเค้าโครงตามลำดับเป็นแบบน้ำตก">
+<!ENTITY performanceUI.toolbar.js-calltree "แผนภูมิการเรียก">
+<!ENTITY performanceUI.toolbar.js-calltree.tooltiptext "เน้นฟังก์ชัน JavaScript ที่เบราว์เซอร์ใช้เวลาส่วนใหญ่ระหว่างที่อัดบันทึก">
+<!ENTITY performanceUI.toolbar.memory-calltree "การจัดสรร">
+<!ENTITY performanceUI.toolbar.allocations.tooltiptext "แสดงตำแหน่งที่จัดสรรหน่วยความจำระหว่างที่อัดบันทึก">
+<!ENTITY performanceUI.toolbar.js-flamegraph "แผนภูมิเปลวไฟ JS">
+<!ENTITY performanceUI.toolbar.js-flamegraph.tooltiptext "แสดงสแตกการเรียก JavaScript ระหว่างที่อัดบันทึก">
+<!ENTITY performanceUI.toolbar.memory-flamegraph "แผนภูมิเปลวไฟการจัดสรร">
+
+<!-- LOCALIZATION NOTE (performanceUI.table.*): These strings are displayed
+ - in the call tree headers for a recording. -->
+<!ENTITY performanceUI.table.totalDuration "เวลารวม">
+<!ENTITY performanceUI.table.totalDuration.tooltip "จำนวนเวลาที่ใช้กับฟังก์ชันนี้และฟังก์ชันอื่น ๆ ที่เรียก">
+<!ENTITY performanceUI.table.selfDuration "เวลาเฉพาะส่วน">
+<!ENTITY performanceUI.table.selfDuration.tooltip "จำนวนเวลาที่ใช้กับเฉพาะฟังก์ชันนี้">
+<!ENTITY performanceUI.table.totalPercentage "ต้นทุนรวม">
+<!ENTITY performanceUI.table.totalPercentage.tooltip "ร้อยละของเวลาที่ใช้กับฟังก์ชันนี้และฟังก์ชันอื่น ๆ ที่เรียก">
+<!ENTITY performanceUI.table.selfPercentage "ต้นทุนเฉพาะส่วน">
+<!ENTITY performanceUI.table.selfPercentage.tooltip "ร้อยละของเวลาที่ใช้กับฟังก์ชันนี้">
+<!ENTITY performanceUI.table.samples "ตัวอย่าง">
+<!ENTITY performanceUI.table.samples.tooltip "จำนวนครั้งที่ฟังก์ชันนี้อยู่บนสแตกเมื่อตัวเก็บประวัติสุ่มตัวอย่าง">
+<!ENTITY performanceUI.table.function "ฟังก์ชัน">
+<!ENTITY performanceUI.table.function.tooltip "ชื่อและตำแหน่งต้นทางของฟังก์ชันที่ถูกสุ่มตัวอย่าง">
+<!ENTITY performanceUI.table.totalAlloc "การจัดสรรที่ถูกสุ่มตัวอย่างรวม">
+<!ENTITY performanceUI.table.totalAlloc.tooltip "จำนวนการจัดสรรวัตถุที่ถูกสุ่มตัวอย่างรวมที่ตำแหน่งนี้และในตำแหน่งที่ถูกเรียก">
+
+<!-- LOCALIZATION NOTE (performanceUI.options.filter.tooltiptext): This string
+ - is displayed next to the filter button-->
+<!ENTITY performanceUI.options.filter.tooltiptext "เลือกข้อมูลที่จะแสดงผลในเส้นเวลา">
+
+<!-- LOCALIZATION NOTE (performanceUI.options.gear.tooltiptext): This is the
+ - tooltip for the options button. -->
+<!ENTITY performanceUI.options.gear.tooltiptext "กำหนดค่าค่ากำหนดประสิทธิภาพ">
+
+<!-- LOCALIZATION NOTE (performanceUI.invertTree): This is the label shown next to
+ - a checkbox that inverts and un-inverts the profiler's call tree. -->
+<!ENTITY performanceUI.invertTree "กลับแผนภูมิการเรียก">
+<!ENTITY performanceUI.invertTree.tooltiptext "การกลับแผนภูมิการเรียกจะแสดงผลเส้นทางการเรียกที่ถูกเก็บประวัติโดยเริ่มจากเฟรมที่ใหม่สุดไปยังเฟรมที่เก่าสุด">
+
+<!-- LOCALIZATION NOTE (performanceUI.invertFlameGraph): This is the label shown next to
+ - a checkbox that inverts and un-inverts the profiler's flame graph. -->
+<!ENTITY performanceUI.invertFlameGraph "กลับแผนภูมิเปลวไฟ">
+<!ENTITY performanceUI.invertFlameGraph.tooltiptext "การกลับแผนภูมิเปลวไฟจะแสดงผลเส้นทางการเรียกที่ถูกเก็บประวัติโดยเริ่มจากเฟรมที่ใหม่สุดไปยังเฟรมที่เก่าสุด">
+
+<!-- LOCALIZATION NOTE (performanceUI.showPlatformData): This is the
+ - label for the checkbox that toggles whether or not Gecko platform data
+ - is displayed in the profiler. -->
+<!ENTITY performanceUI.showPlatformData "แสดงข้อมูลแพลตฟอร์ม Gecko">
+<!ENTITY performanceUI.showPlatformData.tooltiptext "การแสดงข้อมูลแพลตฟอร์มจะให้รายงานตัวเก็บประวัติ JavaScript รวมสัญลักษณ์ของแพลตฟอร์ม Gecko เข้าไปด้วย">
+
+<!-- LOCALIZATION NOTE (performanceUI.showJITOptimizations): This string
+ - is displayed next to a checkbox determining whether or not JIT optimization data
+ - should be displayed. -->
+<!ENTITY performanceUI.showJITOptimizations "แสดงการปรับ JIT ให้เหมาะสม">
+<!ENTITY performanceUI.showJITOptimizations.tooltiptext "แสดงข้อมูลการปรับ JIT ให้เหมาะสมที่ถูกสุ่มตัวอย่างในเฟรม JavaScript แต่ละเฟรม">
+
+<!-- LOCALIZATION NOTE (performanceUI.flattenTreeRecursion): This is the
+ - label for the checkbox that toggles the flattening of tree recursion in inspected
+ - functions in the profiler. -->
+<!ENTITY performanceUI.flattenTreeRecursion "ลดรูปแบบโครงสร้างการเวียนแผนภูมิซ้ำ">
+<!ENTITY performanceUI.flattenTreeRecursion.tooltiptext "ลดรูปแบบโครงสร้างการเวียนซ้ำเมื่อตรวจสอบฟังก์ชัน">
+
+<!-- LOCALIZATION NOTE (performanceUI.enableMemory): This string
+ - is displayed next to a checkbox determining whether or not memory
+ - measurements are enabled. -->
+<!ENTITY performanceUI.enableMemory "อัดบันทึกการใช้หน่วยความจำ">
+<!ENTITY performanceUI.enableMemory.tooltiptext "อัดบันทึกการใช้หน่วยความจำขณะเก็บประวัติ">
+
+<!-- LOCALIZATION NOTE (performanceUI.enableAllocations): This string
+ - is displayed next to a checkbox determining whether or not allocation
+ - measurements are enabled. -->
+<!ENTITY performanceUI.enableAllocations "อัดบันทึกการจัดสรร">
+<!ENTITY performanceUI.enableAllocations.tooltiptext "อัดบันทึกการจัดสรรวัตถุขณะเก็บประวัติ">
+
+<!-- LOCALIZATION NOTE (performanceUI.enableFramerate): This string
+ - is displayed next to a checkbox determining whether or not framerate
+ - is recorded. -->
+<!ENTITY performanceUI.enableFramerate "อัดบันทึกอัตราเฟรม">
+<!ENTITY performanceUI.enableFramerate.tooltiptext "อัดบันทึกอัตราเฟรมขณะเก็บประวัติ">
+
+<!-- LOCALIZATION NOTE (performanceUI.console.recordingNoticeStart/recordingNoticeEnd):
+ - This string is displayed when a recording is selected that started via console.profile.
+ - Wraps the command used to start, like "Currently recording via console.profile("label")" -->
+<!ENTITY performanceUI.console.recordingNoticeStart "ขณะนี้กำลังอัดบันทึกผ่าน">
+<!ENTITY performanceUI.console.recordingNoticeEnd "">
+
+<!-- LOCALIZATION NOTE (performanceUI.console.stopCommandStart/stopCommandEnd):
+ - This string is displayed when a recording is selected that started via console.profile.
+ - Indicates how to stop the recording, wrapping the command, like
+ - "Stop recording by entering console.profileEnd("label") into the console." -->
+<!ENTITY performanceUI.console.stopCommandStart "หยุดการอัดบันทึกโดยการป้อน">
+<!ENTITY performanceUI.console.stopCommandEnd "ลงในคอนโซล">
diff --git a/l10n-th/devtools/client/performance.properties b/l10n-th/devtools/client/performance.properties
new file mode 100644
index 0000000000..e4d0e3b6b5
--- /dev/null
+++ b/l10n-th/devtools/client/performance.properties
@@ -0,0 +1,160 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.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 Performance Tools
+# which is available from the Web Developer sub-menu -> 'Performance'.
+# 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 (noRecordingsText): The text to display in the
+# recordings menu when there are no recorded profiles yet.
+noRecordingsText=ยังไม่มีโปรไฟล์
+
+# LOCALIZATION NOTE (recordingsList.itemLabel):
+# This string is displayed in the recordings list of the Performance Tools,
+# identifying a set of function calls. %S represents the number of recording,
+# iterating for every new recording, resulting in "Recording #1", "Recording #2", etc.
+recordingsList.itemLabel=การอัดบันทึก #%S
+
+# LOCALIZATION NOTE (recordingsList.recordingLabel):
+# This string is displayed in the recordings list of the Performance Tools,
+# for an item that has not finished recording.
+recordingsList.recordingLabel=ดำเนินการอยู่…
+
+# LOCALIZATION NOTE (recordingsList.loadingLabel):
+# This string is displayed in the recordings list of the Performance Tools,
+# for an item that is finished and is loading.
+recordingsList.loadingLabel=กำลังโหลด…
+
+# LOCALIZATION NOTE (recordingsList.durationLabel):
+# This string is displayed in the recordings list of the Performance Tools,
+# for an item that has finished recording.
+recordingsList.durationLabel=%S ms
+
+# LOCALIZATION NOTE (recordingsList.saveLabel):
+# This string is displayed in the recordings list of the Performance Tools,
+# for saving an item to disk.
+recordingsList.saveLabel=บันทึก
+
+# LOCALIZATION NOTE (graphs.fps):
+# This string is displayed in the framerate graph of the Performance Tools,
+# as the unit used to measure frames per second. This label should be kept
+# AS SHORT AS POSSIBLE so it doesn't obstruct important parts of the graph.
+graphs.fps=fps
+
+# LOCALIZATION NOTE (graphs.ms):
+# This string is displayed in the flamegraph of the Performance Tools,
+# as the unit used to measure time (in milliseconds). This label should be kept
+# AS SHORT AS POSSIBLE so it doesn't obstruct important parts of the graph.
+graphs.ms=ms
+
+# LOCALIZATION NOTE (graphs.memory):
+# This string is displayed in the memory graph of the Performance tool,
+# as the unit used to memory consumption. This label should be kept
+# AS SHORT AS POSSIBLE so it doesn't obstruct important parts of the graph.
+graphs.memory=MB
+
+# LOCALIZATION NOTE (category.*):
+# These strings are displayed in the categories graph of the Performance Tools,
+# as the legend for each block in every bar. These labels should be kept
+# AS SHORT AS POSSIBLE so they don't obstruct important parts of the graph.
+category.other=Gecko
+category.layout=เค้าโครง
+category.js=JIT
+category.gc=GC
+category.network=เครือข่าย
+category.graphics=กราฟิก
+category.dom=DOM
+category.idle=ว่าง
+category.tools=เครื่องมือ
+
+# LOCALIZATION NOTE (table.bytes):
+# This string is displayed in the call tree after bytesize units.
+# %S represents the value in bytes.
+table.bytes=%S B
+
+# LOCALIZATION NOTE (table.ms2):
+# This string is displayed in the call tree after units of time in milliseconds.
+# %S represents the value in milliseconds.
+table.ms2=%S ms
+
+# LOCALIZATION NOTE (table.percentage3):
+# This string is displayed in the call tree after units representing percentages.
+# %S represents the value in percentage with two decimal points, localized.
+# there are two "%" after %S to escape and display "%"
+table.percentage3=%S%%
+
+# LOCALIZATION NOTE (table.root):
+# This string is displayed in the call tree for the root node.
+table.root=(ราก)
+
+# LOCALIZATION NOTE (table.idle):
+# This string is displayed in the call tree for the idle blocks.
+table.idle=(ว่าง)
+
+# LOCALIZATION NOTE (table.url.tooltiptext):
+# This string is displayed in the call tree as the tooltip text for the url
+# labels which, when clicked, jump to the debugger.
+table.url.tooltiptext=ดูต้นฉบับในตัวดีบั๊ก
+
+# LOCALIZATION NOTE (table.view-optimizations.tooltiptext2):
+# This string is displayed in the icon displayed next to frames that
+# have optimization data
+table.view-optimizations.tooltiptext2=เฟรมมีข้อมูลการปรับ JIT ให้เหมาะสม
+
+# LOCALIZATION NOTE (recordingsList.importDialogTitle):
+# This string is displayed as a title for importing a recoring from disk.
+recordingsList.importDialogTitle=นำเข้าการอัดบันทึก…
+
+# LOCALIZATION NOTE (recordingsList.saveDialogTitle):
+# This string is displayed as a title for saving a recording to disk.
+recordingsList.saveDialogTitle=บันทึกการอัดบันทึก…
+
+# LOCALIZATION NOTE (recordingsList.saveDialogJSONFilter):
+# This string is displayed as a filter for saving a recording to disk.
+recordingsList.saveDialogJSONFilter=ไฟล์ JSON
+
+# LOCALIZATION NOTE (recordingsList.saveDialogAllFilter):
+# This string is displayed as a filter for saving a recording to disk.
+recordingsList.saveDialogAllFilter=ไฟล์ทั้งหมด
+
+# LOCALIZATION NOTE (timeline.tick):
+# This string is displayed in the timeline overview, for delimiting ticks
+# by time, in milliseconds.
+timeline.tick=%S ms
+
+# LOCALIZATION NOTE (timeline.records):
+# This string is displayed in the timeline waterfall, as a title for the menu.
+timeline.records=การอัดบันทึก
+
+# LOCALIZATION NOTE (profiler.bufferFull):
+# This string is displayed when recording, indicating how much of the
+# buffer is currently be used.
+# %S is the percentage of the buffer used -- there are two "%"s after to escape
+# the % that is actually displayed.
+# Example: "Buffer 54% full"
+profiler.bufferFull=บัฟเฟอร์เต็มแล้ว %S%%
+
+# LOCALIZATION NOTE (recordings.start):
+# The label shown on the main recording buttons to start recording.
+recordings.start=เริ่มการอัดบันทึกประสิทธิภาพ
+
+# LOCALIZATION NOTE (recordings.stop):
+# The label shown on the main recording buttons to stop recording.
+recordings.stop=หยุดการอัดบันทึกประสิทธิภาพ
+
+# LOCALIZATION NOTE (recordings.start.tooltip):
+# This string is displayed as a tooltip on a button that starts a new profile.
+recordings.start.tooltip=เปิด/ปิดสถานะการอัดบันทึกของการอัดบันทึกประสิทธิภาพ
+
+# LOCALIZATION NOTE (recordings.import.tooltip):
+# This string is displayed on a button that opens a dialog to import a saved profile data file.
+recordings.import.tooltip=นำเข้า…
+
+# LOCALIZATION NOTE (recordings.clear.tooltip):
+# This string is displayed on a button that removes all the recordings.
+recordings.clear.tooltip=ล้าง
diff --git a/l10n-th/devtools/client/perftools.ftl b/l10n-th/devtools/client/perftools.ftl
new file mode 100644
index 0000000000..d264c12ddd
--- /dev/null
+++ b/l10n-th/devtools/client/perftools.ftl
@@ -0,0 +1,63 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+
+### These strings are used in DevTools’ performance-new panel, about:profiling, and
+### the remote profiling panel. There are additional profiler strings in the appmenu.ftl
+### file that are used for the profiler popup.
+
+perftools-intro-title = การตั้งค่า Profiler
+
+## All of the headings for the various sections.
+
+perftools-heading-settings = การตั้งค่าแบบเต็ม
+perftools-heading-buffer = การตั้งค่าบัฟเฟอร์
+perftools-heading-features = คุณลักษณะ
+perftools-heading-features-default = คุณสมบัติ (แนะนำโดยค่าเริ่มต้น)
+perftools-heading-features-disabled = คุณสมบัติที่ปิดใช้งาน
+perftools-heading-features-experimental = การทดลอง
+
+##
+
+
+## The controls for the interval at which the profiler samples the code.
+
+perftools-range-interval-label = ช่วงการสุ่มตัวอย่าง:
+perftools-range-interval-milliseconds = { NUMBER($interval, maxFractionalUnits: 2) } มิลลิวินาที
+
+##
+
+# The size of the memory buffer used to store things in the profiler.
+perftools-range-entries-label = ขนาดบัฟเฟอร์:
+perftools-custom-threads-label = เพิ่มหัวข้อที่กำหนดเองตามชื่อ:
+perftools-devtools-interval-label = ช่วงเวลา:
+perftools-devtools-settings-label = การตั้งค่า
+
+## Various statuses that affect the current state of profiling, not typically displayed.
+
+perftools-status-recording-stopped-by-another-tool = การบันทึกถูกหยุดโดยเครื่องมืออื่น
+perftools-status-restart-required = ต้องเริ่มการทำงานเบราว์เซอร์ใหม่เพื่อเปิดใช้งานคุณลักษณะนี้
+
+## These are shown briefly when the user is waiting for the profiler to respond.
+
+perftools-request-to-stop-profiler = กำลังหยุดการบันทึก
+perftools-request-to-get-profile-and-stop-profiler = กำลังจับโปรไฟล์
+
+##
+
+perftools-button-start-recording = เริ่มการบันทึก
+perftools-button-cancel-recording = ยกเลิกการบันทึก
+perftools-button-save-settings = บันทึกการตั้งค่าและย้อนกลับ
+perftools-button-restart = เริ่มการทำงานใหม่
+perftools-button-add-directory = เพิ่มไดเร็กทอรี
+perftools-button-remove-directory = เอาที่เลือกออก
+perftools-button-edit-settings = แก้ไขการตั้งค่า…
+
+## These messages are descriptions of the threads that can be enabled for the profiler.
+
+perftools-thread-img-decoder =
+ .title = เธรดการถอดรหัสรูปภาพ
+
+##
+
diff --git a/l10n-th/devtools/client/responsive.properties b/l10n-th/devtools/client/responsive.properties
new file mode 100644
index 0000000000..53b68f06e3
--- /dev/null
+++ b/l10n-th/devtools/client/responsive.properties
@@ -0,0 +1,173 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE These strings are used inside the Responsive Design Mode,
+# available from the Web Developer sub-menu -> 'Responsive Design Mode'.
+#
+# The correct localization of this file might be to keep it in
+# English, or another language commonly spoken among web developers.
+# You want to make that choice consistent across the developer tools.
+# A good criteria is the language in which you'd find the best
+# documentation on web development on the web.
+
+# LOCALIZATION NOTE (responsive.editDeviceList2): Context menu item displayed in the
+# device selector.
+responsive.editDeviceList2=แก้ไขรายการ…
+
+# LOCALIZATION NOTE (responsive.exit): Tooltip text of the exit button.
+responsive.exit=ปิดโหมดการออกแบบเชิงตอบสนอง
+
+# LOCALIZATION NOTE (responsive.rotate): Tooltip text of the rotate button.
+responsive.rotate=หมุนมุมมองพื้นที่ทำงาน
+
+# LOCALIZATION NOTE (responsive.responsiveMode): Placeholder text for the
+# device selector.
+responsive.responsiveMode=เชิงตอบสนอง
+
+# LOCALIZATION NOTE (responsive.enableTouch): Tooltip text for the touch
+# simulation button when it's disabled.
+responsive.enableTouch=เปิดใช้งานการจำลองการสัมผัส
+
+# LOCALIZATION NOTE (responsive.disableTouch): Tooltip text for the touch
+# simulation button when it's enabled.
+responsive.disableTouch=ปิดใช้งานการจำลองการสัมผัส
+
+# LOCALIZATION NOTE (responsive.screenshot): Tooltip of the screenshot button.
+responsive.screenshot=จับภาพหน้าจอของมุมมองพื้นที่ทำงาน
+
+# LOCALIZATION NOTE (responsive.screenshotGeneratedFilename): The auto generated
+# filename.
+# The first argument (%1$S) is the date string in yyyy-mm-dd format and the
+# second argument (%2$S) is the time string in HH.MM.SS format.
+responsive.screenshotGeneratedFilename=ภาพหน้าจอ %1$S ที่ %2$S
+
+# LOCALIZATION NOTE (responsive.remoteOnly): Message displayed in the tab's
+# notification box if a user tries to open Responsive Design Mode in a
+# non-remote tab.
+responsive.remoteOnly=โหมดออกแบบเชิงตอบสนองพร้อมใช้งานสำหรับเฉพาะแบบเบราว์เซอร์ระยะไกลเท่านั้น เช่น แท็บเหล่านั้นที่ใช้สำหรับเนื้อหาเว็บใน Firefox แบบหลายโปรเซส
+
+# LOCALIZATION NOTE (responsive.changeDevicePixelRatio): Tooltip for the
+# device pixel ratio dropdown when is enabled.
+responsive.changeDevicePixelRatio=เปลี่ยนอัตราส่วนพิกเซลของอุปกรณ์ของมุมมองพื้นที่ทำงาน
+
+# LOCALIZATION NOTE (responsive.devicePixelRatio.auto): Tooltip for the device pixel ratio
+# dropdown when it is disabled because a device is selected.
+# The argument (%1$S) is the selected device (e.g. iPhone 6) that set
+# automatically the device pixel ratio value.
+responsive.devicePixelRatio.auto=อัตราส่วนพิกเซลของอุปกรณ์ถูกตั้งค่าเป็น %1$S โดยอัตโนมัติ
+
+# LOCALIZATION NOTE (responsive.customDeviceName): Default value in a form to
+# add a custom device based on an arbitrary size (no association to an existing
+# device).
+responsive.customDeviceName=อุปกรณ์ที่กำหนดเอง
+
+# LOCALIZATION NOTE (responsive.customDeviceNameFromBase): Default value in a
+# form to add a custom device based on the properties of another. %1$S is the
+# name of the device we're staring from, such as "Apple iPhone 6".
+responsive.customDeviceNameFromBase=%1$S (กำหนดเอง)
+
+# LOCALIZATION NOTE (responsive.addDevice2): Button text that reveals a form to
+# be used for adding custom devices.
+responsive.addDevice2=เพิ่มอุปกรณ์ที่กำหนดเอง…
+
+# LOCALIZATION NOTE (responsive.deviceAdderName): Label of form field for the
+# name of a new device.
+responsive.deviceAdderName=ชื่อ
+
+# LOCALIZATION NOTE (responsive.deviceAdderSize): Label of form field for the
+# size of a new device.
+responsive.deviceAdderSize=ขนาด
+
+# LOCALIZATION NOTE (responsive.deviceAdderPixelRatio2): Label of form field for
+# the device pixel ratio of a new device.
+responsive.deviceAdderPixelRatio2=อัตราส่วนพิกเซลของอุปกรณ์
+
+# LOCALIZATION NOTE (responsive.deviceAdderUserAgent2): Label of form field for
+# the user agent of a new device.
+responsive.deviceAdderUserAgent2=สตริงตัวแทนผู้ใช้
+
+# LOCALIZATION NOTE (responsive.deviceAdderTouch2): Label of form field for the
+# touch input support of a new device.
+responsive.deviceAdderTouch2=หน้าจอสัมผัส
+
+# LOCALIZATION NOTE (responsive.deviceAdderSave): Button text that submits a
+# form to add a new device.
+responsive.deviceAdderSave=บันทึก
+
+# LOCALIZATION NOTE (responsive.deviceAdderCancel): Button text that cancels a
+# form to add a new device.
+responsive.deviceAdderCancel=ยกเลิก
+
+# LOCALIZATION NOTE (responsive.deviceDetails): Tooltip that appears when
+# hovering on a device in the device modal. %1$S is the width of the device.
+# %2$S is the height of the device. %3$S is the device pixel ratio value of the
+# device. %4$S is the user agent of the device. %5$S is a boolean value
+# noting whether touch input is supported.
+responsive.deviceDetails=ขนาด: %1$S x %2$S\nDPR: %3$S\nUA: %4$S\nสัมผัส: %5$S
+
+# LOCALIZATION NOTE (responsive.deviceDetails.browserAndOS): Used to display the browser
+# and the OS in a tooltip that appears when hovering on a device in the device modal.
+# %1$S: browser
+# %2$S: OS
+responsive.deviceDetails.browserAndOS=%1$S บน %2$S
+
+# LOCALIZATION NOTE (responsive.deviceDetails.size): Used to display the pixel
+# size in a tooltip that appears when hovering on a device in the device modal.
+# %1$S: width
+# %2$S: height
+responsive.deviceDetails.size=ขนาด: %1$S x %2$S
+
+# LOCALIZATION NOTE (responsive.deviceDetails.DPR): Used to display the DPR in a tooltip
+# that appears when hovering on a device in the device modal.
+# %1$S: device pixel ratio
+responsive.deviceDetails.DPR=DPR: %1$S
+
+# LOCALIZATION NOTE (responsive.deviceDetails.UA): Used to display the UA in a tooltip
+# that appears when hovering on a device in the device modal.
+# %1$S: user agent
+responsive.deviceDetails.UA=UA: %1$S
+
+# LOCALIZATION NOTE (responsive.deviceDetails.touch): Used to display a boolean value
+# which is whether the touch input is supported or not in a tooltip that appears when
+# hovering on a device in the device modal.
+# %1$S: touch
+responsive.deviceDetails.touch=อุปกรณ์สัมผัส: %1$S
+
+# LOCALIZATION NOTE (responsive.devicePixelRatioOption): UI option in a menu to configure
+# the device pixel ratio. %1$S is the devicePixelRatio value of the device.
+responsive.devicePixelRatioOption=DPR: %1$S
+
+# LOCALIZATION NOTE (responsive.reloadConditions.touchSimulation): Label on checkbox used
+# to select whether to reload when touch simulation is toggled.
+responsive.reloadConditions.touchSimulation=โหลดใหม่เมื่อเปิด/ปิดการจำลองการสัมผัส
+
+# LOCALIZATION NOTE (responsive.reloadConditions.userAgent): Label on checkbox used
+# to select whether to reload when user agent is changed.
+responsive.reloadConditions.userAgent=โหลดใหม่เมื่อตัวแทนผู้ใช้ถูกเปลี่ยน
+
+# LOCALIZATION NOTE (responsive.reloadNotification.description2): Text in notification bar
+# shown on first open to clarify that some features need a reload to apply.
+responsive.reloadNotification.description2=การเปลี่ยนแปลงการจำลองอุปกรณ์จำเป็นต้องให้โหลดใหม่เพื่อให้นำไปใช้ได้อย่างเต็มรูปแบบ การโหลดใหม่อัตโนมัติถูกปิดใช้งานตามค่าเริ่มต้นเพื่อป้องกันการสูญเสียการเปลี่ยนแปลงใด ๆ ใน DevTools คุณสามารถเปิดใช้งานการโหลดใหม่ได้ผ่านเมนู การตั้งค่า
+
+# LOCALIZATION NOTE (responsive.leftAlignViewport): Label on checkbox used in the settings
+# menu.
+responsive.leftAlignViewport=จัดมุมมองพื้นที่ทำงานแบบชิดซ้าย
+
+# LOCALIZATION NOTE (responsive.customUserAgent): This is the placeholder for the user
+# agent input in the responsive design mode toolbar.
+responsive.customUserAgent=ตัวแทนผู้ใช้ที่กำหนดเอง
+
+responsive.showUserAgentInput=แสดงตัวแทนผู้ใช้
+
+# LOCALIZATION NOTE (responsive.deviceSettings): The header text for the device settings
+# view.
+responsive.deviceSettings=การตั้งค่าอุปกรณ์
+
+# LOCALIZATION NOTE (responsive.deviceNameAlreadyInUse): This is the text shown when adding a new
+# device with an already existing device name.
+responsive.deviceNameAlreadyInUse=มีการใช้ชื่ออุปกรณ์อยู่แล้ว
+
+# LOCALIZATION NOTE (responsive.deviceFormUpdate): Button text that updates a custom
+# device when the form is submitted.
+responsive.deviceFormUpdate=อัปเดต
diff --git a/l10n-th/devtools/client/shared.properties b/l10n-th/devtools/client/shared.properties
new file mode 100644
index 0000000000..9f7fce1cf5
--- /dev/null
+++ b/l10n-th/devtools/client/shared.properties
@@ -0,0 +1,26 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE (dimensions): This is used to display the dimensions
+# of a node or image, like 100×200.
+dimensions=%S\u00D7%S
+
+# LOCALIZATION NOTE (boxModelSize.accessibleLabel): This is used to read the
+# dimensions of a node by a screen reader. This helps communicate
+# the visual information in a more explicit form. Example:
+# Size: Width 100, height 200.
+boxModelSize.accessibleLabel=ขนาด: ความกว้าง %1$S, ความสูง %2$S
+
+# LOCALIZATION NOTE (boxModelInfo.accessibleLabel): This is used to read the
+# dimensions and position of a node by a screen reader. This helps communicate
+# the visual information in a more explicit form. Example:
+# Dimensions: Width 100, height 200, position static.
+boxModelInfo.accessibleLabel=มิติ: ความกว้าง %1$S, ความสูง %2$S, ตำแหน่ง %3$S
+
+# LOCALIZATION NOTE (boxModelEditable.accessibleLabel): The string spoken by
+# screen readers for each button in the box model view that opens that property
+# for editing. %1$S is the property displayed in the tooltip when hovering.
+# %2$S is the value that is visually displayed.
+# Example: margin-left: 0.
+boxModelEditable.accessibleLabel=%1$S: %2$S
diff --git a/l10n-th/devtools/client/sourceeditor.dtd b/l10n-th/devtools/client/sourceeditor.dtd
new file mode 100644
index 0000000000..aebaf3ece3
--- /dev/null
+++ b/l10n-th/devtools/client/sourceeditor.dtd
@@ -0,0 +1,22 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!-- LOCALIZATION NOTE : FILE This file contains the Source Editor component
+ - strings. The source editor component is used within the Scratchpad and
+ - Style Editor tools. -->
+
+<!-- LOCALIZATION NOTE : FILE This file contains the Source Editor component
+ - strings. The source editor component is used within the Style Editor. -->
+
+<!-- LOCALIZATION NOTE : FILE Do not translate commandkeys -->
+
+<!-- LOCALIZATION NOTE : FILE The correct localization of this file might be to
+ - keep it in English, or another language commonly spoken among web developers.
+ - You want to make that choice consistent across the developer tools.
+ - A good criteria is the language in which you'd find the best
+ - documentation on web development on the web. -->
+
+<!ENTITY gotoLineCmd.label "กระโดดไปบรรทัดที่…">
+<!ENTITY gotoLineCmd.key "J">
+<!ENTITY gotoLineCmd.accesskey "ป">
diff --git a/l10n-th/devtools/client/sourceeditor.properties b/l10n-th/devtools/client/sourceeditor.properties
new file mode 100644
index 0000000000..b7a888c015
--- /dev/null
+++ b/l10n-th/devtools/client/sourceeditor.properties
@@ -0,0 +1,117 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE These strings are used inside the Source Editor component.
+# This component is used whenever source code is displayed for the purpose of
+# being edited, inside the Firefox developer tools - current examples are the
+# Scratchpad and the Style Editor tools.
+
+# LOCALIZATION NOTE These strings are used inside the Source Editor component.
+# This component is used whenever source code is displayed for the purpose of
+# being edited, inside the Firefox developer tools (like Style Editor).
+
+# LOCALIZATION NOTE The correct localization of this file might be to keep it
+# in English, or another language commonly spoken among web developers.
+# You want to make that choice consistent across the developer tools.
+# A good criteria is the language in which you'd find the best documentation
+# on web development on the web.
+
+# LOCALIZATION NOTE (findCmd.promptMessage): This is the message shown when
+# the user wants to search for a string in the code. You can
+# access this feature by pressing Ctrl-F on Windows/Linux or Cmd-F on Mac.
+findCmd.promptMessage=ค้นหา:
+
+# LOCALIZATION NOTE (gotoLineCmd.promptTitle): This is the dialog title used
+# when the user wants to jump to a specific line number in the code. You can
+# access this feature by pressing Ctrl-J on Windows/Linux or Cmd-J on Mac.
+gotoLineCmd.promptTitle=ไปยังบรรทัดที่…
+
+# LOCALIZATION NOTE (autocompletion.docsLink): This is the text shown on
+# the link inside of the documentation popup. If you type 'document' in Scratchpad
+# then press Shift+Space you can see the popup.
+autocompletion.docsLink=docs
+
+# LOCALIZATION NOTE (autocompletion.notFound): This is the text shown in
+# the documentation popup if Tern fails to find a type for the object.
+autocompletion.notFound=ไม่พบ
+
+# LOCALIZATION NOTE (jumpToLine.commandkey): This is the key to use in
+# conjunction with accel (Command on Mac or Ctrl on other platforms) to jump to
+# a specific line in the editor.
+jumpToLine.commandkey=J
+
+# LOCALIZATION NOTE (toggleComment.commandkey): This is the key to use in
+# conjunction with accel (Command on Mac or Ctrl on other platforms) to either
+# comment or uncomment selected lines in the editor.
+toggleComment.commandkey=/
+
+# LOCALIZATION NOTE (indentLess.commandkey): This is the key to use in
+# conjunction with accel (Command on Mac or Ctrl on other platforms) to reduce
+# indentation level in CodeMirror. However, its default value also used by
+# the Toolbox to switch between tools so we disable it.
+#
+# DO NOT translate this key without proper synchronization with toolbox.dtd.
+indentLess.commandkey=[
+
+# LOCALIZATION NOTE (indentMore.commandkey): This is the key to use in
+# conjunction with accel (Command on Mac or Ctrl on other platforms) to increase
+# indentation level in CodeMirror. However, its default value also used by
+# the Toolbox to switch between tools
+#
+# DO NOT translate this key without proper synchronization with toolbox.dtd.
+indentMore.commandkey=]
+
+# LOCALIZATION NOTE (moveLineUp.commandkey): This is the combination of keys
+# used to move the current line up.
+# Do not localize "Alt", "Up", or change the format of the string. These are key
+# identifiers, not messages displayed to the user.
+moveLineUp.commandkey=Alt-Up
+
+# LOCALIZATION NOTE (moveLineDown.commandkey): This is the combination of keys
+# used to move the current line up.
+# Do not localize "Alt", "Down", or change the format of the string. These are
+# key identifiers, not messages displayed to the user.
+moveLineDown.commandkey=Alt-Down
+
+# LOCALIZATION NOTE (autocompletion.commandkey): This is the key, used with
+# Ctrl, for code autocompletion.
+# Do not localize "Space", it's the key identifier, not a message displayed to
+# the user.
+autocompletion.commandkey=Space
+
+# LOCALIZATION NOTE (showInformation2.commandkey): This is the combination of
+# keys used to display more information, like type inference.
+# Do not localize "Shift", "Ctrl", "Space", or change the format of the string.
+# These are key identifiers, not messages displayed to the user.
+showInformation2.commandkey=Shift-Ctrl-Space
+
+# LOCALIZATION NOTE (find.key):
+# Key shortcut used to find the typed search
+# Do not localize "CmdOrCtrl", "F", or change the format of the string. These are
+# key identifiers, not messages displayed to the user.
+find.key=CmdOrCtrl+F
+
+# LOCALIZATION NOTE (replaceAll.key):
+# Key shortcut used to replace the content of the editor
+# Do not localize "Shift", "CmdOrCtrl", "F", or change the format of the string. These are
+# key identifiers, not messages displayed to the user.
+replaceAll.key=Shift+CmdOrCtrl+F
+
+# LOCALIZATION NOTE (replaceAllMac.key):
+# Key shortcut used to replace the content of the editor on Mac
+# Do not localize "Alt", "CmdOrCtrl", "F", or change the format of the string. These are
+# key identifiers, not messages displayed to the user.
+replaceAllMac.key=Alt+CmdOrCtrl+F
+
+# LOCALIZATION NOTE (findNext.key):
+# Key shortcut used to find again the typed search
+# Do not localize "CmdOrCtrl", "G", or change the format of the string. These are
+# key identifiers, not messages displayed to the user.
+findNext.key=CmdOrCtrl+G
+
+# LOCALIZATION NOTE (findPrev.key):
+# Key shortcut used to find the previous typed search
+# Do not localize "Shift", "CmdOrCtrl", "G", or change the format of the string. These are
+# key identifiers, not messages displayed to the user.
+findPrev.key=Shift+CmdOrCtrl+G
diff --git a/l10n-th/devtools/client/startup.properties b/l10n-th/devtools/client/startup.properties
new file mode 100644
index 0000000000..d63b26dd24
--- /dev/null
+++ b/l10n-th/devtools/client/startup.properties
@@ -0,0 +1,253 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE (optionsButton.tooltip): This is used as the tooltip
+# for the options panel tab.
+optionsButton.tooltip=ตัวเลือกกล่องเครื่องมือ
+
+# LOCALIZATION NOTE (options.label): This is used as the label of the tab in
+# the devtools window.
+options.label=ตัวเลือก
+
+# LOCALIZATION NOTE (options.panelLabel): This is used as the label for the
+# toolbox panel.
+options.panelLabel=แผงตัวเลือกกล่องเครื่องมือ
+
+# LOCALIZATION NOTE (options.darkTheme.label2)
+# Used as a label for dark theme
+options.darkTheme.label2=มืด
+
+# LOCALIZATION NOTE (options.lightTheme.label2)
+# Used as a label for light theme
+options.lightTheme.label2=สว่าง
+
+# LOCALIZATION NOTE (performance.label):
+# This string is displayed in the title of the tab when the profiler is
+# displayed inside the developer tools window and in the Developer Tools Menu.
+performance.label=ประสิทธิภาพ
+
+# LOCALIZATION NOTE (performance.panelLabel):
+# This is used as the label for the toolbox panel.
+performance.panelLabel=แผงประสิทธิภาพ
+
+# LOCALIZATION NOTE (performance.accesskey)
+# Used for the menuitem in the tool menu
+performance.accesskey=ป
+
+# LOCALIZATION NOTE (performance.tooltip):
+# This string is displayed in the tooltip of the tab when the profiler is
+# displayed inside the developer tools window.
+# Keyboard shortcut for Performance Tools will be shown inside brackets.
+performance.tooltip=ประสิทธิภาพ (%S)
+
+# LOCALIZATION NOTE (MenuWebconsole.label): the string displayed in the Tools
+# menu as a shortcut to open the devtools with the Web Console tab selected.
+MenuWebconsole.label=คอนโซลเว็บ
+
+# LOCALIZATION NOTE (ToolboxTabWebconsole.label): the string displayed as the
+# label of the tab in the devtools window.
+ToolboxTabWebconsole.label=คอนโซล
+
+# LOCALIZATION NOTE (ToolboxWebConsole.panelLabel): the string used as the
+# label for the toolbox panel.
+ToolboxWebConsole.panelLabel=แผงคอนโซล
+
+# LOCALIZATION NOTE (ToolboxWebconsole.tooltip2): the string displayed in the
+# tooltip of the tab when the Web Console is displayed inside the developer
+# tools window.
+# Keyboard shortcut for Console will be shown inside the brackets.
+ToolboxWebconsole.tooltip2=คอนโซลเว็บ (%S)
+
+webConsoleCmd.accesskey=ค
+
+# LOCALIZATION NOTE (ToolboxDebugger.label):
+# This string is displayed in the title of the tab when the debugger is
+# displayed inside the developer tools window and in the Developer Tools Menu.
+ToolboxDebugger.label=ตัวดีบั๊ก
+
+# LOCALIZATION NOTE (ToolboxDebugger.panelLabel):
+# This is used as the label for the toolbox panel.
+ToolboxDebugger.panelLabel=แผงตัวดีบั๊ก
+
+# LOCALIZATION NOTE (ToolboxDebugger.tooltip4):
+# This string is displayed in the tooltip of the tab when the debugger is
+# displayed inside the developer tools window.
+ToolboxDebugger.tooltip4=ตัวดีบั๊ก JavaScript (%S)
+
+# LOCALIZATION NOTE (debuggerMenu.accesskey)
+# Used for the menuitem in the tool menu
+debuggerMenu.accesskey=ต
+
+# LOCALIZATION NOTE (ToolboxStyleEditor.label):
+# This string is displayed in the title of the tab when the style editor is
+# displayed inside the developer tools window and in the Developer Tools Menu.
+ToolboxStyleEditor.label=ตัวแก้ไขลักษณะ
+
+# LOCALIZATION NOTE (ToolboxStyleEditor.panelLabel):
+# This is used as the label for the toolbox panel.
+ToolboxStyleEditor.panelLabel=แผงตัวแก้ไขลักษณะ
+
+# LOCALIZATION NOTE (ToolboxStyleEditor.tooltip3):
+# This string is displayed in the tooltip of the tab when the style editor is
+# displayed inside the developer tools window.
+# A keyboard shortcut for Stylesheet Editor will be shown inside the latter pair of brackets.
+ToolboxStyleEditor.tooltip3=ตัวแก้ไขแผ่นลักษณะ (CSS) (%S)
+
+# LOCALIZATION NOTE (open.accesskey): The access key used to open the style
+# editor.
+open.accesskey=ว
+
+# LOCALIZATION NOTE (inspector.*)
+# Used for the menuitem in the tool menu
+inspector.label=ตัวตรวจสอบ
+inspector.accesskey=ร
+
+# LOCALIZATION NOTE (inspector.panelLabel)
+# Labels applied to the panel and views within the panel in the toolbox
+inspector.panelLabel=แผงตัวตรวจสอบ
+
+# LOCALIZATION NOTE (inspector.tooltip2)
+# Keyboard shortcut for DOM and Style Inspector will be shown inside brackets.
+inspector.tooltip2=ตัวตรวจสอบ DOM และลักษณะ (%S)
+
+# LOCALIZATION NOTE (inspector.mac.tooltip)
+# This is the exact same string as inspector.tooltip2, except that we show it
+# on mac only, where we support toggling the inspector with either cmd+shift+C,
+# or cmd+opt+C
+inspector.mac.tooltip=ตัวตรวจสอบ DOM และลักษณะ (%1$S หรือ %2$S)
+
+# LOCALIZATION NOTE (netmonitor.label):
+# This string is displayed in the title of the tab when the Network Monitor is
+# displayed inside the developer tools window and in the Developer Tools Menu.
+netmonitor.label=เครือข่าย
+
+# LOCALIZATION NOTE (netmonitor.panelLabel):
+# This is used as the label for the toolbox panel.
+netmonitor.panelLabel=แผงเครือข่าย
+
+# LOCALIZATION NOTE (netmonitor.accesskey)
+# Used for the menuitem in the tool menu
+netmonitor.accesskey=อ
+
+# LOCALIZATION NOTE (netmonitor.tooltip2):
+# This string is displayed in the tooltip of the tab when the Network Monitor is
+# displayed inside the developer tools window.
+# Keyboard shortcut for Network Monitor will be shown inside the brackets.
+netmonitor.tooltip2=ตัวเฝ้าสังเกตเครือข่าย (%S)
+
+# LOCALIZATION NOTE (storage.accesskey): The access key used to open the storage
+# editor.
+storage.accesskey=ท
+
+# LOCALIZATION NOTE (storage.label):
+# This string is displayed as the label of the tab in the developer tools window
+storage.label=ที่เก็บข้อมูล
+
+# LOCALIZATION NOTE (storage.menuLabel):
+# This string is displayed in the Tools menu as a shortcut to open the devtools
+# with the Storage Inspector tab selected.
+storage.menuLabel=ตัวตรวจสอบที่เก็บข้อมูล
+
+# LOCALIZATION NOTE (storage.panelLabel):
+# This string is used as the aria-label for the iframe of the Storage Inspector
+# tool in developer tools toolbox.
+storage.panelLabel=แผงที่เก็บข้อมูล
+
+# LOCALIZATION NOTE (storage.tooltip3):
+# This string is displayed in the tooltip of the tab when the storage editor is
+# displayed inside the developer tools window.
+# A keyboard shortcut for Storage Inspector will be shown inside the brackets.
+storage.tooltip3=ตัวตรวจสอบที่เก็บข้อมูล (คุกกี้, ที่เก็บข้อมูลในเครื่อง, …) (%S)
+
+# LOCALIZATION NOTE (memory.label): This string is displayed in the title of the
+# tab when the memory tool is displayed inside the developer tools window and in
+# the Developer Tools Menu.
+memory.label=หน่วยความจำ
+
+# LOCALIZATION NOTE (memory.panelLabel): This is used as the label for the
+# toolbox panel.
+memory.panelLabel=แผงหน่วยความจำ
+
+# LOCALIZATION NOTE (memory.tooltip): This string is displayed in the tooltip of
+# the tab when the memory tool is displayed inside the developer tools window.
+memory.tooltip=หน่วยความจำ
+
+# LOCALIZATION NOTE (dom.label):
+# This string is displayed in the title of the tab when the DOM panel is
+# displayed inside the developer tools window and in the Developer Tools Menu.
+dom.label=DOM
+
+# LOCALIZATION NOTE (dom.panelLabel):
+# This is used as the label for the toolbox panel.
+dom.panelLabel=แผง DOM
+
+# LOCALIZATION NOTE (dom.accesskey)
+# Used for the menuitem in the tool menu
+dom.accesskey=D
+
+# LOCALIZATION NOTE (dom.tooltip):
+# This string is displayed in the tooltip of the tab when the DOM is
+# displayed inside the developer tools window.
+# Keyboard shortcut for DOM panel will be shown inside the brackets.
+dom.tooltip=DOM (%S)
+
+# LOCALIZATION NOTE (accessibility.label):
+# This string is displayed in the title of the tab when the Accessibility panel
+# is displayed inside the developer tools window and in the Developer Tools Menu.
+accessibility.label=การช่วยการเข้าถึง
+
+# LOCALIZATION NOTE (accessibility.panelLabel):
+# This is used as the label for the toolbox panel.
+accessibility.panelLabel=แผงการช่วยการเข้าถึง
+
+# LOCALIZATION NOTE (accessibility.accesskey)
+# Used for the menuitem in the tool menu
+accessibility.accesskey=ก
+
+# LOCALIZATION NOTE (accessibility.tooltip3):
+# This string is displayed in the tooltip of the tab when the Accessibility is
+# displayed inside the developer tools window.
+# Keyboard shortcut for Accessibility panel will be shown inside the brackets.
+accessibility.tooltip3=การช่วยการเข้าถึง (%S)
+
+# LOCALIZATION NOTE (application.label):
+# This string is displayed in the title of the tab when the Application panel
+# is displayed inside the developer tools window and in the Developer Tools Menu.
+application.label=แอปพลิเคชัน
+
+# LOCALIZATION NOTE (application.panelLabel):
+# This is used as the label for the toolbox panel.
+application.panelLabel=แผงแอปพลิเคชัน
+
+# LOCALIZATION NOTE (application.tooltip):
+# This string is displayed in the tooltip of the tab when the Application panel is
+# displayed inside the developer tools window.
+application.tooltip=แผงแอปพลิเคชัน
+
+# LOCALIZATION NOTE (toolbox.buttons.responsive):
+# This is the tooltip of the button in the toolbox toolbar that toggles
+# the Responsive mode.
+# Keyboard shortcut will be shown inside brackets.
+toolbox.buttons.responsive = โหมดการออกแบบเชิงตอบสนอง (%S)
+
+# LOCALIZATION NOTE (toolbox.buttons.paintflashing):
+# This is the tooltip of the paintflashing button in the toolbox toolbar
+# that toggles paintflashing.
+toolbox.buttons.paintflashing = เปิด/ปิดการแฟลชการวาด
+
+# LOCALIZATION NOTE (toolbox.buttons.screenshot):
+# This is the tooltip of the button in the toolbox toolbar that allows you to
+# take a screenshot of the entire page
+toolbox.buttons.screenshot = จับภาพหน้าจอทั้งหน้า
+
+# LOCALIZATION NOTE (toolbox.buttons.rulers):
+# This is the tooltip of the button in the toolbox toolbar that toggles the
+# rulers in the page
+toolbox.buttons.rulers = เปิด/ปิดไม้บรรทัดสำหรับหน้า
+
+# LOCALIZATION NOTE (toolbox.buttons.measure):
+# This is the tooltip of the button in the toolbox toolbar that toggles the
+# measuring tools
+toolbox.buttons.measure = วัดส่วนของหน้า
+
diff --git a/l10n-th/devtools/client/storage.dtd b/l10n-th/devtools/client/storage.dtd
new file mode 100644
index 0000000000..962de6f675
--- /dev/null
+++ b/l10n-th/devtools/client/storage.dtd
@@ -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/. -->
+
+<!-- LOCALIZATION NOTE : This file contains the Storage Inspector strings. -->
+
+<!-- LOCALIZATION NOTE : Placeholder for the searchbox that allows you to filter the table items. -->
+<!ENTITY searchBox.placeholder "กรองรายการ">
+
+<!-- LOCALIZATION NOTE : Label of popup menu action to delete all storage items. -->
+<!ENTITY storage.popupMenu.deleteAllLabel "ลบทั้งหมด">
+
+<!-- LOCALIZATION NOTE : Label of popup menu action to delete all session cookies. -->
+<!ENTITY storage.popupMenu.deleteAllSessionCookiesLabel "ลบคุกกี้ในวาระทั้งหมด">
+
+<!-- LOCALIZATION NOTE : Label of popup menu action to copy a storage item. -->
+<!ENTITY storage.popupMenu.copyLabel "คัดลอก">
diff --git a/l10n-th/devtools/client/storage.ftl b/l10n-th/devtools/client/storage.ftl
new file mode 100644
index 0000000000..fe9004654e
--- /dev/null
+++ b/l10n-th/devtools/client/storage.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/.
+
+
+### These strings are used inside the Storage Inspector.
+
+# Hint shown when the selected storage host does not contain any data
+storage-table-empty-text = ไม่มีข้อมูลปรากฏสำหรับโฮสต์ที่เลือก
+
+# Hint shown when the cookies storage type is selected. Clicking the link will open
+# https://developer.mozilla.org/docs/Tools/Storage_Inspector/Cookies
+storage-table-type-cookies-hint = ดูและแก้ไขคุกกี้โดยเลือกโฮสต์ <a data-l10n-name="learn-more-link">เรียนรู้เพิ่มเติม</a>
+
+# Hint shown when the local storage type is selected. Clicking the link will open
+# https://developer.mozilla.org/docs/Tools/Storage_Inspector/Local_Storage_Session_Storage
+storage-table-type-localstorage-hint = ดูและแก้ไขที่เก็บภายในเครื่องโดยเลือกโฮสต์ <a data-l10n-name="learn-more-link">เรียนรู้เพิ่มเติม</a>
+
+# Hint shown when the session storage type is selected. Clicking the link will open
+# https://developer.mozilla.org/docs/Tools/Storage_Inspector/Local_Storage_Session_Storage
+storage-table-type-sessionstorage-hint = ดูและแก้ไขที่เก็บวาระโดยเลือกโฮสต์ <a data-l10n-name="learn-more-link">เรียนรู้เพิ่มเติม</a>
+
+# Hint shown when the IndexedDB storage type is selected. Clicking the link will open
+# https://developer.mozilla.org/docs/Tools/Storage_Inspector/IndexedDB
+storage-table-type-indexeddb-hint = ดูและลบรายการ IndexedDB โดยเลือกฐานข้อมูล <a data-l10n-name="learn-more-link">เรียนรู้เพิ่มเติม</a>
+
+# Hint shown when the cache storage type is selected. Clicking the link will open
+# https://developer.mozilla.org/docs/Tools/Storage_Inspector/Cache_Storage
+storage-table-type-cache-hint = ดูและลบรายการที่เก็บแคชโดยเลือกที่เก็บ <a data-l10n-name="learn-more-link">เรียนรู้เพิ่มเติม</a>
+
+# Hint shown when the extension storage type is selected. Clicking the link will open
+# https://developer.mozilla.org/docs/Tools/Storage_Inspector/Extension_Storage
+storage-table-type-extensionstorage-hint = ดูและแก้ไขที่เก็บส่วนขยายโดยเลือกโฮสต์ <a data-l10n-name="learn-more-link">เรียนรู้เพิ่มเติม</a>
diff --git a/l10n-th/devtools/client/storage.properties b/l10n-th/devtools/client/storage.properties
new file mode 100644
index 0000000000..a9e31a2f86
--- /dev/null
+++ b/l10n-th/devtools/client/storage.properties
@@ -0,0 +1,104 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE These strings are used inside the Storage Editor tool.
+# LOCALIZATION NOTE The correct localization of this file might be to keep it
+# in English, or another language commonly spoken among web developers.
+# You want to make that choice consistent across the developer tools.
+# A good criteria is the language in which you'd find the best documentation
+# on web development on the web.
+
+# LOCALIZATION NOTE (storage.filter.key):
+# Key shortcut used to focus the filter box on top of the data view
+storage.filter.key=CmdOrCtrl+F
+
+# LOCALIZATION NOTE (tree.labels.*):
+# These strings are the labels for Storage type groups present in the Storage
+# Tree, like cookies, local storage etc.
+tree.labels.cookies=คุกกี้
+tree.labels.localStorage=ที่เก็บข้อมูลในเครื่อง
+tree.labels.sessionStorage=ที่เก็บข้อมูลวาระ
+tree.labels.indexedDB=Indexed DB
+tree.labels.Cache=ที่เก็บข้อมูลแคช
+
+tree.labels.extensionStorage=ที่เก็บข้อมูลส่วนขยาย
+
+# LOCALIZATION NOTE (table.headers.*.*):
+# These strings are the header names of the columns in the Storage Table for
+# each type of storage available through the Storage Tree to the side.
+table.headers.cookies.name=ชื่อ
+table.headers.cookies.value=ค่า
+
+table.headers.cookies.expires2=Expires / Max-Age
+table.headers.cookies.size=ขนาด
+table.headers.cookies.lastAccessed2=เข้าถึงล่าสุด
+table.headers.cookies.creationTime2=สร้างเมื่อ
+
+table.headers.Cache.status=สถานะ
+
+table.headers.indexedDB.uniqueKey=คีย์ที่ไม่ซ้ำกัน
+table.headers.indexedDB.name=กุญแจ
+table.headers.indexedDB.db=ชื่อฐานข้อมูล
+table.headers.indexedDB.storage=ที่เก็บข้อมูล
+table.headers.indexedDB.objectStore=ชื่อที่เก็บวัตถุ
+table.headers.indexedDB.value=ค่า
+table.headers.indexedDB.origin=ที่มา
+table.headers.indexedDB.version=รุ่น
+table.headers.indexedDB.objectStores=ที่เก็บวัตถุ
+table.headers.indexedDB.keyPath2=เส้นทางคีย์
+table.headers.indexedDB.autoIncrement=เพิ่มอัตโนมัติ
+table.headers.indexedDB.indexes=ดัชนี
+
+table.headers.extensionStorage.area=พื้นที่เก็บข้อมูล
+
+# LOCALIZATION NOTE (label.expires.session):
+# This string is displayed in the expires column when the cookie is Session
+# Cookie
+label.expires.session=วาระ
+
+# LOCALIZATION NOTE (storage.search.placeholder):
+# This is the placeholder text in the sidebar search box
+storage.search.placeholder=กรองค่า
+
+# LOCALIZATION NOTE (storage.data.label):
+# This is the heading displayed over the item value in the sidebar
+storage.data.label=ข้อมูล
+
+# LOCALIZATION NOTE (storage.parsedValue.label):
+# This is the heading displayed over the item parsed value in the sidebar
+storage.parsedValue.label=ค่าที่แยกวิเคราะห์
+
+# LOCALIZATION NOTE (storage.popupMenu.deleteLabel):
+# Label of popup menu action to delete storage item.
+storage.popupMenu.deleteLabel=ลบ “%S”
+
+# LOCALIZATION NOTE (storage.popupMenu.addItemLabel):
+# Label of popup menu action to add an item.
+storage.popupMenu.addItemLabel=เพิ่มรายการ
+
+# LOCALIZATION NOTE (storage.popupMenu.refreshItemLabel):
+# Label of popup menu action to refresh an item.
+storage.popupMenu.refreshItemLabel=เรียกรายการใหม่
+
+# LOCALIZATION NOTE (storage.popupMenu.deleteAllFromLabel):
+# Label of popup menu action to delete all storage items.
+storage.popupMenu.deleteAllFromLabel=ลบทั้งหมดจาก “%S”
+
+# LOCALIZATION NOTE (storage.idb.deleteBlocked):
+# Warning notification when IndexedDB database could not be deleted immediately.
+storage.idb.deleteBlocked=ฐานข้อมูล “%S” จะถูกลบหลังจากการเชื่อมต่อทั้งหมดถูกปิด
+
+# LOCALIZATION NOTE (storage.idb.deleteError):
+# Error notification when IndexedDB database could not be deleted.
+storage.idb.deleteError=ไม่สามารถลบฐานข้อมูล “%S”
+
+# LOCALIZATION NOTE (storage.expandPane):
+# This is the tooltip for the button that collapses the right panel in the
+# storage UI when the panel is closed.
+storage.expandPane=ขยายบานหน้าต่าง
+
+# LOCALIZATION NOTE (storage.collapsePane):
+# This is the tooltip for the button that collapses the right panel in the
+# storage UI when the panel is open.
+storage.collapsePane=ยุบบานหน้าต่าง
diff --git a/l10n-th/devtools/client/styleeditor.ftl b/l10n-th/devtools/client/styleeditor.ftl
new file mode 100644
index 0000000000..9cd753af5a
--- /dev/null
+++ b/l10n-th/devtools/client/styleeditor.ftl
@@ -0,0 +1,27 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+styleeditor-new-button =
+ .tooltiptext = สร้างและผนวกแผ่นลักษณะใหม่ไปยังเอกสาร
+ .accesskey = ห
+styleeditor-import-button =
+ .tooltiptext = นำเข้าและผนวกแผ่นลักษณะที่มีอยู่ไปยังเอกสาร
+ .accesskey = น
+styleeditor-visibility-toggle =
+ .tooltiptext = เปิด/ปิดการมองเห็นแผ่นลักษณะ
+ .accesskey = บ
+styleeditor-save-button = บันทึก
+ .tooltiptext = บันทึกแผ่นลักษณะนี้เป็นไฟล์
+ .accesskey = บ
+styleeditor-options-button =
+ .tooltiptext = ตัวเลือกตัวแก้ไขลักษณะ
+styleeditor-media-rules = กฎ @media
+styleeditor-editor-textbox =
+ .data-placeholder = พิมพ์ CSS ที่นี่
+styleeditor-no-stylesheet = หน้านี้ไม่มีแผ่นลักษณะ
+styleeditor-no-stylesheet-tip = บางทีคุณอาจต้องการ <a data-l10n-name="append-new-stylesheet">ผนวกแผ่นลักษณะใหม่</a>?
+styleeditor-open-link-new-tab =
+ .label = เปิดลิงก์ในแท็บใหม่
+styleeditor-copy-url =
+ .label = คัดลอก URL
diff --git a/l10n-th/devtools/client/styleeditor.properties b/l10n-th/devtools/client/styleeditor.properties
new file mode 100644
index 0000000000..a34769f8b0
--- /dev/null
+++ b/l10n-th/devtools/client/styleeditor.properties
@@ -0,0 +1,67 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE These strings are used inside the Style Editor.
+# LOCALIZATION NOTE The correct localization of this file might be to keep it
+# in English, or another language commonly spoken among web developers.
+# You want to make that choice consistent across the developer tools.
+# A good criteria is the language in which you'd find the best documentation
+# on web development on the web.
+
+# LOCALIZATION NOTE (inlineStyleSheet): This is the name used for an style sheet
+# that is declared inline in the <style> element. Shown in the stylesheets list.
+# the argument is the index (order) of the containing <style> element in the
+# document.
+inlineStyleSheet=<แผ่นลักษณะแบบอินไลน์ #%S>
+
+# LOCALIZATION NOTE (newStyleSheet): This is the default name for a new
+# user-created style sheet.
+newStyleSheet=แผ่นลักษณะใหม่ #%S
+
+# LOCALIZATION NOTE (ruleCount.label): Semicolon-separated list of plural forms.
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# This is shown in the style sheets list.
+# #1 rule.
+# example: 111 rules.
+ruleCount.label=#1 กฎ
+
+# LOCALIZATION NOTE (error-load): This is shown when loading fails.
+error-load=ไม่สามารถโหลดแผ่นลักษณะ
+
+# LOCALIZATION NOTE (error-save): This is shown when saving fails.
+error-save=ไม่สามารถบันทึกแผ่นลักษณะ
+
+# LOCALIZATION NOTE (importStyleSheet.title): This is the file picker title,
+# when you import a style sheet into the Style Editor.
+importStyleSheet.title=นำเข้าแผ่นลักษณะ
+
+# LOCALIZATION NOTE (importStyleSheet.filter): This is the *.css filter title
+importStyleSheet.filter=ไฟล์ CSS
+
+# LOCALIZATION NOTE (saveStyleSheet.title): This is the file picker title,
+# when you save a style sheet from the Style Editor.
+saveStyleSheet.title=บันทึกแผ่นลักษณะ
+
+# LOCALIZATION NOTE (saveStyleSheet.filter): This is the *.css filter title
+saveStyleSheet.filter=ไฟล์ CSS
+
+# LOCALIZATION NOTE (saveStyleSheet.commandkey): This the key to use in
+# conjunction with accel (Command on Mac or Ctrl on other platforms) to Save
+saveStyleSheet.commandkey=S
+
+# LOCALIZATION NOTE (showOriginalSources.label): This is the label on the context
+# menu item to toggle showing original sources in the editor.
+showOriginalSources.label=แสดงแหล่งต้นฉบับ
+
+# LOCALIZATION NOTE (showOriginalSources.accesskey): This is the access key for
+# the menu item to toggle showing original sources in the editor.
+showOriginalSources.accesskey=ส
+
+# LOCALIZATION NOTE (showMediaSidebar.label): This is the label on the context
+# menu item to toggle showing @media rule shortcuts in a sidebar.
+showMediaSidebar.label=แสดงแถบข้าง @media
+
+# LOCALIZATION NOTE (showMediaSidebar.accesskey): This is the access key for
+# the menu item to toggle showing the @media sidebar.
+showMediaSidebar.accesskey=ส
diff --git a/l10n-th/devtools/client/toolbox-options.ftl b/l10n-th/devtools/client/toolbox-options.ftl
new file mode 100644
index 0000000000..546e2ebdac
--- /dev/null
+++ b/l10n-th/devtools/client/toolbox-options.ftl
@@ -0,0 +1,138 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+
+### Localization for Developer Tools options
+
+
+## Default Developer Tools section
+
+# The heading
+options-select-default-tools-label = เครื่องมือนักพัฒนาเริ่มต้น
+
+# The label for the explanation of the * marker on a tool which is currently not supported
+# for the target of the toolbox.
+options-tool-not-supported-label = * ไม่รองรับในชุดเครื่องมือปัจจุบัน
+
+# The label for the heading of group of checkboxes corresponding to the developer tools
+# added by add-ons. This heading is hidden when there is no developer tool installed by add-ons.
+options-select-additional-tools-label = เครื่องมือนักพัฒนาที่ติดตั้งผ่านส่วนเสริม
+
+# The label for the heading of group of checkboxes corresponding to the default developer
+# tool buttons.
+options-select-enabled-toolbox-buttons-label = ปุ่มกล่องเครื่องมือที่มี
+
+# The label for the heading of the radiobox corresponding to the theme
+options-select-dev-tools-theme-label = ชุดตกแต่ง
+
+## Inspector section
+
+# The heading
+options-context-inspector = ตัวตรวจสอบ
+
+# The label for the checkbox option to show user agent styles
+options-show-user-agent-styles-label = แสดงลักษณะของเบราว์เซอร์
+options-show-user-agent-styles-tooltip =
+ .title = การเปิดสิ่งนี้จะแสดงลักษณะเริ่มต้นที่ถูกโหลดโดยเบราว์เซอร์
+
+# The label for the checkbox option to enable collapse attributes
+options-collapse-attrs-label = ตัดทอนแอตทริบิวต์ DOM
+options-collapse-attrs-tooltip =
+ .title = ตัดทอนแอตทริบิวต์แบบยาวในตัวตรวจสอบ
+
+## "Default Color Unit" options for the Inspector
+
+options-default-color-unit-label = หน่วยสีเริ่มต้น
+options-default-color-unit-authored = ตามหน่วยเดิม
+options-default-color-unit-hex = Hex
+options-default-color-unit-hsl = HSL(A)
+options-default-color-unit-rgb = RGB(A)
+options-default-color-unit-name = ชื่อสี
+
+## Style Editor section
+
+# The heading
+options-styleeditor-label = ตัวแก้ไขลักษณะ
+
+# The label for the checkbox that toggles autocompletion of css in the Style Editor
+options-stylesheet-autocompletion-label = เติมเต็ม CSS อัตโนมัติ
+options-stylesheet-autocompletion-tooltip =
+ .title = เติมเต็ม CSS อัตโนมัติ คุณสมบัติ ค่า และตัวเลือกในตัวแก้ไขสไตล์ตามที่คุณพิมพ์
+
+## Screenshot section
+
+# The heading
+options-screenshot-label = ลักษณะการทำงานของภาพหน้าจอ
+
+# Label for the checkbox that toggles screenshot to clipboard feature
+options-screenshot-clipboard-label = จับภาพหน้าจอไปยังคลิปบอร์ด
+options-screenshot-clipboard-tooltip =
+ .title = บันทึกไปที่ภาพหน้าจอโดยตรงไปยังคลิปบอร์ด
+
+# Label for the checkbox that toggles the camera shutter audio for screenshot tool
+options-screenshot-audio-label = เล่นเสียงชัตเตอร์กล้อง
+options-screenshot-audio-tooltip =
+ .title = เปิดใช้งานเสียงกล้องเมื่อถ่ายภาพหน้าจอ
+
+## Editor section
+
+# The heading
+options-sourceeditor-label = ค่ากำหนดตัวแก้ไข
+
+options-sourceeditor-detectindentation-tooltip =
+ .title = กะประมาณการเยื้องขึ้นอยู่กับเนื้อหาต้นฉบับ
+options-sourceeditor-detectindentation-label = ตรวจสอบการเยื้อง
+options-sourceeditor-autoclosebrackets-tooltip =
+ .title = ใส่วงเล็บปิดอัตโนมัติ
+options-sourceeditor-autoclosebrackets-label = ปิดวงเล็บอัตโนมัติ
+options-sourceeditor-expandtab-tooltip =
+ .title = ใช้ช่องว่างแทนอักขระแท็บ
+options-sourceeditor-expandtab-label = เยื้องโดยใช้ช่องว่าง
+options-sourceeditor-tabsize-label = ขนาดแท็บ
+options-sourceeditor-keybinding-label = ปุ่มลัด
+options-sourceeditor-keybinding-default-label = ค่าเริ่มต้น
+
+## Advanced section
+
+# The heading
+options-context-advanced-settings = การตั้งค่าขั้นสูง
+
+# The label for the checkbox that toggles the HTTP cache on or off
+options-disable-http-cache-label = ปิดใช้งานแคช HTTP (เมื่อกล่องเครื่องมือเปิดอยู่)
+options-disable-http-cache-tooltip =
+ .title = การเปิดตัวเลือกนี้จะเป็นการปิดการใช้งานแคช HTTP สำหรับแท็บทั้งหมดที่เปิดกล่องเครื่องมือ ตัวทำงานบริการจะไม่ได้รับผลกระทบจากตัวเลือกนี้
+
+# The label for checkbox that toggles JavaScript on or off
+options-disable-javascript-label = ปิดใช้งาน JavaScript *
+options-disable-javascript-tooltip =
+ .title = การเปิดใช้ตัวเลือกนี้จะปิดใช้งาน JavaScript ในแท็บปัจจุบัน ถ้าแท็บนี้ถูกปิดไป ค่าที่ตั้งนี้จะถูกล้าง
+
+# The label for checkbox that toggles chrome debugging, i.e. the devtools.chrome.enabled preference
+options-enable-chrome-label = เปิดใช้งานเบราว์เซอร์ chrome และกล่องเครื่องมือการดีบั๊กส่วนเสริม
+options-enable-chrome-tooltip =
+ .title = การเปิดตัวเลือกนี้จะช่วยให้คุณสามารถใช้เครื่องมือนักพัฒนาในบริบทของเบราว์เซอร์ได้ (ผ่าน เครื่องมือ > นักพัฒนาเว็บ > กล่องเครื่องมือเบราว์เซอร์) และดีบั๊กส่วนเสริมจากตัวจัดการส่วนเสริม
+
+# The label for checkbox that toggles remote debugging, i.e. the devtools.debugger.remote-enabled preference
+options-enable-remote-label = เปิดใช้งานการดีบั๊กระยะไกล
+options-enable-remote-tooltip2 =
+ .title = การเปิดตัวเลือกนี้จะอนุญาตให้สามารถดีบั๊กอินสแตนซ์เบราว์เซอร์นี้จากระยะไกลได้
+
+# The label for checkbox that toggles the service workers testing over HTTP on or off.
+options-enable-service-workers-http-label = เปิดใช้งานตัวทำงานบริการผ่าน HTTP (เมื่อกล่องเครื่องมือเปิดอยู่)
+options-enable-service-workers-http-tooltip =
+ .title = การเปิดตัวเลือกนี้จะเป็นการเปิดใช้งานตัวทำงานบริการผ่าน HTTP สำหรับแท็บทั้งหมดที่เปิดกล่องเครื่องมือ
+
+# The label for the checkbox that toggles source maps in all tools.
+options-source-maps-label = เปิดใช้งานการแมปต้นฉบับ
+options-source-maps-tooltip =
+ .title = หากคุณเปิดใช้งานตัวเลือกนี้ ต้นฉบับจะถูกแมปในเครื่องมือ
+
+# The message shown for settings that trigger page reload
+options-context-triggers-page-refresh = *เรียกหน้าเว็บใหม่เฉพาะวาระปัจจุบันเท่านั้น
+
+# The label for the checkbox that toggles the display of the platform data in the
+# Profiler i.e. devtools.profiler.ui.show-platform-data a boolean preference in about:config
+options-show-platform-data-label = แสดงข้อมูลแพลตฟอร์ม Gecko
+options-show-platform-data-tooltip =
+ .title = ถ้าคุณเปิดใช้งานตัวเลือกนี้ รายงานตัวเก็บประวัติ JavaScript จะรวมสัญลักษณ์ของ Gecko platform เข้าไปด้วย
diff --git a/l10n-th/devtools/client/toolbox.properties b/l10n-th/devtools/client/toolbox.properties
new file mode 100644
index 0000000000..4ea76c1736
--- /dev/null
+++ b/l10n-th/devtools/client/toolbox.properties
@@ -0,0 +1,281 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE (toolbox.titleTemplate1): This is the template
+# used to format the title of the toolbox.
+# The URL of the page being targeted: %1$S.
+toolbox.titleTemplate1=เครื่องมือนักพัฒนา - %1$S
+
+# LOCALIZATION NOTE (toolbox.titleTemplate2): This is the template
+# used to format the title of the toolbox.
+# The page title or other name for the thing being targeted: %1$S
+# The URL of the page being targeted: %2$S.
+toolbox.titleTemplate2=เครื่องมือนักพัฒนา - %1$S - %2$S
+
+# LOCALIZATION NOTE (toolbox.multiProcessBrowserToolboxTitle): Title used for
+# the Browser Toolbox when the pref `devtools.browsertoolbox.fission` is true.
+# This Browser Toolbox allows to debug the parent process as well as the content
+# processes in the same toolbox.
+toolbox.multiProcessBrowserToolboxTitle=กล่องเครื่องมือเบราว์เซอร์แบบหลายกระบวนการ
+
+# LOCALIZATION NOTE (toolbox.defaultTitle): This is used as the tool
+# name when no tool is selected.
+toolbox.defaultTitle=เครื่องมือนักพัฒนา
+
+# LOCALIZATION NOTE (toolbox.label): This is used as the label for the
+# toolbox as a whole
+toolbox.label=เครื่องมือนักพัฒนา
+
+# LOCALIZATION NOTE (options.toolNotSupportedMarker): This is the template
+# used to add a * marker to the label for the Options Panel tool checkbox for the
+# tool which is not supported for the current toolbox target.
+# The name of the tool: %1$S.
+options.toolNotSupportedMarker=%1$S *
+
+# LOCALIZATION NOTE (toolbox.pickButton.tooltip)
+# This is the tooltip of the element picker button in the toolbox toolbar.
+# %S is the keyboard shortcut that toggles the element picker.
+toolbox.elementPicker.tooltip=เลือกองค์ประกอบจากหน้า (%S)
+
+# LOCALIZATION NOTE (toolbox.pickButton.mac.tooltip)
+# Like toolbox.pickButton.tooltip, but for macOS there are two possible keyboard
+# shortcuts: Cmd+Shift+C or Cmd+Opt+C
+toolbox.elementPicker.mac.tooltip=เลือกองค์ประกอบจากหน้า (%1$S หรือ %2$S)
+
+# LOCALIZATION NOTE (toolbox.elementPicker.key)
+# Key shortcut used to toggle the element picker.
+toolbox.elementPicker.key=CmdOrCtrl+Shift+C
+
+# LOCALIZATION NOTE (toolbox.elementPicker.mac.key)
+# Key shortcut used to toggle the element picker for macOS.
+toolbox.elementPicker.mac.key=Cmd+Opt+C
+
+# LOCALIZATION NOTE (toolbox.noContentProcessForTab.message)
+# Used as a message in the alert displayed when trying to open a browser
+# content toolbox and there is no content process running for the current tab
+toolbox.noContentProcessForTab.message=ไม่มีโปรเซสเนื้อหาสำหรับแท็บนี้
+
+# LOCALIZATION NOTE (toolbox.viewCssSourceInStyleEditor.label)
+# Used as a message in either tooltips or contextual menu items to open the
+# corresponding URL as a css file in the Style-Editor tool.
+# DEV NOTE: Mostly used wherever toolbox.viewSourceInStyleEditorByXX is used.
+toolbox.viewCssSourceInStyleEditor.label=เปิดไฟล์ในตัวแก้ไขลักษณะ
+
+# LOCALIZATION NOTE (toolbox.viewJsSourceInDebugger.label)
+# Used as a message in either tooltips or contextual menu items to open the
+# corresponding URL as a js file in the Debugger tool.
+# DEV NOTE: Mostly used wherever toolbox.viewSourceInDebugger is used.
+toolbox.viewJsSourceInDebugger.label=เปิดไฟล์ในตัวดีบั๊ก
+
+toolbox.resumeOrderWarning=หน้าไม่ทำงานต่อหลังจากแนบตัวดีบั๊กแล้ว โปรดปิดแล้วเปิดกล่องเครื่องมือใหม่เพื่อแก้ไขปัญหานี้
+
+# LOCALIZATION NOTE (toolbox.help.key)
+# Key shortcut used to open the options panel
+toolbox.help.key=F1
+
+# LOCALIZATION NOTE (toolbox.nextTool.key)
+# Key shortcut used to select the next tool
+toolbox.nextTool.key=CmdOrCtrl+]
+
+# LOCALIZATION NOTE (toolbox.previousTool.key)
+# Key shortcut used to select the previous tool
+toolbox.previousTool.key=CmdOrCtrl+[
+
+# LOCALIZATION NOTE (toolbox.zoom*.key)
+# Key shortcuts used to zomm in/out or reset the toolbox
+# Should match fullZoom*Cmd.commandkey values from browser.dtd
+toolbox.zoomIn.key=CmdOrCtrl+Plus
+toolbox.zoomIn2.key=CmdOrCtrl+=
+
+toolbox.zoomOut.key=CmdOrCtrl+-
+toolbox.zoomOut2.key=
+
+toolbox.zoomReset.key=CmdOrCtrl+0
+toolbox.zoomReset2.key=
+
+# LOCALIZATION NOTE (toolbox.reload*.key)
+# Key shortcuts used to reload the page
+toolbox.reload.key=CmdOrCtrl+R
+toolbox.reload2.key=F5
+
+# LOCALIZATION NOTE (toolbox.forceReload*.key)
+# Key shortcuts used to force reload of the page by bypassing caches
+toolbox.forceReload.key=CmdOrCtrl+Shift+R
+toolbox.forceReload2.key=CmdOrCtrl+F5
+
+# LOCALIZATION NOTE (toolbox.toggleHost.key)
+# Key shortcut used to move the toolbox in bottom or side of the browser window
+toolbox.toggleHost.key=CmdOrCtrl+Shift+D
+
+# LOCALIZATION NOTE (toolbox.closeToolbox.key) Key shortcut used to close the toolbox
+toolbox.closeToolbox.key=CmdOrCtrl+W
+
+# LOCALIZATION NOTE (toolbox.toggleToolbox.key) Key shortcut used to toggle the toolbox
+toolbox.toggleToolbox.key=CmdOrCtrl+Shift+I
+
+# LOCALIZATION NOTE (toolbox.toggleToolboxOSX.key) Key shortcut used to toggle the toolbox
+toolbox.toggleToolboxOSX.key=CmdOrCtrl+Alt+I
+
+# LOCALIZATION NOTE (toolbox.toggleToolboxF12.key) Key shortcut used to toggle the toolbox
+toolbox.toggleToolboxF12.key=F12
+
+# LOCALIZATION NOTE (toolbox.frames.tooltip): This is the label for
+# the iframes menu list that appears only when the document has some.
+# It allows you to switch the context of the whole toolbox.
+toolbox.frames.tooltip=เลือก iframe เป็นเอกสารเป้าหมายในปัจจุบัน
+
+# LOCALIZATION NOTE (toolbox.frames.disabled.tooltip): This is the title
+# displayed as a tooltip of the iframes menu button, when disabled. The button
+# is normally hidden when no frames are available. But if the user is on the
+# DevTools Options panel, the button is always shown for discoverability.
+toolbox.frames.disabled.tooltip=ปุ่มนี้พร้อมใช้งานบนหน้าที่มีหลาย iframe เท่านั้น
+
+# LOCALIZATION NOTE (toolbox.showFrames.key)
+# Key shortcut used to show frames menu when 'frames' button is focused
+toolbox.showFrames.key=Alt+Down
+
+# LOCALIZATION NOTE (toolbox.meatballMenu.button.tooltip): This is the tooltip
+# for the "..." button on the developer tools toolbox.
+toolbox.meatballMenu.button.tooltip=ปรับแต่งเครื่องมือนักพัฒนาและรับความช่วยเหลือ
+
+# LOCALIZATION NOTE (toolbox.meatballMenu.dock.*.label): These labels are shown
+# in the "..." menu in the toolbox and represent the different arrangements for
+# docking (or undocking) the developer tools toolbox.
+toolbox.meatballMenu.dock.bottom.label=วางบนแท่นด้านล่าง
+toolbox.meatballMenu.dock.left.label=วางบนแท่นด้านซ้าย
+toolbox.meatballMenu.dock.right.label=วางบนแท่นด้านขวา
+toolbox.meatballMenu.dock.separateWindow.label=แยกหน้าต่าง
+
+# LOCALIZATION NOTE (toolbox.meatballMenu.{splitconsole,hideconsole}.label):
+# These are the labels in the "..." menu in the toolbox for toggling the split
+# console window.
+# The keyboard shortcut will be shown to the side of the label.
+toolbox.meatballMenu.splitconsole.label=แสดงคอนโซลแยก
+toolbox.meatballMenu.hideconsole.label=ซ่อนคอนโซลแยก
+
+# LOCALIZATION NOTE (toolbox.meatballMenu.noautohide.label): This is the label
+# in the "..." menu in the toolbox to force the popups/panels to stay visible on
+# blur.
+# This is only visible in the browser toolbox as it is meant for
+# addon developers and Firefox contributors.
+toolbox.meatballMenu.noautohide.label=ปิดใช้งานการซ่อนป๊อปอัปอัตโนมัติ
+
+# LOCALIZATION NOTE (toolbox.meatballMenu.settings.label): This is the label for
+# the item in the "..." menu in the toolbox that brings up the Settings
+# (Options) panel.
+# The keyboard shortcut will be shown to the side of the label.
+toolbox.meatballMenu.settings.label=การตั้งค่า
+
+# LOCALIZATION NOTE (toolbox.meatballMenu.documentation.label): This is the
+# label for the Documentation menu item.
+toolbox.meatballMenu.documentation.label=เอกสารประกอบ…
+
+# LOCALIZATION NOTE (toolbox.meatballMenu.community.label): This is the label
+# for the Community menu item.
+toolbox.meatballMenu.community.label=ชุมชน…
+
+# LOCALIZATION NOTE (toolbox.closebutton.tooltip): This is the tooltip for
+# the close button the developer tools toolbox.
+toolbox.closebutton.tooltip=ปิดเครื่องมือนักพัฒนา
+
+# LOCALIZATION NOTE (toolbox.errorCountButton.tooltip): This is the tooltip for
+# the error count button displayed in the developer tools toolbox.
+toolbox.errorCountButton.tooltip=แสดงคอนโซลแยก
+
+# LOCALIZATION NOTE (toolbox.sourceMapFailure): This is shown in the web console
+# when there is a failure to fetch or parse a source map.
+# The text of the error: %1$S
+# The URL that caused DevTools to try to fetch a source map: %2$S
+# The URL of the source map itself: %3$S
+toolbox.sourceMapFailure=ข้อผิดพลาดการแมปต้นฉบับ: %1$S\nURL ทรัพยากร: %2$S\nURL การแมปต้นฉบับ: %3$S
+
+# LOCALIZATION NOTE (toolbox.sourceMapSourceFailure): This is shown in
+# the web console when there is a failure to fetch or parse an
+# original source that was mentioned in a source map.
+# The text of the error: %1$S
+# The URL of the source: %2$S
+toolbox.sourceMapSourceFailure=เกิดข้อผิดพลาดขณะดึงข้อมูลต้นฉบับ: %1$S\nURL ต้นฉบับ: %2$S
+
+# LOCALIZATION NOTE (toolbox.debugTargetInfo.runtimeLabel): This is displayed as a toolbox
+# header in about:devtools-toolbox. about:devtools-toolbox is used for instance when
+# inspecting tabs in about:debugging.
+# e.g. Mozilla Fennec (65.0a1)
+# The name of runtime: %1$S
+# The version of runtime: %2$S
+toolbox.debugTargetInfo.runtimeLabel=%1$S (%2$S)
+
+# LOCALIZATION NOTE (toolbox.debugTargetInfo.runtimeLabel.thisFirefox): this is displayed
+# as a toolbox header in about:devtools-toolbox, when inspecting the current Firefox runtime
+# (for instance, when inspecting one of its tabs in about:debugging)
+# e.g. This Firefox (65.0a1)
+# The version of runtime: %S
+toolbox.debugTargetInfo.runtimeLabel.thisFirefox=Firefox นี้ (%S)
+
+# LOCALIZATION NOTE (toolbox.debugTargetInfo.tabTitleRemote):
+# Used as the tab title for about:devtools-toolbox when connected to a remote target.
+# The connection type (see toolbox.debugTargetInfo.connection.*): %1$S
+# The target type (see toolbox.debugTargetInfo.targetType.*): %2$S
+# The target name (retrieved from DevTools, eg the extension's name): %3$S
+toolbox.debugTargetInfo.tabTitleRemote=กล่องเครื่องมือ (%1$S) - %2$S / %3$S
+
+# LOCALIZATION NOTE (toolbox.debugTargetInfo.tabTitleLocal):
+# Used as the tab title for about:devtools-toolbox when connected to This Firefox.
+# The target type (see toolbox.debugTargetInfo.targetType.*): %1$S
+# The target name (retrieved from DevTools, eg the extension's name): %2$S
+toolbox.debugTargetInfo.tabTitleLocal=กล่องเครื่องมือ - %1$S / %2$S
+
+# LOCALIZATION NOTE (toolbox.debugTargetInfo.tabTitleError):
+# Used as the tab title for about:devtools-toolbox when it failed to connect to the
+# target.
+toolbox.debugTargetInfo.tabTitleError=กล่องเครื่องมือ - เกิดข้อผิดพลาด
+
+# LOCALIZATION NOTE (toolbox.debugTargetInfo.connection.*): This is displayed in the
+# toolbox header in about:devtools-toolbox, to indicate how the connection to the
+# runtime being inspected was made.
+toolbox.debugTargetInfo.connection.usb=USB
+toolbox.debugTargetInfo.connection.network=เครือข่าย
+
+# LOCALIZATION NOTE (toolbox.debugTargetInfo.reload):
+# Used as the reload button tooltip
+toolbox.debugTargetInfo.reload=โหลดใหม่
+
+# LOCALIZATION NOTE (toolbox.debugTargetInfo.forward):
+# Used as the navigation's "forward" button tooltip
+toolbox.debugTargetInfo.forward=เดินหน้า
+
+# LOCALIZATION NOTE (toolbox.debugTargetInfo.back):
+# Used as the navigation's "back" button tooltip
+toolbox.debugTargetInfo.back=ย้อนกลับ
+
+# LOCALIZATION NOTE (toolbox.debugTargetInfo.targetType.*): This is displayed as the
+# alt attribute for an icon in the toolbox header in about:devtools-toolbox,
+# to indicate what is the type of the debug target being inspected.
+toolbox.debugTargetInfo.targetType.extension=ส่วนขยาย
+toolbox.debugTargetInfo.targetType.process=กระบวนการ
+toolbox.debugTargetInfo.targetType.tab=แท็บ
+toolbox.debugTargetInfo.targetType.worker=ตัวทำงาน
+
+# LOCALIZATION NOTE (browserToolbox.statusMessage): This is the label
+# shown next to status details when the Browser Toolbox fails to connect or
+# appears to be taking a while to do so.
+browserToolbox.statusMessage=สถานะการเชื่อมต่อของกล่องเครื่องมือเบราว์เซอร์:
+
+# LOCALIZATION NOTE (toolbox.debugTargetErrorPage.title): This is the title
+# for the Error view shown by the toolbox when a connection to a debug target
+# could not be made
+toolbox.debugTargetErrorPage.title = ข้อผิดพลาด
+
+# LOCALIZATION NOTE (toolbox.debugTargetErrorPage.description): This is the
+# text that appears in the Error view and explains to the user that an error
+# has happened while trying to connect to a debug target
+toolbox.debugTargetErrorPage.description = ไม่สามารถเชื่อมต่อไปยังเป้าหมายการดีบั๊กได้ ดูรายละเอียดข้อผิดพลาดด้านล่างนี้:
+
+# LOCALIZATION NOTE (options.deprecationNotice): This is the text that appears in the
+# settings panel for panel that will be removed in future releases.
+# This entire text is treated as a link to an MDN page.
+options.deprecationNotice=เลิกใช้แล้ว เรียนรู้เพิ่มเติม…
+
+# LOCALIZATION NOTE (options.enableMultiProcessToolbox): This is the text that appears in the
+# settings panel for the checkbox that enables the Multiprocess Browser Toolbox.
+options.enableMultiProcessToolbox=เปิดใช้งานกล่องเครื่องมือเบราว์เซอร์แบบหลายกระบวนการ (ต้องเริ่มการทำงานของกล่องเครื่องมือเบราว์เซอร์ใหม่)
diff --git a/l10n-th/devtools/client/tooltips.ftl b/l10n-th/devtools/client/tooltips.ftl
new file mode 100644
index 0000000000..b8b969ac9f
--- /dev/null
+++ b/l10n-th/devtools/client/tooltips.ftl
@@ -0,0 +1,69 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+
+### Localization for Developer Tools tooltips.
+
+learn-more = <span data-l10n-name="link">เรียนรู้เพิ่มเติม</span>
+
+## In the Rule View when a CSS property cannot be successfully applied we display
+## an icon. When this icon is hovered this message is displayed to explain why
+## the property is not applied.
+## Variables:
+## $property (string) - A CSS property name e.g. "color".
+## $display (string) - A CSS display value e.g. "inline-block".
+
+inactive-css-not-grid-or-flex-container = <strong>{ $property }</strong> ไม่มีผลกับองค์ประกอบนี้เนื่องจากไม่ใช่ทั้งส่วนแยกข้อมูลแบบยืดหยุ่นหรือส่วนแยกข้อมูลแบบเส้นตาราง
+inactive-css-not-grid-or-flex-container-or-multicol-container = <strong>{ $property }</strong> ไม่มีผลกับองค์ประกอบนี้เนื่องจากไม่ใช่ทั้งส่วนแยกข้อมูลแบบยืดหยุ่น, ส่วนแยกข้อมูลแบบเส้นตาราง, หรือส่วนแยกข้อมูลแบบหลายคอลัมน์
+inactive-css-not-grid-or-flex-item = <strong>{ $property }</strong> ไม่มีผลกับองค์ประกอบนี้เนื่องจากไม่ใช่รายการแบบเส้นตารางหรือแบบยืดหยุ่น
+inactive-css-not-grid-item = <strong>{ $property }</strong> ไม่มีผลกับองค์ประกอบนี้เนื่องจากไม่ใช่รายการแบบเส้นตาราง
+inactive-css-not-grid-container = <strong>{ $property }</strong> ไม่มีผลกับองค์ประกอบนี้เนื่องจากไม่ใช่ส่วนแยกข้อมูลแบบเส้นตาราง
+inactive-css-not-flex-item = <strong>{ $property }</strong> ไม่มีผลกับองค์ประกอบนี้เนื่องจากไม่ใช่รายการแบบยืดหยุ่น
+inactive-css-not-flex-container = <strong>{ $property }</strong> ไม่มีผลกับองค์ประกอบนี้เนื่องจากไม่ใช่ส่วนแยกข้อมูลแบบยืดหยุ่น
+inactive-css-not-inline-or-tablecell = <strong>{ $property }</strong> ไม่มีผลกับองค์ประกอบนี้เนื่องจากไม่ใช่องค์ประกอบแบบอินไลน์หรือแบบเซลล์ตาราง
+inactive-css-property-because-of-display = <strong>{ $property }</strong> ไม่มีผลกับองค์ประกอบนี้เนื่องจากมีการแสดงผลแบบ <strong>{ $display }</strong>
+inactive-css-not-display-block-on-floated = ค่า <strong>display</strong> ได้ถูกเปลี่ยนโดยเอนจินเป็น <strong>block</strong> เนื่องจากมีองค์ประกอบแบบ <strong>floated</strong>
+inactive-css-property-is-impossible-to-override-in-visited = ไม่สามารถเขียนทับ <strong>{ $property }</strong> เนื่องจากข้อจำกัดของ <strong>:visited</strong>
+inactive-css-position-property-on-unpositioned-box = <strong>{ $property }</strong> ไม่มีผลต่อองค์ประกอบนี้เนื่องจากไม่ใช่องค์ประกอบที่ถูกจัดตำแหน่ง
+inactive-text-overflow-when-no-overflow = <strong>{ $property }</strong> ไม่มีผลต่อองค์ประกอบนี้เนื่องจากไม่ได้ตั้งค่า <strong>overflow:hidden</strong>
+inactive-outline-radius-when-outline-style-auto-or-none = <strong>{ $property }</strong> ไม่มีผลต่อองค์ประกอบนี้เนื่องจาก <strong>outline-style</strong> เป็น <strong>auto</strong> or <strong>none</strong>
+inactive-css-not-for-internal-table-elements = <strong>{ $property }</strong> ไม่มีผลกับองค์ประกอบตารางภายใน
+inactive-css-not-for-internal-table-elements-except-table-cells = <strong>{ $property }</strong> ไม่มีผลกับองค์ประกอบตารางภายในยกเว้นเซลล์ตาราง
+
+## In the Rule View when a CSS property cannot be successfully applied we display
+## an icon. When this icon is hovered this message is displayed to explain how
+## the problem can be solved.
+
+inactive-css-not-grid-or-flex-container-fix = ลองเพิ่ม <strong>display:grid</strong> หรือ <strong>display:flex</strong> { learn-more }
+inactive-css-not-grid-or-flex-container-or-multicol-container-fix = ลองเพิ่ม <strong>display:grid</strong>, <strong>display:flex</strong>, หรือ <strong>columns:2</strong> { learn-more }
+inactive-css-not-grid-or-flex-item-fix-2 = ลองเพิ่ม <strong>display:grid</strong>, <strong>display:flex</strong>, <strong>display:inline-grid</strong> หรือ <strong>display:inline-flex</strong> { learn-more }
+inactive-css-not-grid-item-fix-2 = ลองเพิ่ม <strong>display:grid</strong> หรือ <strong>display:inline-grid</strong> ไปยังข้อมูลหลักขององค์ประกอบ { learn-more }
+inactive-css-not-grid-container-fix = ลองเพิ่ม <strong>display:grid</strong> หรือ <strong>display:inline-grid</strong> { learn-more }
+inactive-css-not-flex-item-fix-2 = ลองเพิ่ม <strong>display:flex</strong> หรือ <strong>display:inline-flex</strong> ไปยังข้อมูลหลักขององค์ประกอบ { learn-more }
+inactive-css-not-flex-container-fix = ลองเพิ่ม <strong>display:flex</strong> หรือ <strong>display:inline-flex</strong> { learn-more }
+inactive-css-not-inline-or-tablecell-fix = ลองเพิ่ม <strong>display:inline</strong> หรือ <strong>display:table-cell</strong> { learn-more }
+inactive-css-non-replaced-inline-or-table-row-or-row-group-fix = ลองเพิ่ม <strong>display:inline-block</strong> หรือ <strong>display:block</strong> { learn-more }
+inactive-css-non-replaced-inline-or-table-column-or-column-group-fix = ลองเพิ่ม <strong>display:inline-block</strong> { learn-more }
+inactive-css-not-display-block-on-floated-fix = ลองเอา <strong>float</strong> ออกหรือเพิ่ม <strong>display:block</strong> { learn-more }
+inactive-css-position-property-on-unpositioned-box-fix = ลองตั้งค่าคุณสมบัติ <strong>position</strong> เป็นอย่างอื่นนอกจาก <strong>static</strong> { learn-more }
+inactive-text-overflow-when-no-overflow-fix = ลองเพิ่ม <strong>overflow:hidden</strong> { learn-more }
+inactive-css-not-for-internal-table-elements-fix = ลองตั้งค่าคุณสมบัติ <strong>display</strong> เป็นอย่างอื่นนอกจาก <strong>table-cell</strong>, <strong>table-column</strong>, <strong>table-row</strong>, <strong>table-column-group</strong>, <strong>table-row-group</strong>, หรือ <strong>table-footer-group</strong> { learn-more }
+inactive-css-not-for-internal-table-elements-except-table-cells-fix = ลองตั้งค่าคุณสมบัติ <strong>display</strong> เป็นอย่างอื่นนอกจาก <strong>table-column</strong>, <strong>table-row</strong>, <strong>table-column-group</strong>, <strong>table-row-group</strong>, หรือ <strong>table-footer-group</strong> { learn-more }
+inactive-outline-radius-when-outline-style-auto-or-none-fix = ลองตั้งค่าคุณสมบัติ <strong>outline-style</strong> เป็นอย่างอื่นนอกจาก <strong>auto</strong> หรือ <strong>none</strong> { learn-more }
+
+## In the Rule View when a CSS property may have compatibility issues with other browsers
+## we display an icon. When this icon is hovered this message is displayed to explain why
+## the property is incompatible and the platforms it is incompatible on.
+## Variables:
+## $property (string) - A CSS declaration name e.g. "-moz-user-select" that can be a platform specific alias.
+## $rootProperty (string) - A raw CSS property name e.g. "user-select" that is not a platform specific alias.
+
+css-compatibility-default-message = ไม่รองรับ <strong>{ $property }</strong> ในเบราว์เซอร์ต่อไปนี้:
+css-compatibility-deprecated-experimental-message = <strong>{ $property }</strong> เป็นคุณสมบัติทดลองซึ่งเลิกใช้แล้วตามมาตรฐาน W3C โดยไม่รองรับในเบราว์เซอร์ต่อไปนี้:
+css-compatibility-deprecated-experimental-supported-message = <strong>{ $property }</strong> เป็นคุณสมบัติทดลองซึ่งเลิกใช้แล้วตามมาตรฐาน W3C
+css-compatibility-deprecated-message = <strong>{ $property }</strong> เลิกใช้แล้วตามมาตรฐาน W3C โดยไม่รองรับในเบราว์เซอร์ต่อไปนี้:
+css-compatibility-deprecated-supported-message = <strong>{ $property }</strong> เลิกใช้แล้วตามมาตรฐาน W3C
+css-compatibility-experimental-message = <strong>{ $property }</strong> เป็นคุณสมบัติทดลอง โดยไม่รองรับในเบราว์เซอร์ต่อไปนี้:
+css-compatibility-experimental-supported-message = <strong>{ $property }</strong> เป็นคุณสมบัติทดลอง
+css-compatibility-learn-more-message = <span data-l10n-name="link">เรียนรู้เพิ่มเติม</span>เกี่ยวกับ <strong>{ $rootProperty }</strong>
diff --git a/l10n-th/devtools/client/webconsole.properties b/l10n-th/devtools/client/webconsole.properties
new file mode 100644
index 0000000000..72640a08ac
--- /dev/null
+++ b/l10n-th/devtools/client/webconsole.properties
@@ -0,0 +1,561 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+# LOCALIZATION NOTE
+# The correct localization of this file might be to keep it in
+# English, or another language commonly spoken among web developers.
+# You want to make that choice consistent across the developer tools.
+# A good criteria is the language in which you'd find the best
+# documentation on web development on the web.
+
+# LOCALIZATION NOTE (browserConsole.title): shown as the
+# title when opening the browser console popup
+browserConsole.title=คอนโซลเบราว์เซอร์
+
+# LOCALIZATION NOTE (multiProcessBrowserConsole.title): Title of the Browser
+# Console window when the pref `devtools.browsertoolbox.fission` is true. This
+# Browser Console will log messages from all processes, not just the the parent
+# process.
+multiProcessBrowserConsole.title=คอนโซลเบราว์เซอร์แบบหลายกระบวนการ
+
+# LOCALIZATION NOTE (timestampFormat): %1$02S = hours (24-hour clock),
+# %2$02S = minutes, %3$02S = seconds, %4$03S = milliseconds.
+timestampFormat=%02S:%02S:%02S.%03S
+
+ConsoleAPIDisabled=API การบันทึกของคอนโซลเว็บ (console.log, console.info, console.warn, console.error) ถูกปิดใช้งานโดยสคริปต์บนหน้านี้
+
+# LOCALIZATION NOTE (webConsoleXhrIndicator): the indicator displayed before
+# a URL in the Web Console that was requested using an XMLHttpRequest.
+webConsoleXhrIndicator=XHR
+
+# LOCALIZATION NOTE (webConsoleMoreInfoLabel): the more info tag displayed
+# after security related web console messages.
+webConsoleMoreInfoLabel=เรียนรู้เพิ่มเติม
+
+# LOCALIZATION NOTE (stacktrace.anonymousFunction): this string is used to
+# display JavaScript functions that have no given name - they are said to be
+# anonymous. Test console.trace() in the webconsole.
+stacktrace.anonymousFunction=<ไม่ระบุชื่อ>
+
+# LOCALIZATION NOTE (stacktrace.asyncStack): this string is used to
+# indicate that a given stack frame has an async parent.
+# %S is the "Async Cause" of the frame.
+stacktrace.asyncStack=(ไม่ตรงกัน: %S)
+
+# LOCALIZATION NOTE (timeLog): this string is used to display the result of
+# the console.timeLog() call. Parameters: %1$S is the name of the timer, %2$S
+# is the number of milliseconds.
+timeLog=%1$S: %2$Sms
+
+# LOCALIZATION NOTE (console.timeEnd): this string is used to display the result of
+# the console.timeEnd() call. Parameters: %1$S is the name of the timer, %2$S
+# is the number of milliseconds.
+console.timeEnd=%1$S: %2$Sms - สิ้นสุดการจับเวลาแล้ว
+
+# LOCALIZATION NOTE (consoleCleared): this string is displayed when receiving a
+# call to console.clear() to let the user know the previous messages of the
+# console have been removed programmatically.
+consoleCleared=คอนโซลถูกล้าง
+
+# LOCALIZATION NOTE (noCounterLabel): this string is used to display
+# count-messages with no label provided.
+noCounterLabel=<ไม่มีป้ายชื่อ>
+
+# LOCALIZATION NOTE (counterDoesntExist): this string is displayed when
+# console.countReset() is called with a counter that doesn't exist.
+counterDoesntExist=ไม่มีตัวนับ “%S” อยู่
+
+# LOCALIZATION NOTE (noGroupLabel): this string is used to display
+# console.group messages with no label provided.
+noGroupLabel=<ไม่มีป้ายชื่อกลุ่ม>
+
+maxTimersExceeded=มีตัวจับเวลาเกินจำนวนที่รับได้
+timerAlreadyExists=มีตัวจับเวลา “%S” อยู่แล้ว
+timerDoesntExist=ไม่มีตัวจับเวลา “%S” อยู่
+timerJSError=ไม่สามารถประมวลผลชื่อตัวจับเวลา
+
+# LOCALIZATION NOTE (connectionTimeout): message displayed when the Remote Web
+# Console fails to connect to the server due to a timeout.
+connectionTimeout=การเชื่อมต่อหมดเวลา ตรวจสอบคอนโซลข้อผิดพลาดทั้งสองฝั่งสำหรับข้อความข้อผิดพลาดที่อาจเกิดขึ้น เปิดคอนโซลเว็บใหม่เพื่อลองอีกครั้ง
+
+# LOCALIZATION NOTE (propertiesFilterPlaceholder): this is the text that
+# appears in the filter text box for the properties view container.
+propertiesFilterPlaceholder=กรองคุณสมบัติ
+
+# LOCALIZATION NOTE (messageRepeats.tooltip2): the tooltip text that is displayed
+# when you hover the red bubble that shows how many times a message is repeated
+# in the web console output.
+# This is a semi-colon list of plural forms.
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# #1 number of message repeats
+# example: 3 repeats
+messageRepeats.tooltip2=การทำซ้ำ #1 ครั้ง
+
+# LOCALIZATION NOTE (openNodeInInspector): the text that is displayed in a
+# tooltip when hovering over the inspector icon next to a DOM Node in the console
+# output
+openNodeInInspector=คลิกเพื่อเลือกโหนดในตัวตรวจสอบ
+
+# LOCALIZATION NOTE (cdFunctionInvalidArgument): the text that is displayed when
+# cd() is invoked with an invalid argument.
+cdFunctionInvalidArgument=ไม่สามารถ cd() ไปยังหน้าต่างที่ระบุได้ อาร์กิวเมนต์ไม่ถูกต้อง
+
+# LOCALIZATION NOTE (selfxss.msg): the text that is displayed when
+# a new user of the developer tools pastes code into the console
+# %1 is the text of selfxss.okstring
+selfxss.msg=คำเตือนการหลอกลวง: ระวังเมื่อวางสิ่งที่คุณไม่เข้าใจ วิธีนี้อาจทำให้ผู้โจมตีสามารถขโมยข้อมูลประจำตัวของคุณหรือควบคุมคอมพิวเตอร์ของคุณได้ โปรดพิมพ์ ‘%S’ ด้านล่าง (ไม่ต้องกด Enter) เพื่ออนุญาตให้วาง
+
+# LOCALIZATION NOTE (selfxss.okstring): the string to be typed
+# in by a new user of the developer tools when they receive the sefxss.msg prompt.
+# Please avoid using non-keyboard characters here
+selfxss.okstring=อนุญาตการวาง
+
+# LOCALIZATION NOTE (messageToggleDetails): the text that is displayed when
+# you hover the arrow for expanding/collapsing the message details. For
+# console.error() and other messages we show the stacktrace.
+messageToggleDetails=แสดง/ซ่อนรายละเอียดข้อความ
+
+# LOCALIZATION NOTE (groupToggle): the text that is displayed when
+# you hover the arrow for expanding/collapsing the messages of a group.
+groupToggle=แสดง/ซ่อนกลุ่ม
+
+# LOCALIZATION NOTE (table.index, table.iterationIndex, table.key, table.value):
+# the column header displayed in the console table widget.
+table.index=(ดัชนี)
+table.iterationIndex=(ดัชนีการวนซ้ำ)
+table.key=กุญแจ
+table.value=ค่า
+
+# LOCALIZATION NOTE (level.error, level.warn, level.info, level.log, level.debug):
+# tooltip for icons next to console output
+level.error=ข้อผิดพลาด
+level.warn=คำเตือน
+level.info=ข้อมูล
+level.log=รายการบันทึก
+level.debug=ดีบั๊ก
+
+# LOCALIZATION NOTE (logpoint.title)
+# Tooltip shown for logpoints sent from the debugger
+logpoint.title=จุดบันทึกจากตัวดีบั๊ก
+
+# LOCALIZATION NOTE (blockedReason.title)
+# Tooltip shown for blocked network events sent from the network panel
+blockedrequest.label=ถูกปิดกั้นโดย DevTools
+
+# LOCALIZATION NOTE (webconsole.find.key)
+# Key shortcut used to focus the search box on upper right of the console
+webconsole.find.key=CmdOrCtrl+F
+
+# LOCALIZATION NOTE (webconsole.close.key)
+# Key shortcut used to close the Browser console (doesn't work in regular web console)
+webconsole.close.key=CmdOrCtrl+W
+
+# LOCALIZATION NOTE (webconsole.clear.key*)
+# Key shortcut used to clear the console output
+webconsole.clear.key=Ctrl+Shift+L
+webconsole.clear.keyOSX=Ctrl+L
+webconsole.clear.alternativeKeyOSX=Cmd+K
+
+# LOCALIZATION NOTE (webconsole.menu.copyURL.label)
+# Label used for a context-menu item displayed for network message logs. Clicking on it
+# copies the URL displayed in the message to the clipboard.
+webconsole.menu.copyURL.label=คัดลอกตำแหน่งที่ตั้งลิงก์
+webconsole.menu.copyURL.accesskey=อ
+
+# LOCALIZATION NOTE (webconsole.menu.openURL.label)
+# Label used for a context-menu item displayed for network message logs. Clicking on it
+# opens the URL displayed in a new browser tab.
+webconsole.menu.openURL.label=เปิด URL ในแท็บใหม่
+webconsole.menu.openURL.accesskey=ป
+
+# LOCALIZATION NOTE (webconsole.menu.openInNetworkPanel.label)
+# Label used for a context-menu item displayed for network message logs. Clicking on it
+# opens the network message in the Network panel
+webconsole.menu.openInNetworkPanel.label=เปิดในแผงเครือข่าย
+webconsole.menu.openInNetworkPanel.accesskey=ผ
+
+# LOCALIZATION NOTE (webconsole.menu.resendNetworkRequest.label)
+# Label used for a context-menu item displayed for network message logs. Clicking on it
+# resends the network request
+webconsole.menu.resendNetworkRequest.label=ส่งคำขอใหม่
+webconsole.menu.resendNetworkRequest.accesskey=ส
+
+# LOCALIZATION NOTE (webconsole.menu.openNodeInInspector.label)
+# Label used for a context-menu item displayed for DOM Node logs. Clicking on it will
+# reveal that specific DOM Node in the Inspector.
+webconsole.menu.openNodeInInspector.label=เปิดเผยในตัวตรวจสอบ
+webconsole.menu.openNodeInInspector.accesskey=Q
+
+# LOCALIZATION NOTE (webconsole.menu.storeAsGlobalVar.label)
+# Label used for a context-menu item displayed for object/variable logs. Clicking on it
+# creates a new global variable pointing to the logged variable.
+webconsole.menu.storeAsGlobalVar.label=จัดเก็บเป็นตัวแปรส่วนกลาง
+webconsole.menu.storeAsGlobalVar.accesskey=จ
+
+# LOCALIZATION NOTE (webconsole.menu.copyMessage.label)
+# Label used for a context-menu item displayed for any log. Clicking on it will copy the
+# content of the log (or the user selection, if any).
+webconsole.menu.copyMessage.label=คัดลอกข้อความ
+webconsole.menu.copyMessage.accesskey=ค
+
+# LOCALIZATION NOTE (webconsole.menu.copyObject.label)
+# Label used for a context-menu item displayed for object/variable log. Clicking on it
+# will copy the object/variable.
+webconsole.menu.copyObject.label=คัดลอกวัตถุ
+webconsole.menu.copyObject.accesskey=ด
+
+# LOCALIZATION NOTE (webconsole.menu.selectAll.label)
+# Label used for a context-menu item that will select all the content of the webconsole
+# output.
+webconsole.menu.selectAll.label=เลือกทั้งหมด
+webconsole.menu.selectAll.accesskey=ล
+
+# LOCALIZATION NOTE (webconsole.menu.openInSidebar.label)
+# Label used for a context-menu item displayed for object/variable logs. Clicking on it
+# opens the webconsole sidebar for the logged variable.
+webconsole.menu.openInSidebar.label1=ตรวจสอบวัตถุในแถบด้านข้าง
+webconsole.menu.openInSidebar.accesskey=น
+
+# LOCALIZATION NOTE (webconsole.menu.exportSubmenu.label)
+# Label used for a context-menu item displayed on the output. Clicking on it
+# opens a submenu where the user can select how to export messages.
+webconsole.menu.exportSubmenu.label=ส่งออกข้อความที่มองเห็นไปยัง
+
+# LOCALIZATION NOTE (webconsole.menu.exportClipboard.label)
+# Label used for a context-menu item displayed on the output. Clicking on it
+# copies the entire output of the console to the clipboard.
+webconsole.menu.exportSubmenu.exportCliboard.label=คลิปบอร์ด
+
+# LOCALIZATION NOTE (webconsole.menu.exportFile.label)
+# Label used for a context-menu item displayed on the output. Clicking on it
+# opens a file picker to allow the user save a file containing
+# the output of the console.
+webconsole.menu.exportSubmenu.exportFile.label=ไฟล์
+
+# LOCALIZATION NOTE (webconsole.clearButton.tooltip)
+# Label used for the tooltip on the clear logs button in the console top toolbar bar.
+# Clicking on it will clear the content of the console.
+webconsole.clearButton.tooltip=ล้างค่าออกของคอนโซลเว็บ
+
+# LOCALIZATION NOTE (webconsole.toggleFilterButton.tooltip)
+# Label used for the tooltip on the toggle filter bar button in the console top
+# toolbar bar. Clicking on it will toggle the visibility of an additional bar which
+# contains filter buttons.
+webconsole.toggleFilterButton.tooltip=เปิด/ปิดแถบตัวกรอง
+
+# LOCALIZATION NOTE (webconsole.filterInput.placeholder)
+# Label used for for the placeholder on the filter input, in the console top toolbar.
+webconsole.filterInput.placeholder=กรองค่าออก
+
+# LOCALIZATION NOTE (webconsole.errorsFilterButton.label)
+# Label used as the text of the "Errors" button in the additional filter toolbar.
+# It shows or hides error messages, either inserted in the page using
+# console.error() or as a result of a javascript error..
+webconsole.errorsFilterButton.label=ข้อผิดพลาด
+
+# LOCALIZATION NOTE (webconsole.warningsFilterButton.label)
+# Label used as the text of the "Warnings" button in the additional filter toolbar.
+# It shows or hides warning messages, inserted in the page using console.warn().
+webconsole.warningsFilterButton.label=คำเตือน
+
+# LOCALIZATION NOTE (webconsole.logsFilterButton.label)
+# Label used as the text of the "Logs" button in the additional filter toolbar.
+# It shows or hides log messages, inserted in the page using console.log().
+webconsole.logsFilterButton.label=รายการบันทึก
+
+# LOCALIZATION NOTE (webconsole.infoFilterButton.label)
+# Label used as the text of the "Info" button in the additional filter toolbar.
+# It shows or hides info messages, inserted in the page using console.info().
+webconsole.infoFilterButton.label=ข้อมูล
+
+# LOCALIZATION NOTE (webconsole.debugFilterButton.label)
+# Label used as the text of the "Debug" button in the additional filter toolbar.
+# It shows or hides debug messages, inserted in the page using console.debug().
+webconsole.debugFilterButton.label=ดีบั๊ก
+
+# LOCALIZATION NOTE (webconsole.cssFilterButton.label)
+# Label used as the text of the "CSS" button in the additional filter toolbar.
+# It shows or hides CSS warning messages, inserted in the page by the browser
+# when there are CSS errors in the page.
+webconsole.cssFilterButton.label=CSS
+
+# LOCALIZATION NOTE (webconsole.cssFilterButton.inactive.tooltip)
+# Label used as the tooltip of the "CSS" button in the additional filter toolbar, when the
+# filter is inactive (=unchecked).
+webconsole.cssFilterButton.inactive.tooltip=แผ่นลักษณะจะถูกแยกวิเคราะห์ใหม่เพื่อตรวจสอบข้อผิดพลาด เรียกหน้าใหม่เพื่อดูข้อผิดพลาดอื่น ๆ จากแผ่นลักษณะที่แก้ไขจาก Javascript
+
+# LOCALIZATION NOTE (webconsole.xhrFilterButton.label)
+# Label used as the text of the "XHR" button in the additional filter toolbar.
+# It shows or hides messages displayed when the page makes an XMLHttpRequest or
+# a fetch call.
+webconsole.xhrFilterButton.label=XHR
+
+# LOCALIZATION NOTE (webconsole.requestsFilterButton.label)
+# Label used as the text of the "Requests" button in the additional filter toolbar.
+# It shows or hides messages displayed when the page makes a network call, for example
+# when an image or a scripts is requested.
+webconsole.requestsFilterButton.label=คำขอ
+
+# LOCALIZATION NOTE (webconsole.filteredMessagesByText.label)
+# Text on the filter input displayed when some console messages are hidden because the
+# user has filled in the input.
+# This is a semi-colon list of plural forms.
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# example: 345 hidden.
+webconsole.filteredMessagesByText.label=#1 ที่ซ่อนอยู่
+
+# LOCALIZATION NOTE (webconsole.filteredMessagesByText.tooltip)
+# Tooltip on the filter input "hidden" text, displayed when some console messages are
+# hidden because the user has filled in the input.
+# This is a semi-colon list of plural forms.
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# example: 345 items hidden by text filter.
+webconsole.filteredMessagesByText.tooltip=#1 รายการถูกซ่อนไว้โดยตัวกรองข้อความ
+
+# LOCALIZATION NOTE (webconsole.console.settings.menu.menuButton.tooltip)
+# Tooltip for the filter bar preferences menu. This menu will display multiple perefences for the
+# filter bar, such as enabling the compact toolbar mode, enable the timestamps, persist logs, etc
+webconsole.console.settings.menu.button.tooltip=การตั้งค่าคอนโซล
+
+# LOCALIZATION NOTE (webconsole.console.settings.menu.item.compactToolbar.label)
+# Label for the `Compact Toolbar` preference option. This will turn the message filters buttons
+# into a Menu Button, making the filter bar more compact.
+webconsole.console.settings.menu.item.compactToolbar.label=แถบเครื่องมือแบบกะทัดรัด
+
+# LOCALIZATION NOTE (webconsole.console.settings.menu.item.timestamps.label)
+# Label for enabling the timestamps in the Web Console.
+webconsole.console.settings.menu.item.timestamps.label=แสดงตราเวลา
+# LOCALIZATION NOTE (webconsole.console.settings.menu.item.timestamps.tooltip)
+webconsole.console.settings.menu.item.timestamps.tooltip=ถ้าคุณเปิดใช้งานตัวเลือกคำสั่งนี้ การแสดงผลในเว็บคอนโซลจะแสดงตราเวลา
+
+# LOCALIZATION NOTE (webconsole.console.settings.menu.item.warningGroups.label)
+# Label for grouping the similar messages in the Web Console
+webconsole.console.settings.menu.item.warningGroups.label=จัดข้อความที่คล้ายกันเป็นกลุ่ม
+# LOCALIZATION NOTE (webconsole.console.settings.menu.item.warningGroups.tooltip)
+webconsole.console.settings.menu.item.warningGroups.tooltip=เมื่อเปิดใช้งาน ข้อความที่คล้ายกันจะถูกวางไว้ในกลุ่มเดียวกัน
+
+# LOCALIZATION NOTE (webconsole.console.settings.menu.item.autocomplete.label)
+# Label for enabling autocomplete for input in the Web Console
+webconsole.console.settings.menu.item.autocomplete.label=เปิดใช้งานการเติมให้สมบูรณ์อัตโนมัติ
+# LOCALIZATION NOTE (webconsole.console.settings.menu.item.autocomplete.tooltip)
+webconsole.console.settings.menu.item.autocomplete.tooltip=หากคุณเปิดใช้งานตัวเลือกนี้ โปรแกรมจะแสดงคำแนะนำขณะที่คุณพิมพ์ข้อความลงไป
+
+# LOCALIZATION NOTE (webconsole.console.settings.menu.item.enablePersistentLogs.label)
+webconsole.console.settings.menu.item.enablePersistentLogs.label=คงรายการบันทึก
+# LOCALIZATION NOTE (webconsole.console.settings.menu.item.enablePersistentLogs.tooltip)
+webconsole.console.settings.menu.item.enablePersistentLogs.tooltip=หากคุณเปิดใช้งานตัวเลือกนี้ ผลลัพธ์จะไม่ถูกล้างในแต่ละครั้งที่คุณนำทางไปยังหน้าใหม่
+
+# LOCALIZATION NOTE (webconsole.console.settings.menu.item.instantEvaluation.label)
+webconsole.console.settings.menu.item.instantEvaluation.label=การประเมินผลแบบทันที
+# LOCALIZATION NOTE (webconsole.console.settings.menu.item.instantEvaluation.tooltip)
+webconsole.console.settings.menu.item.instantEvaluation.tooltip=หากคุณเปิดใช้งานตัวเลือกนี้ โปรแกรมจะประเมินผลลัพธ์โดยทันทีขณะที่คุณพิมพ์ข้อความลงไป
+
+# LOCALIZATION NOTE (browserconsole.contentMessagesCheckbox.label)
+# Label used in the browser console filter bar. This label is used for a checkbox that
+# allows the user to show or hide console messages from the content process in the browser
+# console.
+browserconsole.contentMessagesCheckbox.label=แสดงข้อความเนื้อหา
+# LOCALIZATION NOTE (browserconsole.contentMessagesCheckbox.tooltip)
+# Tooltip for the "Show content messages" checkbox in the Browser Console filter bar.
+browserconsole.contentMessagesCheckbox.tooltip=เปิดใช้งานตัวเลือกนี้เพื่อแสดงข้อความจากกระบวนการเนื้อหาในผลลัพธ์
+
+# LOCALIZATION NOTE (webconsole.navigated): this string is used in the console when the
+# current inspected page is navigated to a new location.
+# Parameters: %S is the new URL.
+webconsole.navigated=นำทางไปยัง %S
+
+# LOCALIZATION NOTE (webconsole.closeSplitConsoleButton.tooltip): This is the tooltip for
+# the close button of the split console.
+webconsole.closeSplitConsoleButton.tooltip=ปิดคอนโซลแยก (Esc)
+
+# LOCALIZATION NOTE (webconsole.closeSidebarButton.tooltip): This is the tooltip for
+# the close button of the sidebar.
+webconsole.closeSidebarButton.tooltip=ปิดแถบข้าง
+
+# LOCALIZATION NOTE (webconsole.reverseSearch.input.placeHolder):
+# This string is displayed in the placeholder of the reverse search input in the console.
+webconsole.reverseSearch.input.placeHolder=ค้นหาประวัติ
+
+# LOCALIZATION NOTE (webconsole.reverseSearch.result.closeButton.tooltip):
+# This string is displayed in the tooltip of the close button in the reverse search toolbar.
+# A keyboard shortcut will be shown inside the latter pair of brackets.
+webconsole.reverseSearch.closeButton.tooltip=ปิด (%S)
+
+# LOCALIZATION NOTE (webconsole.reverseSearch.results):
+# This string is displayed in the reverse search UI when there are at least one result
+# to the search.
+# This is a semi-colon list of plural forms.
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# #1 index of current search result displayed.
+# #2 total number of search results.
+webconsole.reverseSearch.results=#1 จาก #2 ผลลัพธ์
+
+# LOCALIZATION NOTE (webconsole.reverseSearch.noResult):
+# This string is displayed in the reverse search UI when there is no results to the search.
+webconsole.reverseSearch.noResult=ไม่มีผลลัพธ์
+
+# LOCALIZATION NOTE (webconsole.reverseSearch.result.previousButton.tooltip):
+# This string is displayed in the tooltip of the "previous result" button in the reverse search toolbar.
+# A keyboard shortcut will be shown inside the latter pair of brackets.
+webconsole.reverseSearch.result.previousButton.tooltip=ผลลัพธ์ก่อนหน้า (%S)
+
+# LOCALIZATION NOTE (webconsole.reverseSearch.result.nextButton.tooltip):
+# This string is displayed in the tooltip of the "next result" button in the reverse search toolbar.
+# A keyboard shortcut will be shown inside the latter pair of brackets.
+webconsole.reverseSearch.result.nextButton.tooltip=ผลลัพธ์ถัดไป (%S)
+
+# LOCALIZATION NOTE (webconsole.confirmDialog.getter.label)
+# Label used for the "invoke getter" confirm dialog that appears in the console when
+# a user tries to autocomplete a property with a getter.
+# Example: given the following object `x = {get y() {}}`, when the user types `x.y.`, it
+# would return "Invoke getter y to retrieve the property list?".
+# Parameters: %S is the name of the getter.
+webconsole.confirmDialog.getter.label=ต้องการเรียก getter %S เพื่อดึงข้อมูลรายการคุณสมบัติหรือไม่?
+
+# LOCALIZATION NOTE (webconsole.confirmDialog.getter.invokeButtonLabelWithShortcut)
+# Label used for the confirm button in the "invoke getter" dialog that appears in the
+# console when a user tries to autocomplete a property with a getter.
+# A keyboard shortcut will be shown inside the latter pair of brackets.
+webconsole.confirmDialog.getter.invokeButtonLabelWithShortcut=เรียก (%S)
+
+# LOCALIZATION NOTE (webconsole.confirmDialog.getter.closeButton.tooltip)
+# Label used as the tooltip for the close button in the "invoke getter" dialog that
+# appears in the console when a user tries to autocomplete a property with a getter.
+# A keyboard shortcut will be shown inside the latter pair of brackets.
+webconsole.confirmDialog.getter.closeButton.tooltip=ปิด (%S)
+
+# LOCALIZATION NOTE (webconsole.cssWarningElements.label)
+# Label for the list of HTML elements matching the selector associated
+# with the CSS warning. Parameters: %S is the CSS selector.
+webconsole.cssWarningElements.label=องค์ประกอบที่ตรงกับตัวเลือก: %S
+
+# LOCALIZATION NOTE (webconsole.message.componentDidCatch.label)
+# Label displayed when the webconsole couldn't handle a given packet.
+# Parameters: %S is the URL to file a bug about the error.
+webconsole.message.componentDidCatch.label=[ข้อผิดพลาดเครื่องมือนักพัฒนา] ขออภัย เราไม่สามารถเรนเดอร์ข้อความได้ ซึ่งปัญหานี้ไม่ควรเกิดขึ้น โปรดรายงานบั๊กที่ %S พร้อมกับข้อมูลเมตาของข้อความในคำอธิบาย
+
+# LOCALIZATION NOTE (webconsole.message.commands.blockedURL)
+# Label displayed when the :block <url> command is successful
+# Parameters: %S is the URL filter
+webconsole.message.commands.blockedURL=คำร้องขอไปยัง URL ที่มี “%S” ถูกปิดกั้นแล้วในตอนนี้
+
+# LOCALIZATION NOTE (webconsole.message.commands.unblockedURL)
+# Label displayed when the :unblock <url> command is successful
+# Parameters: %S is the URL filter
+webconsole.message.commands.unblockedURL=เอาตัวกรองการปิดกั้น “%S” ออกแล้ว
+
+# LOCALIZATION NOTE (webconsole.messages.commands.blockArgMissing)
+# Message displayed when no filter is passed to block/unblock command
+webconsole.messages.commands.blockArgMissing=ไม่ได้ระบุตัวกรองใด
+
+# LOCALIZATION NOTE (webconsole.message.componentDidCatch.copyButton.label)
+# Label displayed on the button next to the message we display when the webconsole
+# couldn't handle a given packet (See webconsole.message.componentDidCatch.label).
+webconsole.message.componentDidCatch.copyButton.label=คัดลอกข้อมูลเมตาของข้อความไปยังคลิปบอร์ด
+
+
+# LOCALIZATION NOTE (webconsole.editor.toolbar.executeButton.label)
+# Label used for the text of the execute button, in the editor toolbar, which is
+# displayed when the editor mode is enabled (devtools.webconsole.input.editor=true).
+webconsole.editor.toolbar.executeButton.label=เรียกใช้
+
+# LOCALIZATION NOTE (webconsole.editor.toolbar.reverseSearchButton.openReverseSearch.tooltip)
+# Label used for the tooltip on the reverse search button for opening the Reverse Search UI.
+# The Reverse Search is a feature that mimics the bash-like reverse search of
+# command history in WebConsole, searching commands from the last item backwards.
+# Parameters: %S is the keyboard shortcut.
+webconsole.editor.toolbar.reverseSearchButton.openReverseSearch.tooltip=เปิดการค้นหาประวัติแบบย้อนกลับ (%S)
+
+# LOCALIZATION NOTE (webconsole.editor.toolbar.reverseSearchButton.closeReverseSearch.tooltip)
+# Label used for the tooltip on the reverse search button for closing the Reverse Search UI.
+# The Reverse Search is a feature that mimics the bash-like reverse search of
+# command history in WebConsole, searching commands from the last item backwards.
+# Parameters: %S is the keyboard shortcut.
+webconsole.editor.toolbar.reverseSearchButton.closeReverseSearch.tooltip=ปิดการค้นหาประวัติแบบย้อนกลับ (%S)
+
+# LOCALIZATION NOTE (webconsole.editor.toolbar.executeButton.tooltip)
+# Label used for the tooltip on the execute button, in the editor toolbar, which is
+# displayed when the editor mode is enabled (devtools.webconsole.input.editor=true).
+# Parameters: %S is the keyboard shortcut.
+webconsole.editor.toolbar.executeButton.tooltip=เรียกใช้นิพจน์ (%S) การดำเนินการนี้จะไม่ล้างข้อมูลที่ป้อน
+
+# LOCALIZATION NOTE (webconsole.editor.toolbar.prettyPrintButton.tooltip)
+# Label used for the tooltip on the prettyPrint button, in the editor toolbar, which is
+# displayed when the editor mode is enabled (devtools.webconsole.input.editor=true).
+webconsole.editor.toolbar.prettyPrintButton.tooltip=Pretty print expression
+
+# LOCALIZATION NOTE (webconsole.editor.toolbar.executeButton.tooltip)
+# Label used for the tooltip on the history previous expression, in the editor toolbar,
+# which is displayed when the editor mode is enabled (devtools.webconsole.input.editor=true).
+webconsole.editor.toolbar.history.prevExpressionButton.tooltip=นิพจน์ก่อนหน้า
+
+
+# LOCALIZATION NOTE (webconsole.editor.toolbar.executeButton.tooltip)
+# Label used for the tooltip on the history next expression, in the editor toolbar,
+# which is displayed when the editor mode is enabled (devtools.webconsole.input.editor=true).
+webconsole.editor.toolbar.history.nextExpressionButton.tooltip=นิพจน์ถัดไป
+
+# LOCALIZATION NOTE (webconsole.editor.toolbar.closeButton.tooltip2)
+# Label used for the tooltip on the close button, in the editor toolbar, which is
+# displayed when the editor mode is enabled (devtools.webconsole.input.editor=true).
+# Parameters: %S is the keyboard shortcut.
+webconsole.editor.toolbar.closeButton.tooltip2=สลับกลับไปยังโหมดอินไลน์ (%S)
+
+# LOCALIZATION NOTE (webconsole.input.openEditorButton.tooltip2)
+# Label used for the tooltip on the open editor button, in console input, which is
+# displayed when the console is in regular mode.
+# Parameters: %S is the keyboard shortcut.
+webconsole.input.openEditorButton.tooltip2=สลับไปยังโหมดตัวแก้ไขแบบหลายบรรทัด (%S)
+
+# LOCALIZATION NOTE (webconsole.warningGroup.messageCount.tooltip): the tooltip text
+# displayed when you hover a warning group badge (i.e. repeated warning messages for a
+# given category, for example Content Blocked messages) in the web console output.
+# This is a semi-colon list of plural forms.
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# #1 number of message in the group.
+# example: 3 messages
+webconsole.warningGroup.messageCount.tooltip=#1 ข้อความ
+
+# LOCALIZATION NOTE (webconsole.input.editor.onboarding.label): the text that is displayed
+# when displaying the multiline-input mode for the first time, until the user dismiss the
+# text.
+# Parameters: %1$S is Enter key, %2$S is the shorcut to evaluate the expression (
+# Ctrl+Enter or Cmd+Enter on OSX).
+webconsole.input.editor.onboarding.label=ตรวจทานรหัสของคุณได้เร็วขึ้นด้วยโหมดตัวแก้ไขแบบหลายบรรทัดใหม่ ใช้ %1$S เพื่อเพิ่มบรรทัดใหม่และ %2$S เพื่อเรียกใช้
+
+# LOCALIZATION NOTE (webconsole.input.editor.onboarding.dismiss.label): the text that is
+# displayed in the multiline-input mode onboarding UI to dismiss it.
+webconsole.input.editor.onboarding.dismiss.label=เข้าใจแล้ว!
+
+# LOCALIZATION NOTE (webconsole.enterKey): The text that will be used to represent the
+# Enter key in the editor onboarding UI, as well as on the Editor toolbar "Run" button
+# tooltip.
+webconsole.enterKey=Enter
+
+# LOCALIZATION NOTE (webconsole.input.openJavaScriptFile): This is a label
+# used for opening a file in the console input (Ctrl+O or Cmd+O on OSX while
+# being focused on the input).
+webconsole.input.openJavaScriptFile=เปิดไฟล์ JavaScript
+
+# LOCALIZATION NOTE (webconsole.input.openJavaScriptFileFilter):
+# This string is displayed as a filter when opening a file in the console input.
+webconsole.input.openJavaScriptFileFilter=ไฟล์ JavaScript
+
+# LOCALIZATION NOTE (webconsole.input.selector.top): This is the term used
+# to describe the primary thread of execution in the page
+webconsole.input.selector.top=ด้านบน
+
+# LOCALIZATION NOTE (webconsole.input.selector.tooltip): This is the tooltip
+# shown when users select a thread that they want to evaluate an
+# expression for.
+webconsole.input.selector.tooltip=เลือกบริบทการประเมิน
+
+# LOCALIZATION NOTE (webconsole.group.cookieSameSiteLaxByDefaultEnabled): do not translate 'sameSite'.
+webconsole.group.cookieSameSiteLaxByDefaultEnabled=คุกกี้บางส่วนใช้แอตทริบิวต์ “SameSite” ในทางที่ผิด ดังนั้นคุกกี้เหล่านั้นจะไม่ทำงานอย่างที่คาดคิด
+# LOCALIZATION NOTE (webconsole.group.cookieSameSiteLaxByDefaultDisabled): do not translate 'sameSite'.
+webconsole.group.cookieSameSiteLaxByDefaultDisabled=คุกกี้บางส่วนใช้แอตทริบิวต์ “SameSite” ที่แนะนำในทางที่ผิด
+
+# LOCALIZATION NOTE (webconsole.group.cookieSameSiteLaxByDefaultEnabled2): do not translate 'SameSite'.
+webconsole.group.cookieSameSiteLaxByDefaultEnabled2=คุกกี้บางส่วนใช้แอตทริบิวต์ “SameSite“ ในทางที่ผิด ดังนั้นคุกกี้เหล่านั้นจะไม่ทำงานอย่างที่คาดคิด
+# LOCALIZATION NOTE (webconsole.group.cookieSameSiteLaxByDefaultDisabled2): do not translate 'SameSite'.
+webconsole.group.cookieSameSiteLaxByDefaultDisabled2=คุกกี้บางส่วนใช้แอตทริบิวต์ “SameSite“ ที่แนะนำในทางที่ผิด
diff --git a/l10n-th/devtools/shared/accessibility.properties b/l10n-th/devtools/shared/accessibility.properties
new file mode 100644
index 0000000000..ede30d4dcc
--- /dev/null
+++ b/l10n-th/devtools/shared/accessibility.properties
@@ -0,0 +1,142 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE (accessibility.contrast.ratio): A title text for the color contrast
+# ratio description, used by the accessibility highlighter to display the value. %S in the
+# content will be replaced by the contrast ratio numerical value.
+accessibility.contrast.ratio=ความเปรียบต่าง: %S
+
+# LOCALIZATION NOTE (accessibility.contrast.ratio.error): A title text for the color
+# contrast ratio, used when the tool is unable to calculate the contrast ratio value.
+accessibility.contrast.ratio.error=ไม่สามารถคำนวณ
+
+# LOCALIZATION NOTE (accessibility.contrast.ratio.label): A title text for the color
+# contrast ratio description, used together with the actual values.
+accessibility.contrast.ratio.label=ความเปรียบต่าง:
+
+# LOCALIZATION NOTE (accessibility.contrast.ratio.label.large): A title text for the color
+# contrast ratio description that also specifies that the color contrast criteria used is
+# if for large text.
+accessibility.contrast.ratio.label.large=ความเปรียบต่าง (ข้อความขนาดใหญ่):
+
+# LOCALIZATION NOTE (accessibility.text.label.issue.area): A title text that
+# describes that currently selected accessible object for an <area> element must have
+# its name provided via the alt attribute.
+accessibility.text.label.issue.area = ใช้แอตทริบิวต์ “alt” เพื่อกำหนดป้ายกำกับให้กับองค์ประกอบ “area” ที่มีแอตทริบิวต์ “href”
+
+# LOCALIZATION NOTE (accessibility.text.label.issue.dialog): A title text that
+# describes that currently selected accessible object for a dialog should have a name
+# provided.
+accessibility.text.label.issue.dialog = กล่องโต้ตอบควรมีป้ายกำกับ
+
+# LOCALIZATION NOTE (accessibility.text.label.issue.document.title): A title text that
+# describes that currently selected accessible object for a document must have a name
+# provided via title.
+accessibility.text.label.issue.document.title = เอกสารต้องมีชื่อเรื่อง
+
+# LOCALIZATION NOTE (accessibility.text.label.issue.embed): A title text that
+# describes that currently selected accessible object for an <embed> must have a name
+# provided.
+accessibility.text.label.issue.embed = เนื้อหาที่ฝังต้องมีป้ายกำกับ
+
+# LOCALIZATION NOTE (accessibility.text.label.issue.figure): A title text that
+# describes that currently selected accessible object for a figure should have a name
+# provided.
+accessibility.text.label.issue.figure = รูปภาพที่มีคำอธิบายภาพเพิ่มเติมควรมีป้ายกำกับ
+
+# LOCALIZATION NOTE (accessibility.text.label.issue.fieldset): A title text that
+# describes that currently selected accessible object for a <fieldset> must have a name
+# provided.
+accessibility.text.label.issue.fieldset = องค์ประกอบ “fieldset” ต้องมีป้ายกำกับ
+
+# LOCALIZATION NOTE (accessibility.text.label.issue.fieldset.legend2): A title text that
+# describes that currently selected accessible object for a <fieldset> must have a name
+# provided via <legend> element.
+accessibility.text.label.issue.fieldset.legend2 = ใช้องค์ประกอบ “legend” เพื่อกำหนดป้ายกำกับให้กับ “fieldset”
+
+# LOCALIZATION NOTE (accessibility.text.label.issue.form): A title text that
+# describes that currently selected accessible object for a form element must have a name
+# provided.
+accessibility.text.label.issue.form = องค์ประกอบฟอร์มต้องมีป้ายกำกับ
+
+# LOCALIZATION NOTE (accessibility.text.label.issue.form.visible): A title text that
+# describes that currently selected accessible object for a form element should have a name
+# provided via a visible label/element.
+accessibility.text.label.issue.form.visible = องค์ประกอบฟอร์มควรมีป้ายกำกับข้อความที่มองเห็นได้
+
+# LOCALIZATION NOTE (accessibility.text.label.issue.frame): A title text that
+# describes that currently selected accessible object for a <frame> must have a name
+# provided.
+accessibility.text.label.issue.frame = องค์ประกอบ “frame” ต้องมีป้ายกำกับ
+
+# LOCALIZATION NOTE (accessibility.text.label.issue.glyph): A title text that
+# describes that currently selected accessible object for a <mglyph> must have a name
+# provided via alt attribute.
+accessibility.text.label.issue.glyph = ใช้แอตทริบิวต์ “alt” เพื่อกำหนดป้ายกำกับให้กับองค์ประกอบ “mglyph”
+
+# LOCALIZATION NOTE (accessibility.text.label.issue.heading): A title text that
+# describes that currently selected accessible object for a heading must have a name
+# provided.
+accessibility.text.label.issue.heading = หัวเรื่องต้องมีป้ายกำกับ
+
+# LOCALIZATION NOTE (accessibility.text.label.issue.heading.content): A title text that
+# describes that currently selected accessible object for a heading must have visible
+# content.
+accessibility.text.label.issue.heading.content = หัวเรื่องควรมีบริบทข้อความที่มองเห็นได้
+
+# LOCALIZATION NOTE (accessibility.text.label.issue.iframe): A title text that
+# describes that currently selected accessible object for an <iframe> have a name
+# provided via title attribute.
+accessibility.text.label.issue.iframe = ใช้แอตทริบิวต์ “title” เพื่ออธิบายเนื้อหา “iframe”
+
+# LOCALIZATION NOTE (accessibility.text.label.issue.image): A title text that
+# describes that currently selected accessible object for graphical content must have a
+# name provided.
+accessibility.text.label.issue.image = เนื้อหาที่มีภาพต้องมีป้ายกำกับ
+
+# LOCALIZATION NOTE (accessibility.text.label.issue.interactive): A title text that
+# describes that currently selected accessible object for interactive element must have a
+# name provided.
+accessibility.text.label.issue.interactive = องค์ประกอบเชิงโต้ตอบต้องมีป้ายกำกับ
+
+# LOCALIZATION NOTE (accessibility.text.label.issue.optgroup.label2): A title text that
+# describes that currently selected accessible object for an <optgroup> must have a
+# name provided via label attribute.
+accessibility.text.label.issue.optgroup.label2 = ใช้แอตทริบิวต์ “label” เพื่อกำหนดป้ายกำกับให้กับ “optgroup”
+
+# LOCALIZATION NOTE (accessibility.text.label.issue.toolbar): A title text that
+# describes that currently selected accessible object for a toolbar must have a
+# name provided when there is more than one toolbar in the document.
+accessibility.text.label.issue.toolbar = แถบเครื่องมือต้องมีป้ายกำกับเมื่อมีแถบเครื่องมือมากกว่าหนึ่งแถบ
+
+# LOCALIZATION NOTE (accessibility.keyboard.issue.semantics): A title text that
+# describes that currently selected accessible object is focusable and should
+# indicate that it could be interacted with.
+accessibility.keyboard.issue.semantics=องค์ประกอบที่สามารถโฟกัสได้ควรมีการสื่อความหมายเชิงโต้ตอบ
+
+# LOCALIZATION NOTE (accessibility.keyboard.issue.tabindex): A title text that
+# describes that currently selected accessible object has a corresponding
+# DOMNode that defines a tabindex attribute greater that 0 which can result in
+# unexpected behaviour when navigating with keyboard.
+accessibility.keyboard.issue.tabindex=หลีกเลี่ยงการใช้แอตทริบิวต์ “tabindex” ที่มีค่ามากกว่าศูนย์
+
+# LOCALIZATION NOTE (accessibility.keyboard.issue.action): A title text that
+# describes that currently selected accessible object is interactive but can not
+# be activated using keyboard or accessibility API.
+accessibility.keyboard.issue.action=องค์ประกอบเชิงโต้ตอบต้องสามารถเปิดใช้งานโดยใช้แป้นพิมพ์ได้
+
+# LOCALIZATION NOTE (accessibility.keyboard.issue.focusable): A title text that
+# describes that currently selected accessible object is interactive but is not
+# focusable with a keyboard.
+accessibility.keyboard.issue.focusable=องค์ประกอบเชิงโต้ตอบต้องสามารถโฟกัสได้
+
+# LOCALIZATION NOTE (accessibility.keyboard.issue.focus.visible): A title text
+# that describes that currently selected accessible object is focusable but
+# might not have appropriate focus styling.
+accessibility.keyboard.issue.focus.visible=องค์ประกอบที่สามารถโฟกัสได้อาจขาดการกำหนดลักษณะการโฟกัส
+
+# LOCALIZATION NOTE (accessibility.keyboard.issue.mouse.only): A title text that
+# describes that currently selected accessible object is not focusable and not
+# semantic but can be activated via mouse (e.g. has click handler).
+accessibility.keyboard.issue.mouse.only=องค์ประกอบที่คลิกได้ต้องสามารถโฟกัสได้และควรมีการสื่อความหมายเชิงโต้ตอบ
diff --git a/l10n-th/devtools/shared/debugger.properties b/l10n-th/devtools/shared/debugger.properties
new file mode 100644
index 0000000000..226239f24a
--- /dev/null
+++ b/l10n-th/devtools/shared/debugger.properties
@@ -0,0 +1,59 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE These strings are used inside the Debugger
+# which is available from the Web Developer sub-menu -> 'Debugger'.
+# The correct localization of this file might be to keep it in
+# English, or another language commonly spoken among web developers.
+# You want to make that choice consistent across the developer tools.
+# A good criteria is the language in which you'd find the best
+# documentation on web development on the web.
+
+# LOCALIZATION NOTE (remoteIncomingPromptTitle): The title displayed on the
+# dialog that prompts the user to allow the incoming connection.
+remoteIncomingPromptTitle=การเชื่อมต่อขาเข้า
+
+# LOCALIZATION NOTE (remoteIncomingPromptHeader): Header displayed on the
+# dialog that prompts the user to allow the incoming connection.
+remoteIncomingPromptHeader=ตรวจพบคำขอขาเข้าที่จะอนุญาตการเชื่อมต่อการดีบั๊กระยะไกล ไคลเอ็นต์ระยะไกลสามารถควบคุมเบราว์เซอร์ของคุณได้อย่างสมบูรณ์!
+# LOCALIZATION NOTE (remoteIncomingPromptClientEndpoint): Part of the prompt
+# dialog for the user to choose whether an incoming connection should be
+# allowed.
+# %1$S: The host and port of the client such as "127.0.0.1:6000"
+remoteIncomingPromptClientEndpoint=ปลายทางของไคลเอ็นต์: %1$S
+# LOCALIZATION NOTE (remoteIncomingPromptServerEndpoint): Part of the prompt
+# dialog for the user to choose whether an incoming connection should be
+# allowed.
+# %1$S: The host and port of the server such as "127.0.0.1:6000"
+remoteIncomingPromptServerEndpoint=ปลายทางของเซิร์ฟเวอร์: %1$S
+# LOCALIZATION NOTE (remoteIncomingPromptFooter): Footer displayed on the
+# dialog that prompts the user to allow the incoming connection.
+remoteIncomingPromptFooter=อนุญาตการเชื่อมต่อ?
+
+# LOCALIZATION NOTE (remoteIncomingPromptDisable): The label displayed on the
+# third button in the incoming connection dialog that lets the user disable the
+# remote debugger server.
+remoteIncomingPromptDisable=ปิดใช้งาน
+
+# LOCALIZATION NOTE (clientSendOOBTitle): The title displayed on the dialog that
+# instructs the user to transfer an authentication token to the server.
+clientSendOOBTitle=การระบุไคลเอนต์
+# LOCALIZATION NOTE (clientSendOOBHeader): Header displayed on the dialog that
+# instructs the user to transfer an authentication token to the server.
+clientSendOOBHeader=ปลายทางที่คุณกำลังเชื่อมต่อต้องการข้อมูลเพิ่มเติมเพื่อรับรองความถูกต้องของการเชื่อมต่อนี้ โปรดระบุโทเค็นด้านล่างในพรอมต์ที่ปรากฏในส่วนอื่น ๆ
+# LOCALIZATION NOTE (clientSendOOBHash): Part of the dialog that instructs the
+# user to transfer an authentication token to the server.
+# %1$S: The client's cert fingerprint
+clientSendOOBHash=ใบรับรองของฉัน: %1$S
+# LOCALIZATION NOTE (clientSendOOBToken): Part of the dialog that instructs the
+# user to transfer an authentication token to the server.
+# %1$S: The authentication token that the user will transfer.
+clientSendOOBToken=โทเค็น: %1$S
+
+# LOCALIZATION NOTE (serverReceiveOOBTitle): The title displayed on the dialog
+# that instructs the user to provide an authentication token from the client.
+serverReceiveOOBTitle=ระบุโทเค็นไคลเอนต์
+# LOCALIZATION NOTE (serverReceiveOOBBody): Main text displayed on the dialog
+# that instructs the user to provide an authentication token from the client.
+serverReceiveOOBBody=ไคลเอ็นต์ควรแสดงค่าโทเค็น ป้อนค่าโทเค็นที่นี่เพื่อทำการรับรองความถูกต้องกับไคลเอ็นต์นี้
diff --git a/l10n-th/devtools/shared/eyedropper.properties b/l10n-th/devtools/shared/eyedropper.properties
new file mode 100644
index 0000000000..6ce08356e0
--- /dev/null
+++ b/l10n-th/devtools/shared/eyedropper.properties
@@ -0,0 +1,14 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE These strings are used in the Eyedropper color tool.
+# LOCALIZATION NOTE The correct localization of this file might be to keep it
+# in English, or another language commonly spoken among web developers.
+# You want to make that choice consistent across the developer tools.
+# A good criteria is the language in which you'd find the best documentation
+# on web development on the web.
+
+# LOCALIZATION NOTE (colorValue.copied): This text is displayed when the user selects a
+# color with the eyedropper and it's copied to the clipboard.
+colorValue.copied=คัดลอกแล้ว
diff --git a/l10n-th/devtools/shared/highlighters.properties b/l10n-th/devtools/shared/highlighters.properties
new file mode 100644
index 0000000000..a9db9f0c74
--- /dev/null
+++ b/l10n-th/devtools/shared/highlighters.properties
@@ -0,0 +1,35 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE This file contains strings used in highlighters.
+# Highlighters are visualizations that DevTools draws on top of content to aid
+# in understanding content sizing, etc.
+
+# LOCALIZATION NOTE (grid.rowColumnPositions): The row and column position of a grid
+# cell shown in the grid cell infobar when hovering over the CSS grid outline.
+grid.rowColumnPositions=แถว %S / คอลัมน์ %S
+
+# LOCALIZATION NOTE (gridType.container): the layout type of an element shown in
+# the infobar when hovering over a DOM element and it is a grid container.
+gridType.container=ตัวบรรจุ Grid
+
+# LOCALIZATION NOTE (gridType.item): the layout type of an element shown in
+# the infobar when hovering over a DOM element and it is a grid item.
+gridType.item=รายการ Grid
+
+# LOCALIZATION NOTE (gridType.dual): the layout type of an element shown in
+# the infobar when hovering over a DOM element and it is both a grid container and a grid item.
+gridType.dual=ตัวบรรจุ/รายการ Grid
+
+# LOCALIZATION NOTE (flexType.container): the layout type of an element shown in
+# the infobar when hovering over a DOM element and it is a flex container.
+flexType.container=ตัวบรรจุ Flex
+
+# LOCALIZATION NOTE (flexType.item): the layout type of an element shown in
+# the infobar when hovering over a DOM element and it is a flex item.
+flexType.item=รายการ Flex
+
+# LOCALIZATION NOTE (flexType.dual): the layout type of an element shown in
+# the infobar when hovering over a DOM element and it is both a flex container and a flex item.
+flexType.dual=ตัวบรรจุ/รายการ Flex
diff --git a/l10n-th/devtools/shared/screenshot.properties b/l10n-th/devtools/shared/screenshot.properties
new file mode 100644
index 0000000000..a4b1a60ff5
--- /dev/null
+++ b/l10n-th/devtools/shared/screenshot.properties
@@ -0,0 +1,133 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE These strings are used inside Web Console commands.
+# The Web Console command line is available from the Web Developer sub-menu
+# -> 'Web Console'.
+#
+# The correct localization of this file might be to keep it in
+# English, or another language commonly spoken among web developers.
+# You want to make that choice consistent across the developer tools.
+# A good criteria is the language in which you'd find the best
+# documentation on web development on the web.
+
+# LOCALIZATION NOTE (screenshotDesc) A very short description of the
+# 'screenshot' command. Displayed when the --help flag is passed to
+# the screenshot command.
+screenshotDesc=บันทึกภาพของหน้า
+
+# LOCALIZATION NOTE (screenshotFilenameDesc) A very short string to describe
+# the 'filename' parameter to the 'screenshot' command. Displayed when the
+# --help flag is passed to the screenshot command.
+screenshotFilenameDesc=ชื่อไฟล์ปลายทาง
+
+# LOCALIZATION NOTE (screenshotFilenameManual) A fuller description of the
+# 'filename' parameter to the 'screenshot' command.
+screenshotFilenameManual=ชื่อไฟล์ (ควรมีนามสกุลเป็น '.png') ที่จะบันทึกภาพหน้าจอ
+
+# LOCALIZATION NOTE (screenshotClipboardDesc) A very short string to describe
+# the 'clipboard' parameter to the 'screenshot' command. Displayed when the
+# --help flag is passed to the screenshot command.
+screenshotClipboardDesc=คัดลอกภาพหน้าจอไปยังคลิปบอร์ด? (true/false)
+
+# LOCALIZATION NOTE (screenshotClipboardManual) A fuller description of the
+# 'clipboard' parameter to the 'screenshot' command. Displayed when the
+# --help flag is passed to the screenshot command.
+screenshotClipboardManual=ตั้งเป็น True ถ้าคุณต้องการคัดลอกภาพหน้าจอแทนการบันทึกไปยังไฟล์
+
+# LOCALIZATION NOTE (screenshotGroupOptions) A label for the optional options of
+# the screenshot command. Displayed when the --help flag is passed to the
+# screenshot command.
+screenshotGroupOptions=ตัวเลือก
+
+# LOCALIZATION NOTE (screenshotDelayDesc) A very short string to describe
+# the 'delay' parameter to the 'screenshot' command. Displayed when the
+# --help flag is passed to the screenshot command.
+screenshotDelayDesc=หน่วงเวลา (วินาที)
+
+# LOCALIZATION NOTE (screenshotDelayManual) A fuller description of the
+# 'delay' parameter to the 'screenshot' command. Displayed when the
+# --help flag is passed to the screenshot command.
+screenshotDelayManual=เวลาที่หน่วง (หน่วยเป็นวินาที) ก่อนที่จะถ่ายภาพหน้าจอ
+
+# LOCALIZATION NOTE (screenshotDPRDesc) A very short string to describe
+# the 'dpr' parameter to the 'screenshot' command. Displayed when the
+# --help flag is passed to the `screenshot command.
+screenshotDPRDesc=อัตราส่วนพิกเซลของอุปกรณ์
+
+# LOCALIZATION NOTE (screenshotDPRManual) A fuller description of the
+# 'dpr' parameter to the 'screenshot' command. Displayed when the
+# --help flag is passed to the `screenshot command.
+screenshotDPRManual=อัตราส่วนพิกเซลของอุปกรณ์ที่จะใช้เมื่อจับภาพหน้าจอ
+
+# LOCALIZATION NOTE (screenshotFullPageDesc) A very short string to describe
+# the 'fullpage' parameter to the 'screenshot' command. Displayed when the
+# --help flag is passed to the `screenshot command.
+screenshotFullPageDesc=ทั้งหน้าเว็บ? (true/false)
+
+# LOCALIZATION NOTE (screenshotFullPageManual) A fuller description of the
+# 'fullpage' parameter to the 'screenshot' command. Displayed when the
+# --help flag is passed to the `screenshot command.
+screenshotFullPageManual=ตั้งเป็น True ถ้าจะถ่ายภาพหน้าจอโดยรวมเอาส่วนของหน้าเว็บที่อยู่เลยขอบเขตการเลื่อนหน้าจอปัจจุบันไว้ด้วย
+
+# LOCALIZATION NOTE (screenshotFileDesc) A very short string to describe
+# the 'file' parameter to the 'screenshot' command. Displayed when the
+# --help flag is passed to the `screenshot command.
+screenshotFileDesc=บันทึกเป็นไฟล์? (true/false)
+
+# LOCALIZATION NOTE (screenshotFileManual) A fuller description of the
+# 'file' parameter to the 'screenshot' command. Displayed when the
+# --help flag is passed to the `screenshot command.
+screenshotFileManual=ตั้งเป็น True หากคุณต้องการให้บันทึกภาพหน้าจอเป็นไฟล์เมื่อตัวเลือกอื่นถูกเปิดใช้งาน (ตัวอย่างเช่น คลิปบอร์ด)
+
+# LOCALIZATION NOTE (screenshotGeneratedFilename) The auto generated filename
+# when no file name is provided. The first argument (%1$S) is the date string
+# in yyyy-mm-dd format and the second argument (%2$S) is the time string
+# in HH.MM.SS format. Please don't add the extension here.
+screenshotGeneratedFilename=ภาพหน้าจอเมื่อ %1$S ณ เวลา %2$S
+
+# LOCALIZATION NOTE (screenshotErrorSavingToFile) Text displayed to user upon
+# encountering error while saving the screenshot to the file specified.
+# The argument (%1$S) is the filename.
+screenshotErrorSavingToFile=เกิดข้อผิดพลาดในการบันทึกเป็น %1$S
+
+# LOCALIZATION NOTE (screenshotSavedToFile) Text displayed to user when the
+# screenshot is successfully saved to the file specified.
+# The argument (%1$S) is the filename.
+screenshotSavedToFile=บันทึกเป็น %1$S แล้ว
+
+# LOCALIZATION NOTE (screenshotErrorCopying) Text displayed to user upon
+# encountering error while copying the screenshot to clipboard.
+screenshotErrorCopying=เกิดข้อผิดพลาดขณะคัดลอกภาพหน้าจอไปยังคลิปบอร์ด
+
+# LOCALIZATION NOTE (screenshotCopied) Text displayed to user when the
+# screenshot is successfully copied to the clipboard.
+screenshotCopied=คัดลอกภาพหน้าจอไปยังคลิปบอร์ดแล้ว
+
+# LOCALIZATION NOTE (inspectNodeDesc) A very short string to describe the
+# 'node' parameter to the 'inspect' command. Displayed when the
+# --help flag is passed to the `screenshot command.
+inspectNodeDesc=ตัวเลือก CSS
+
+# LOCALIZATION NOTE (inspectNodeManual) A fuller description of the 'node'
+# parameter to the 'inspect' command. Displayed when the --help flag is
+# passed to the `screenshot command.
+inspectNodeManual=CSS selector สำหรับใช้กับ Document.querySelector เพื่อระบุวัตถุเดี่ยว
+
+# LOCALIZATION NOTE (screenshotTruncationWarning) Text displayed to user when the image
+# that would be created by the screenshot is too big and needs to be truncated to avoid
+# errors.
+# The first parameter is the width of the final image and the second parameter is the
+# height of the image.
+screenshotTruncationWarning=ภาพถูกตัดออกเป็น %1$S×%2$S เนื่องจากภาพที่ได้มีขนาดใหญ่เกินไป
+
+# LOCALIZATION NOTE (screenshotDPRDecreasedWarning) Text displayed to user when the
+# screenshot they want to take is for the full page and the Device Pixel Ratio is
+# decreased to 1, to avoid creating images that are too big which may cause errors.
+screenshotDPRDecreasedWarning=อัตราส่วนพิกเซลของอุปกรณ์ถูกลดลงเป็น 1 เนื่องจากภาพที่ได้มีขนาดใหญ่เกินไป
+
+# LOCALIZATION NOTE (screenshotRenderingError) Text displayed to user upon
+# encountering an error while rendering the screenshot. This most often happens when the
+# resulting image is too large to be rendered.
+screenshotRenderingError=เกิดข้อผิดพลาดในการสร้างภาพ ภาพที่ได้อาจมีขนาดใหญ่เกินไป
diff --git a/l10n-th/devtools/shared/shared.properties b/l10n-th/devtools/shared/shared.properties
new file mode 100644
index 0000000000..1fb1dc2307
--- /dev/null
+++ b/l10n-th/devtools/shared/shared.properties
@@ -0,0 +1,6 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE (ellipsis): The ellipsis (three dots) character
+ellipsis=… \ No newline at end of file
diff --git a/l10n-th/devtools/shared/styleinspector.properties b/l10n-th/devtools/shared/styleinspector.properties
new file mode 100644
index 0000000000..ed6939d9c5
--- /dev/null
+++ b/l10n-th/devtools/shared/styleinspector.properties
@@ -0,0 +1,242 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE These strings are used inside the Style Inspector.
+#
+# The correct localization of this file might be to keep it in
+# English, or another language commonly spoken among web developers.
+# You want to make that choice consistent across the developer tools.
+# A good criteria is the language in which you'd find the best
+# documentation on web development on the web.
+
+
+# LOCALIZATION NOTE (rule.status): For each style property the panel shows
+# the rules which hold that specific property. For every rule, the rule status
+# is also displayed: a rule can be the best match, a match, a parent match, or a
+# rule did not match the element the user has highlighted.
+rule.status.BEST=ตรงกันมากที่สุด
+rule.status.MATCHED=ตรงกัน
+rule.status.PARENT_MATCH=ตรงกันกับรายการหลัก
+
+# LOCALIZATION NOTE (rule.sourceElement, rule.sourceInline): For each
+# style property the panel shows the rules which hold that specific property.
+# For every rule, the rule source is also displayed: a rule can come from a
+# file, from the same page (inline), or from the element itself (element).
+rule.sourceInline=อินไลน์
+rule.sourceElement=องค์ประกอบ
+
+# LOCALIZATION NOTE (rule.inheritedFrom): Shown for CSS rules
+# that were inherited from a parent node. Will be passed a node
+# identifier of the parent node.
+# e.g "Inherited from body#bodyID"
+rule.inheritedFrom=สืบทอดจาก %S
+
+# LOCALIZATION NOTE (rule.keyframe): Shown for CSS Rules keyframe header.
+# Will be passed an identifier of the keyframe animation name.
+rule.keyframe=คีย์เฟรม %S
+
+# LOCALIZATION NOTE (rule.userAgentStyles): Shown next to the style sheet
+# link for CSS rules that were loaded from a user agent style sheet.
+# These styles will not be editable, and will only be visible if the
+# devtools.inspector.showUserAgentStyles pref is true.
+rule.userAgentStyles=(ตัวแทนผู้ใช้)
+
+# LOCALIZATION NOTE (rule.pseudoElement): Shown for CSS rules
+# pseudo element header
+rule.pseudoElement=องค์ประกอบแฝง
+
+# LOCALIZATION NOTE (rule.selectedElement): Shown for CSS rules element header if
+# pseudo elements are present in the rule view.
+rule.selectedElement=องค์ประกอบนี้
+
+# LOCALIZATION NOTE (rule.warning.title): When an invalid property value is
+# entered into the rule view a warning icon is displayed. This text is used for
+# the title attribute of the warning icon.
+rule.warning.title=ค่าคุณสมบัติไม่ถูกต้อง
+
+# LOCALIZATION NOTE (rule.warningName.title): When an invalid property name is
+# entered into the rule view a warning icon is displayed. This text is used for
+# the title attribute of the warning icon.
+rule.warningName.title=ชื่อคุณสมบัติไม่ถูกต้อง
+
+# LOCALIZATION NOTE (rule.filterProperty.title): Text displayed in the tooltip
+# of the search button that is shown next to a property that has been overridden
+# in the rule view.
+rule.filterProperty.title=กฎตัวกรองที่มีคุณสมบัตินี้
+
+# LOCALIZATION NOTE (rule.empty): Text displayed when the highlighter is
+# first opened and there's no node selected in the rule view.
+rule.empty=ไม่มีองค์ประกอบถูกเลือก
+
+# LOCALIZATION NOTE (rule.variableValue): Text displayed in a tooltip
+# when the mouse is over a variable use (like "var(--something)") in
+# the rule view. The first argument is the variable name and the
+# second argument is the value.
+rule.variableValue=%S = %S
+
+# LOCALIZATION NOTE (rule.variableUnset): Text displayed in a tooltip
+# when the mouse is over a variable use (like "var(--something)"),
+# where the variable is not set. the rule view. The argument is the
+# variable name.
+rule.variableUnset=%S ไม่ได้ถูกเตรียมไว้
+
+# LOCALIZATION NOTE (rule.selectorHighlighter.tooltip): Text displayed in a
+# tooltip when the mouse is over a selector highlighter icon in the rule view.
+rule.selectorHighlighter.tooltip=เน้นองค์ประกอบทั้งหมดที่ตรงกับตัวเลือกนี้
+
+# LOCALIZATION NOTE (rule.colorSwatch.tooltip): Text displayed in a tooltip
+# when the mouse is over a color swatch in the rule view.
+rule.colorSwatch.tooltip=คลิกเพื่อเปิดตัวเลือกสี กดแป้น Shift+คลิกเพื่อเปลี่ยนรูปแบบสี
+
+# LOCALIZATION NOTE (rule.bezierSwatch.tooltip): Text displayed in a tooltip
+# when the mouse is over a cubic-bezier swatch in the rule view.
+rule.bezierSwatch.tooltip=คลิกเพื่อเปิดตัวแก้ไขฟังก์ชันการตั้งเวลา
+
+# LOCALIZATION NOTE (rule.filterSwatch.tooltip): Text displayed in a tooltip
+# when the mouse is over a filter swatch in the rule view.
+rule.filterSwatch.tooltip=คลิกเพื่อเปิดตัวแก้ไขตัวกรอง
+
+# LOCALIZATION NOTE (rule.angleSwatch.tooltip): Text displayed in a tooltip
+# when the mouse is over a angle swatch in the rule view.
+rule.angleSwatch.tooltip=กดแป้น Shift+คลิกเพื่อเปลี่ยนรูปแบบมุม
+
+# LOCALIZATION NOTE (rule.flexToggle.tooltip): Text displayed in a tooltip
+# when the mouse is over a Flexbox toggle icon in the rule view.
+rule.flexToggle.tooltip=คลิกเพื่อเปิด/ปิดตัวเน้น Flexbox
+
+# LOCALIZATION NOTE (rule.gridToggle.tooltip): Text displayed in a tooltip
+# when the mouse is over a CSS Grid toggle icon in the rule view.
+rule.gridToggle.tooltip=คลิกเพื่อเปิด/ปิดตัวเน้นเส้นตาราง CSS
+
+# LOCALIZATION NOTE (rule.filterStyles.placeholder): This is the placeholder that
+# goes in the search box when no search term has been entered.
+rule.filterStyles.placeholder=กรองลักษณะ
+
+# LOCALIZATION NOTE (rule.addRule.tooltip): This is the tooltip shown when
+# hovering the `Add new rule` button in the rules view toolbar.
+rule.addRule.tooltip=เพิ่มกฎใหม่
+
+# LOCALIZATION NOTE (rule.togglePseudo.tooltip): This is the tooltip
+# shown when hovering over the `Toggle Pseudo Class Panel` button in the
+# rule view toolbar.
+rule.togglePseudo.tooltip=เปิด/ปิดคลาสแฝง
+
+# LOCALIZATION NOTE (rule.classPanel.toggleClass.tooltip): This is the tooltip
+# shown when hovering over the `Toggle Class Panel` button in the
+# rule view toolbar.
+rule.classPanel.toggleClass.tooltip=เปิด/ปิดคลาส
+
+# LOCALIZATION NOTE (rule.classPanel.newClass.placeholder): This is the placeholder
+# shown inside the text field used to add a new class in the rule-view.
+rule.classPanel.newClass.placeholder=เพิ่มคลาสใหม่
+
+# LOCALIZATION NOTE (rule.classPanel.noClasses): This is the text displayed in the
+# class panel when the current element has no classes applied.
+rule.classPanel.noClasses=ไม่มีคลาสในองค์ประกอบนี้
+
+# LOCALIZATION NOTE (rule.printSimulation.tooltip):
+# This is the tooltip of the print simulation button in the Rule View toolbar
+# that toggles print simulation.
+rule.printSimulation.tooltip=เปิด/ปิดการจำลองสื่อสิ่งพิมพ์สำหรับหน้า
+
+# LOCALIZATION NOTE (rule.colorSchemeSimulation.tooltip):
+# This is the tooltip of the color scheme simulation button in the Rule View
+# toolbar that toggles color-scheme simulation.
+rule.colorSchemeSimulation.tooltip=เปิด/ปิดการจำลองแบบแผนสีสำหรับหน้า
+
+# LOCALIZATION NOTE (rule.twistyCollapse.label): The text a screen reader
+# speaks when the header of a rule is expanded.
+rule.twistyCollapse.label=ยุบ
+
+# LOCALIZATION NOTE (rule.twistyExpand.label): The text a screen reader
+# speaks when the header of a rule is collapsed.
+rule.twistyExpand.label=ขยาย
+
+# LOCALIZATION NOTE (styleinspector.contextmenu.copyColor): Text displayed in the rule
+# and computed view context menu when a color value was clicked.
+styleinspector.contextmenu.copyColor=คัดลอกสี
+
+# LOCALIZATION NOTE (styleinspector.contextmenu.copyColor.accessKey): Access key for
+# the rule and computed view context menu "Copy Color" entry.
+styleinspector.contextmenu.copyColor.accessKey=ด
+
+# LOCALIZATION NOTE (styleinspector.contextmenu.copyUrl): In rule and computed view :
+# text displayed in the context menu for an image URL.
+# Clicking it copies the URL to the clipboard of the user.
+styleinspector.contextmenu.copyUrl=คัดลอก URL
+
+# LOCALIZATION NOTE (styleinspector.contextmenu.copyUrl.accessKey): Access key for
+# the rule and computed view context menu "Copy URL" entry.
+styleinspector.contextmenu.copyUrl.accessKey=อ
+
+# LOCALIZATION NOTE (styleinspector.contextmenu.copyImageDataUrl): In rule and computed view :
+# text displayed in the context menu for an image URL.
+# Clicking it copies the image as Data-URL to the clipboard of the user.
+styleinspector.contextmenu.copyImageDataUrl=คัดลอก Data-URL ภาพ
+
+# LOCALIZATION NOTE (styleinspector.contextmenu.copyImageDataUrl.accessKey): Access key for
+# the rule and computed view context menu "Copy Image Data-URL" entry.
+styleinspector.contextmenu.copyImageDataUrl.accessKey=ก
+
+# LOCALIZATION NOTE (styleinspector.copyImageDataUrlError): Text set in the clipboard
+# if an error occurs when using the copyImageDataUrl context menu action
+# (invalid image link, timeout, etc...)
+styleinspector.copyImageDataUrlError=ไม่สามารถคัดลอก Data-URL ภาพ
+
+# LOCALIZATION NOTE (styleinspector.contextmenu.toggleOrigSources): Text displayed in the rule view
+# context menu.
+styleinspector.contextmenu.toggleOrigSources=แสดงแหล่งต้นฉบับ
+
+# LOCALIZATION NOTE (styleinspector.contextmenu.toggleOrigSources.accessKey): Access key for
+# the rule view context menu "Show original sources" entry.
+styleinspector.contextmenu.toggleOrigSources.accessKey=ส
+
+# LOCALIZATION NOTE (styleinspector.contextmenu.addNewRule): Text displayed in the
+# rule view context menu for adding a new rule to the element.
+# This should match inspector.addRule.tooltip in inspector.properties
+styleinspector.contextmenu.addNewRule=เพิ่มกฎใหม่
+
+# LOCALIZATION NOTE (styleinspector.contextmenu.addNewRule.accessKey): Access key for
+# the rule view context menu "Add rule" entry.
+styleinspector.contextmenu.addNewRule.accessKey=พ
+
+# LOCALIZATION NOTE (styleinspector.contextmenu.selectAll): Text displayed in the
+# computed view context menu.
+styleinspector.contextmenu.selectAll=เลือกทั้งหมด
+
+# LOCALIZATION NOTE (styleinspector.contextmenu.selectAll.accessKey): Access key for
+# the computed view context menu "Select all" entry.
+styleinspector.contextmenu.selectAll.accessKey=ล
+
+# LOCALIZATION NOTE (styleinspector.contextmenu.copy): Text displayed in the
+# computed view context menu.
+styleinspector.contextmenu.copy=คัดลอก
+
+# LOCALIZATION NOTE (styleinspector.contextmenu.copy.accessKey): Access key for
+# the computed view context menu "Copy" entry.
+styleinspector.contextmenu.copy.accessKey=ค
+
+# LOCALIZATION NOTE (styleinspector.contextmenu.copyLocation): Text displayed in the
+# rule view context menu for copying the source location.
+styleinspector.contextmenu.copyLocation=คัดลอกตำแหน่งที่ตั้ง
+
+# LOCALIZATION NOTE (styleinspector.contextmenu.copyDeclaration): Text
+# displayed in the rule view context menu for copying the CSS declaration.
+styleinspector.contextmenu.copyDeclaration=คัดลอกการประกาศ
+
+# LOCALIZATION NOTE (styleinspector.contextmenu.copyPropertyName): Text displayed in
+# the rule view context menu for copying the property name.
+styleinspector.contextmenu.copyPropertyName=คัดลอกชื่อคุณสมบัติ
+
+# LOCALIZATION NOTE (styleinspector.contextmenu.copyPropertyValue): Text displayed in
+# the rule view context menu for copying the property value.
+styleinspector.contextmenu.copyPropertyValue=คัดลอกค่าคุณสมบัติ
+
+# LOCALIZATION NOTE (styleinspector.contextmenu.copyRule): Text displayed in the
+# rule view context menu for copying the rule.
+styleinspector.contextmenu.copyRule=คัดลอกกฎ
+
+# LOCALIZATION NOTE (styleinspector.contextmenu.copySelector): Text displayed in the
+# rule view context menu for copying the selector.
+styleinspector.contextmenu.copySelector=คัดลอกตัวเลือก
diff --git a/l10n-th/devtools/startup/aboutDevTools.ftl b/l10n-th/devtools/startup/aboutDevTools.ftl
new file mode 100644
index 0000000000..5b49aa0e89
--- /dev/null
+++ b/l10n-th/devtools/startup/aboutDevTools.ftl
@@ -0,0 +1,57 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+head-title = เกี่ยวกับเครื่องมือนักพัฒนา
+enable-title = เปิดใช้งานเครื่องมือนักพัฒนา Firefox
+enable-inspect-element-title = เปิดใช้งานเครื่องมือนักพัฒนา Firefox เพื่อใช้การตรวจสอบองค์ประกอบ
+enable-inspect-element-message = ตรวจสอบและแก้ไข HTML และ CSS ด้วยตัวตรวจสอบของเครื่องมือนักพัฒนา
+enable-about-debugging-message = พัฒนาและดีบั๊ก WebExtensions ตัวทำงานเว็บ ตัวทำงานบริการ และอื่น ๆ อีกมากมายด้วยเครื่องมือนักพัฒนา Firefox
+enable-key-shortcut-message = คุณเปิดใช้งานทางลัดเครื่องมือนักพัฒนาแล้ว หากนั่นเป็นข้อผิดพลาด คุณสามารถปิดแท็บนี้ได้
+enable-menu-message = ทำให้ HTML, CSS และ JavaScript ของเว็บไซต์ของคุณสมบูรณ์แบบด้วยเครื่องมืออย่างตัวตรวจสอบและตัวดีบั๊ก
+enable-common-message = เครื่องมือนักพัฒนา Firefox ถูกปิดใช้งานตามค่าเริ่มต้นเพื่อให้คุณสามารถควบคุมเบราว์เซอร์ของคุณได้มากขึ้น
+enable-learn-more-link = เรียนรู้เพิ่มเติมเกี่ยวกับเครื่องมือนักพัฒนา
+enable-enable-button = เปิดใช้งานเครื่องมือนักพัฒนา
+enable-close-button = ปิดแท็บนี้
+
+welcome-title = ยินดีต้อนรับสู่เครื่องมือนักพัฒนา Firefox!
+newsletter-title = จดหมายข่าวนักพัฒนา Mozilla
+newsletter-message = รับข่าวสารสำหรับนักพัฒนา เทคนิค และทรัพยากรส่งตรงไปยังกล่องขาเข้าของคุณ
+newsletter-email-placeholder =
+ .placeholder = อีเมล
+newsletter-privacy-label = ฉันตกลงให้ Mozilla รองรับข้อมูลของฉันตามที่อธิบายใน <a data-l10n-name="privacy-policy">นโยบายความเป็นส่วนตัวนี้</a>
+newsletter-subscribe-button = บอกรับ
+newsletter-thanks-title = ขอบคุณ!
+newsletter-thanks-message = ถ้าคุณยังไม่เคยยืนยันการสมัครจดหมายข่าวที่เกี่ยวข้องกับ Mozilla คุณอาจจะต้องทำต่อไปนี้ โปรดตรวจสอบกล่องจดหมายเข้าของคุณหรือตัวกรองสแปมของคุณเพื่อดูอีเมลจากเรา
+
+footer-title = Firefox Developer Edition
+footer-message = กำลังมองหามากกว่าเครื่องมือนักพัฒนาใช่ไหม? ตรวจสอบเบราว์เซอร์ Firefox ที่สร้างขึ้นสำหรับนักพัฒนาซอฟต์แวร์และเวิร์กโฟลว์แบบทันสมัยโดยเฉพาะ
+footer-learn-more-link = เรียนรู้เพิ่มเติม
+
+features-learn-more = เรียนรู้เพิ่มเติม
+features-inspector-title = ตัวตรวจสอบ
+features-inspector-desc = ตรวจสอบและปรับแต่งรหัสเพื่อสร้างเค้าโครงพิกเซลที่สมบูรณ์แบบ <a data-l10n-name="learn-more">{ features-learn-more }</a>
+features-console-title = คอนโซล
+features-console-desc = ติดตาม CSS, JavaScript, ความปลอดภัยและปัญหาเครือข่าย <a data-l10n-name="learn-more">{ features-learn-more }</a>
+features-debugger-title = ตัวดีบั๊ก
+features-debugger-desc = ตัวดีบั๊ก JavaScript ที่มีประสิทธิภาพซึ่งรองรับเฟรมเวิร์กของคุณ <a data-l10n-name="learn-more">{ features-learn-more }</a>
+features-network-title = เครือข่าย
+features-network-desc = เฝ้าดูคำขอเครือข่ายที่อาจทำให้ไซต์ของคุณทำงานช้าหรือปิดกั้นไซต์ของคุณ <a data-l10n-name="learn-more">{ features-learn-more }</a>
+features-storage-title = ที่เก็บข้อมูล
+features-storage-desc = เพิ่ม แก้ไข และลบแคช คุกกี้ ฐานข้อมูล และข้อมูลวาระ <a data-l10n-name="learn-more">{ features-learn-more }</a>
+features-responsive-title = โหมดการออกแบบเชิงตอบสนอง
+features-responsive-desc = ทดสอบไซต์บนอุปกรณ์ที่จำลองในเบราว์เซอร์ของคุณ <a data-l10n-name="learn-more">{ features-learn-more }</a>
+features-visual-editing-title = การแก้ไขสิ่งที่มองเห็น
+features-visual-editing-desc = ปรับแต่งภาพเคลื่อนไหว การจัดตำแหน่ง และช่องว่างภายใน <a data-l10n-name="learn-more">{ features-learn-more }</a>
+features-performance-title = ประสิทธิภาพ
+features-performance-desc = เลิกปิดกั้นคอขวด ทำให้กระบวนการง่ายขึ้น เพิ่มประสิทธิภาพแอสเซท <a data-l10n-name="learn-more">{ features-learn-more }</a>
+features-memory-title = หน่วยความจำ
+features-memory-desc = ค้นหาการรั่วไหลของหน่วยความจำและทำให้แอปพลิเคชันของคุณทำงานได้เร็วขึ้น <a data-l10n-name="learn-more">{ features-learn-more }</a>
+# Variables:
+# $errorDescription (String) - The error that occurred e.g. 404 - Not Found
+newsletter-error-common = คำขอการบอกรับล้มเหลว ({ $errorDescription })
+newsletter-error-unknown = เกิดข้อผิดพลาดที่ไม่คาดคิด
+newsletter-error-timeout = หมดเวลารอคำขอการบอกรับ
+# Variables:
+# $shortcut (String) - The keyboard shortcut used for the tool
+welcome-message = คุณเปิดใช้งานเครื่องมือนักพัฒนาเรียบร้อยแล้ว! เมื่อต้องการเริ่มต้นใช้งาน ให้สำรวจเมนูนักพัฒนาเว็บหรือเปิดเครื่องมือด้วย { $shortcut }
diff --git a/l10n-th/devtools/startup/key-shortcuts.properties b/l10n-th/devtools/startup/key-shortcuts.properties
new file mode 100644
index 0000000000..a5bdf43188
--- /dev/null
+++ b/l10n-th/devtools/startup/key-shortcuts.properties
@@ -0,0 +1,67 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE (toggleToolbox.commandkey):
+# Key pressed to open a toolbox with the default panel selected
+toggleToolbox.commandkey=I
+
+# LOCALIZATION NOTE (toggleToolboxF12.commandkey):
+# Alternative key pressed to open a toolbox with the default panel selected
+toggleToolboxF12.commandkey=VK_F12
+
+# LOCALIZATION NOTE (browserToolbox.commandkey):
+# Key pressed to open the Browser Toolbox, used for debugging Firefox itself
+browserToolbox.commandkey=I
+
+# LOCALIZATION NOTE (browserConsole.commandkey):
+# Key pressed to open the Browser Console, used for debugging Firefox itself
+browserConsole.commandkey=J
+
+# LOCALIZATION NOTE (responsiveDesignMode.commandkey):
+# Key pressed to toggle on the Responsive Design Mode
+responsiveDesignMode.commandkey=M
+
+# LOCALIZATION NOTE (inspector.commandkey):
+# Key pressed to open a toolbox with the inspector panel selected
+inspector.commandkey=C
+
+# LOCALIZATION NOTE (webconsole.commandkey):
+# Key pressed to open a toolbox with the web console panel selected
+webconsole.commandkey=K
+
+# LOCALIZATION NOTE (jsdebugger.commandkey2):
+# Key pressed to open a toolbox with the debugger panel selected
+jsdebugger.commandkey2=Z
+
+# LOCALIZATION NOTE (netmonitor.commandkey):
+# Key pressed to open a toolbox with the network monitor panel selected
+netmonitor.commandkey=E
+
+# LOCALIZATION NOTE (styleeditor.commandkey):
+# Key pressed to open a toolbox with the style editor panel selected
+styleeditor.commandkey=VK_F7
+
+# LOCALIZATION NOTE (performance.commandkey):
+# Key pressed to open a toolbox with the performance panel selected
+performance.commandkey=VK_F5
+
+# LOCALIZATION NOTE (storage.commandkey):
+# Key pressed to open a toolbox with the storage panel selected
+storage.commandkey=VK_F9
+
+# LOCALIZATION NOTE (dom.commandkey):
+# Key pressed to open a toolbox with the DOM panel selected
+dom.commandkey=W
+
+# LOCALIZATION NOTE (accessibilityF12.commandkey):
+# Key pressed to open a toolbox with the accessibility panel selected
+accessibilityF12.commandkey=VK_F12
+
+# LOCALIZATION NOTE (profilerStartStop.commandkey):
+# Key pressed to start or stop the performance profiler
+profilerStartStop.commandkey=VK_1
+
+# LOCALIZATION NOTE (profilerCapture.commandkey):
+# Key pressed to capture a recorded performance profile
+profilerCapture.commandkey=VK_2
diff --git a/l10n-th/devtools/startup/startup.properties b/l10n-th/devtools/startup/startup.properties
new file mode 100644
index 0000000000..e20cb1a3ff
--- /dev/null
+++ b/l10n-th/devtools/startup/startup.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 (enableDevTools.label):
+# Label for the menu item displayed in Tools > Developer Tools when DevTools are disabled.
+enableDevTools.label=เปิดใช้งานเครื่องมือนักพัฒนา…
+enableDevTools.accesskey=ป
diff --git a/l10n-th/dom/chrome/accessibility/AccessFu.properties b/l10n-th/dom/chrome/accessibility/AccessFu.properties
new file mode 100644
index 0000000000..6d761881dc
--- /dev/null
+++ b/l10n-th/dom/chrome/accessibility/AccessFu.properties
@@ -0,0 +1,360 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this file,
+# You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# Screen reader started/stopped
+screenReaderStarted = เริ่มตัวอ่านหน้าจอแล้ว
+screenReaderStopped = หยุดตัวอ่านหน้าจอแล้ว
+
+# Roles
+menubar = แถบเมนู
+scrollbar = แถบเลื่อน
+grip = ที่จับ
+alert = การแจ้งเตือน
+menupopup = เมนูป๊อปอัป
+document = เอกสาร
+pane = บานหน้าต่าง
+dialog = กล่องโต้ตอบ
+separator = ตัวแบ่ง
+toolbar = แถบเครื่องมือ
+statusbar = แถบสถานะ
+table = ตาราง
+columnheader = ส่วนหัวคอลัมน์
+rowheader = ส่วนหัวแถว
+column = คอลัมน์
+row = แถว
+cell = เซลล์
+link = ลิงก์
+list = รายการ
+listitem = รายการในรายการ
+outline = เค้าร่าง
+outlineitem = รายการเค้าร่าง
+pagetab = แท็บ
+propertypage = หน้าคุณสมบัติ
+graphic = กราฟิก
+switch = สลับ
+pushbutton = ปุ่ม
+checkbutton = ปุ่มกาเครื่องหมาย
+radiobutton = ปุ่มตัวเลือก
+combobox = กล่องคำสั่งผสม
+progressbar = แถบความคืบหน้า
+slider = แถบเลื่อน
+spinbutton = ปุ่มปรับค่า
+diagram = แผนภาพ
+animation = ภาพเคลื่อนไหว
+equation = สมการ
+buttonmenu = เมนูปุ่ม
+whitespace = ช่องว่าง
+pagetablist = รายการแท็บ
+canvas = ผืนผ้าใบ
+checkmenuitem = รายการเมนูกาเครื่องหมาย
+label = ป้ายชื่อ
+passwordtext = ข้อความรหัสผ่าน
+radiomenuitem = รายการเมนูตัวเลือก
+textcontainer = ตัวบรรจุข้อความ
+togglebutton = ปุ่มสลับค่า
+treetable = ตารางแบบต้นไม้
+header = ส่วนหัว
+footer = ส่วนท้าย
+paragraph = ย่อหน้า
+entry = รายการ
+caption = คำบรรยาย
+heading = หัวเรื่อง
+section = ส่วน
+form = แบบฟอร์ม
+comboboxlist = รายการกล่องคำสั่งผสม
+comboboxoption = ตัวเลือกกล่องคำสั่งผสม
+imagemap = แผนที่ภาพ
+listboxoption = ตัวเลือก
+listbox = กล่องรายการ
+flatequation = flat equation
+gridcell = เซลล์ตาราง
+note = หมายเหตุ
+figure = รูป
+definitionlist = รายการคำจำกัดความ
+term = คำ
+definition = คำจำกัดความ
+
+mathmltable = ตารางคณิตศาสตร์
+mathmlcell = เซลล์
+mathmlenclosed = ล้อมรอบ
+mathmlfraction = เศษส่วน
+mathmlfractionwithoutbar = เศษส่วนแบบไม่มีเส้นแนวนอน
+mathmlroot = ราก
+mathmlscripted = ตัวห้อย
+mathmlsquareroot = รากที่สอง
+
+# More sophisticated roles which are not actual numeric roles
+textarea = พื้นที่ข้อความ
+
+base = ฐาน
+close-fence = วงเล็บปิด
+denominator = ตัวหาร
+numerator = ตัวเศษ
+open-fence = วงเล็บเปิด
+overscript = ตัวยก
+presubscript = ตัวห้อยด้านหน้า
+presuperscript = ตัวยกด้านหน้า
+root-index = ดัชนีราก
+subscript = ตัวห้อย
+superscript = ตัวยก
+underscript = ตัวห้อยด้านล่าง
+
+# Text input types
+textInputType_date = วันที่
+textInputType_email = อีเมล
+textInputType_search = ค้นหา
+textInputType_tel = โทรศัพท์
+textInputType_url = URL
+
+# More sophisticated object descriptions
+headingLevel = ระดับหัวเรื่อง %S
+
+# more sophisticated list announcement
+listStart = รายการแรก
+listEnd = รายการสุดท้าย
+# LOCALIZATION NOTE (listItemsCount): Semi-colon list of plural forms.
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+listItemsCount = #1 รายการ
+
+# LOCALIZATION NOTE: # %1$S is the position of the item n the set.
+# %2$S is the total number of such items in the set.
+# An expanded example would read "2 of 5".
+objItemOfN = %1$S จาก %2$S
+
+# Landmark announcements
+banner = ป้าย
+complementary = เพิ่มเติม
+contentinfo = ข้อมูลเนื้อหา
+main = หลัก
+navigation = การนำทาง
+search = ค้นหา
+
+region = ภูมิภาค
+
+# LOCALIZATION NOTE (tblColumnInfo): Semi-colon list of plural forms.
+# Number of columns within the table.
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+tblColumnInfo = กับ #1 คอลัมน์
+# LOCALIZATION NOTE (tblRowInfo): Semi-colon list of plural forms.
+# Number of rows within the table or grid.
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+tblRowInfo = และ #1 แถว
+
+# table or grid cell information
+columnInfo = คอลัมน์ %S
+rowInfo = แถว %S
+spansColumns = ขยายคลุม %S คอลัมน์
+spansRows = ขยายคลุม %S แถว
+
+# Invoked actions
+jumpAction = กระโดดแล้ว
+pressAction = กดแล้ว
+checkAction = กาเครื่องหมายแล้ว
+uncheckAction = ยกเลิกการกาเครื่องหมายแล้ว
+onAction = เปิด
+offAction = ปิด
+selectAction = เลือกแล้ว
+unselectAction = ยกเลิกการเลือกแล้ว
+openAction = เปิดแล้ว
+closeAction = ปิดแล้ว
+switchAction = สลับแล้ว
+clickAction = คลิกแล้ว
+collapseAction = ยุบแล้ว
+expandAction = ขยายแล้ว
+activateAction = เปิดใช้งานแล้ว
+cycleAction = วนรอบแล้ว
+
+# Live regions
+# 'hidden' will be spoken when something disappears in a live region.
+hidden = ซ่อนอยู่
+
+# Tab states
+tabLoading = กำลังโหลด
+tabLoaded = โหลดแล้ว
+tabNew = แท็บใหม่
+tabLoadStopped = หยุดการโหลดแล้ว
+tabReload = กำลังโหลดใหม่
+
+# Object states
+stateChecked = กาเครื่องหมายอยู่
+stateOn = เปิด
+stateNotChecked = ไม่ได้กาเครื่องหมายอยู่
+stateOff = ปิด
+statePressed = กดอยู่
+# No string for a not pressed toggle button
+stateExpanded = ขยายอยู่
+stateCollapsed = ยุบอยู่
+stateUnavailable = ไม่พร้อมใช้งาน
+stateReadonly = อ่านอย่างเดียว
+stateRequired = จำเป็น
+stateTraversed = เยี่ยมชมแล้ว
+stateHasPopup = มีป๊อปอัป
+stateSelected = เลือกแล้ว
+
+# App modes
+editingMode = กำลังแก้ไข
+navigationMode = กำลังนำทาง
+
+# Quick navigation modes
+quicknav_Simple = ค่าเริ่มต้น
+quicknav_Anchor = จุดยึด
+quicknav_Button = ปุ่ม
+quicknav_Combobox = กล่องคำสั่งผสม
+quicknav_Landmark = แลนด์มาร์ค
+quicknav_Entry = รายการ
+quicknav_FormElement = องค์ประกอบแบบฟอร์ม
+quicknav_Graphic = ภาพ
+quicknav_Heading = หัวเรื่อง
+quicknav_ListItem = รายการในรายการ
+quicknav_Link = ลิงก์
+quicknav_List = รายการ
+quicknav_PageTab = หน้าแท็บ
+quicknav_RadioButton = ปุ่มตัวเลือก
+quicknav_Separator = ตัวแบ่ง
+quicknav_Table = ตาราง
+quicknav_Checkbox = กล่องกาเครื่องหมาย
+
+# MathML menclose notations.
+# See developer.mozilla.org/docs/Web/MathML/Element/menclose#attr-notation
+notation-longdiv = การหารแบบเต็ม
+notation-actuarial = คณิตศาสตร์ประกันภัย
+notation-phasorangle = มุมเฟสเซอร์
+notation-radical = กรณฑ์
+notation-box = กล่อง
+notation-roundedbox = กล่องขอบมน
+notation-circle = วงกลม
+notation-left = ซ้าย
+notation-right = ขวา
+notation-top = บน
+notation-bottom = ล่าง
+notation-updiagonalstrike = ขีดทแยงขึ้น
+notation-downdiagonalstrike = ขีดทแยงลง
+notation-verticalstrike = ขีดแนวตั้ง
+notation-horizontalstrike = ขีดแนวนอน
+notation-updiagonalarrow = ลูกศรทแยงขึ้น
+notation-madruwb = แฟกทอเรียลภาษาอาหรับ
+
+# Shortened role names for braille
+menubarAbbr = แถบเมนู
+scrollbarAbbr = แถบเลื่อน
+gripAbbr = ที่จับ
+alertAbbr = การแจ้งเตือน
+menupopupAbbr = เมนูป๊อปอัป
+documentAbbr = เอกสาร
+paneAbbr = บานหน้าต่าง
+dialogAbbr = กล่องโต้ตอบ
+separatorAbbr = ตัวแบ่ง
+toolbarAbbr = แถบเครื่องมือ
+statusbarAbbr = แถบสถานะ
+tableAbbr = ตาราง
+columnheaderAbbr = ส่วนหัวคอลัมน์
+rowheaderAbbr = ส่วนหัวแถว
+columnAbbr = คอลัมน์
+rowAbbr = แถว
+cellAbbr = เซลล์
+linkAbbr = ลิงก์
+listAbbr = รายการ
+listitemAbbr = รายการในรายการ
+outlineAbbr = เค้าร่าง
+outlineitemAbbr = รายการเค้าร่าง
+pagetabAbbr = แท็บ
+propertypageAbbr = หน้าคุณสมบัติ
+graphicAbbr = กราฟิก
+pushbuttonAbbr = ปุ่ม
+checkbuttonAbbr = ปุ่มกาเครื่องหมาย
+radiobuttonAbbr = ปุ่มตัวเลือก
+comboboxAbbr = กล่องคำสั่งผสม
+progressbarAbbr = แถบความคืบหน้า
+sliderAbbr = แถบเลื่อน
+spinbuttonAbbr = ปุ่มปรับค่า
+diagramAbbr = แผนภาพ
+animationAbbr = ภาพเคลื่อนไหว
+equationAbbr = สมการ
+buttonmenuAbbr = เมนูปุ่ม
+whitespaceAbbr = ช่องว่าง
+pagetablistAbbr = รายการแท็บ
+canvasAbbr = ผืนผ้าใบ
+checkmenuitemAbbr = รายการเมนูกาเครื่องหมาย
+labelAbbr = ป้ายชื่อ
+passwordtextAbbr = ข้อความรหัสผ่าน
+radiomenuitemAbbr = รายการเมนูตัวเลือก
+textcontainerAbbr = ตัวบรรจุข้อความ
+togglebuttonAbbr = ปุ่มสลับค่า
+treetableAbbr = ตารางแบบต้นไม้
+headerAbbr = ส่วนหัว
+footerAbbr = ส่วนท้าย
+paragraphAbbr = ย่อหน้า
+entryAbbr = รายการ
+captionAbbr = คำบรรยาย
+headingAbbr = หัวเรื่อง
+sectionAbbr = ส่วน
+formAbbr = แบบฟอร์ม
+comboboxlistAbbr = รายการกล่องคำสั่งผสม
+comboboxoptionAbbr = ตัวเลือกกล่องคำสั่งผสม
+imagemapAbbr = แผนที่ภาพ
+listboxoptionAbbr = ตัวเลือก
+listboxAbbr = กล่องรายการ
+flatequationAbbr = flat equation
+gridcellAbbr = เซลล์ตาราง
+noteAbbr = หมายเหตุ
+figureAbbr = รูป
+definitionlistAbbr = รายการคำจำกัดความ
+termAbbr = คำ
+definitionAbbr = คำจำกัดความ
+textareaAbbr = พื้นที่ข้อความ
+
+# LOCALIZATION NOTE (tblColumnInfoAbbr): Semi-colon list of plural forms.
+# Number of columns within the table.
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+tblColumnInfoAbbr = #1c
+# LOCALIZATION NOTE (tblRowInfoAbbr): Semi-colon list of plural forms.
+# Number of rows within the table or grid.
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+tblRowInfoAbbr = #1r
+cellInfoAbbr = c%Sr%S
+
+stateCheckedAbbr = (x)
+stateUncheckedAbbr = ( )
+statePressedAbbr = (x)
+stateUnpressedAbbr = ( )
+
+mathmlenclosedAbbr = ล้อมรอบ
+mathmltableAbbr = ตาราง
+mathmlcellAbbr = เซลล์
+mathmlfractionAbbr = เศษส่วน
+mathmlfractionwithoutbarAbbr = เศษส่วนไร้เส้นแนวนอน
+mathmlrootAbbr = ราก
+mathmlscriptedAbbr = ตัวห้อย
+mathmlsquarerootAbbr = รากที่สอง
+
+baseAbbr = ฐาน
+close-fenceAbbr = ปิด
+denominatorAbbr = ตัวหาร
+numeratorAbbr = ตัวเศษ
+open-fenceAbbr = เปิด
+overscriptAbbr = เกิน
+presubscriptAbbr = ตัวห้อยด้านหน้า
+presuperscriptAbbr = ตัวยกด้านหน้า
+root-indexAbbr = index
+subscriptAbbr = ตัวห้อย
+superscriptAbbr = ตัวยก
+underscriptAbbr = ใต้
+
+notation-longdivAbbr = หารยาว
+notation-actuarialAbbr = คณิตศาสตร์ประกันภัย
+notation-phasorangleAbbr = มุมเฟสเซอร์
+notation-radicalAbbr = กรณฑ์
+notation-boxAbbr = กล่อง
+notation-roundedboxAbbr = กล่องขอบมน
+notation-circleAbbr = วงกลม
+notation-leftAbbr = ซ้าย
+notation-rightAbbr = ขวา
+notation-topAbbr = บน
+notation-bottomAbbr = ล่าง
+notation-updiagonalstrikeAbbr = ขีดทแยงขึ้น
+notation-downdiagonalstrikeAbbr = ขีดทแยงลง
+notation-verticalstrikeAbbr = ขีดแนวตั้ง
+notation-horizontalstrikeAbbr = ขีดแนวนอน
+notation-updiagonalarrowAbbr = ลูกศรทแยงขึ้น
+notation-madruwbAbbr = แฟกทอเรียลภาษาอาหรับ
diff --git a/l10n-th/dom/chrome/accessibility/mac/accessible.properties b/l10n-th/dom/chrome/accessibility/mac/accessible.properties
new file mode 100644
index 0000000000..7ea2bac143
--- /dev/null
+++ b/l10n-th/dom/chrome/accessibility/mac/accessible.properties
@@ -0,0 +1,65 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+jump = กระโดด
+press = กด
+check = กาเครื่องหมาย
+uncheck = ยกเลิกการกาเครื่องหมาย
+select = เลือก
+open = เปิด
+close = ปิด
+switch = สลับ
+click = คลิก
+collapse= ยุบ
+expand = ขยาย
+activate= เปิดใช้งาน
+cycle = รอบ
+
+# Universal Access API support
+# (Mac Only)
+# The Role Description for AXWebArea (the web widget). Like in Safari.
+htmlContent = เนื้อหา HTML
+# The Role Description for the Tab button.
+tab = แท็บ
+# The Role Description for definition list dl, dt and dd
+term = คำ
+definition = คำนิยาม
+# The Role Description for an input type="search" text field
+searchTextField = ช่องข้อความการค้นหา
+# The Role Description for WAI-ARIA Landmarks
+application = แอปพลิเคชัน
+search = ค้นหา
+banner = ป้าย
+navigation = การนำทาง
+complementary = เพิ่มเติม
+content = เนื้อหา
+main = ส่วนหลัก
+# The (spoken) role description for various WAI-ARIA roles
+alert = การแจ้งเตือน
+alertDialog = กล่องโต้ตอบการแจ้งเตือน
+dialog = กล่องโต้ตอบ
+article = บทความ
+document = เอกสาร
+# The (spoken) role description for the WAI-ARIA figure role
+# https://w3c.github.io/aria/core-aam/core-aam.html#role-map-figure
+figure = รูป
+# The (spoken) role description for the WAI-ARIA heading role
+# https://w3c.github.io/aria/core-aam/core-aam.html#role-map-heading
+heading = หัวเรื่อง
+log = รายการบันทึก
+marquee = ตัวอักษรวิ่ง
+math = คณิตศาสตร์
+note = หมายเหตุ
+region = ขอบเขต
+status = สถานะแอปพลิเคชัน
+timer = ตัวจับเวลา
+tooltip = เคล็ดลับเครื่องมือ
+separator = ตัวแบ่ง
+tabPanel = แผงแท็บ
+# The roleDescription for the html:mark element
+highlight = การเน้น
+# The roleDescription for the details element
+details = รายละเอียด
+# The roleDescription for the summary element
+summary = สรุป
diff --git a/l10n-th/dom/chrome/accessibility/unix/accessible.properties b/l10n-th/dom/chrome/accessibility/unix/accessible.properties
new file mode 100644
index 0000000000..50f17b4625
--- /dev/null
+++ b/l10n-th/dom/chrome/accessibility/unix/accessible.properties
@@ -0,0 +1,17 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+jump = กระโดด
+press = กด
+check = กาเครื่องหมาย
+uncheck = ยกเลิกการกาเครื่องหมาย
+select = เลือก
+open = เปิด
+close = ปิด
+switch = สลับ
+click = คลิก
+collapse= ยุบ
+expand = ขยาย
+activate= เปิดใช้งาน
+cycle = รอบ
diff --git a/l10n-th/dom/chrome/accessibility/win/accessible.properties b/l10n-th/dom/chrome/accessibility/win/accessible.properties
new file mode 100644
index 0000000000..50f17b4625
--- /dev/null
+++ b/l10n-th/dom/chrome/accessibility/win/accessible.properties
@@ -0,0 +1,17 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+jump = กระโดด
+press = กด
+check = กาเครื่องหมาย
+uncheck = ยกเลิกการกาเครื่องหมาย
+select = เลือก
+open = เปิด
+close = ปิด
+switch = สลับ
+click = คลิก
+collapse= ยุบ
+expand = ขยาย
+activate= เปิดใช้งาน
+cycle = รอบ
diff --git a/l10n-th/dom/chrome/appstrings.properties b/l10n-th/dom/chrome/appstrings.properties
new file mode 100644
index 0000000000..a7e4617512
--- /dev/null
+++ b/l10n-th/dom/chrome/appstrings.properties
@@ -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/.
+
+malformedURI2=โปรดตรวจสอบว่า URL ถูกต้องและลองอีกครั้ง
+fileNotFound=ไม่พบไฟล์ %S โปรดตรวจสอบตำแหน่งที่ตั้งและลองอีกครั้ง
+fileAccessDenied=ไฟล์ที่ %S ไม่สามารถอ่านได้
+dnsNotFound2=ไม่พบ %S โปรดตรวจสอบชื่อและลองอีกครั้ง
+unknownProtocolFound=หนึ่งในดังต่อไปนี้ (%S) ไม่ใช่โปรโตคอลที่ลงทะเบียนไว้หรือไม่อนุญาตในบริบทนี้
+connectionFailure=การเชื่อมต่อถูกปฏิเสธขณะพยายามติดต่อไปยัง %S
+netInterrupt=การเชื่อมต่อไปยัง %S ถูกยกเลิกอย่างไม่คาดคิด ข้อมูลบางส่วนอาจถูกโอนไปแล้ว
+netTimeout=หมดเวลารอขณะพยายามติดต่อไปยัง %S
+redirectLoop=จำนวนครั้งการเปลี่ยนเส้นทางสำหรับ URL นี้ได้เกินกำหนดแล้ว ไม่สามารถโหลดหน้าที่ต้องการได้ ปัญหานี้อาจเกิดจากคุกกี้ถูกปิดกั้น
+confirmRepostPrompt=เพื่อการแสดงผลหน้านี้ โปรแกรมจำเป็นต้องส่งข้อมูลซึ่งจะทำให้การกระทำใด ๆ ก่อนหน้านี้ถูกทำซ้ำอีกครั้ง (เช่นการค้นหาหรือการยืนยันการสั่งซื้อสินค้า)
+resendButton.label=ส่งใหม่
+unknownSocketType=ไม่สามารถแสดงเอกสารนี้ได้จนกว่าคุณจะทำการติดตั้งตัวจัดการความปลอดภัยส่วนบุคคล (Personal Security Manager) ดาวน์โหลดและติดตั้งตัวจัดการความปลอดภัยส่วนบุคคลและลองใหม่อีกครั้งหรือติดต่อผู้ดูแลระบบ
+netReset=เอกสารนี้ไม่มีข้อมูล
+notCached=ไม่มีเอกสารนี้อีกต่อไป
+netOffline=ไม่สามารถแสดงผลเอกสารนี้ขณะออฟไลน์ได้ เพื่อออนไลน์ให้ยกเลิกการกาเครื่องหมาย ทำงานออฟไลน์ จากเมนู ไฟล์
+isprinting=ไม่สามารถเปลี่ยนแปลงเอกสารขณะกำลังพิมพ์หรืออยู่ในตัวอย่างก่อนพิมพ์
+deniedPortAccess=การเข้าถึงพอร์ตที่ระบุถูกระงับด้วยเหตุผลทางความปลอดภัย
+proxyResolveFailure=ไม่พบเซิร์ฟเวอร์พร็อกซีที่ตั้งค่าไว้ โปรดตรวจสอบการตั้งค่าพร็อกซีของคุณและลองใหม่อีกครั้ง
+proxyConnectFailure=การเชื่อมต่อไปยังเซิร์ฟเวอร์พร็อกซีที่ตั้งค่าไว้ถูกยกเลิก โปรดตรวจสอบการตั้งค่าพร็อกซีของคุณและลองใหม่อีกครั้ง
+contentEncodingError=ไม่สามารถแสดงหน้าที่คุณกำลังพยายามจะดูเนื่องจากหน้าใช้รูปแบบการบีบอัดที่ไม่ถูกต้องหรือไม่รองรับ
+unsafeContentType=ไม่สามารถแสดงหน้าที่คุณกำลังพยายามจะดูเนื่องจากหน้ามีชนิดไฟล์ที่อาจไม่ปลอดภัยที่จะเปิด โปรดติดต่อเจ้าของเว็บไซต์เพื่อแจ้งพวกเขาให้ทราบถึงปัญหานี้
+malwareBlocked=ไซต์ที่ %S ถูกรายงานว่าเป็นไซต์รุกรานและถูกปิดกั้นตามค่ากำหนดความปลอดภัยของคุณ
+harmfulBlocked=ไซต์ที่ %S ถูกรายงานว่าเป็นไซต์ที่อาจเป็นอันตรายและถูกปิดกั้นตามค่ากำหนดความปลอดภัยของคุณ
+unwantedBlocked=ไซต์ที่ %S ถูกรายงานว่าแจกจ่ายซอฟต์แวร์ไม่พึงประสงค์และถูกปิดกั้นตามค่ากำหนดความปลอดภัยของคุณ
+deceptiveBlocked=หน้าเว็บนี้ที่ %S ถูกรายงานว่าเป็นไซต์หลอกลวงและถูกปิดกั้นตามค่ากำหนดความปลอดภัยของคุณ
+cspBlocked=หน้านี้มีนโยบายความปลอดภัยของเนื้อหาที่ป้องกันไม่ให้หน้าถูกโหลดด้วยวิธีนี้
+xfoBlocked=หน้านี้มีนโยบาย X-Frame-Options ที่ป้องกันไม่ให้หน้าถูกโหลดในบริบทนี้
+corruptedContentErrorv2=ไซต์ที่ %S ได้พบการละเมิดโปรโตคอลเครือข่ายที่ไม่สามารถซ่อมแซมได้
+remoteXUL=หน้านี้ใช้เทคโนโลยีที่ไม่รองรับซึ่งไม่มีให้ใช้โดยค่าเริ่มต้นอีกต่อไป
+sslv3Used=ไม่สามารถรับประกันความปลอดภัยของข้อมูลของคุณบน %S เนื่องจากใช้ SSLv3 ซึ่งเป็นโปรโตคอลที่มีปัญหาด้านความปลอดภัย
+weakCryptoUsed=เจ้าของ %S ได้กำหนดค่าเว็บไซต์ของพวกเขาไม่เหมาะสม เพื่อปกป้องข้อมูลของคุณจากการถูกขโมย การเชื่อมต่อไปยังเว็บไซต์นี้จึงไม่ถูกสร้าง
+inadequateSecurityError=เว็บไซต์พยายามจะแลกเปลี่ยนระดับความปลอดภัยที่ไม่เพียงพอ
+blockedByPolicy=องค์กรของคุณได้ปิดกั้นการเข้าถึงหน้าหรือเว็บไซต์นี้
+networkProtocolError=Firefox ได้พบการละเมิดโปรโตคอลเครือข่ายที่ไม่สามารถซ่อมแซมได้
diff --git a/l10n-th/dom/chrome/dom/dom.properties b/l10n-th/dom/chrome/dom/dom.properties
new file mode 100644
index 0000000000..3731fe0928
--- /dev/null
+++ b/l10n-th/dom/chrome/dom/dom.properties
@@ -0,0 +1,430 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+KillScriptTitle=คำเตือน: สคริปต์ไม่ตอบสนอง
+KillScriptMessage=สคริปต์ในหน้านี้อาจกำลังทำงานอยู่หรืออาจไม่ตอบสนอง คุณสามารถหยุดการทำงานของสคริปต์ได้ในตอนนี้ หรือปล่อยให้สคริปต์ทำงานต่อเพื่อดูว่าจะทำงานจนเสร็จหรือไม่
+KillScriptWithDebugMessage=สคริปต์ในหน้านี้อาจกำลังทำงานอยู่หรืออาจไม่ตอบสนอง คุณสามารถหยุดการทำงานของสคริปต์ได้ในตอนนี้, เปิดสคริปต์ในเครื่องมือดีบั๊ก, หรือปล่อยให้สคริปต์ทำงานต่อ
+KillScriptLocation=สคริปต์: %S
+
+KillAddonScriptTitle=คำเตือน: สคริปต์ส่วนเสริมไม่ตอบสนอง
+# LOCALIZATION NOTE (KillAddonScriptMessage): %1$S is the name of an extension.
+# %2$S is the name of the application (e.g., Firefox).
+KillAddonScriptMessage=สคริปต์จากส่วนเสริม “%1$S” กำลังทำงานบนหน้านี้ และกำลังทำให้ %2$S ไม่ตอบสนอง\n\nสคริปต์อาจไม่ว่าง หรืออาจหยุดตอบสนองอย่างถาวร คุณสามารถหยุดการทำงานของสคริปต์ได้เลยตอนนี้ หรือคุณสามารถรอดูต่อได้ว่าสคริปต์จะทำงานเสร็จสมบูรณ์หรือไม่
+KillAddonScriptGlobalMessage=ป้องกันไม่ให้สคริปต์ส่วนขยายทำงานบนหน้านี้จนกว่าจะโหลดหน้านี้ใหม่ในครั้งถัดไป
+
+StopScriptButton=หยุดการทำงานของสคริปต์
+DebugScriptButton=ดีบั๊กสคริปต์
+WaitForScriptButton=ดำเนินการต่อ
+DontAskAgain=ไ&ม่ต้องถามฉันอีก
+WindowCloseBlockedWarning=สคริปต์ไม่สามารถปิดหน้าต่างที่ไม่ได้เปิดโดยสคริปต์
+OnBeforeUnloadTitle=คุณแน่ใจหรือไม่?
+OnBeforeUnloadMessage=ต้องการคำยืนยันว่าคุณต้องการที่จะออกจากหน้าเว็บนี้ ข้อมูลที่คุณกรอกไว้อาจจะไม่ถูกบันทึก
+OnBeforeUnloadStayButton=อยู่ในหน้าต่อ
+OnBeforeUnloadLeaveButton=ออกจากหน้า
+EmptyGetElementByIdParam=ส่งค่าสตริงว่างให้กับ getElementById()
+SpeculationFailed=document.write() ได้เขียน tree ที่ไม่สมดุล ทำให้ข้อมูลจากเครือข่ายต้องถูก วิเคราะห์โครงสร้างใหม่อีกครั้ง ดูข้อมูลเพิ่มเติมที่ https://developer.mozilla.org/en/Optimizing_Your_Pages_for_Speculative_Parsing
+DocumentWriteIgnored=การเรียกใช้ document.write() จากสคริปต์ภายนอกที่โหลดแบบ asynchronous ถูกเพิกเฉย
+# LOCALIZATION NOTE (EditorFileDropFailed): Do not translate contenteditable, %S is the error message explaining why the drop failed.
+EditorFileDropFailed=การปล่อยไฟล์ลงในองค์ประกอบ contenteditable ล้มเหลว: %S
+FormValidationTextTooLong=โปรดปรับความยาวข้อความให้เหลือ %S ตัวอักษรหรือสั้นกว่า (ขณะนี้ความยาว %S ตัวอักษร)
+FormValidationTextTooShort=โปรดใช้อักขระอย่างน้อย %S ตัว (ขณะนี้คุณกำลังใช้อักขระ %S ตัว)
+FormValidationValueMissing=โปรดกรอกช่องนี้
+FormValidationCheckboxMissing=โปรดกาเครื่องหมายกล่องนี้หากคุณต้องการดำเนินการต่อ
+FormValidationRadioMissing=โปรดเลือกหนึ่งในตัวเลือกเหล่านี้
+FormValidationFileMissing=โปรดเลือกไฟล์
+FormValidationSelectMissing=โปรดเลือกสิ่งที่อยู่ในรายการ
+FormValidationInvalidEmail=โปรดป้อนที่อยู่อีเมล
+FormValidationInvalidURL=โปรดป้อน URL
+FormValidationInvalidDate =โปรดป้อนวันที่ที่ถูกต้อง
+FormValidationPatternMismatch=โปรดทำให้ตรงกับรูปแบบที่ขอ
+# LOCALIZATION NOTE (FormValidationPatternMismatchWithTitle): %S is the (possibly truncated) title attribute value.
+FormValidationPatternMismatchWithTitle=โปรดทำให้ตรงกับรูปแบบที่ขอ: %S
+# LOCALIZATION NOTE (FormValidationNumberRangeOverflow): %S is a number.
+FormValidationNumberRangeOverflow=โปรดเลือกค่าที่ไม่มากกว่า %S
+# LOCALIZATION NOTE (FormValidationDateTimeRangeOverflow): %S is a date or a time.
+FormValidationDateTimeRangeOverflow=โปรดเลือกค่าที่ไม่มากกว่า %S
+# LOCALIZATION NOTE (FormValidationNumberRangeUnderflow): %S is a number.
+FormValidationNumberRangeUnderflow=โปรดเลือกค่าที่ไม่น้อยกว่า %S
+# LOCALIZATION NOTE (FormValidationDateTimeRangeUnderflow): %S is a date or a time.
+FormValidationDateTimeRangeUnderflow=โปรดเลือกค่าที่ไม่น้อยกว่า %S
+# LOCALIZATION NOTE (FormValidationStepMismatch): both %S can be a number, a date or a time.
+FormValidationStepMismatch=โปรดเลือกค่าที่ถูกต้อง สองค่าที่ถูกต้องที่ใกล้เคียงที่สุดคือ %S และ %S
+# LOCALIZATION NOTE (FormValidationStepMismatchOneValue): %S can be a number, a date or a time. This is called instead of FormValidationStepMismatch when the second value is the same as the first.
+FormValidationStepMismatchOneValue=โปรดเลือกค่าที่ถูกต้อง ค่าที่ถูกต้องที่ใกล้เคียงที่สุดคือ %S
+# LOCALIZATION NOTE (FormValidationTimeReversedRangeUnderflowAndOverflow): %1$S,%2$S are time.
+FormValidationTimeReversedRangeUnderflowAndOverflow=โปรดเลือกค่าระหว่าง %1$S และ %2$S
+FormValidationBadInputNumber=โปรดป้อนตัวเลข
+FullscreenDeniedDisabled=การร้องขอการแสดงผลเต็มจอถูกปฏิเสธเนื่องจาก API แบบเต็มหน้าจอถูกปิดใช้งานโดยค่ากำหนดผู้ใช้
+FullscreenDeniedFocusedPlugin=การร้องขอการแสดงผลเต็มจอถูกปฏิเสธเนื่องจากปลั๊กอินที่เป็นหน้าต่างถูกโฟกัส
+FullscreenDeniedHidden=การร้องขอการแสดงผลเต็มจอถูกปฏิเสธเนื่องจากเอกสารไม่สามารถมองเห็นได้อีกต่อไป
+FullscreenDeniedHTMLDialog=การขอการแสดงผลเต็มจอถูกปฏิเสธเนื่องจากองค์ประกอบที่ขอเป็นองค์ประกอบ <dialog>
+FullscreenDeniedContainerNotAllowed=การร้องขอการแสดงผลเต็มจอถูกปฏิเสธเนื่องจากเอกสารอย่างน้อยหนึ่งชิ้นมี iframe ที่ไม่มีแอตทริบิวต์ "allowfullscreen"
+FullscreenDeniedNotInputDriven=การร้องขอการแสดงผลเต็มจอถูกปฏิเสธเนื่องจาก Element.requestFullscreen() ไม่ถูกเรียกจากภายในตัวจัดการเหตุการณ์ที่สร้างโดยผู้ใช้ซึ่งทำงานในระยะสั้น
+FullscreenDeniedMouseEventOnlyLeftBtn=การร้องขอการแสดงผลเต็มจอถูกปฏิเสธเนื่องจาก Element.requestFullscreen() ถูกเรียกจากภายในตัวจัดการเหตุการณ์เมาส์ที่ไม่ได้ทริกเกอร์โดยปุ่มเมาส์ซ้าย
+FullscreenDeniedNotHTMLSVGOrMathML=การร้องขอการแสดงผลเต็มจอถูกปฏิเสธเนื่องจากองค์ประกอบที่ร้องขอไม่ใช่องค์ประกอบแบบ <svg>, <math>, หรือ HTML
+FullscreenDeniedNotInDocument=การร้องขอการแสดงผลเต็มจอถูกปฏิเสธเนื่องจากองค์ประกอบที่ร้องขอไม่มีอยู่ในเอกสารอีกต่อไป
+FullscreenDeniedMovedDocument=การร้องขอการแสดงผลเต็มจอถูกปฏิเสธเนื่องจากองค์ประกอบที่ร้องขอได้ย้ายเอกสาร
+FullscreenDeniedLostWindow=การร้องขอการแสดงผลเต็มจอถูกปฏิเสธเนื่องจากเราไม่มีหน้าต่างให้อีกต่อไปแล้ว
+FullscreenDeniedSubDocFullscreen=การร้องขอการแสดงผลเต็มจอถูกปฏิเสธเนื่องจากเอกสารย่อยของเอกสารที่ร้องขอการแสดงผลเต็มจอเป็นแบบเต็มจออยู่แล้ว
+FullscreenDeniedNotDescendant=การร้องขอการแสดงผลเต็มจอถูกปฏิเสธเนื่องจากองค์ประกอบที่ร้องขอไม่ใช่โหนดสืบทอดขององค์ประกอบการแสดงผลเต็มจอปัจจุบัน
+FullscreenDeniedNotFocusedTab=การร้องขอการแสดงผลเต็มจอถูกปฏิเสธเนื่องจากองค์ประกอบที่ร้องขอไม่ได้อยู่ในแท็บที่โฟกัสในขณะนี้
+FullscreenDeniedFeaturePolicy=การร้องขอการแสดงผลเต็มจอถูกปฏิเสธเนื่องจากคำสั่ง FeaturePolicy
+FullscreenExitWindowFocus=ออกจากการแสดงผลเต็มจอเนื่องจากหน้าต่างถูกโฟกัส
+RemovedFullscreenElement=ออกจากการแสดงผลเต็มจอเนื่องจากองค์ประกอบการแสดงผลเต็มจอถูกเอาออกจากเอกสารแล้ว
+FocusedWindowedPluginWhileFullscreen=ออกจากการแสดงผลเต็มจอเนื่องจากปลั๊กอินที่เป็นหน้าต่างถูกโฟกัส
+PointerLockDeniedDisabled=การร้องขอการล็อกตัวชี้ถูกปฏิเสธเนื่องจาก API การล็อกตัวชี้ถูกปิดใช้งานโดยค่ากำหนดผู้ใช้
+PointerLockDeniedInUse=การร้องขอการล็อกตัวชี้ถูกปฏิเสธเนื่องจากขณะนี้ตัวชี้ถูกควบคุมโดยเอกสารอื่น
+PointerLockDeniedNotInDocument=การร้องขอการล็อกตัวชี้ถูกปฏิเสธเนื่องจากองค์ประกอบที่ร้องขอไม่อยู่ในเอกสาร
+PointerLockDeniedSandboxed=การร้องขอการล็อกตัวชี้ถูกปฏิเสธเนื่องจาก API การล็อกตัวชี้ถูกจำกัดผ่าน sandbox
+PointerLockDeniedHidden=การร้องขอการล็อกตัวชี้ถูกปฏิเสธเนื่องจากเอกสารไม่สามารถมองเห็นได้
+PointerLockDeniedNotFocused=การร้องขอการล็อกตัวชี้ถูกปฏิเสธเนื่องจากเอกสารไม่ได้ถูกโฟกัส
+PointerLockDeniedMovedDocument=การร้องขอการล็อกตัวชี้ถูกปฏิเสธเนื่องจากองค์ประกอบที่ร้องขอได้ย้ายเอกสาร
+PointerLockDeniedNotInputDriven=การร้องขอการล็อกตัวชี้ถูกปฏิเสธเนื่องจาก Element.requestPointerLock() ไม่ถูกเรียกจากภายในตัวจัดการเหตุการณ์ที่สร้างโดยผู้ใช้ซึ่งทำงานในระยะสั้น และเอกสารไม่ได้แสดงผลเต็มจอ
+PointerLockDeniedFailedToLock=การร้องขอการล็อกตัวชี้ถูกปฏิเสธเนื่องจากเบราว์เซอร์ไม่สามารถล็อกตัวชี้ได้
+HTMLSyncXHRWarning=ไม่รองรับการแยกวิเคราะห์ HTML ใน XMLHttpRequest ในโหมดซิงโครนัส
+# LOCALIZATION NOTE: %S is the name of the header in question
+ForbiddenHeaderWarning=ความพยายามในการตั้งส่วนหัวที่ไม่ได้รับอนุญาตถูกปฏิเสธ: %S
+ResponseTypeSyncXHRWarning=ไม่รองรับการใช้แอตทริบิวต์ responseType ของ XMLHttpRequest ในโหมดซิงโครนัสในบริบทหน้าต่างอีกต่อไป
+TimeoutSyncXHRWarning=ไม่รองรับการใช้แอตทริบิวต์ timeout ของ XMLHttpRequest ในโหมดซิงโครนัสในบริบทหน้าต่างอีกต่อไป
+# LOCALIZATION NOTE: Do not translate navigator.sendBeacon, unload, pagehide, or XMLHttpRequest.
+UseSendBeaconDuringUnloadAndPagehideWarning=การใช้ navigator.sendBeacon แทน XMLHttpRequest แบบซิงโครนัสระหว่าง unload และ pagehide ปรับปรุงประสบการณ์ผู้ใช้
+JSONCharsetWarning=มีความพยายามจะประกาศรหัสอักขระของ JSON ที่ได้จาก XMLHttpRequest ให้เป็นรหัสอักขระที่ไม่ใช่ UTF-8 การถอดรหัส JSON รองรับเฉพาะ UTF-8 เท่านั้น
+# LOCALIZATION NOTE: Do not translate decodeAudioData.
+MediaDecodeAudioDataUnknownContentType=บัฟเฟอร์ที่ผ่านไปยัง decodeAudioData มีชนิดเนื้อหาที่ไม่รู้จัก
+# LOCALIZATION NOTE: Do not translate decodeAudioData.
+MediaDecodeAudioDataUnknownError=เกิดข้อผิดพลาดที่ไม่รู้จักขณะประมวลผล decodeAudioData
+# LOCALIZATION NOTE: Do not translate decodeAudioData.
+MediaDecodeAudioDataInvalidContent=บัฟเฟอร์ที่ผ่านไปยัง decodeAudioData มีเนื้อหาที่ไม่ถูกต้องซึ่งไม่สามารถถอดรหัสออกมาได้สำเร็จ
+# LOCALIZATION NOTE: Do not translate decodeAudioData.
+MediaDecodeAudioDataNoAudio=บัฟเฟอร์ที่ผ่านไปยัง decodeAudioData ไม่มีเสียงใด
+# LOCALIZATION NOTE: Do not translate HTMLMediaElement and createMediaElementSource.
+MediaElementAudioSourceNodeCrossOrigin=HTMLMediaElement ที่ผ่านไปยัง createMediaElementSource มีทรัพยากรข้ามที่มา โหนดจะไม่ส่งเสียงใด ๆ
+# LOCALIZATION NOTE: Do not translate MediaStream and createMediaStreamSource.
+MediaStreamAudioSourceNodeCrossOrigin=MediaStream ที่ผ่านไปยัง createMediaStreamSource มีทรัพยากรข้ามที่มา โหนดจะไม่ส่งเสียงใด ๆ
+# LOCALIZATION NOTE : Do not translate MediaStreamTrack and createMediaStreamTrackSource.
+MediaStreamTrackAudioSourceNodeCrossOrigin=MediaStreamTrack ที่ผ่านไปยัง createMediaStreamTrackSource มีทรัพยากรข้ามที่มา โหนดจะไม่ส่งเสียงใด ๆ
+# LOCALIZATION NOTE: Do not translate HTMLMediaElement and MediaStream.
+MediaElementAudioCaptureOfMediaStreamError=HTMLMediaElement ที่จับกำลังเล่น MediaStream ขณะนี้ยังไม่รองรับการนำระดับเสียงหรือสถานะปิดเสียงไปใช้
+# LOCALIZATION NOTE: Do not translate HTMLMediaElement and MediaStream.
+MediaElementStreamCaptureCycle=MediaStream ที่กำหนดให้กับ srcObject มาจาก HTMLMediaElement ที่จับนี้กำลังสร้างวัฏจักร ค่าที่กำหนดจึงถูกเพิกเฉย
+MediaLoadExhaustedCandidates=ไม่สามารถโหลดทรัพยากรทางเลือกทั้งหมด การโหลดสื่อถูกหยุดชั่วคราว
+MediaLoadSourceMissingSrc=<source> องค์ประกอบไม่มีแอตทริบิวต์ “src” การโหลดทรัพยากรสื่อล้มเหลว
+MediaStreamAudioSourceNodeDifferentRate=ขณะนี้ยังไม่รองรับการเชื่อมต่อ AudioNodes จาก AudioContexts ที่มีอัตราการสุ่มตัวอย่างอื่น
+# LOCALIZATION NOTE: %1$S is the Http error code the server returned (e.g. 404, 500, etc), %2$S is the URL of the media resource which failed to load.
+MediaLoadHttpError=การโหลด HTTP ล้มเหลวด้วยสถานะ %1$S การโหลดทรัพยากรสื่อ %2$S ล้มเหลว
+# LOCALIZATION NOTE: %S is the URL of the media resource which failed to load.
+MediaLoadInvalidURI=URI ไม่ถูกต้อง การโหลดทรัพยากรสื่อ %S ล้มเหลว
+# LOCALIZATION NOTE: %1$S is the media resource's format/codec type (basically equivalent to the file type, e.g. MP4,AVI,WMV,MOV etc), %2$S is the URL of the media resource which failed to load.
+MediaLoadUnsupportedTypeAttribute=ไม่รองรับแอตทริบิวต์ “type” ที่ระบุ “%1$S” การโหลดทรัพยากรสื่อ %2$S ล้มเหลว
+MediaLoadUnsupportedTypeAttributeLoadingNextChild=ไม่รองรับแอตทริบิวต์ “type” ที่ระบุของ “%1$S” การโหลดทรัพยากรสื่อ %2$S ล้มเหลว กำลังพยายามโหลดจากองค์ประกอบ <source> ถัดไป
+# LOCALIZATION NOTE: %1$S is the MIME type HTTP header being sent by the web server, %2$S is the URL of the media resource which failed to load.
+MediaLoadUnsupportedMimeType=ไม่รองรับ HTTP “Content-Type” ของ “%1$S” การโหลดทรัพยากรสื่อ %2$S ล้มเหลว
+# LOCALIZATION NOTE: %S is the URL of the media resource which failed to load because of error in decoding.
+MediaLoadDecodeError=ไม่สามารถถอดรหัสทรัพยากรสื่อ %S ได้
+MediaWidevineNoWMF=กำลังพยายามเล่น Widevine โดยไม่มี Windows Media Foundation ดู https://support.mozilla.org/kb/fix-video-audio-problems-firefox-windows
+# LOCALIZATION NOTE: %S is a comma-separated list of codecs (e.g. 'video/mp4, video/webm')
+MediaWMFNeeded=หากต้องการเล่นวิดีโอในรูปแบบ %S คุณจำเป็นต้องติดตั้งซอฟต์แวร์ของ Microsoft เพิ่มเติม ดู https://support.mozilla.org/kb/fix-video-audio-problems-firefox-windows
+# LOCALIZATION NOTE: %S is a comma-separated list of codecs (e.g. 'video/mp4, video/webm')
+MediaPlatformDecoderNotFound=ไม่สามารถเล่นวิดีโอที่อยู่บนหน้านี้ได้ ระบบของคุณอาจไม่มีตัวแปลงสัญญาณวิดีโอที่จำเป็นสำหรับ: %S
+MediaUnsupportedLibavcodec=ไม่สามารถเล่นวิดีโอที่อยู่บนหน้านี้ได้ ระบบของคุณมี libavcodec รุ่นที่ไม่รองรับ
+# LOCALIZATION NOTE: %1$S is the URL of the media resource, %2$S is technical information (in English)
+MediaDecodeError=ไม่สามารถถอดรหัสทรัพยากรสื่อ %1$S ได้ ข้อผิดพลาด: %2$S
+# LOCALIZATION NOTE: %1$S is the URL of the media resource, %2$S is technical information (in English)
+MediaDecodeWarning=สามารถถอดรหัสทรัพยากรสื่อ %1$S ได้ แต่มีข้อผิดพลาด: %2$S
+# LOCALIZATION NOTE: %S is a comma-separated list of codecs (e.g. 'video/mp4, video/webm')
+MediaCannotPlayNoDecoders=ไม่สามารถเล่นสื่อได้ ไม่มีตัวถอดรหัสสำหรับรูปแบบที่ร้องขอ: %S
+# LOCALIZATION NOTE: %S is a comma-separated list of codecs (e.g. 'video/mp4, video/webm')
+MediaNoDecoders=ไม่มีตัวถอดรหัสสำหรับรูปแบบที่ร้องขอบางรูปแบบ: %S
+MediaCannotInitializePulseAudio=ไม่สามารถใช้ PulseAudio ได้
+# LOCALIZATION NOTE: Do not translate "MediaRecorder".
+MediaRecorderMultiTracksNotSupported=MediaRecorder ไม่รองรับการอัดแทร็กหลายแทร็กชนิดเดียวกันในขณะนี้
+# LOCALIZATION NOTE: %S is the URL of the web page which is not served on HTTPS and thus is not encrypted and considered insecure.
+MediaEMEInsecureContextDeprecatedWarning=การใช้ส่วนขยายสื่อที่เข้ารหัสที่ %S บนบริบทที่ไม่ปลอดภัย (เช่น บริบทที่ไม่ใช่ HTTPS) เลิกใช้แล้วและจะถูกเอาออกในไม่ช้า คุณควรพิจารณาเปลี่ยนไปใช้ที่มาที่ปลอดภัย เช่น HTTPS
+# LOCALIZATION NOTE: %S is the URL of the web page which is calling web APIs without passing data (either an audioCapabilities or a videoCapabilities) that will soon be required. See https://bugzilla.mozilla.org/show_bug.cgi?id=1368583#c21 for explanation of this string.
+MediaEMENoCapabilitiesDeprecatedWarning=การเรียก navigator.requestMediaKeySystemAccess() (ที่ %S) โดยไม่ผ่าน MediaKeySystemConfiguration ทางเลือกที่มี audioCapabilities หรือ videoCapabilities เลิกใช้แล้ว
+# LOCALIZATION NOTE: %S is the URL of the web page which is calling web APIs without passing data (a "codecs" string in the "contentType") that will soon be required. See https://bugzilla.mozilla.org/show_bug.cgi?id=1368583#c21 for explanation of this string.
+MediaEMENoCodecsDeprecatedWarning=การเรียก navigator.requestMediaKeySystemAccess() (ที่ %S) ที่ผ่าน MediaKeySystemConfiguration ทางเลือกที่มี audioCapabilities หรือ videoCapabilities โดยไม่มี contentType ที่มีสตริง “codecs” เลิกใช้แล้ว
+# LOCALIZATION NOTE: Do not translate "Mutation Event" and "MutationObserver"
+MutationEventWarning=เลิกใช้ Mutation Events แล้ว ให้ใช้ MutationObserver แทน
+BlockAutoplayError=การเล่นอัตโนมัติได้รับอนุญาตเฉพาะเมื่อได้รับอนุมัติจากผู้ใช้เท่านั้น ไซต์ถูกเปิดใช้งานโดยผู้ใช้ หรือสื่อถูกปิดเสียง
+BlockAutoplayWebAudioStartError=AudioContext ถูกป้องกันไม่ให้เริ่มทำงานโดยอัตโนมัติ โดยจะต้องสร้างหรือดำเนินการต่อหลังจากท่าทางของผู้ใช้ที่อยู่บนหน้า
+# LOCALIZATION NOTE: Do not translate "Components"
+ComponentsWarning=เลิกใช้วัตถุ Components แล้ว จะเอาออกในเร็ว ๆ นี้
+PluginHangUITitle=คำเตือน: ปลั๊กอินไม่ตอบสนอง
+PluginHangUIMessage=%S ในหน้านี้อาจกำลังทำงานอยู่หรืออาจไม่ตอบสนอง คุณสามารถหยุดการทำงานของสคริปต์ได้ในตอนนี้ หรือปล่อยให้สคริปต์ทำงานต่อเพื่อดูว่าจะทำงานจนเสร็จหรือไม่
+PluginHangUIWaitButton=ดำเนินการต่อ
+PluginHangUIStopButton=หยุดปลั๊กอิน
+# LOCALIZATION NOTE: Do not translate "NodeIterator" or "detach()".
+NodeIteratorDetachWarning=การร้องเรียก detach() บน NodeIterator ไม่มีผล
+# LOCALIZATION NOTE: Do not translate "LenientThis" and "this"
+LenientThisWarning=ไม่สนการรับค่าหรือตั้งค่าของคุณสมบัติที่มี [LenientThis] เพราะว่าการใช้อ็อบเจ็คต์ "this" ไม่ถูกต้อง
+# LOCALIZATION NOTE: Do not translate "captureEvents()" or "addEventListener()"
+UseOfCaptureEventsWarning=เลิกใช้ captureEvents() แล้ว เพื่ออัปเกรดโค้ดของคุณ ให้ใช้วิธีการ addEventListener() ของ DOM 2 สำหรับความช่วยเหลือเพิ่มเติม http://developer.mozilla.org/en/docs/DOM:element.addEventListener
+# LOCALIZATION NOTE: Do not translate "releaseEvents()" or "removeEventListener()"
+UseOfReleaseEventsWarning=เลิกใช้ releaseEvents() แล้ว เพื่ออัปเกรดโค้ดของคุณ ให้ใช้วิธีการ removeEventListener() ของ DOM 2 สำหรับความช่วยเหลือเพิ่มเติม http://developer.mozilla.org/en/docs/DOM:element.removeEventListener
+# LOCALIZATION NOTE: Do not translate "XMLHttpRequest"
+SyncXMLHttpRequestWarning=เลิกใช้ XMLHttpRequest แบบสมวารในเธรดหลักแล้วเนื่องจากผลกระทบที่เป็นอันตรายต่อประสบการณ์ของผู้ใช้ สำหรับความช่วยเหลือเพิ่มเติม http://xhr.spec.whatwg.org/
+# LOCALIZATION NOTE: Do not translate "window.controllers/Controllers"
+Window_Cc_ontrollersWarning=เลิกใช้ window.controllers/Controllers แล้ว อย่าใช้เพื่อตรวจหา UA
+ImportXULIntoContentWarning=เลิกใช้การนำเข้าโหนด XUL สู่เอกสารเนื้อหาแล้ว อาจเอาฟังก์ชันการทำงานนี้ออกในเร็ว ๆ นี้
+# LOCALIZATION NOTE: Do not translate "IndexedDB".
+IndexedDBTransactionAbortNavigation=รายการเปลี่ยนแปลง IndexedDB ไม่สามารถทำให้เสร็จสมบูรณ์ได้เนื่องถูกยกเลิกจากหน้าการนำทาง
+# LOCALIZATION NOTE: Do not translate Will-change, %1$S,%2$S are numbers.
+IgnoringWillChangeOverBudgetWarning=การใช้หน่วยความจำของ Will-change สูงเกินไป ขีดจำกัดงบประมาณคือพื้นที่พื้นผิวเอกสารคูณด้วย %1$S (%2$S พิกเซล) เหตุการณ์ที่เกิดของ will-change ที่เกินงบประมาณจะถูกเพิกเฉย
+# LOCALIZATION NOTE: Do not translate "Worker".
+HittingMaxWorkersPerDomain2=ไม่สามารถเริ่มตัวทำงานได้ทันทีเนื่องจากเอกสารอื่น ๆ ในที่มาเดียวกันใช้จำนวนตัวทำงานสูงสุดแล้ว ตัวทำงานอยู่ในคิวและจะเริ่มหลังจากที่ตัวทำงานอื่นเสร็จสมบูรณ์
+# LOCALIZATION NOTE: Do not translate "Application Cache API", "AppCache" and "ServiceWorker".
+AppCacheWarning=Application Cache API (AppCache) เลิกใช้แล้วและจะถูกเอาออกในอนาคต โปรดพิจารณาใช้ ServiceWorker สำหรับการสนับสนุนออฟไลน์
+# LOCALIZATION NOTE: Do not translate "Worker".
+EmptyWorkerSourceWarning=กำลังพยายามสร้างตัวทำงานจากที่มาที่ว่างเปล่า การดำเนินการนี้น่าจะเกิดขึ้นโดยไม่ได้ตั้งใจ
+WebrtcDeprecatedPrefixWarning=ส่วนติดต่อ WebRTC ที่มีส่วนนำหน้า “moz” (mozRTCPeerConnection, mozRTCSessionDescription, mozRTCIceCandidate) เลิกใช้แล้ว
+NavigatorGetUserMediaWarning=navigator.mozGetUserMedia ได้ถูกแทนที่โดย navigator.mediaDevices.getUserMedia
+# LOCALIZATION NOTE: Do not translate "RTCPeerConnection", "getLocalStreams", "getRemoteStreams", "getSenders" or "getReceivers".
+RTCPeerConnectionGetStreamsWarning=RTCPeerConnection.getLocalStreams/getRemoteStreams เลิกใช้แล้ว ใช้ RTCPeerConnection.getSenders/getReceivers แทน
+# LOCALIZATION NOTE: Do not translate "ServiceWorker". %S is a URL.
+InterceptionFailedWithURL=ไม่สามารถโหลด ‘%S’ ServiceWorker ขัดขวางคำขอและพบข้อผิดพลาดที่ไม่คาดคิด
+# LOCALIZATION NOTE: Do not translate "ServiceWorker", "cors", "Response", "same-origin" or "Request". %1$S is a URL, %2$S is a URL.
+CorsResponseForSameOriginRequest=ไม่สามารถโหลด ‘%1$S’ ได้โดยตอบกลับ ‘%2$S’ ServiceWorker ไม่ได้รับอนุญาตให้สังเคราะห์ cors Response สำหรับคำขอ same-origin
+# LOCALIZATION NOTE: Do not translate "ServiceWorker", "FetchEvent.respondWith()", "FetchEvent", "no-cors", "opaque", "Response", or "RequestMode". %1$S is a URL. %2$S is a RequestMode value.
+BadOpaqueInterceptionRequestModeWithURL=ไม่สามารถโหลด ‘%1$S’ ServiceWorker ส่ง opaque Response ไปที่ FetchEvent.respondWith() ในขณะที่จัดการ FetchEvent ‘%2$S’ Opaque Response ใช้ได้เฉพาะเมื่อ RequestMode เป็น ‘no-cors’
+# LOCALIZATION NOTE: Do not translate "ServiceWorker", "Error", "Response", "FetchEvent.respondWith()", or "fetch()". %S is a URL.
+InterceptedErrorResponseWithURL=ไม่สามารถโหลด ‘%S’ ServiceWorker ส่ง Error Response ไปที่ FetchEvent.respondWith() ซึ่งโดยทั่วไปหมายความว่า ServiceWorker ทำการเรียก fetch() ที่ไม่ถูกต้อง
+# LOCALIZATION NOTE: Do not translate "ServiceWorker", "Response", "FetchEvent.respondWith()", or "Response.clone()". %S is a URL.
+InterceptedUsedResponseWithURL=ไม่สามารถโหลด ‘%S’ ServiceWorker ส่ง used Response ไปที่ FetchEvent.respondWith() เนื้อความของ Response สามารถอ่านได้เพียงครั้งเดียว ใช้ Response.clone() เพื่อให้สามารถเข้าถึงเนื้อความได้หลายครั้ง
+# LOCALIZATION NOTE: Do not translate "ServiceWorker", "opaqueredirect", "Response", "FetchEvent.respondWith()", or "FetchEvent". %s is a URL.
+BadOpaqueRedirectInterceptionWithURL=ไม่สามารถโหลด ‘%S’ ServiceWorker ส่ง opaqueredirect Response ไปที่ FetchEvent.respondWith() ในขณะที่จัดการ FetchEvent ที่ไม่ใช่การนำทาง
+# LOCALIZATION NOTE: Do not translate "ServiceWorker", "Response", "FetchEvent.respondWith()", "RedirectMode" or "follow". %S is a URL.
+BadRedirectModeInterceptionWithURL=ไม่สามารถโหลด ‘%S’ ServiceWorker ส่ง redirected Response ไปที่ FetchEvent.respondWith() ในขณะที่ RedirectMode ไม่ใช่ ‘follow’
+# LOCALIZATION NOTE: Do not translate "ServiceWorker" or "FetchEvent.preventDefault()". %S is a URL.
+InterceptionCanceledWithURL=ไม่สามารถโหลด ‘%S’ ServiceWorker ยกเลิกการโหลดโดยเรียก FetchEvent.preventDefault()
+# LOCALIZATION NOTE: Do not translate "ServiceWorker", "promise", or "FetchEvent.respondWith()". %1$S is a URL. %2$S is an error string.
+InterceptionRejectedResponseWithURL=ไม่สามารถโหลด ‘%1$S’ ServiceWorker ส่ง promise ไปที่ FetchEvent.respondWith() ซึ่งปฏิเสธด้วย ‘%2$S’
+# LOCALIZATION NOTE: Do not translate "ServiceWorker", "promise", "FetchEvent.respondWith()", or "Response". %1$S is a URL. %2$S is an error string.
+InterceptedNonResponseWithURL=ไม่สามารถโหลด ‘%1$S’ ServiceWorker ส่ง promise ไปที่ FetchEvent.respondWith() ซึ่งแปลงด้วยค่าที่ไม่ใช่ Response ‘%2$S’
+# LOCALIZATION NOTE: Do not translate "mozImageSmoothingEnabled", or "imageSmoothingEnabled"
+PrefixedImageSmoothingEnabledWarning=เลิกใช้ mozImageSmoothingEnabled แล้ว โปรดใช้คุณสมบัติ imageSmoothingEnabled ที่ไม่มีส่วนนำหน้าแทน
+# LOCALIZATION NOTE: Do not translate "ServiceWorker", "Service-Worker-Allowed" or "HTTP". %1$S and %2$S are URLs.
+ServiceWorkerScopePathMismatch=ไม่สามารถลงทะเบียน ServiceWorker: เส้นทางของ scope ที่ระบุ ‘%1$S’ ไม่อยู่ภายใต้ scope สูงสุดที่อนุญาต ‘%2$S’ ปรับ scope, ย้ายสคริปต์ Service Worker, หรือใช้ส่วนหัว Service-Worker-Allowed HTTP เพื่ออนุญาต scope
+# LOCALIZATION NOTE: Do not translate "ServiceWorker". %1$S is a URL representing the scope of the ServiceWorker, %2$S is a stringified numeric HTTP status code like "404" and %3$S is a URL.
+ServiceWorkerRegisterNetworkError=ไม่สามารถลงทะเบียน/อัปเดต ServiceWorker สำหรับ scope ‘%1$S’ ได้: การโหลดล้มเหลวด้วยสถานะ %2$S สำหรับสคริปต์ ‘%3$S’
+# LOCALIZATION NOTE: Do not translate "ServiceWorker". %1$S is a URL representing the scope of the ServiceWorker, %2$S is a MIME Media Type like "text/plain" and %3$S is a URL.
+ServiceWorkerRegisterMimeTypeError2=ไม่สามารถลงทะเบียน/อัปเดต ServiceWorker สำหรับ scope ‘%1$S’ ได้: ได้รับ Content-Type ‘%2$S’ ที่ไม่ถูกต้องสำหรับสคริปต์ ‘%3$S’ ต้องเป็นชนิด JavaScript MIME
+# LOCALIZATION NOTE: Do not translate "ServiceWorker". %S is a URL representing the scope of the ServiceWorker.
+ServiceWorkerRegisterStorageError=ไม่สามารถลงทะเบียน/อัปเดต ServiceWorker สำหรับ scope ‘%S’ ได้: การเข้าถึงที่เก็บข้อมูลถูกจำกัดในบริบทนี้เนื่องจากการตั้งค่าผู้ใช้หรือโหมดการเรียกดูแบบส่วนตัว
+ServiceWorkerGetRegistrationStorageError=ไม่สามารถรับข้อมูลเกี่ยวกับการลงทะเบียนตัวทำงานบริการได้: การเข้าถึงที่เก็บข้อมูลถูกจำกัดในบริบทนี้เนื่องจากการตั้งค่าผู้ใช้หรือโหมดการเรียกดูแบบส่วนตัว
+ServiceWorkerGetClientStorageError=ไม่สามารถรับข้อมูลเกี่ยวกับไคลเอ็นต์ของตัวทำงานบริการได้: การเข้าถึงที่เก็บข้อมูลถูกจำกัดในบริบทนี้เนื่องจากการตั้งค่าผู้ใช้หรือโหมดการเรียกดูแบบส่วนตัว
+# LOCALIZATION NOTE: Do not translate "ServiceWorker" and "postMessage". %S is a URL representing the scope of the ServiceWorker.
+ServiceWorkerPostMessageStorageError=ServiceWorker สำหรับ scope ‘%S’ ไม่สามารถดำเนินการ ‘postMessage‘ ได้เนื่องจากการเข้าถึงที่เก็บข้อมูลถูกจำกัดในบริบทนี้เนื่องจากการตั้งค่าผู้ใช้หรือโหมดการเรียกดูแบบส่วนตัว
+# LOCALIZATION NOTE: Do not translate "ServiceWorker". %1$S is a URL representing the scope of the ServiceWorker.
+ServiceWorkerGraceTimeoutTermination=สิ้นสุด ServiceWorker สำหรับ scope ‘%1$S’ ที่มี waitUntil/respondWith promise รออยู่เนื่องจากรออยู่เนื่องจากหมดเวลาผ่อนผัน
+# LOCALIZATION NOTE (ServiceWorkerNoFetchHandler): Do not translate "Fetch".
+ServiceWorkerNoFetchHandler=ต้องเพิ่มตัวจัดการเหตุการณ์ Fetch ระหว่างการประเมินเริ่มต้นของสคริปต์ของตัวทำงาน
+ExecCommandCutCopyDeniedNotInputDriven=document.execCommand (‘cut’/‘copy’) ถูกปฏิเสธเนื่องจากไม่ได้ถูกเรียกจากภายในตัวจัดการเหตุการณ์ที่ผู้ใช้สร้างขึ้นที่ทำงานในระยะสั้น
+ManifestShouldBeObject=ไฟล์กำกับควรเป็นวัตถุ
+ManifestScopeURLInvalid=URL ของ scope ไม่ถูกต้อง
+ManifestScopeNotSameOrigin=URL ของ scope ต้องเป็นที่มาเดียวกับเอกสาร
+ManifestStartURLOutsideScope=URL เริ่มต้นอยู่ภายนอก scope ดังนั้น scope ดังกล่าวจึงไม่ถูกต้อง
+ManifestStartURLInvalid=URL เริ่มต้นไม่ถูกต้อง
+ManifestStartURLShouldBeSameOrigin=URL เริ่มต้นต้องเป็นที่มาเดียวกับเอกสาร
+# LOCALIZATION NOTE: %1$S is the name of the object whose property is invalid. %2$S is the name of the invalid property. %3$S is the expected type of the property value. E.g. "Expected the manifest's start_url member to be a string."
+ManifestInvalidType=ต้องการให้สมาชิก %2$S ของ %1$S เป็น %3$S
+# LOCALIZATION NOTE: %1$S is the name of the property whose value is invalid. %2$S is the (invalid) value of the property. E.g. "theme_color: 42 is not a valid CSS color."
+ManifestInvalidCSSColor=%1$S: %2$S ไม่ใช่สี CSS ที่ถูกต้อง
+# LOCALIZATION NOTE: %1$S is the name of the property whose value is invalid. %2$S is the (invalid) value of the property. E.g. "lang: 42 is not a valid language code."
+ManifestLangIsInvalid=%1$S: %2$S ไม่ใช่รหัสภาษาที่ถูกต้อง
+# LOCALIZATION NOTE: %1$S is the name of the parent property whose value is invalid (e.g., "icons"). %2$S is the index of the image object that is invalid (from 0). %3$S is the name of actual member that is invalid. %4$S is the invalid value. E.g. "icons item at index 2 is invalid. The src member is an invalid URL http://:Invalid"
+ManifestImageURLIsInvalid=รายการ %1$S ที่ดัชนี %2$S ไม่ถูกต้อง สมาชิก %3$S เป็น URL ที่ไม่ถูกต้อง %4$S
+# LOCALIZATION NOTE: %1$S is the name of the parent property that that contains the unusable image object (e.g., "icons"). %2$S is the index of the image object that is unusable (from 0). E.g. "icons item at index 2 lacks a usable purpose. It will be ignored."
+ManifestImageUnusable=รายการ %1$S ที่ดัชนี %2$S ขาดวัตถุประสงค์ที่ใช้งานได้ และจะถูกเพิกเฉย
+# LOCALIZATION NOTE: %1$S is the name of the parent property that contains the unsupported value (e.g., "icons"). %2$S is the index of the image object that has the unsupported value (from 0). %3$S are the unknown purposes. E.g. "icons item at index 2 includes unsupported purpose(s): a b."
+ManifestImageUnsupportedPurposes=รายการ %1$S ที่ดัชนี %2$S มีวัตถุประสงค์ที่ไม่รองรับ: %3$S
+# LOCALIZATION NOTE: %1$S is the name of the parent property that has a repeated purpose (e.g., "icons"). %2$S is the index of the image object that has the repeated purpose (from 0). %3$S is the repeated purposes. E.g. "icons item at index 2 includes repeated purpose(s): a b."
+ManifestImageRepeatedPurposes=รายการ %1$S ที่ดัชนี %2$S มีวัตถุประสงค์ที่ซ้ำ: %3$S
+PatternAttributeCompileFailure=ไม่สามารถตรวจสอบ <input pattern='%S'> ได้เนื่องจากรูปแบบดังกล่าวไม่ใช่ regexp ที่ถูกต้อง: %S
+# LOCALIZATION NOTE: Do not translate "postMessage" or DOMWindow. %S values are origins, like https://domain.com:port
+TargetPrincipalDoesNotMatch=ไม่สามารถดำเนินการ ‘postMessage’ ใน ‘DOMWindow’ ได้: ที่มาเป้าหมายที่ระบุ (‘%S’) ไม่ตรงกับที่มาของหน้าต่างผู้รับ (‘%S’)
+# LOCALIZATION NOTE: Do not translate 'YouTube'. %S values are origins, like https://domain.com:port
+RewriteYouTubeEmbed=กำลังเขียน YouTube Flash embed แบบเก่า (%S) ใหม่เป็น iframe embed (%S) โปรดอัปเดตหน้าเพื่อใช้ iframe แทน embed/object หากเป็นไปได้
+# LOCALIZATION NOTE: Do not translate 'YouTube'. %S values are origins, like https://domain.com:port
+RewriteYouTubeEmbedPathParams=กำลังเขียน YouTube Flash embed แบบเก่า (%S) ใหม่เป็น iframe embed (%S) Params ไม่รองรับโดย iframe embeds และถูกแปลงแล้ว โปรดอัปเดตหน้าเพื่อใช้ iframe แทน embed/object หากเป็นไปได้
+# LOCALIZATION NOTE: This error is reported when the "Encryption" header for an
+# incoming push message is missing or invalid. Do not translate "ServiceWorker",
+# "Encryption", and "salt". %1$S is the ServiceWorker scope URL.
+PushMessageBadEncryptionHeader=ServiceWorker สำหรับ scope ‘%1$S’ ไม่สามารถถอดรหัสข้อความพุชได้ ส่วนหัว ‘Encryption’ ต้องมีพารามิเตอร์ ‘salt‘ ที่ไม่ซ้ำกันสำหรับแต่ละข้อความ ดู https://tools.ietf.org/html/draft-ietf-httpbis-encryption-encoding-02#section-3.1 สำหรับข้อมูลเพิ่มเติม
+# LOCALIZATION NOTE: This error is reported when the "Crypto-Key" header for an
+# incoming push message is missing or invalid. Do not translate "ServiceWorker",
+# "Crypto-Key", and "dh". %1$S is the ServiceWorker scope URL.
+PushMessageBadCryptoKeyHeader=ServiceWorker สำหรับ scope ‘%1$S’ ไม่สามารถถอดรหัสข้อความพุชได้ ส่วนหัว ‘Crypto-Key’ ต้องมีพารามิเตอร์ ‘dh‘ ที่มีคีย์สาธารณะของเซิร์ฟเวอร์แอป ดู https://tools.ietf.org/html/draft-ietf-httpbis-encryption-encoding-02#section-4 สำหรับข้อมูลเพิ่มเติม
+# LOCALIZATION NOTE: This error is reported when a push message fails to decrypt because the deprecated
+# "Encryption-Key" header for an incoming push message is missing or invalid.
+# Do not translate "ServiceWorker", "Encryption-Key", "dh", "Crypto-Key", and
+# "Content-Encoding: aesgcm". %1$S is the ServiceWorker scope URL.
+PushMessageBadEncryptionKeyHeader=ServiceWorker สำหรับ scope ‘%1$S’ ไม่สามารถถอดรหัสข้อความพุชได้ ส่วนหัว ‘Encryption-Key’ ต้องมีพารามิเตอร์ ‘dh‘ ซึ่งเลิกใช้แล้วและจะถูกเอาออกในไม่ช้า โปรดใช้ ‘Crypto-Key‘ พร้อมด้วย ‘Content-Encoding: aesgcm‘ แทน ดู https://tools.ietf.org/html/draft-ietf-httpbis-encryption-encoding-02#section-4 สำหรับข้อมูลเพิ่มเติม
+# LOCALIZATION NOTE: This error is reported when a push message fails to decrypt
+# because the "Content-Encoding" header is missing or contains an
+# unsupported encoding. Do not translate "ServiceWorker", "Content-Encoding",
+# "aesgcm", and "aesgcm128". %1$S is the ServiceWorker scope URL.
+PushMessageBadEncodingHeader=ServiceWorker สำหรับ scope ‘%1$S’ ไม่สามารถถอดรหัสข้อความพุชได้ ส่วนหัว ‘Content-Encoding’ ต้องเป็น ‘aesgcm‘ โดยสามารถใช้ ‘aesgcm128‘ ได้ แต่เลิกใช้แล้วและจะถูกเอาออกในไม่ช้า ดู https://tools.ietf.org/html/draft-ietf-httpbis-encryption-encoding-02#section-2 สำหรับข้อมูลเพิ่มเติม
+# LOCALIZATION NOTE: This error is reported when a push message fails to decrypt
+# because the "dh" parameter is not valid base64url. Do not translate
+# "ServiceWorker", "dh", "Crypto-Key", and "base64url". %1$S is the
+# ServiceWorker scope URL.
+PushMessageBadSenderKey=ServiceWorker สำหรับ scope ‘%1$S’ ไม่สามารถถอดรหัสข้อความพุชได้ พารามิเตอร์ ‘dh‘ ในส่วนหัว ‘Crypto-Key‘ ต้องเป็นคีย์สาธารณะ Diffie-Hellman ของเซิร์ฟเวอร์แอปซึ่งเข้ารหัสแบบ base64url (https://tools.ietf.org/html/rfc7515#appendix-C) และอยู่ในรูปแบบ “uncompressed” หรือ “raw” (65 ไบต์ก่อนการเข้ารหัส) ดู https://tools.ietf.org/html/draft-ietf-httpbis-encryption-encoding-02#section-4 สำหรับข้อมูลเพิ่มเติม
+# LOCALIZATION NOTE: This error is reported when a push message fails to decrypt
+# because the "salt" parameter is not valid base64url. Do not translate
+# "ServiceWorker", "salt", "Encryption", and "base64url". %1$S is the
+# ServiceWorker scope URL.
+PushMessageBadSalt=ServiceWorker สำหรับ scope ‘%1$S’ ไม่สามารถถอดรหัสข้อความพุชได้ พารามิเตอร์ ‘salt‘ ในส่วนหัว ‘Encryption‘ ต้องเข้ารหัสแบบ base64url (https://tools.ietf.org/html/rfc7515#appendix-C) และอยู่ที่อย่างน้อย 16 ไบต์ก่อนการเข้ารหัส ดู https://tools.ietf.org/html/draft-ietf-httpbis-encryption-encoding-02#section-3.1 สำหรับข้อมูลเพิ่มเติม
+# LOCALIZATION NOTE: This error is reported when a push message fails to decrypt
+# because the "rs" parameter is not a number, or is less than the pad size.
+# Do not translate "ServiceWorker", "rs", or "Encryption". %1$S is the
+# ServiceWorker scope URL. %2$S is the minimum value (1 for aesgcm128, 2 for
+# aesgcm).
+PushMessageBadRecordSize=ServiceWorker สำหรับ scope ‘%1$S’ ไม่สามารถถอดรหัสข้อความพุชได้ พารามิเตอร์ ‘rs‘ ของส่วนหัว ‘Encryption‘ ต้องอยู่ระหว่าง %2$S และ 2^36-31 หรือเว้นไว้ทั้งหมด ดู https://tools.ietf.org/html/draft-ietf-httpbis-encryption-encoding-02#section-3.1 สำหรับข้อมูลเพิ่มเติม
+# LOCALIZATION NOTE: This error is reported when a push message fails to decrypt
+# because an encrypted record is shorter than the pad size, the pad is larger
+# than the record, or any of the padding bytes are non-zero. Do not translate
+# "ServiceWorker". %1$S is the ServiceWorker scope URL. %2$S is the pad size
+# (1 for aesgcm128, 2 for aesgcm).
+PushMessageBadPaddingError=ServiceWorker สำหรับ scope ‘%1$S’ ไม่สามารถถอดรหัสข้อความพุชได้ เรกคอร์ดในข้อความที่เข้ารหัสไม่ได้มีการเติมช่องว่างภายในอย่างถูกต้อง ดู https://tools.ietf.org/html/draft-ietf-httpbis-encryption-encoding-02#section-2 สำหรับข้อมูลเพิ่มเติม
+# LOCALIZATION NOTE: This error is reported when push message decryption fails
+# and no specific error info is available. Do not translate "ServiceWorker".
+# %1$S is the ServiceWorker scope URL.
+PushMessageBadCryptoError=ServiceWorker สำหรับ scope ‘%1$S’ ไม่สามารถถอดรหัสข้อความพุชได้ สำหรับวิธีใช้เกี่ยวกับการเข้ารหัส โปรดดู https://developer.mozilla.org/docs/Web/API/Push_API/Using_the_Push_API#Encryption
+# LOCALIZATION NOTE: %1$S is the type of a DOM event. 'passive' is a literal parameter from the DOM spec.
+PreventDefaultFromPassiveListenerWarning=เพิกเฉยการเรียก ‘preventDefault()’ บนเหตุการณ์ชนิด ‘%1$S’ จากตัวฟังที่ลงทะเบียนเป็น ‘passive’
+# LOCALIZATION NOTE: 'ImageBitmapRenderingContext.transferImageBitmap' and 'ImageBitmapRenderingContext.transferFromImageBitmap' should not be translated
+ImageBitmapRenderingContext_TransferImageBitmapWarning=เลิกใช้ ImageBitmapRenderingContext.transferImageBitmap แล้วและจะถูกเอาออกในไม่ช้า ใช้ ImageBitmapRenderingContext.transferFromImageBitmap แทน
+IIRFilterChannelCountChangeWarning=การเปลี่ยนแปลงจำนวนช่องของ IIRFilterNode อาจทำให้เกิดข้อบกพร่องของเสียง
+BiquadFilterChannelCountChangeWarning=การเปลี่ยนแปลงจำนวนช่องของ BiquadFilterNode อาจทำให้เกิดข้อบกพร่องของเสียง
+# LOCALIZATION NOTE: Do not translate ".png"
+GenericImageNamePNG=ภาพ.png
+GenericFileName=ไฟล์
+# LOCALIZATION NOTE: Do not translate "Large-Allocation", as it is a literal header name
+LargeAllocationSuccess=หน้านี้ถูกโหลดในโปรเซสใหม่เนื่องจากส่วนหัว Large-Allocation
+# LOCALIZATION NOTE: Do not translate "Large-Allocation", as it is a literal header name. Do not translate GET.
+LargeAllocationNonGetRequest=ส่วนหัว Large-Allocation ถูกเพิกเฉยเนื่องจากการโหลดที่ถูกทริกเกอร์โดยคำขอที่ไม่ใช่ GET
+# LOCALIZATION NOTE: Do not translate "Large-Allocation", as it is a literal header name. Do not translate `window.opener`.
+LargeAllocationNotOnlyToplevelInTabGroup=ส่วนหัว Large-Allocation ถูกเพิกเฉยเนื่องจากมีหน้าต่างที่มีการอ้างอิงถึงบริบทการเรียกดูนี้ผ่านลำดับชั้นของเฟรมหรือ window.opener
+# LOCALIZATION NOTE: Do not translate "Large-Allocation", as it is a literal header name
+LargeAllocationNonE10S=ส่วนหัว Large-Allocation ถูกเพิกเฉยเนื่องจากเอกสารไม่ได้ถูกโหลดนอกโปรเซส
+GeolocationInsecureRequestIsForbidden=คำขอตำแหน่งที่ตั้งทางภูมิศาสตร์สามารถดำเนินการได้ในบริบทที่ปลอดภัยเท่านั้น
+NotificationsInsecureRequestIsForbidden=สามารถขอการอนุญาตการแจ้งเตือนได้เฉพาะในบริบทที่ปลอดภัยเท่านั้น
+NotificationsCrossOriginIframeRequestIsForbidden=สามารถขอการอนุญาตการแจ้งเตือนได้เฉพาะในเอกสารระดับบนสุดหรือ iframe ของแหล่งที่มาเดียวกันเท่านั้น
+NotificationsRequireUserGesture=สามารถขอการอนุญาตการแจ้งเตือนได้เฉพาะจากภายในตัวจัดการเหตุการณ์ที่สร้างโดยผู้ใช้ที่ทำงานในระยะสั้นเท่านั้น
+NotificationsRequireUserGestureDeprecationWarning=การขอการอนุญาตการแจ้งเตือนภายนอกตัวจัดการเหตุการณ์ที่สร้างโดยผู้ใช้ที่ทำงานในระยะสั้นเลิกใช้แล้วและจะไม่รองรับอีกในอนาคต
+# LOCALIZATION NOTE: Do not translate "Large-Allocation", as it is a literal header name.
+LargeAllocationNonWin32=หน้านี้จะถูกโหลดในโปรเซสใหม่เนื่องจากส่วนหัว Large-Allocation อย่างไรก็ตาม การสร้างโปรเซสของ Large-Allocation ถูกปิดใช้งานบนแพลตฟอร์มที่ไม่ใช่ Win32
+# LOCALIZATION NOTE: Do not translate "content", "Window", and "window.top"
+WindowContentUntrustedWarning=เลิกใช้แอตทริบิวต์ ‘content’ ของวัตถุ Window แล้ว โปรดใช้ ‘window.top’ แทน
+# LOCALIZATION NOTE: The first %S is the tag name of the element that starts the loop, the second %S is the element's ID.
+SVGRefLoopWarning=SVG <%S> ที่มี ID “%S” มีลูปการอ้างอิง
+# LOCALIZATION NOTE: The first %S is the tag name of the element in the chain where the chain was broken, the second %S is the element's ID.
+SVGRefChainLengthExceededWarning=โซ่อ้างอิง SVG <%S> ซึ่งยาวเกินไปถูกทอดทิ้งในองค์ประกอบที่มี ID “%S”
+# LOCALIZATION NOTE: Do not translate "<script>".
+ScriptSourceEmpty=แอตทริบิวต์ ‘%S’ ขององค์ประกอบ <script> ว่างเปล่า
+# LOCALIZATION NOTE: Do not translate "<script>".
+ScriptSourceInvalidUri=แอตทริบิวต์ ‘%S’ ขององค์ประกอบ <script> ไม่ใช่ URI ที่ถูกต้อง: “%S”
+# LOCALIZATION NOTE: Do not translate "<script>".
+ScriptSourceLoadFailed=การโหลดล้มเหลวสำหรับ <script> ที่มีต้นฉบับ “%S”
+ModuleSourceLoadFailed=การโหลดล้มเหลวสำหรับโมดูลที่มีต้นฉบับ “%S”
+# LOCALIZATION NOTE: Do not translate "<script>".
+ScriptSourceMalformed=URI ที่มาของ <script> มีรูปแบบที่ไม่ถูกต้อง: “%S”
+ModuleSourceMalformed=URI ที่มาของโมดูลมีรูปแบบที่ไม่ถูกต้อง: “%S”
+# LOCALIZATION NOTE: Do not translate "<script>".
+ScriptSourceNotAllowed=ไม่อนุญาตให้มี URI ที่มาของ <script> ในเอกสารนี้: “%S”
+ModuleSourceNotAllowed=ไม่อนุญาตให้มี URI ที่มาของโมดูลในเอกสารนี้: “%S”
+ModuleResolveFailure=เกิดข้อผิดพลาดในการแปลงที่อยู่ตัวระบุโมดูล “%S” ตัวระบุโมดูลสัมพัทธ์จะต้องขึ้นต้นด้วย “./” “../” หรือ “/”
+# LOCALIZATION NOTE: %1$S is the invalid property value and %2$S is the property name.
+InvalidKeyframePropertyValue=ค่าคุณสมบัติคีย์เฟรม “%1$S” ไม่ถูกต้องตามไวยากรณ์สำหรับ “%2$S”
+# LOCALIZATION NOTE: Do not translate "ReadableStream".
+ReadableStreamReadingFailed=ไม่สามารถอ่านข้อมูลจาก ReadableStream ได้: “%S”
+# LOCALIZATION NOTE: Do not translate "registerProtocolHandler"
+RegisterProtocolHandlerPrivateBrowsingWarning=ไม่สามารถใช้ registerProtocolHandler ในโหมดการเรียกดูแบบส่วนตัวได้
+MotionEventWarning=เลิกใช้การใช้เซ็นเซอร์ตรวจจับความเคลื่อนไหวแล้ว
+OrientationEventWarning=เลิกใช้การใช้เซ็นเซอร์ตรวจจับการวางแนวแล้ว
+ProximityEventWarning=เลิกใช้การใช้เซ็นเซอร์ตรวจจับบริเวณใกล้เคียงแล้ว
+AmbientLightEventWarning=เลิกใช้การใช้เซ็นเซอร์ตรวจจับแสงที่ล้อมรอบแล้ว
+# LOCALIZATION NOTE: Do not translate "storage", "indexedDB.open" and "navigator.storage.persist()".
+IDBOpenDBOptions_StorageTypeWarning=เลิกใช้แอตทริบิวต์ ‘storage’ ในตัวเลือกที่ส่งไปที่ indexedDB.open แล้วและจะถูกเอาออกในไม่ช้า หากต้องการรับที่เก็บข้อมูลถาวร โปรดใช้ navigator.storage.persist() แทน
+UnsupportedEntryTypesIgnored=เพิกเฉย entryTypes ที่ไม่รองรับ: %S
+AllEntryTypesIgnored=ไม่มี entryTypes ที่ถูกต้อง; กำลังยกเลิกการลงทะเบียน
+# LOCALIZATION NOTE: do not localize key=“%S” modifiers=“%S” id=“%S”
+GTK2Conflict2=ไม่พบเหตุการณ์หลักบน GTK2: key=“%S” modifiers=“%S” id=“%S”
+WinConflict2=ไม่พบเหตุการณ์หลักสำหรับบางผังแป้นพิมพ์: key=“%S” modifiers=“%S” id=“%S”
+# LOCALIZATION NOTE: do not trnaslated "document.domain"
+DocumentSetDomainNotAllowedWarning=ไม่อนุญาตให้ตั้งค่า document.domain ในสภาพแวดล้อมแบบแยกต่างหากแบบข้ามที่มา
+
+#LOCALIZATION NOTE(DeprecatedTestingInterfaceWarning): Do not translate this message. It's just testing only.
+DeprecatedTestingInterfaceWarning=TestingDeprecatedInterface เป็นส่วนติดต่อสำหรับการทดสอบเท่านั้นและนี่คือข้อความการทดสอบการเลิกใช้
+#LOCALIZATION NOTE(DeprecatedTestingMethodWarning): Do not translate this message. It's just testing only.
+DeprecatedTestingMethodWarning=TestingDeprecatedInterface.deprecatedMethod() เป็นวิธีสำหรับการทดสอบเท่านั้นและนี่คือข้อความการทดสอบการเลิกใช้
+#LOCALIZATION NOTE(DeprecatedTestingAttributeWarning): Do not translate this message. It's just testing only.
+DeprecatedTestingAttributeWarning=TestingDeprecatedInterface.deprecatedAttribute เป็นแอตทริบิวต์สำหรับการทดสอบเท่านั้นและนี่คือข้อความการทดสอบการเลิกใช้
+# LOCALIZATION NOTE (CreateImageBitmapCanvasRenderingContext2DWarning): Do not translate CanvasRenderingContext2D and createImageBitmap.
+CreateImageBitmapCanvasRenderingContext2DWarning=เลิกใช้ CanvasRenderingContext2D ใน createImageBitmap แล้ว
+# LOCALIZATION NOTE (MozRequestFullScreenDeprecatedPrefixWarning): Do not translate mozRequestFullScreen.
+MozRequestFullScreenDeprecatedPrefixWarning=เลิกใช้ mozRequestFullScreen() แล้ว
+# LOCALIZATION NOTE (MozfullscreenchangeDeprecatedPrefixWarning): Do not translate onmozfullscreenchange.
+MozfullscreenchangeDeprecatedPrefixWarning=เลิกใช้ onmozfullscreenchange แล้ว
+# LOCALIZATION NOTE (MozfullscreenerrorDeprecatedPrefixWarning): Do not translate onmozfullscreenerror.
+MozfullscreenerrorDeprecatedPrefixWarning=เลิกใช้ onmozfullscreenerror แล้ว
+# LOCALIZATION NOTE(External_AddSearchProviderWarning): Do not translate AddSearchProvider.
+External_AddSearchProviderWarning=เลิกใช้ AddSearchProvider แล้ว
+# LOCALIZATION NOTE: Do not translate "MouseEvent.mozPressure" and "PointerEvent.pressure".
+MouseEvent_MozPressureWarning=เลิกใช้ MouseEvent.mozPressure แล้ว ให้ใช้ PointerEvent.pressure แทน
+# LOCALIZATION NOTE: Do not translate MathML, align, numalign and denomalign.
+MathML_DeprecatedAlignmentAttributesWarning=แอตทริบิวต์ MathML “align”, “numalign” และ “denomalign” เป็นค่าที่เลิกใช้แล้วและจะถูกเอาออกในอนาคต
+# LOCALIZATION NOTE: Do not translate MathML and bevelled.
+MathML_DeprecatedBevelledAttribute=แอตทริบิวต์ MathML “bevelled” เลิกใช้แล้วและอาจถูกเอาออกในอนาคต
+# LOCALIZATION NOTE: Do not translate thin, medium, thick and linethickness.
+MathML_DeprecatedLineThicknessValueWarning=“thin”, “medium” และ “thick” เป็นค่าที่เลิกใช้แล้วสำหรับแอตทริบิวต์ linethickness และจะถูกเอาออกในอนาคต
+# LOCALIZATION NOTE: Do not translate small, normal, big and mathsize.
+MathML_DeprecatedMathSizeValueWarning=“small”, “normal” และ “big” เป็นค่าที่เลิกใช้แล้วสำหรับแอตทริบิวต์ mathsize และจะถูกเอาออกในอนาคต
+# LOCALIZATION NOTE: Do not translate veryverythinmathspace, verythinmathspace,
+# thinmathspace, mediummathspace, thickmathspace, verythickmathspace, veryverythickmathspace and MathML.
+MathML_DeprecatedMathSpaceValueWarning=“veryverythinmathspace”, “verythinmathspace”, “thinmathspace”, “mediummathspace”, “thickmathspace”, “verythickmathspace” และ “veryverythickmathspace” เป็นค่าที่เลิกใช้แล้วสำหรับความยาว MathML lengths และจะถูกเอาออกในอนาคต
+# LOCALIZATION NOTE: Do not translate radical, notation and menclose.
+MathML_DeprecatedMencloseNotationRadical=ค่า “radical” เลิกใช้แล้วสำหรับแอตทริบิวต์ “notation” ขององค์ประกอบ <menclose> และจะถูกเอาออกในอนาคต
+# LOCALIZATION NOTE: Do not translate MathML or mfenced.
+MathML_DeprecatedMfencedElement=องค์ประกอบ MathML mfenced เลิกใช้แล้วและจะถูกเอาออกในอนาคต
+# LOCALIZATION NOTE: Do not translate MathML, subscriptshift and superscriptshift.
+MathML_DeprecatedScriptShiftAttributes=แอตทริบิวต์ MathML “subscriptshift” และ “superscriptshift” เลิกใช้แล้วและอาจถูกเอาออกในอนาคต
+# LOCALIZATION NOTE: Do not translate MathML, background, color, fontfamily, fontsize, fontstyle and fontweight.
+MathML_DeprecatedStyleAttributeWarning=แอตทริบิวต์ MathML “background”, “color”, “fontfamily”, “fontsize”, “fontstyle” และ “fontweight” เลิกใช้แล้วและจะถูกเอาออกในอนาคต
+# LOCALIZATION NOTE: Do not translate MathML and XLink.
+MathML_DeprecatedXLinkAttributeWarning=แอตทริบิวต์ XLink “href”, “type”, “show” และ “actuate” เลิกใช้แล้วบนองค์ประกอบ MathML และจะถูกเอาออกในอนาคต
+# LOCALIZATION NOTE: Do not translate MathML and STIXGeneral. %S is a documentation URL.
+MathML_DeprecatedStixgeneralOperatorStretchingWarning=เลิกรองรับการเรนเดอร์ตัวดำเนินการ MathML แบบยืดด้วยแบบอักษรของ STIXGeneral แล้วและจะถูกเอาออกในอนาคต สำหรับรายละเอียดเกี่ยวกับแบบอักษรที่ใหม่กว่าที่จะยังคงรองรับต่อไป ดูที่ %S
+# LOCALIZATION NOTE: Do not translate MathML and scriptminsize.
+MathML_DeprecatedScriptminsizeAttributeWarning=แอตทริบิวต์ MathML “scriptminsize” เลิกใช้แล้วและจะถูกเอาออกในอนาคต
+# LOCALIZATION NOTE: Do not translate MathML and scriptsizemultiplier.
+MathML_DeprecatedScriptsizemultiplierAttributeWarning=แอตทริบิวต์ MathML “scriptsizemultiplier” เลิกใช้แล้วและจะถูกเอาออกในอนาคต
+WebShareAPI_Failed=การดำเนินการแบ่งปันล้มเหลว
+WebShareAPI_Aborted=การดำเนินการแบ่งปันถูกยกเลิก
+# LOCALIZATION NOTE (UnknownProtocolNavigationPrevented): %1$S is the destination URL.
+UnknownProtocolNavigationPrevented=ป้องกันการนำทางไปยัง “%1$S” แล้วเนื่องจากเป็นโปรโตคอลที่ไม่รู้จัก
+PostMessageSharedMemoryObjectToCrossOriginWarning=ไม่สามารถโพสต์ข้อความที่มีวัตถุหน่วยความจำที่ใช้ร่วมกันลงในหน้าต่างแบบข้ามที่มาได้
+# LOCALIZATION NOTE: %S is the URL of the resource in question
+UnusedLinkPreloadPending=ทรัพยากรที่ “%S” ที่โหลดไว้ล่วงหน้าที่มีการโหลดลิงก์ล่วงหน้าไม่ได้ถูกใช้ในช่วงไม่กี่วินาทีที่ผ่านมา ตรวจสอบให้แน่ใจว่าแอตทริบิวต์ทั้งหมดของแท็ก preload ได้รับการตั้งค่าอย่างถูกต้อง
+
+# LOCALIZATION NOTE: Do not translate document.requestStorageAccess(), iframe, allow-same-origin and sandbox (though you may translate "sandboxed").
+RequestStorageAccessNullPrincipal=document.requestStorageAccess() อาจไม่ถูกเรียกบนเอกสารที่มีที่มาที่มืดทึบ เช่น iframe without ที่มี sandbox ซึ่งไม่มี allow-same-origin ในแอตทริบิวต์ sandbox
+# LOCALIZATION NOTE: Do not translate document.requestStorageAccess(), iframe, allow-storage-access-by-user-activation and sandbox (though you may translate "sandboxed").
+RequestStorageAccessSandboxed=document.requestStorageAccess() อาจไม่ถูกเรียกใน iframe ที่มี sandbox ซึ่งไม่มี allow-storage-access-by-user-activation ในแอตทริบิวต์ sandbox
+# LOCALIZATION NOTE: Do not translate document.requestStorageAccess() and iframe.
+RequestStorageAccessNested=document.requestStorageAccess() อาจไม่ถูกเรียกใน iframe ที่ซ้อนกัน
+# LOCALIZATION NOTE: Do not translate document.requestStorageAccess(). In some locales it may be preferable to not translate "event handler", either.
+RequestStorageAccessUserGesture=สามารถร้องขอ document.requestStorageAccess() ได้เฉพาะจากภายในตัวจัดการเหตุการณ์ที่สร้างโดยผู้ใช้ที่ทำงานในระยะสั้นเท่านั้น
+# LOCALIZATION NOTE: Do not translate "Location" and "History".
+LocChangeFloodingPrevented=มีการเรียก Location หรือ History API มากเกินไปภายในระยะเวลาสั้น ๆ
+FolderUploadPrompt.title = ยืนยันการอัปโหลด
+# LOCALIZATION NOTE: %S is the name of the folder the user selected in the file picker.
+FolderUploadPrompt.message = คุณแน่ใจหรือไม่ว่าคุณต้องการอัปโหลดไฟล์ทั้งหมดจาก “%S”? ดำเนินการนี้เฉพาะเมื่อคุณเชื่อถือไซต์เท่านั้น
+FolderUploadPrompt.acceptButtonLabel = อัปโหลด
+InputPickerBlockedNoUserActivation=ตัวเลือก <input> ถูกปิดกั้นเนื่องจากไม่มีการเปิดใช้งานโดยผู้ใช้
+ExternalProtocolFrameBlockedNoUserActivation=Iframe ที่มีโปรโตคอลภายนอกถูกปิดกั้นเนื่องจากไม่มีการเปิดใช้งานโดยผู้ใช้ หรือเนื่องจากมีเวลาที่ผ่านไปไม่เพียงพอนับตั้งแต่โหลด Iframe นั้นครั้งล่าสุด
+MultiplePopupsBlockedNoUserActivation=การเปิดหลายป็อปอัปถูกปิดกั้นเนื่องจากไม่มีการเปิดใช้งานโดยผู้ใช้
+# LOCALIZATION NOTE: %S is the URL of the preload that was ignored.
+PreloadIgnoredInvalidAttr=การโหลด %S ล่วงหน้าถูกเพิกเฉยเนื่องจากมีค่า “as” หรือ “type” ที่ไม่รู้จัก หรือมีแอตทริบิวต์ “media” ที่ไม่ตรงกัน
diff --git a/l10n-th/dom/chrome/global-strres.properties b/l10n-th/dom/chrome/global-strres.properties
new file mode 100644
index 0000000000..2ffeaaf0df
--- /dev/null
+++ b/l10n-th/dom/chrome/global-strres.properties
@@ -0,0 +1,5 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+16389=เกิดข้อผิดพลาดที่ไม่รู้จัก (%1$S)
diff --git a/l10n-th/dom/chrome/global.dtd b/l10n-th/dom/chrome/global.dtd
new file mode 100644
index 0000000000..661fb351f4
--- /dev/null
+++ b/l10n-th/dom/chrome/global.dtd
@@ -0,0 +1,5 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!ENTITY locale.dir "ltr">
diff --git a/l10n-th/dom/chrome/layout/HtmlForm.properties b/l10n-th/dom/chrome/layout/HtmlForm.properties
new file mode 100644
index 0000000000..79259e3c02
--- /dev/null
+++ b/l10n-th/dom/chrome/layout/HtmlForm.properties
@@ -0,0 +1,43 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+Reset=กลับค่าเดิม
+Submit=ส่ง
+Browse=เรียกดู…
+FileUpload=อัปโหลดไฟล์
+DirectoryUpload=เลือกโฟลเดอร์ที่จะอัปโหลด
+DirectoryPickerOkButtonLabel=อัปโหลด
+ForgotPostWarning=แบบฟอร์มมี enctype=%S แต่ไม่มี method=post จึงส่งตามปกติด้วย method=GET และไม่มี enctype แทน
+ForgotFileEnctypeWarning=แบบฟอร์มมีการป้อนข้อมูลไฟล์ แต่ขาด method=POST และ enctype=multipart/form-data บนแบบฟอร์ม ไฟล์จะไม่ถูกส่ง
+# LOCALIZATION NOTE (DefaultFormSubject): %S will be replaced with brandShortName
+DefaultFormSubject=ฟอร์มถูกส่งจาก %S
+CannotEncodeAllUnicode=ฟอร์มถูกส่งด้วยการเข้ารหัสอักขระแบบ %S ซึ่งไม่สามารถเข้ารหัสอักขระยูนิโค้ดทั้งหมดได้ อาจทำให้ข้อมูลที่ผู้ใช้ป้อนเสียหายได้ การหลีกเลี่ยงปัญหานี้ทำได้โดยเปลี่ยนให้หน้าเว็บส่งข้อมูลด้วยการเข้ารหัสอักขระแบบ UTF-8 ซึ่งทำได้โดยเปลี่ยนการเข้ารหัสอักขระของหน้าเว็บให้เป็น UTF-8 หรือระบุ accept-charset=utf-8 ข้างในฟอร์ม
+AllSupportedTypes=ประเภทที่รองรับทั้งหมด
+# LOCALIZATION NOTE (NoFileSelected): this string is shown on a
+# <input type='file'> when there is no file selected yet.
+NoFileSelected=ไม่มีไฟล์ที่ถูกเลือก
+# LOCALIZATION NOTE (NoFilesSelected): this string is shown on a
+# <input type='file' multiple> when there is no file selected yet.
+NoFilesSelected=ไม่มีไฟล์ที่ถูกเลือก
+# LOCALIZATION NOTE (NoDirSelected): this string is shown on a
+# <input type='file' directory/webkitdirectory> when there is no directory
+# selected yet.
+NoDirSelected=ไม่มีไดเรกทอรีที่ถูกเลือก
+# LOCALIZATION NOTE (XFilesSelected): this string is shown on a
+# <input type='file' multiple> when there are more than one selected file.
+# %S will be a number greater or equal to 2.
+XFilesSelected=%S ไฟล์ถูกเลือก
+ColorPicker=เลือกสี
+# LOCALIZATION NOTE (AndNMoreFiles): Semi-colon list of plural forms.
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# This string is shown at the end of the tooltip text for <input type='file'
+# multiple> when there are more than 21 files selected (when we will only list
+# the first 20, plus an "and X more" line). #1 represents the number of files
+# minus 20 and will always be a number equal to or greater than 2. So the
+# singular case will never be used.
+AndNMoreFiles=และเพิ่มเติมอีก #1
+# LOCALIZATION NOTE (DefaultSummary): this string is shown on a <details> when
+# it has no direct <summary> child. Google Chrome should already have this
+# string translated.
+DefaultSummary=รายละเอียด
diff --git a/l10n-th/dom/chrome/layout/MediaDocument.properties b/l10n-th/dom/chrome/layout/MediaDocument.properties
new file mode 100644
index 0000000000..9c3fbde215
--- /dev/null
+++ b/l10n-th/dom/chrome/layout/MediaDocument.properties
@@ -0,0 +1,21 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+#LOCALIZATION NOTE (ImageTitleWithDimensions2AndFile): first %S is filename, second %S is type, third %S is width and fourth %S is height
+#LOCALIZATION NOTE (ImageTitleWithoutDimensions): first %S is filename, second %S is type
+#LOCALIZATION NOTE (ImageTitleWithDimensions2): first %S is type, second %S is width and third %S is height
+#LOCALIZATION NOTE (ImageTitleWithNeitherDimensionsNorFile): first %S is type
+#LOCALIZATION NOTE (MediaTitleWithFile): first %S is filename, second %S is type
+#LOCALIZATION NOTE (MediaTitleWithNoInfo): first %S is type
+ImageTitleWithDimensions2AndFile=%S (ภาพ %S, %S × %S พิกเซล)
+ImageTitleWithoutDimensions=%S (ภาพ %S)
+ImageTitleWithDimensions2=(ภาพ %S, %S × %S พิกเซล)
+ImageTitleWithNeitherDimensionsNorFile=(ภาพ %S)
+MediaTitleWithFile=%S (วัตถุ %S)
+MediaTitleWithNoInfo=(วัตถุ %S)
+
+InvalidImage=ไม่สามารถแสดงผลภาพ “%S” เนื่องจากมีข้อผิดพลาด
+ScaledImage=สัดส่วน (%S%%)
+
+TitleWithStatus=%S - %S
diff --git a/l10n-th/dom/chrome/layout/css.properties b/l10n-th/dom/chrome/layout/css.properties
new file mode 100644
index 0000000000..4ca9ad02ba
--- /dev/null
+++ b/l10n-th/dom/chrome/layout/css.properties
@@ -0,0 +1,46 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+MimeNotCss=ไม่สามารถโหลดแผ่นลักษณะ %1$S ได้เนื่องจากชนิด MIME เป็น “%2$S” ไม่ใช่ “text/css”
+MimeNotCssWarn=แผ่นลักษณะ %1$S ถูกโหลดเป็น CSS ถึงแม้ชนิด MIME เป็น “%2$S” ไม่ใช่ “text/css”
+
+PEDeclDropped=ยกเลิกการประกาศ
+PEDeclSkipped=ข้ามการประกาศถัดไป
+PEUnknownProperty=คุณสมบัติที่ไม่ทราบ '%1$S'
+PEValueParsingError=ผิดพลาดในการอ่านค่า '%1$S'.
+PEUnknownAtRule=ไม่รู้จัก at-rule หรือผิดพลาดขณะอ่าน at-rule '%1$S'.
+PEMQUnexpectedOperator=พบตัวดำเนินการที่ไม่คาดคิดในรายการสื่อ
+PEMQUnexpectedToken=พบโทเค็น ‘%1$S’ ที่ไม่คาดคิดในรายการสื่อ
+PEAtNSUnexpected=โทเค็นที่ไม่ได้คาดหวังใน @namespace: '%1$S'
+PEKeyframeBadName=คาดหวังตัวระบุสำหรับกฎของ @keyframes
+PEBadSelectorRSIgnored=ชุดกฎถูกเพิกเฉยเนื่องจาก selector ไม่ถูกต้อง
+PEBadSelectorKeyframeRuleIgnored=กฎของคีย์เฟรมถูกเพิกเฉยเนื่องจาก selector ไม่ถูกต้อง
+PESelectorGroupNoSelector=คาดหวัง selector
+PESelectorGroupExtraCombinator=Dangling combinator.
+PEClassSelNotIdent=คาดหวังตัวระบุสำหรับคลาส selector แต่พบ '%1$S'
+PETypeSelNotType=คาดหวังส่วนประกอบชื่อหรือ '*' แต่พบ '%1$S'
+PEUnknownNamespacePrefix=ไม่ทราบคำนำ namespace '%1$S'
+PEAttributeNameExpected=คาดหวังตัวระบุสำหรับชื่อคุณลักษณะแต่พบ '%1$S'
+PEAttributeNameOrNamespaceExpected=คาดหวังชื่อคุณลักษณะหรือ namespace แต่พบ '%1$S'
+PEAttSelNoBar=คาดหวัง '|' แต่พบ '%1$S'
+PEAttSelUnexpected=โทเค็นไม่คาดหวังในคุณลักษณะ selector: '%1$S'
+PEAttSelBadValue=คาดหวังตัวระบุหรือสายอักขระสำหรับค่าในคุณลักษณะ selector แต่พบ '%1$S'
+PEPseudoSelBadName=คาดหวังตัวระบุสำหรับ pseudo-class หรือ pseudo-element แต่พบ '%1$S'
+PEPseudoSelEndOrUserActionPC=คาดหวังจุดสิ้นสุดของ selector หรือ user action pseudo-class หลังจาก pseudo-element แต่พบ ‘%1$S’
+PEPseudoSelUnknown=คลาสแฝงหรือองค์ประกอบแฝงที่ไม่รู้จัก ‘%1$S’
+PENegationBadArg=ไม่มี argument ในการปฏิเสธ pseudo-class '%1$S'
+PEPseudoClassArgNotIdent=คาดหวังตัวระบุสำหรับพารามีเตอร์ pseudo-class parameter แต่พบ '%1$S'
+PEColorNotColor=คาดหวัง color แต่พบ '%1$S'
+PEParseDeclarationDeclExpected=คาดหวังการประกาศแต่พบ '%1$S'
+PEUnknownFontDesc=descriptor ที่ไม่รู้จัก '%1$S' ในกฎ @font-face
+PEMQExpectedFeatureName=คาดหวังชื่อคุณสมบัติสื่อแต่พบ '%1$S'
+PEMQNoMinMaxWithoutValue=ต้องระบุค่าให้คุณสมบัติสื่อ ที่มี min- หรือ max-
+PEMQExpectedFeatureValue=พบค่าของคุณสมบัติสื่อที่ใช้ไม่ได้
+PEExpectedNoneOrURL=Expected 'none' or URL but found '%1$S'.
+PEExpectedNoneOrURLOrFilterFunction=Expected 'none', URL, or filter function but found '%1$S'.
+
+PEDisallowedImportRule=กฎ @import ยังไม่สามารถใช้ได้ในสไตล์ชีตที่สร้างขึ้น
+
+TooLargeDashedRadius=รัศมีเส้นขอบใหญ่เกินไปสำหรับสไตล์ ‘dashed’ (ขีดจำกัดคือ 100000px) จึงแสดงผลแบบ solid
+TooLargeDottedRadius=รัศมีเส้นขอบใหญ่เกินไปสำหรับสไตล์ ‘dotted’ (ขีดจำกัดคือ 100000px) จึงแสดงผลแบบ solid
diff --git a/l10n-th/dom/chrome/layout/htmlparser.properties b/l10n-th/dom/chrome/layout/htmlparser.properties
new file mode 100644
index 0000000000..115ec4779f
--- /dev/null
+++ b/l10n-th/dom/chrome/layout/htmlparser.properties
@@ -0,0 +1,134 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# Encoding warnings and errors
+EncNoDeclarationFrame=เอกสารภายในเฟรมไม่ได้ประกาศการเข้ารหัสอักขระ การแสดงผลเอกสารอาจต่างออกไปถ้าหากเปิดดูโดยไม่อยู่ในเฟรมของเอกสารอื่น
+EncNoDeclarationPlain=เอกสารแบบข้อความธรรมดาไม่ได้ประกาศการเข้ารหัสอักขระ เอกสารนี้จะแสดงผลเป็นข้อความที่อ่านไม่ออกในกรณีที่เบราว์เซอร์มีการกำหนดค่าบางแบบและในเอกสารมีตัวอักขระที่ไม่อยู่ในช่วง US-ASCII จะต้องประกาศการเข้ารหัสอักขระในโปรโตคอลการส่งข้อมูล หรือในไฟล์ต้องระบุเครื่องหมายลำดับไบต์เพื่อเป็นลายเซ็นการเข้ารหัสอักขระ
+EncNoDeclaration=เอกสาร HTML ไม่ได้ประกาศการเข้ารหัสอักขระ เอกสารนี้จะแสดงผลเป็นข้อความที่อ่านไม่ออกในกรณีที่เบราว์เซอร์มีการตั้งค่าบางแบบและในเอกสารมีตัวอักขระที่ไม่อยู่ในช่วง US-ASCII จะต้องประกาศการเข้ารหัสอักขระภายในเอกสารหรือในโปรโตคอลการส่งข้อมูล
+EncLateMetaFrame=ไม่พบการประกาศการเข้ารหัสอักขระภายใน 1024 ไบต์แรกของเอกสาร HTML ภายในเฟรม เมื่อดูโดยไม่อยู่ในเฟรมของเอกสารอื่น หน้าเว็บจะโหลดใหม่โดยอัตโนมัติ ต้องย้ายประกาศการเข้ารหัสอักขระให้อยู่ภายใน 1024 ไบต์แรกของไฟล์
+EncLateMeta=ไม่พบการประกาศการเข้ารหัสอักขระภายใน 1024 ไบต์แรกของเอกสาร HTML เมื่อดูโดยใช้เบราว์เซอร์ที่กำหนดค่าแบบอื่น หน้าเว็บจะโหลดใหม่โดยอัตโนมัติ ต้องย้ายประกาศการเข้ารหัสอักขระให้อยู่ภายใน 1024 ไบต์แรกของไฟล์\u0020
+EncLateMetaReload=หน้าเว็บถูกโหลดใหม่เนื่องจากไม่พบการประกาศการเข้ารหัสอักขระภายใน 1024 ไบต์แรกของไฟล์ ต้องย้ายประกาศการเข้ารหัสอักขระให้อยู่ภายใน 1024 ไบต์แรกของไฟล์
+EncLateMetaTooLate=พบการประกาศการเข้ารหัสอักขระของเอกสารช้าเกินกว่าที่จะมีผล ต้องย้ายประกาศการเข้ารหัสอักขระให้อยู่ภายใน 1024 ไบต์แรกของไฟล์
+EncMetaUnsupported=เอกสาร HTML ประกาศการเข้ารหัสอักขระที่ไม่สนับสนุนโดยใช้แท็ก meta การประกาศนี้จะไม่มีผล
+EncProtocolUnsupported=เอกสาร HTML ประกาศการเข้ารหัสอักขระที่ไม่สนับสนุนในระดับโปรโตคอลการส่งข้อมูล การประกาศนี้จะไม่มีผล
+EncBomlessUtf16=ตรวจพบข้อความที่มีเฉพาะตัวอักขระละตินพื้นฐานที่เข้ารหัสอักขระแบบ UTF-16 โดยไม่มีเครื่องหมายลำดับไบต์และไม่มีการประกาศในระดับโปรโตคอลการส่งข้อมูล การเข้ารหัสอักขระข้อความนี้แบบ UTF-16 จัดว่าไม่มีประสิทธิภาพ และควรจะต้องประกาศการเข้ารหัสอักขระเสมอ
+EncMetaUtf16=แท็ก meta ถูกใช้ประกาศการเข้ารหัสอักขระเป็นแบบ UTF-16 จะถูกตีความว่าเป็นการประกาศแบบ UTF-8 แทน
+EncMetaUserDefined=แท็ก meta ถูกใช้ประกาศการเข้ารหัสอักขระเป็นแบบ x-user-defined จะถูกตีความว่าเป็นการประกาศแบบ windows-1252 แทนเพื่อให้เข้ากันได้กับแบบอักษรแบบเก่าซึ่งเข้ารหัสอักขระผิดโดยตั้งใจ ไซต์นี้ควรเปลี่ยนไปใช้รหัสอักขระแบบ Unicode
+
+# The bulk of the messages below are derived from
+# https://hg.mozilla.org/projects/htmlparser/file/1f633cef7de7/src/nu/validator/htmlparser/impl/ErrorReportingTokenizer.java
+# which is available under the MIT license.
+
+# Tokenizer errors
+errGarbageAfterLtSlash=พบเนื้อหาที่ไม่ถูกต้องหลังจาก “</”
+errLtSlashGt=Saw “</>”. Probable causes: Unescaped “<” (escape as “&lt;”) or mistyped end tag.
+errCharRefLacksSemicolon=Character reference was not terminated by a semicolon.
+errNoDigitsInNCR=No digits in numeric character reference.
+errGtInSystemId=“>” ในตัวระบุระบบ
+errGtInPublicId=“>” ในตัวระบุสาธารณะ
+errNamelessDoctype=Nameless doctype.
+errConsecutiveHyphens=Consecutive hyphens did not terminate a comment. “--” is not permitted inside a comment, but e.g. “- -” is.
+errPrematureEndOfComment=Premature end of comment. Use “-->” to end a comment properly.
+errBogusComment=Bogus comment.
+errUnquotedAttributeLt=“<” in an unquoted attribute value. Probable cause: Missing “>” immediately before.
+errUnquotedAttributeGrave=“`” in an unquoted attribute value. Probable cause: Using the wrong character as a quote.
+errUnquotedAttributeQuote=Quote in an unquoted attribute value. Probable causes: Attributes running together or a URL query string in an unquoted attribute value.
+errUnquotedAttributeEquals=“=” in an unquoted attribute value. Probable causes: Attributes running together or a URL query string in an unquoted attribute value.
+errSlashNotFollowedByGt=A slash was not immediately followed by “>”.
+errNoSpaceBetweenAttributes=No space between attributes.
+errUnquotedAttributeStartLt=“<” at the start of an unquoted attribute value. Probable cause: Missing “>” immediately before.
+errUnquotedAttributeStartGrave=“`” at the start of an unquoted attribute value. Probable cause: Using the wrong character as a quote.
+errUnquotedAttributeStartEquals=“=” at the start of an unquoted attribute value. Probable cause: Stray duplicate equals sign.
+errAttributeValueMissing=ค่าแอตทริบิวต์ขาดหายไป
+errBadCharBeforeAttributeNameLt=Saw “<” when expecting an attribute name. Probable cause: Missing “>” immediately before.
+errEqualsSignBeforeAttributeName=Saw “=” when expecting an attribute name. Probable cause: Attribute name missing.
+errBadCharAfterLt=Bad character after “<”. Probable cause: Unescaped “<”. Try escaping it as “&lt;”.
+errLtGt=Saw “<>”. Probable causes: Unescaped “<” (escape as “&lt;”) or mistyped start tag.
+errProcessingInstruction=Saw “<?”. Probable cause: Attempt to use an XML processing instruction in HTML. (XML processing instructions are not supported in HTML.)
+errUnescapedAmpersandInterpretedAsCharacterReference=The string following “&” was interpreted as a character reference. (“&” probably should have been escaped as “&amp;”.)
+errNotSemicolonTerminated=Named character reference was not terminated by a semicolon. (Or “&” should have been escaped as “&amp;”.)
+errNoNamedCharacterMatch=“&” did not start a character reference. (“&” probably should have been escaped as “&amp;”.)
+errQuoteBeforeAttributeName=Saw a quote when expecting an attribute name. Probable cause: “=” missing immediately before.
+errLtInAttributeName=“<” in attribute name. Probable cause: “>” missing immediately before.
+errQuoteInAttributeName=Quote in attribute name. Probable cause: Matching quote missing somewhere earlier.
+errExpectedPublicId=Expected a public identifier but the doctype ended.
+errBogusDoctype=Bogus doctype.
+maybeErrAttributesOnEndTag=End tag had attributes.
+maybeErrSlashInEndTag=Stray “/” at the end of an end tag.
+errNcrNonCharacter=Character reference expands to a non-character.
+errNcrSurrogate=Character reference expands to a surrogate.
+errNcrControlChar=Character reference expands to a control character.
+errNcrCr=A numeric character reference expanded to carriage return.
+errNcrInC1Range=A numeric character reference expanded to the C1 controls range.
+errEofInPublicId=End of file inside public identifier.
+errEofInComment=End of file inside comment.
+errEofInDoctype=End of file inside doctype.
+errEofInAttributeValue=End of file reached when inside an attribute value. Ignoring tag.
+errEofInAttributeName=End of file occurred in an attribute name. Ignoring tag.
+errEofWithoutGt=Saw end of file without the previous tag ending with “>”. Ignoring tag.
+errEofInTagName=End of file seen when looking for tag name. Ignoring tag.
+errEofInEndTag=End of file inside end tag. Ignoring tag.
+errEofAfterLt=End of file after “<”.
+errNcrOutOfRange=Character reference outside the permissible Unicode range.
+errNcrUnassigned=Character reference expands to a permanently unassigned code point.
+errDuplicateAttribute=Duplicate attribute.
+errEofInSystemId=End of file inside system identifier.
+errExpectedSystemId=Expected a system identifier but the doctype ended.
+errMissingSpaceBeforeDoctypeName=Missing space before doctype name.
+errHyphenHyphenBang=“--!” found in comment.
+errNcrZero=Character reference expands to zero.
+errNoSpaceBetweenDoctypeSystemKeywordAndQuote=No space between the doctype “SYSTEM” keyword and the quote.
+errNoSpaceBetweenPublicAndSystemIds=No space between the doctype public and system identifiers.
+errNoSpaceBetweenDoctypePublicKeywordAndQuote=No space between the doctype “PUBLIC” keyword and the quote.
+
+# Tree builder errors
+errDeepTree=ทรีเอกสารลึกเกินไป ทรีจะถูกลดขนาดให้เหลือความลึกเพียง 513 องค์ประกอบ
+errStrayStartTag2=Stray start tag “%1$S”.
+errStrayEndTag=Stray end tag “%1$S”.
+errUnclosedElements=End tag “%1$S” seen, but there were open elements.
+errUnclosedElementsImplied=End tag “%1$S” implied, but there were open elements.
+errUnclosedElementsCell=A table cell was implicitly closed, but there were open elements.
+errStrayDoctype=Stray doctype.
+errAlmostStandardsDoctype=Almost standards mode doctype. Expected “<!DOCTYPE html>”.
+errQuirkyDoctype=Quirky doctype. Expected “<!DOCTYPE html>”.
+errNonSpaceInTrailer=Non-space character in page trailer.
+errNonSpaceAfterFrameset=Non-space after “frameset”.
+errNonSpaceInFrameset=Non-space in “frameset”.
+errNonSpaceAfterBody=Non-space character after body.
+errNonSpaceInColgroupInFragment=Non-space in “colgroup” when parsing fragment.
+errNonSpaceInNoscriptInHead=Non-space character inside “noscript” inside “head”.
+errFooBetweenHeadAndBody=“%1$S” element between “head” and “body”.
+errStartTagWithoutDoctype=Start tag seen without seeing a doctype first. Expected “<!DOCTYPE html>”.
+errNoSelectInTableScope=No “select” in table scope.
+errStartSelectWhereEndSelectExpected=“select” start tag where end tag expected.
+errStartTagWithSelectOpen=“%1$S” start tag with “select” open.
+errBadStartTagInHead2=Bad start tag “%1$S” in “head”.
+errBadStartTagInNoscriptInHead=แท็กเริ่มต้น “%1$S” ใน “noscript” ใน “head” ไม่ถูกต้อง
+errImage=Saw a start tag “image”.
+errFooSeenWhenFooOpen=An “%1$S” start tag seen but an element of the same type was already open.
+errFooSeenWhenFooOpen2=เห็นแท็กเริ่มต้น “%1$S” แล้วแต่องค์ประกอบของชนิดเดียวกันถูกเปิดไว้อยู่แล้ว
+errHeadingWhenHeadingOpen=Heading cannot be a child of another heading.
+errFramesetStart=“frameset” start tag seen.
+errNoCellToClose=No cell to close.
+errStartTagInTable=Start tag “%1$S” seen in “table”.
+errFormWhenFormOpen=Saw a “form” start tag, but there was already an active “form” element. Nested forms are not allowed. Ignoring the tag.
+errTableSeenWhileTableOpen=Start tag for “table” seen but the previous “table” is still open.
+errStartTagInTableBody=“%1$S” start tag in table body.
+errEndTagSeenWithoutDoctype=End tag seen without seeing a doctype first. Expected “<!DOCTYPE html>”.
+errEndTagAfterBody=Saw an end tag after “body” had been closed.
+errEndTagSeenWithSelectOpen=“%1$S” end tag with “select” open.
+errGarbageInColgroup=Garbage in “colgroup” fragment.
+errEndTagBr=End tag “br”.
+errNoElementToCloseButEndTagSeen=No “%1$S” element in scope but a “%1$S” end tag seen.
+errHtmlStartTagInForeignContext=HTML start tag “%1$S” in a foreign namespace context.
+errTableClosedWhileCaptionOpen=“table” closed but “caption” was still open.
+errNoTableRowToClose=No table row to close.
+errNonSpaceInTable=Misplaced non-space characters inside a table.
+errUnclosedChildrenInRuby=Unclosed children in “ruby”.
+errStartTagSeenWithoutRuby=Start tag “%1$S” seen without a “ruby” element being open.
+errSelfClosing=Self-closing syntax (“/>”) used on a non-void HTML element. Ignoring the slash and treating as a start tag.
+errNoCheckUnclosedElementsOnStack=Unclosed elements on stack.
+errEndTagDidNotMatchCurrentOpenElement=End tag “%1$S” did not match the name of the current open element (“%2$S”).
+errEndTagViolatesNestingRules=End tag “%1$S” violates nesting rules.
+errEndWithUnclosedElements=พบแท็กปิดท้ายสำหรับ “%1$S” แต่มีองค์ประกอบที่ยังไม่ได้ปิด
diff --git a/l10n-th/dom/chrome/layout/layout_errors.properties b/l10n-th/dom/chrome/layout/layout_errors.properties
new file mode 100644
index 0000000000..99e3cc9216
--- /dev/null
+++ b/l10n-th/dom/chrome/layout/layout_errors.properties
@@ -0,0 +1,54 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+ImageMapRectBoundsError=แอตทริบิวต์ "coords" ของแท็ก <area shape="rect"> ไม่ได้อยู่ในรูปแบบ "left,top,right,bottom".
+ImageMapCircleWrongNumberOfCoords=แอตทริบิวต์ "coords" ของแท็ก <area shape="circle"> ไม่ได้อยู่ในรูปแบบ "center-x,center-y,radius".
+ImageMapCircleNegativeRadius=แอตทริบิวต์ "coords" ของแท็ก <area shape="circle"> มีค่ารัศมีติดลบ.
+ImageMapPolyWrongNumberOfCoords=แอตทริบิวต์ "coords" ของแท็ก <area shape="poly"> ไม่ได้อยู่ในรูปแบบ"x1,y1,x2,y2 …".
+ImageMapPolyOddNumberOfCoords=แอตทริบิวต์ "coords" ของแท็ก <area shape="poly"> ขาดพิกัด "y" ตัวสุดท้ายไป (รูปแบบที่ถูกต้องคือ "x1,y1,x2,y2 …").
+
+TablePartRelPosWarning=ตอนนี้รองรับการวางตำแหน่งเชิงสัมพันธ์ของแถวของตารางและกลุ่มแถวแล้ว ไซต์นี้อาจต้องอัปเดตเนื่องจากอาจขึ้นอยู่กับคุณลักษณะนี้ที่ไม่มีผล
+ScrollLinkedEffectFound2=ไซต์นี้ดูเหมือนจะใช้เอฟเฟ็กต์การวางตำแหน่งที่เชื่อมโยงกับการเลื่อน คุณลักษณะนี้อาจทำงานได้ไม่ดีกับการแพนแบบอะซิงโครนัส ดู https://developer.mozilla.org/docs/Mozilla/Performance/ScrollLinkedEffects สำหรับรายละเอียดเพิ่มเติมและเข้าร่วมการสนทนาเกี่ยวกับเครื่องมือและคุณลักษณะที่เกี่ยวข้อง!
+
+## LOCALIZATION NOTE(CompositorAnimationWarningContentTooLargeArea):
+## %1$S is an integer value of the area of the frame
+## %2$S is an integer value of the area of a limit based on the viewport size
+CompositorAnimationWarningContentTooLargeArea=ไม่สามารถเรียกใช้ภาพเคลื่อนไหวบนคอมโพสิเตอร์ได้เนื่องจากพื้นที่ของเฟรม (%1$S) มีขนาดใหญ่เกินไปเมื่อเทียบกับกรอบการมองเห็น (มีขนาดใหญ่กว่า %2$S)
+## LOCALIZATION NOTE(CompositorAnimationWarningContentTooLarge2):
+## (%1$S, %2$S) is a pair of integer values of the frame size
+## (%3$S, %4$S) is a pair of integer values of a limit based on the viewport size
+## (%5$S, %6$S) is a pair of integer values of an absolute limit
+CompositorAnimationWarningContentTooLarge2=ไม่สามารถเรียกใช้ภาพเคลื่อนไหวบนคอมโพสิเตอร์ได้เนื่องจากขนาดเฟรม (%1$S, %2$S) มีขนาดเชิงสัมพันธ์ใหญ่เกินกว่ากรอบการมองเห็น (มีขนาดใหญ่กว่า (%3$S, %4$S)) หรือมีขนาดใหญ่กว่าค่าที่อนุญาตสูงสุด (%5$S, %6$S)
+## LOCALIZATION NOTE(CompositorAnimationWarningTransformBackfaceVisibilityHidden):
+## 'backface-visibility: hidden' is a CSS property, don't translate it.
+CompositorAnimationWarningTransformBackfaceVisibilityHidden=ไม่สามารถเรียกใช้ภาพเคลื่อนไหวการแปลง ‘backface-visibility: hidden’ บนคอมโพสิเตอร์ได้
+## LOCALIZATION NOTE(CompositorAnimationWarningTransformSVG,
+## CompositorAnimationWarningTransformWithGeometricProperties,
+## CompositorAnimationWarningTransformWithSyncGeometricAnimations,
+## CompositorAnimationWarningTransformFrameInactive,
+## CompositorAnimationWarningOpacityFrameInactive):
+## 'transform' and 'opacity' mean CSS property names, don't translate it.
+CompositorAnimationWarningTransformSVG=ไม่สามารถเรียกใช้ภาพเคลื่อนไหวการแปลง ‘transform’ ที่อยู่บนองค์ประกอบที่มี SVG บนคอมโพสิเตอร์ได้
+CompositorAnimationWarningTransformWithGeometricProperties=ไม่สามารถเรียกใช้ภาพเคลื่อนไหว ‘transform’ บนคอมโพสิเตอร์เมื่อคุณสมบัติเมื่อคุณสมบัติด้านเรขาคณิตเคลื่อนไหวอยู่บนองค์ประกอบเดียวกันในเวลาเดียวกันได้
+CompositorAnimationWarningTransformWithSyncGeometricAnimations=ไม่สามารถเรียกใช้ภาพเคลื่อนไหว ‘transform’ บนคอมโพสิเตอร์ได้เนื่องจากควรซิงโครไนซ์กับภาพเคลื่อนไหวคุณสมบัติด้านเรขาคณิตซึ่งเริ่มที่เวลาเดียวกัน
+CompositorAnimationWarningTransformFrameInactive=ไม่สามารถเรียกใช้ภาพเคลื่อนไหวบนคอมโพสิเตอร์ได้เนื่องจากเฟรมไม่ได้ถูกทำเครื่องหมายว่าใช้งานอยู่สำหรับภาพเคลื่อนไหว ‘transform’
+CompositorAnimationWarningTransformIsBlockedByImportantRules=ไม่สามารถเรียกใช้ภาพเคลื่อนไหว transform บนคอมโพสิเตอร์ได้เนื่องจากคุณสมบัติที่เกี่ยวข้องกับ transform ถูกเขียนทับโดยกฎ !important
+CompositorAnimationWarningOpacityFrameInactive=ไม่สามารถเรียกใช้ภาพเคลื่อนไหวบนคอมโพสิเตอร์ได้เนื่องจากเฟรมไม่ได้ถูกทำเครื่องหมายว่าใช้งานอยู่สำหรับภาพเคลื่อนไหว ‘opacity’
+CompositorAnimationWarningHasRenderingObserver=ไม่สามารถเรียกใช้ภาพเคลื่อนไหวบนคอมโพสิเตอร์ได้เนื่องจากองค์ประกอบมีตัวสังเกตการแสดงผล (-moz-element หรือ SVG clipping/masking)
+CompositorAnimationWarningHasCurrentColor=ไม่สามารถเรียกใช้ภาพเคลื่อนไหวของ ‘background-color’ บนตัวจัดวางองค์ประกอบด้วยคีย์เฟรม ‘current-color’ ได้
+
+## LOCALIZATION NOTE: Do not translate zoom, calc(), "transform", "transform-origin: 0 0"
+ZoomPropertyWarning=หน้านี้ใช้คุณสมบัติ “zoom” ซึ่งไม่ใช่มาตรฐาน พิจารณาใช้ calc() ในค่าคุณสมบัติที่สัมพันธ์กัน หรือใช้ “transform” ควบคู่กับ “transform-origin: 0 0”
+
+## LOCALIZATION NOTE(PrincipalWritingModePropagationWarning):
+## Do not translate <html>, <body>, CSS, "writing-mode", "direction", "text-orientation", :root, and "The Principal Writing Mode" because they are technical terms.
+PrincipalWritingModePropagationWarning=เมื่อแสดงผลองค์ประกอบ <html> ค่าของคุณสมบัติ CSS “writing-mode”, “direction”, และ “text-orientation” ที่ถูกใช้บนองค์ประกอบ <html> จะถูกนำมาจากค่าขององค์ประกอบ <body> ที่คำนวณแล้ว ไม่ใช่จากค่าขององค์ประกอบ <html> เอง พิจารณาตั้งค่าคุณสมบัติเหล่านี้บนคลาสแฝง CSS ใน :root สำหรับข้อมูลเพิ่มเติม ให้ดูที่ “The Principal Writing Mode” ใน https://www.w3.org/TR/css-writing-modes-3/#principal-flow
+
+## LOCALIZATION NOTE(ScrollAnchoringDisabledInContainer):
+## %1$S is an integer value with the total number of adjustments
+## %2$S is a floating point value with the average distance adjusted
+## %3$S is a floating point value with the total adjusted distance
+ScrollAnchoringDisabledInContainer=การกำหนดจุดยึดการเลื่อนถูกปิดใช้งานในคอนเทนเนอร์การเลื่อนเนื่องจากมีการปรับเปลี่ยนอย่างต่อเนื่องมากเกินไป (%1$S) พร้อมระยะทางรวมที่น้อยเกินไป (เฉลี่ย %2$S px, รวม %3$S px)
+
+ForcedLayoutStart=เค้าโครงถูกบังคับก่อนที่หน้าจะโหลดอย่างครบถ้วน หากสไตล์ชีตยังไม่ถูกโหลด สิ่งนี้อาจทำให้เนื้อหาที่ไม่มีการจัดรูปแบบแสดงผลแบบกะพริบได้
diff --git a/l10n-th/dom/chrome/layout/printing.properties b/l10n-th/dom/chrome/layout/printing.properties
new file mode 100644
index 0000000000..0fca1f03b9
--- /dev/null
+++ b/l10n-th/dom/chrome/layout/printing.properties
@@ -0,0 +1,56 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# Page number formatting
+## @page_number The current page number
+#LOCALIZATION NOTE (pagenumber): Do not translate %ld in the following line.
+# Place the word %ld where the page number and number of pages should be
+# The first %ld will receive the the page number
+pagenumber=%1$d
+
+# Page number formatting
+## @page_number The current page number
+## @page_total The total number of pages
+#LOCALIZATION NOTE (pageofpages): Do not translate %ld in the following line.
+# Place the word %ld where the page number and number of pages should be
+# The first %ld will receive the the page number
+# the second %ld will receive the total number of pages
+pageofpages=%1$d จาก %2$d
+
+PrintToFile=พิมพ์เป็นไฟล์
+print_error_dialog_title=ข้อผิดพลาดเครื่องพิมพ์
+printpreview_error_dialog_title=ข้อผิดพลาดตัวอย่างก่อนพิมพ์
+
+# Printing error messages.
+#LOCALIZATION NOTE: Some of these messages come in pairs, one
+# for printing and one for print previewing. You can remove that
+# distinction in your language by removing the entity with the _PP
+# suffix; then the entity without a suffix will be used for both.
+# You can also add that distinction to any of the messages that don't
+# already have it by adding a new entity with a _PP suffix.
+#
+# For instance, if you delete PERR_GFX_PRINTER_DOC_IS_BUSY_PP, then
+# the PERR_GFX_PRINTER_DOC_IS_BUSY message will be used for that error
+# condition when print previewing as well as when printing. If you
+# add PERR_FAILURE_PP, then PERR_FAILURE will only be used when
+# printing, and PERR_FAILURE_PP will be used under the same conditions
+# when print previewing.
+#
+PERR_FAILURE=เกิดข้อผิดพลาดขณะพิมพ์
+
+PERR_ABORT=งานพิมพ์ถูกขัดขวางหรือยกเลิก
+PERR_NOT_AVAILABLE=ฟังก์ชันการพิมพ์บางอย่างไม่พร้อมใช้งานในขณะนี้
+PERR_NOT_IMPLEMENTED=ฟังก์ชันการพิมพ์บางอย่างยังไม่มีการนำมาใช้
+PERR_OUT_OF_MEMORY=มีหน่วยความจำว่างไม่เพียงพอที่จะพิมพ์
+PERR_UNEXPECTED=เกิดปัญหาที่ไม่คาดคิดขณะพิมพ์
+
+PERR_GFX_PRINTER_NO_PRINTER_AVAILABLE=ไม่มีเครื่องพิมพ์
+PERR_GFX_PRINTER_NO_PRINTER_AVAILABLE_PP=ไม่มีเครื่องพิมพ์ ไม่สามารถแสดงตัวอย่างก่อนพิมพ์
+PERR_GFX_PRINTER_NAME_NOT_FOUND=ไม่พบเครื่องพิมพ์ที่เลือก
+PERR_GFX_PRINTER_COULD_NOT_OPEN_FILE=ไม่สามารถเปิดไฟล์ปลายทางสำหรับพิมพ์เป็นไฟล์
+PERR_GFX_PRINTER_STARTDOC=การพิมพ์ล้มเหลวขณะเริ่มงานพิมพ์
+PERR_GFX_PRINTER_ENDDOC=การพิมพ์ล้มเหลวขณะเสร็จสิ้นงานพิมพ์
+PERR_GFX_PRINTER_STARTPAGE=การพิมพ์ล้มเหลวขณะเริ่มหน้าใหม่
+PERR_GFX_PRINTER_DOC_IS_BUSY=ยังไม่สามารถพิมพ์เอกสารนี้ได้ เอกสารกำลังโหลดอยู่
+PERR_GFX_PRINTER_DOC_IS_BUSY_PP=เอกสารยังโหลดไม่เสร็จ ไม่สามารถแสดงตัวอย่างการพิมพ์ได้ในตอนนี้
diff --git a/l10n-th/dom/chrome/layout/xmlparser.properties b/l10n-th/dom/chrome/layout/xmlparser.properties
new file mode 100644
index 0000000000..5ee40d5953
--- /dev/null
+++ b/l10n-th/dom/chrome/layout/xmlparser.properties
@@ -0,0 +1,48 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# Map Expat error codes to error strings
+1 = หน่วยความจำหมด
+2 = ผิดไวยากรณ์
+3 = ไม่พบองค์ประกอบราก
+4 = ไม่ถูกรูปแบบที่ดี
+5 = ไม่ได้ปิดโทเค็น
+6 = ส่วนของอักขระ
+7 = แท็กไม่เข้าคู่กัน
+8 = คุณลักษณะซ้ำซ้อน
+9 = มีขยะอยู่หลังเอลิเมนต์
+10 = อ้างถึงพารามิเตอร์ไม่ถูกต้อง
+11 = ไม่ได้ระบุเอนทิตี
+12 = อ้างถึงเอนทิตีวนซ้ำ
+13 = เอนทิตีไม่ประสานเวลา
+14 = อ้างถึงจำนวนอักขระไม่ถูกต้อง
+15 = อ้างถึงไบนารีเอนทิตี
+16 = อ้างถึงเอนทิตีภายนอก
+17 = ไม่ได้ประกาศข้อความหรือ XML ที่จุดเริ่มต้นเอนทิตี
+18 = ไม่รู้จักรหัสอักขระ
+19 = การประกาศรหัสอักขระในเอกสาร XML ไม่ถูกต้อง
+20 = ไม่ได้ปิดส่วน CDATA
+21 = มีความผิดพลาดในการประมวลผลอ้างอิงเอนทิตีภายนอก
+22 = เอกสารไม่เป็นเอกเทศ
+23 = ยังไม่มีสถานะตัวแจง
+24 = เอนทิตีถูกประกาศในเอนทิตีพารามิเตอร์
+27 = คำนำหน้าไม่ผูกกับเนมสเปซ
+28 = ไม่ต้องประกาศคำนำหน้า
+29 = มาร์กอัพในพารามิเตอร์เอนทิตีไม่สมบูรณ์
+30 = การประกาศรูปแบบเอกสาร XML ไม่เป็นแบบที่ถูกต้อง
+31 = text declaration not well-formed
+32 = illegal character(s) in public id
+38 = reserved prefix (xml) must not be undeclared or bound to another namespace name
+39 = reserved prefix (xmlns) must not be declared or undeclared
+40 = prefix must not be bound to one of the reserved namespace names
+
+# %1$S is replaced by the Expat error string, may be followed by Expected (see below)
+# %2$S is replaced by URL
+# %3$u is replaced by line number
+# %4$u is replaced by column number
+XMLParsingError = การแจกแจงเอกสาร XML ผิดพลาด : %1$S\nที่ตั้ง : %2$S\nบรรทัดที่ %3$u, คอลัมน์ %4$u :
+
+# %S is replaced by a tag name.
+# This gets appended to the error string if the error is mismatched tag.
+Expected = . คาดหวัง : </%S>.
diff --git a/l10n-th/dom/chrome/layout/xul.properties b/l10n-th/dom/chrome/layout/xul.properties
new file mode 100644
index 0000000000..34414b3c3a
--- /dev/null
+++ b/l10n-th/dom/chrome/layout/xul.properties
@@ -0,0 +1,5 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+PINotInProlog=<?%1$S?> การประมวลผลคำสั่งจะไม่เกิดผลภายนอก prolog อีก (ดู bug 360119).
diff --git a/l10n-th/dom/chrome/mathml/mathml.properties b/l10n-th/dom/chrome/mathml/mathml.properties
new file mode 100644
index 0000000000..b87b8d3ba3
--- /dev/null
+++ b/l10n-th/dom/chrome/mathml/mathml.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/.
+
+InvalidChild=มาร์กอัพไม่ถูกต้อง: <%1$S> ไม่ได้รับอนุญาตให้เป็น child ของ <%2$S>
+ChildCountIncorrect=มาร์กอัพไม่ถูกต้อง: จำนวนของ children สำหรับแท็ก <%1$S/> ไม่ถูกต้อง
+DuplicateMprescripts=มาร์กอัพไม่ถูกต้อง: มี <mprescripts/> มากกว่าหนึ่งใน <mmultiscripts/>
+# LOCALIZATION NOTE: The first child of <mmultiscript/> is the base, that is the element to which scripts are attached.
+NoBase=มาร์กอัพไม่ถูกต้อง: คาดหวัง Base element ตัวเดียวที่ถูกต้องใน <mmultiscripts/> ไม่พบอะไรเลย
+SubSupMismatch=มาร์กอัพไม่ถูกต้อง: คู่ของ subscript/superscript ใน <mmultiscripts/> ไม่สมบูรณ์
+
+# LOCALIZATION NOTE: When localizing the single quotes ('), follow the conventions in css.properties for your target locale.
+AttributeParsingError=ข้อผิดพลาดในการแจงค่า '%1$S' สำหรับ '%2$S' แอตทริบิวต์ของ <%3$S/> แอตทริบิวต์ถูกเพิกเฉย
+AttributeParsingErrorNoTag=ข้อผิดพลาดในการแจงค่า '%1$S' สำหรับ '%2$S' แอตทริบิวต์ แอตทริบิวต์ถูกเพิกเฉย
+LengthParsingError=ข้อผิดพลาดในการแจงค่าแอตทริบิวต์ MathML '%1$S' เป็นความยาว แอตทริบิวต์ถูกเพิกเฉย
+UnitlessValuesAreDeprecated=เลิกใช้ค่าที่ไม่มีหน่วยใน MathML 3 แล้ว
diff --git a/l10n-th/dom/chrome/netError.dtd b/l10n-th/dom/chrome/netError.dtd
new file mode 100644
index 0000000000..cb42744f2b
--- /dev/null
+++ b/l10n-th/dom/chrome/netError.dtd
@@ -0,0 +1,96 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!ENTITY loadError.label "ข้อผิดพลาดการโหลดหน้า">
+<!ENTITY retry.label "ลองอีกครั้ง">
+
+<!-- Specific error messages -->
+
+<!ENTITY connectionFailure.title "การเชื่อมต่อล้มเหลว">
+<!ENTITY connectionFailure.longDesc "<p>แม้ว่าไซต์ดูเหมือนจะถูกต้อง แต่เบราว์เซอร์ไม่สามารถสร้างการเชื่อมต่อได้</p><ul><li>ไซต์อาจไม่พร้อมใช้งานชั่วคราว? ลองอีกครั้งในภายหลัง</li><li>คุณไม่สามารถเรียกดูไซต์อื่น ๆ ได้? ตรวจสอบการเชื่อมต่อเครือข่ายของคอมพิวเตอร์</li><li>คอมพิวเตอร์หรือเครือข่ายของคุณถูกปกป้องด้วยไฟร์วอลล์หรือพร็อกซี? การตั้งค่าที่ไม่ถูกต้องสามารถรบกวนการท่องเว็บได้</li></ul>">
+
+<!ENTITY deniedPortAccess.title "พอร์ตถูกจำกัดด้วยเหตุผลด้านความปลอดภัย">
+<!ENTITY deniedPortAccess.longDesc "<p>ที่อยู่ที่ขอได้ระบุพอร์ต (เช่น <q>mozilla.org:80</q> สำหรับพอร์ต 80 บน mozilla.org) ซึ่งโดยปกติจะใช้เพื่อวัตถุประสงค์ <em>อื่น</em> ที่ไม่ใช่การเรียกดูเว็บ เบราว์เซอร์ได้ยกเลิกคำขอดังกล่าวเพื่อปกป้องคุณและเพื่อความปลอดภัย</p>">
+
+<!ENTITY dnsNotFound.title "ไม่พบที่อยู่">
+<!ENTITY dnsNotFound.longDesc "<p>เบราว์เซอร์ไม่สามารถค้นหาเซิร์ฟเวอร์โฮสต์สำหรับที่อยู่ที่ให้มา</p><ul><li>คุณอาจป้อนชื่อโดเมนผิดขณะกำลังพิมพ์? (ตัวอย่าง <q><strong>ww</strong>.mozilla.org</q> แทนที่จะเป็น <q><strong>www</strong>.mozilla.org</q>)</li><li>คุณแน่ใจหรือไม่ว่าที่อยู่โดเมนนี้มีอยู่จริง? การลงทะเบียนโดเมนอาจหมดอายุ</li><li>คุณไม่สามารถเรียกดูไซต์อื่น? ตรวจสอบการเชื่อมต่อเครือข่ายและการตั้งค่าเซิร์ฟเวอร์ DNS ของคุณ</li><li>คอมพิวเตอร์หรือเครือข่ายของคุณมีไฟร์วอลล์หรือพร็อกซีปกป้องอยู่? การตั้งค่าที่ไม่ถูกต้องสามารถรบกวนการท่องเว็บ</li></ul>">
+
+<!ENTITY fileNotFound.title "ไม่พบไฟล์">
+<!ENTITY fileNotFound.longDesc "<ul><li>รายการที่เรียกอาจถูกเปลี่ยนชื่อ, ถูกลบ, หรือย้ายที่ไปแล้ว</li><li>ที่อยู่ไฟล์สะกดผิด, เขียนตัวใหญ่-เล็กไม่ตรง, หรือพิมพ์ตกหล่นไปหรือเปล่า?</li><li>คุณได้รับอนุญาตมากพอให้เข้าถึงรายการที่ขอหรือเปล่า?</li></ul>">
+
+<!ENTITY fileAccessDenied.title "การเข้าถึงไฟล์ถูกปฏิเสธ">
+<!ENTITY fileAccessDenied.longDesc "<ul><li>ไฟล์อาจถูกเอาออก ย้าย หรือการอนุญาตของไฟล์อาจป้องกันการเข้าถึง</li></ul>">
+
+<!ENTITY generic.title "ไม่สามารถทำคำขอให้เสร็จสมบูรณ์">
+<!ENTITY generic.longDesc "<p>ไม่มีข้อมูลเพิ่มเติมเกี่ยวกับปัญหาหรือข้อผิดพลาดนี้ในปัจจุบัน</p>">
+
+<!ENTITY malformedURI.title "ที่อยู่ไม่ถูกต้อง">
+<!ENTITY malformedURI.longDesc "<p>ที่อยู่ที่ให้มาไม่อยู่ในรูปแบบที่รู้จัก โปรดตรวจสอบที่อยู่ในแถบที่ตั้งเพื่อหาข้อผิดพลาดและลองใหม่อีกครั้ง</p>">
+
+<!ENTITY netInterrupt.title "การถ่ายโอนข้อมูลถูกขัดจังหวะ">
+<!ENTITY netInterrupt.longDesc "<p>เบราว์เซอร์เชื่อมต่อสำเร็จ แต่การเชื่อมต่อถูกขัดจังหวะขณะกำลังถ่ายโอนข้อมูล โปรดลองอีกครั้ง</p><ul><li>คุณไม่สามารถเรียกดูไซต์อื่น ๆ ได้? ตรวจสอบการเชื่อมต่อเครือข่ายของคอมพิวเตอร์</li><li>ยังคงมีปัญหา? ติดต่อผู้ดูแลเครือข่ายหรือผู้ให้บริการอินเทอร์เน็ตของคุณเพื่อขอรับความช่วยเหลือ</li></ul>">
+
+<!ENTITY notCached.title "เอกสารหมดอายุ">
+<!ENTITY notCached.longDesc "<p>เอกสารที่ขอไม่มีในแคชของเบราว์เซอร์</p><ul><li>ตามมาตรการรักษาความปลอดภัย เบราว์เซอร์จะไม่ขอเอกสารที่ละเอียดอ่อนให้ใหม่โดยอัตโนมัติ</li><li>คลิก ลองอีกครั้ง เพื่อขอเอกสารจากเว็บไซต์ใหม่</li></ul>">
+
+<!ENTITY netOffline.title "โหมดออฟไลน์">
+<!ENTITY netOffline.longDesc2 "<p>เบราว์เซอร์กำลังทำงานในโหมดออฟไลน์และไม่สามารถเชื่อมต่อไปยังรายการที่ขอ</p><ul><li>คอมพิวเตอร์เชื่อมต่อกับเครือข่ายที่ใช้งานได้หรือไม่?</li><li>กด &quot;ลองอีกครั้ง&quot; เพื่อสลับไปยังโหมดออนไลน์และโหลดหน้าใหม่</li></ul>">
+
+<!ENTITY contentEncodingError.title "ข้อผิดพลาดการเข้ารหัสเนื้อหา">
+<!ENTITY contentEncodingError.longDesc "<p>ไม่สามารถแสดงหน้าที่คุณกำลังพยายามจะดูเนื่องจากหน้าใช้รูปแบบการบีบอัดที่ไม่ถูกต้องหรือไม่รองรับ</p><ul><li>โปรดติดต่อเจ้าของเว็บไซต์เพื่อแจ้งพวกเขาให้ทราบถึงปัญหานี้</li></ul>">
+
+<!ENTITY unsafeContentType.title "ชนิดไฟล์ที่ไม่ปลอดภัย">
+<!ENTITY unsafeContentType.longDesc "<ul> <li>โปรดติดต่อเจ้าของเว็บไซต์เพื่อแจ้งพวกเขาให้ทราบถึงปัญหานี้</li> </ul>">
+
+<!ENTITY netReset.title "การเชื่อมต่อถูกขัดจังหวะ">
+<!ENTITY netReset.longDesc "<p>การเชื่อมต่อเครือข่ายถูกขัดจังหวะขณะกำลังเจรจาขอเชื่อมต่อ โปรดลองอีกครั้ง</p>">
+
+<!ENTITY netTimeout.title "เครือข่ายหมดเวลา">
+<!ENTITY netTimeout.longDesc "<p>ไซต์ที่ขอไม่ตอบสนองต่อคำขอการเชื่อมต่อและเบราว์เซอร์ได้หยุดการรอสำหรับการตอบกลับ</p><ul><li>เซิร์ฟเวอร์อาจประสบกับความต้องการที่สูงหรือดับไปชั่วคราว? ลองอีกครั้งในภายหลัง</li><li>คุณไม่สามารถเรียกดูไซต์อื่น ๆ ได้? ตรวจสอบการเชื่อมต่อเครือข่ายของคอมพิวเตอร์</li><li>คอมพิวเตอร์หรือเครือข่ายของคุณถูกปกป้องด้วยไฟร์วอลล์หรือพร็อกซี? การตั้งค่าที่ไม่ถูกต้องสามารถรบกวนการท่องเว็บได้</li><li>ยังคงมีปัญหา? ติดต่อผู้ดูแลเครือข่ายหรือผู้ให้บริการอินเทอร์เน็ตของคุณเพื่อขอรับความช่วยเหลือ</li></ul>">
+
+<!ENTITY unknownProtocolFound.title "โปรโตคอลที่ไม่รู้จัก">
+<!ENTITY unknownProtocolFound.longDesc "<p>ที่อยู่ระบุโปรโตคอล (เช่น <q>wxyz://</q>) ที่เบราว์เซอร์ไม่รู้จัก เบราว์เซอร์จึงไม่สามารถเชื่อมต่อไปยังไซต์ได้อย่างเหมาะสม</p><ul><li>คุณกำลังพยายามเข้าถึงมัลติมีเดียหรือบริการอื่น ๆ ที่ไม่ใช่ข้อความ? ตรวจสอบไซต์สำหรับข้อกำหนดพิเศษ</li><li>บางโปรโตคอลอาจต้องการซอฟต์แวร์หรือปลั๊กอินจากบุคคลที่สามก่อนที่เบราว์เซอร์จะสามารถรู้จักโปรโตคอล</li></ul>">
+
+<!ENTITY proxyConnectFailure.title "เซิร์ฟเวอร์พร็อกซีปฏิเสธการเชื่อมต่อ">
+<!ENTITY proxyConnectFailure.longDesc "<p>เบราว์เซอร์ถูกกำหนดค่าให้ใช้เซิร์ฟเวอร์พร็อกซี</p><ul><li>การกำหนดค่าพร็อกซีของเบราว์เซอร์ถูกต้องหรือไม่? ตรวจสอบการตั้งค่าและลองอีกครั้ง</li><li>บริการพร็อกซีอนุญาตการเชื่อมต่อจากเครือข่ายนี้หรือไม่?</li><li>ยังคงมีปัญหา? ติดต่อผู้ดูแลเครือข่ายหรือผู้ให้บริการอินเทอร์เน็ตของคุณเพื่อขอรับความช่วยเหลือ</li></ul>">
+
+<!ENTITY proxyResolveFailure.title "ไม่พบเซิร์ฟเวอร์พร็อกซี">
+<!ENTITY proxyResolveFailure.longDesc "<p>เบราว์เซอร์ถูกกำหนดค่าให้ใช้เซิร์ฟเวอร์พร็อกซี แต่พร็อกซีไม่สามารถหาพบ</p><ul><li>การกำหนดค่าพร็อกซีของเบราว์เซอร์ถูกต้องหรือไม่? ตรวจสอบการตั้งค่าและลองอีกครั้ง</li><li>คอมพิวเตอร์เชื่อมต่อกับเครือข่ายที่ใช้งานได้หรือไม่?</li><li>ยังคงมีปัญหา? ติดต่อผู้ดูแลเครือข่ายหรือผู้ให้บริการอินเทอร์เน็ตของคุณเพื่อขอรับความช่วยเหลือ</li></ul>">
+
+<!ENTITY redirectLoop.title "การเปลี่ยนเส้นทางวนรอบ">
+<!ENTITY redirectLoop.longDesc "<p>เบราว์เซอร์ได้หยุดความพยายามในการเรียกรายการที่ขอ ไซต์กำลังเปลี่ยนเส้นทางคำขอในทางที่ไม่มีวันเสร็จสมบูรณ์</p><ul><li>คุณได้ปิดใช้งานหรือปิดกั้นคุกกี้ที่ต้องการโดยไซต์นี้หรือไม่?</li><li><em>หมายเหตุ</em>: หากการยอมรับคุกกี้ของไซต์ไม่แก้ปัญหา มันอาจเป็นปัญหาจากการกำหนดค่าเซิร์ฟเวอร์ ไม่ใช่คอมพิวเตอร์ของคุณ</li></ul>">
+
+<!ENTITY unknownSocketType.title "การตอบสนองไม่ถูกต้อง">
+<!ENTITY unknownSocketType.longDesc "<p>ไซต์ตอบสนองต่อคำขอเครือข่ายด้วยวิธีที่ไม่คาดคิดและเบราว์เซอร์ไม่สามารถดำเนินการต่อได้</p>">
+
+<!ENTITY nssFailure2.title "การเชื่อมต่อปลอดภัยล้มเหลว">
+<!ENTITY nssFailure2.longDesc2 "<p>ไม่สามารถแสดงหน้าที่คุณกำลังพยายามจะดูเนื่องจากไม่สามารถยืนยันความถูกต้องของข้อมูลที่ได้รับ</p><ul><li>โปรดติดต่อเจ้าของเว็บไซต์เพื่อแจ้งพวกเขาให้ทราบถึงปัญหานี้</li></ul>">
+
+<!ENTITY nssBadCert.title "การเชื่อมต่อปลอดภัยล้มเหลว">
+<!ENTITY nssBadCert.longDesc2 "<ul> <li>สิ่งนี้อาจเป็นปัญหาจากการกำหนดค่าของเซิร์ฟเวอร์ หรืออาจมีใครบางคนกำลังพยายามปลอมแปลงเซิร์ฟเวอร์</li> <li>หากคุณเคยเชื่อมต่อกับเซิร์ฟเวอร์นี้สำเร็จในอดีต ข้อผิดพลาดอาจเกิดขึ้นเพียงชั่วคราว และคุณสามารถลองอีกครั้งในภายหลัง</li> </ul>">
+
+<!ENTITY securityOverride.linkText "หรือคุณสามารถเพิ่มข้อยกเว้น…">
+<!ENTITY securityOverride.warningContent "<p>คุณไม่ควรเพิ่มข้อยกเว้นหากคุณกำลังใช้งานการเชื่อมต่ออินเทอร์เน็ตที่คุณไม่เชื่อถือโดยสมบูรณ์ หรือหากคุณไม่เคยเห็นคำเตือนสำหรับเซิร์ฟเวอร์นี้</p> <p>หากคุณยังคงต้องการเพิ่มข้อยกเว้นสำหรับไซต์นี้ คุณสามารถทำได้ในการตั้งค่าการเข้ารหัสขั้นสูงของคุณ</p>">
+
+<!ENTITY cspBlocked.title "ปิดกั้นแล้วโดยนโยบายความปลอดภัยของเนื้อหา">
+<!ENTITY cspBlocked.longDesc "<p>เบราว์เซอร์ได้ป้องกันไม่ให้หน้านี้โหลดด้วยวิธีนี้เนื่องจากหน้ามีนโยบายความปลอดภัยของเนื้อหาที่ไม่อนุญาต</p>">
+
+<!ENTITY xfoBlocked.title "ถูกปิดกั้นโดยนโยบาย X-Frame-Options">
+<!ENTITY xfoBlocked.longDesc "<p>เบราว์เซอร์ได้ป้องกันหน้านี้จากการโหลดในบริบทนี้เนื่องจากหน้ามีนโยบาย X-Frame-Options ที่ไม่อนุญาต</p>">
+
+<!ENTITY corruptedContentErrorv2.title "ข้อผิดพลาดเนื้อหาเสียหาย">
+<!ENTITY corruptedContentErrorv2.longDesc "<p>ไม่สามารถแสดงหน้าที่คุณกำลังพยายามจะดูเนื่องจากตรวจพบข้อผิดพลาดในการส่งผ่านข้อมูล</p><ul><li>โปรดติดต่อเจ้าของเว็บไซต์เพื่อแจ้งพวกเขาให้ทราบถึงปัญหานี้</li></ul>">
+
+<!ENTITY remoteXUL.title "XUL ระยะไกล">
+<!ENTITY remoteXUL.longDesc "<p><ul><li>โปรดติดต่อเจ้าของเว็บไซต์เพื่อแจ้งพวกเขาให้ทราบถึงปัญหานี้</li></ul></p>">
+
+<!ENTITY inadequateSecurityError.title "การเชื่อมต่อของคุณไม่ปลอดภัย">
+<!-- LOCALIZATION NOTE (inadequateSecurityError.longDesc) - Do not translate
+ "NS_ERROR_NET_INADEQUATE_SECURITY". -->
+<!ENTITY inadequateSecurityError.longDesc "<p><span class='hostname'></span> ใช้เทคโนโลยีความปลอดภัยที่ล้าสมัยและเสี่ยงต่อการถูกโจมตี ผู้โจมตีสามารถเปิดเผยข้อมูลที่คุณคิดว่าปลอดภัยได้อย่างง่ายดาย ผู้ดูแลเว็บไซต์จำเป็นต้องแก้ไขเซิร์ฟเวอร์ก่อนที่คุณจะสามารถเยี่ยมชมไซต์ได้</p><p>รหัสข้อผิดพลาด: NS_ERROR_NET_INADEQUATE_SECURITY</p>">
+
+<!ENTITY blockedByPolicy.title "หน้าที่ถูกปิดกั้น">
+
+<!ENTITY networkProtocolError.title "ข้อผิดพลาดโปรโตคอลเครือข่าย">
+<!ENTITY networkProtocolError.longDesc "<p>ไม่สามารถแสดงหน้าที่คุณกำลังพยายามจะดูเนื่องจากตรวจพบข้อผิดพลาดในโปรโตคอลเครือข่าย</p><ul><li>โปรดติดต่อเจ้าของเว็บไซต์เพื่อแจ้งพวกเขาให้ทราบถึงปัญหานี้</li></ul>">
diff --git a/l10n-th/dom/chrome/netErrorApp.dtd b/l10n-th/dom/chrome/netErrorApp.dtd
new file mode 100644
index 0000000000..d245555380
--- /dev/null
+++ b/l10n-th/dom/chrome/netErrorApp.dtd
@@ -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/. -->
+
+<!-- This file exists to allow applications to override one or more messages
+ from netError.dtd; Applications which want to do this should override
+ this file with their own version of netErrorApp.dtd -->
+
+<!-- An example (from Firefox):
+
+<!ENTITY securityOverride.linkText "Or you can add an exception…">
+<!ENTITY securityOverride.getMeOutOfHereButton "Get me out of here!">
+<!ENTITY securityOverride.exceptionButtonLabel "Add Exception…">
+
+<!ENTITY securityOverride.warningContent "
+<p>You should not add an exception if you are using an internet connection that you do not trust completely or if you are not used to seeing a warning for this server.</p>
+<p>If you still wish to add an exception for this site, you can do so in your advanced encryption settings.</p>
+
+<button id='getMeOutOfHereButton'>&securityOverride.getMeOutOfHereButton;</button>
+<button id='exceptionDialogButton'>&securityOverride.exceptionButtonLabel;</button>
+">
+
+-->
diff --git a/l10n-th/dom/chrome/nsWebBrowserPersist.properties b/l10n-th/dom/chrome/nsWebBrowserPersist.properties
new file mode 100644
index 0000000000..ada03ceae6
--- /dev/null
+++ b/l10n-th/dom/chrome/nsWebBrowserPersist.properties
@@ -0,0 +1,17 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+readError=ไม่สามารถบันทึก %S ได้เนื่องจากไม่สามารถอ่านไฟล์ต้นฉบับ\n\nลองอีกครั้งในภายหลัง หรือติดต่อผู้ดูแลเซิร์ฟเวอร์
+writeError=ไม่สามารถบันทึก %S เนื่องจากเกิดความผิดพลาดที่ระบุไม่ได้\n\nลองบันทึกอีกครั้งลงในตำแหน่งอื่น
+launchError=ไม่สามารถเปิด %S เนื่องจากเกิดข้อผิดพลาดที่ไม่รู้จัก\n\nลองบันทึกไปยังดิสก์ก่อนแล้วเปิดไฟล์
+diskFull=มีพื้นที่ว่างในดิสก์ไม่พอสำหรับการบันทึก %S\n\nลบไฟล์ที่ไม่จำเป็นออกจากดิสก์แล้วลองใหม่อีกครั้ง หรือลองบันทึกลงในตำแหน่งที่ตั้งอื่น
+readOnly=ไม่สามารถบันทึก %S ได้ เนื่องจากดิสก์, โฟลเดอร์, หรือไฟล์ถูกป้องกันการเขียนทับ\n\nปิดการป้องกันการเขียนทับแล้วลองอีกครั้ง หรือลองบันทึกลงในตำแหน่งที่ตั้งอื่น
+accessError=ไม่สามารถบันทึก %S ได้ เนื่องจากคุณไม่สามารถเปลี่ยนแปลงเนื้อหาของโฟลเดอร์\n\nเปลี่ยนการตั้งค่าของโฟลเดอร์แล้วลองอีกครั้ง หรือลองบันทึกลงในตำแหน่งอื่น
+SDAccessErrorCardReadOnly=ไม่สามารถดาวน์โหลดไฟล์เนื่องจากการ์ด SD ถูกใช้งานอยู่
+SDAccessErrorCardMissing=ไม่สามารถดาวน์โหลดไฟล์เนื่องจากการ์ด SD หายไป
+helperAppNotFound=ไม่สามารถเปิด %S เนื่องจากไม่พบแอปพลิเคชันช่วยเหลือที่สัมพันธ์กัน เปลี่ยนความสัมพันธ์ในการตั้งค่าของคุณ
+noMemory=มีหน่วยความจำไม่พอจะทำงานที่คุณสั่ง\n\nปิดโปรแกรมบางตัวแล้วลองใหม่อีกครั้ง
+title=กำลังดาวน์โหลด %S
+fileAlreadyExistsError=ไม่สามารถบันทึก %S ได้ เนื่องจากมีไฟล์ชื่อเดียวกับโฟลเดอร์ที่ชื่อลงท้ายด้วย ‘_files’ อยู่แล้ว\n\nลองบันทึกลงในตำแหน่งที่ตั้งอื่น
+fileNameTooLongError=ไม่สามารถบันทึก %S ได้ เนื่องจากชื่อไฟล์ยาวเกินไป\n\nลองบันทึกด้วยชื่อที่สั้นกว่านั้น
diff --git a/l10n-th/dom/chrome/plugins.properties b/l10n-th/dom/chrome/plugins.properties
new file mode 100644
index 0000000000..e700f739a1
--- /dev/null
+++ b/l10n-th/dom/chrome/plugins.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/.
+
+# GMP Plugins
+gmp_license_info=ข้อมูลสัญญาอนุญาต
+gmp_privacy_info=ข้อมูลความเป็นส่วนตัว
+
+openH264_name=ตัวแปลงสัญญาณวิดีโอ OpenH264 ให้บริการโดย Cisco Systems, Inc.
+openH264_description2=ปลั๊กอินนี้ติดตั้งโดยอัตโนมัติโดย Mozilla เพื่อให้สอดคล้องกับข้อกำหนด WebRTC และเปิดใช้งานการเรียก WebRTC ด้วยอุปกรณ์ที่ต้องใช้ตัวแปลงสัญญาณวิดีโอ H.264 เยี่ยมชม https://www.openh264.org/ เพื่อดูรหัสต้นฉบับของตัวแปลงสัญญาณและเรียนรู้เพิ่มเติมเกี่ยวกับการใช้งาน
+
+cdm_description2=ปลั๊กอินนี้ช่วยให้สามารถเล่นสื่อที่เข้ารหัสตามข้อกำหนดของ Encrypted Media Extensions ได้ โดยทั่วไปแล้วสื่อที่เข้ารหัสจะถูกใช้โดยไซต์เพื่อป้องกันการคัดลอกเนื้อหาสื่อพรีเมียม เยี่ยมชม https://www.w3.org/TR/encrypted-media/ สำหรับข้อมูลเพิ่มเติมเกี่ยวกับ Encrypted Media Extensions
+
+widevine_description=โมดูลถอดรหัสเนื้อหา Widevine ให้บริการโดย Google Inc.
diff --git a/l10n-th/dom/chrome/security/caps.properties b/l10n-th/dom/chrome/security/caps.properties
new file mode 100644
index 0000000000..5ee6738fa4
--- /dev/null
+++ b/l10n-th/dom/chrome/security/caps.properties
@@ -0,0 +1,9 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+CheckLoadURIError = ข้อผิดพลาดความปลอดภัย: เนื้อหาที่ %S อาจไม่โหลดหรือลิงก์ไปยัง %S
+CheckSameOriginError = ข้อผิดพลาดความปลอดภัย: เนื้อหาที่ %S อาจไม่โหลดข้อมูลจาก %S
+ExternalDataError = ข้อผิดพลาดความปลอดภัย: เนื้อหาที่ %S พยายามโหลด %S แต่อาจไม่โหลดข้อมูลภายนอกเมื่อถูกใช้เป็นภาพ
+
+CreateWrapperDenied = ไม่มีสิทธิเข้าถึงการสร้างตัวหุ้มสำหรับวัตถุของคลาส %S
+CreateWrapperDeniedForOrigin = Permission denied for <%2$S> to create wrapper for object of class %1$S
diff --git a/l10n-th/dom/chrome/security/csp.properties b/l10n-th/dom/chrome/security/csp.properties
new file mode 100644
index 0000000000..ad21106125
--- /dev/null
+++ b/l10n-th/dom/chrome/security/csp.properties
@@ -0,0 +1,107 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# CSP Warnings:
+# LOCALIZATION NOTE (CSPViolation):
+# %1$S is the reason why the resource has not been loaded.
+CSPViolation = การตั้งค่าของหน้าได้ปิดกั้นการโหลดทรัพยากร: %1$S
+# LOCALIZATION NOTE (CSPViolationWithURI):
+# %1$S is the directive that has been violated.
+# %2$S is the URI of the resource which violated the directive.
+CSPViolationWithURI = การตั้งค่าของหน้าได้ปิดกั้นการโหลดทรัพยากรที่ %2$S (“%1$S”)
+# LOCALIZATION NOTE (CSPROViolation):
+# %1$S is the reason why the resource has not been loaded.
+CSPROViolation = เกิดการละเมิดสำหรับนโยบาย CSP แบบ report-only (“%1$S”) อนุญาตให้ใช้ลักษณะการทำงานนี้ และส่งรายงาน CSP แล้ว
+# LOCALIZATION NOTE (CSPROViolationWithURI):
+# %1$S is the directive that has been violated.
+# %2$S is the URI of the resource which violated the directive.
+CSPROViolationWithURI = การตั้งค่าของหน้าได้สังเกตการโหลดทรัพยากรที่ %2$S (“%1$S”) รายงาน CSP กำลังจะถูกส่ง
+# LOCALIZATION NOTE (triedToSendReport):
+# %1$S is the URI we attempted to send a report to.
+triedToSendReport = พยายามส่งรายงานไปยัง URI ที่ใช้ไม่ได้ : "%1$S"
+# LOCALIZATION NOTE (couldNotParseReportURI):
+# %1$S is the report URI that could not be parsed
+couldNotParseReportURI = URI สำหรับรายงานผิดรูปแบบไวยากรณ์: %1$S
+# LOCALIZATION NOTE (couldNotProcessUnknownDirective):
+# %1$S is the unknown directive
+couldNotProcessUnknownDirective = ไม่สามารถทำตามคำสั่งที่ไม่รู้จัก '%1$S'
+# LOCALIZATION NOTE (ignoringUnknownOption):
+# %1$S is the option that could not be understood
+ignoringUnknownOption = เพิกเฉยตัวเลือกที่ไม่รู้จัก %1$S
+# LOCALIZATION NOTE (ignoringDuplicateSrc):
+# %1$S defines the duplicate src
+ignoringDuplicateSrc = เพิกเฉยต้นฉบับที่ซ้ำกัน %1$S
+# LOCALIZATION NOTE (ignoringSrcFromMetaCSP):
+# %1$S defines the ignored src
+ignoringSrcFromMetaCSP = เพิกเฉยต้นฉบับ ‘%1$S’ (ไม่รองรับเมื่อส่งผ่านองค์ประกอบ meta)
+# LOCALIZATION NOTE (ignoringSrcWithinScriptStyleSrc):
+# %1$S is the ignored src
+# script-src and style-src are directive names and should not be localized
+ignoringSrcWithinScriptStyleSrc = เพิกเฉย “%1$S” ที่อยู่ภายใน script-src หรือ style-src: มีการระบุ nonce-source หรือ hash-source
+# LOCALIZATION NOTE (ignoringSrcForStrictDynamic):
+# %1$S is the ignored src
+# script-src, as well as 'strict-dynamic' should not be localized
+ignoringSrcForStrictDynamic = เพิกเฉย “%1$S” ที่อยู่ภายใน script-src หรือ style-src: มีการระบุ ‘strict-dynamic’
+# LOCALIZATION NOTE (ignoringStrictDynamic):
+# %1$S is the ignored src
+ignoringStrictDynamic = เพิกเฉยต้นฉบับ “%1$S” (รองรับภายใน script-src เท่านั้น)
+# LOCALIZATION NOTE (strictDynamicButNoHashOrNonce):
+# %1$S is the csp directive that contains 'strict-dynamic'
+# 'strict-dynamic' should not be localized
+strictDynamicButNoHashOrNonce = คำสำคัญ ‘strict-dynamic’ ที่อยู่ภายใน “%1$S” ที่ไม่มี nonce หรือแฮชที่ถูกต้องอาจปิดกั้นสคริปต์ทั้งหมดไม่ให้โหลดได้
+# LOCALIZATION NOTE (reportURInotHttpsOrHttp2):
+# %1$S is the ETLD of the report URI that is not HTTP or HTTPS
+reportURInotHttpsOrHttp2 = URI รายงาน (%1$S) ควรเป็น URI แบบ HTTP หรือ HTTPS
+# LOCALIZATION NOTE (reportURInotInReportOnlyHeader):
+# %1$S is the ETLD of the page with the policy
+reportURInotInReportOnlyHeader = ไซต์ (%1$S) มีนโยบาย Report-Only ที่ไม่มี URI รายงาน CSP จะไม่ปิดกั้นและไม่สามารถรายงานการละเมิดนโยบายนี้ได้
+# LOCALIZATION NOTE (failedToParseUnrecognizedSource):
+# %1$S is the CSP Source that could not be parsed
+failedToParseUnrecognizedSource = ไม่สามารถวิเคราะห์รูปแบบต้นฉบับที่ไม่รู้จัก %1$S
+# LOCALIZATION NOTE (upgradeInsecureRequest):
+# %1$S is the URL of the upgraded request; %2$S is the upgraded scheme.
+upgradeInsecureRequest = อัปเกรดคำขอที่ไม่ปลอดภัย ‘%1$S’ เพื่อใช้ ‘%2$S’
+# LOCALIZATION NOTE (ignoreSrcForDirective):
+ignoreSrcForDirective = เพิกเฉย srcs สำหรับคำสั่ง ‘%1$S’
+# LOCALIZATION NOTE (hostNameMightBeKeyword):
+# %1$S is the hostname in question and %2$S is the keyword
+hostNameMightBeKeyword = แปลง %1$S เป็นชื่อโฮสต์ ไม่ใช่คำสำคัญ หากคุณต้องการให้หากคุณต้องการให้สิ่งนี้เป็นคำสำคัญ ใช้ ‘%2$S’ (อยู่ในอัญประกาศเดี่ยว)
+# LOCALIZATION NOTE (notSupportingDirective):
+# directive is not supported (e.g. 'reflected-xss')
+notSupportingDirective = ไม่รองรับคำสั่ง ‘%1$S’ คำสั่งและค่าต่าง ๆ จะถูกเพิกเฉย
+# LOCALIZATION NOTE (blockAllMixedContent):
+# %1$S is the URL of the blocked resource load.
+blockAllMixedContent = ปิดกั้นคำขอที่ไม่ปลอดภัย ‘%1$S’
+# LOCALIZATION NOTE (ignoringDirectiveWithNoValues):
+# %1$S is the name of a CSP directive that requires additional values
+ignoringDirectiveWithNoValues = เพิกเฉย ‘%1$S’ เนื่องจากไม่มีพารามิเตอร์ใด
+# LOCALIZATION NOTE (ignoringReportOnlyDirective):
+# %1$S is the directive that is ignored in report-only mode.
+ignoringReportOnlyDirective = เพิกเฉยคำสั่ง sandbox เมื่อถูกส่งในนโยบาย report-only ‘%1$S’
+# LOCALIZATION NOTE (IgnoringSrcBecauseOfDirective):
+# %1$S is the name of the src that is ignored.
+# %2$S is the name of the directive that causes the src to be ignored.
+IgnoringSrcBecauseOfDirective=เพิกเฉย ‘%1$S’ เนื่องจากคำสั่ง ‘%2$S’
+
+# LOCALIZATION NOTE (IgnoringSourceWithinDirective):
+# %1$S is the ignored src
+# %2$S is the directive which supports src
+IgnoringSourceWithinDirective = เพิกเฉยต้นฉบับ “%1$S” (ไม่รองรับภายใน ‘%2$S’)
+
+# CSP Errors:
+# LOCALIZATION NOTE (couldntParseInvalidSource):
+# %1$S is the source that could not be parsed
+couldntParseInvalidSource = ไม่สามารถวิเคราะห์รูปแบบต้นฉบับที่ไม่ถูกต้อง %1$S
+# LOCALIZATION NOTE (couldntParseInvalidHost):
+# %1$S is the host that's invalid
+couldntParseInvalidHost = ไม่สามารถแยกส่วนโฮสต์ที่ใช้ไม่ได้ %1$S
+# LOCALIZATION NOTE (couldntParsePort):
+# %1$S is the string source
+couldntParsePort = ไม่สามารถแยกวิเคราะห์พอร์ตใน %1$S
+# LOCALIZATION NOTE (duplicateDirective):
+# %1$S is the name of the duplicate directive
+duplicateDirective = คำสั่ง %1$S ได้ถูกตรวจพบว่าซ้ำ ทั้งหมดแต่กรณีตัวอย่างแรกจะถูกยกเว้น
+# LOCALIZATION NOTE (couldntParseInvalidSandboxFlag):
+# %1$S is the option that could not be understood
+couldntParseInvalidSandboxFlag = ไม่สามารถวิเคราะห์รูปแบบค่าสถานะ sandbox ‘%1$S’
diff --git a/l10n-th/dom/chrome/security/security.properties b/l10n-th/dom/chrome/security/security.properties
new file mode 100644
index 0000000000..6ca05b2079
--- /dev/null
+++ b/l10n-th/dom/chrome/security/security.properties
@@ -0,0 +1,154 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# Mixed Content Blocker
+# LOCALIZATION NOTE: "%1$S" is the URI of the blocked mixed content resource
+BlockMixedDisplayContent = ปิดกั้นการโหลดเนื้อหาแบบผสม "%1$S"
+BlockMixedActiveContent = ปิดกั้นการโหลดเนื้อหาแบบผสมที่ใช้งานอยู่ "%1$S"
+
+# CORS
+# LOCALIZATION NOTE: Do not translate "Access-Control-Allow-Origin", Access-Control-Allow-Credentials, Access-Control-Allow-Methods, Access-Control-Allow-Headers
+CORSDisabled=คำข้อข้ามที่มาถูกปิดกั้น: นโยบายที่มาเดียวกันไม่อนุญาตให้อ่านทรัพยากรระยะไกลที่ %1$S (เหตุผล: CORS ถูกปิดใช้งาน)
+CORSDidNotSucceed=คำข้อข้ามที่มาถูกปิดกั้น: นโยบายที่มาเดียวกันไม่อนุญาตให้อ่านทรัพยากรระยะไกลที่ %1$S (เหตุผล: คำขอ CORS ไม่สำเร็จ)
+CORSOriginHeaderNotAdded=คำข้อข้ามที่มาถูกปิดกั้น: นโยบายที่มาเดียวกันไม่อนุญาตให้อ่านทรัพยากรระยะไกลที่ %1$S (เหตุผล: ไม่สามารถเพิ่มส่วนหัว CORS ‘Origin’ ได้)
+CORSExternalRedirectNotAllowed=คำข้อข้ามที่มาถูกปิดกั้น: นโยบายที่มาเดียวกันไม่อนุญาตให้อ่านทรัพยากรระยะไกลที่ %1$S (เหตุผล: ไม่อนุญาตให้เปลี่ยนเส้นทางภายนอกของคำขอ CORS)
+CORSRequestNotHttp=คำข้อข้ามที่มาถูกปิดกั้น: นโยบายที่มาเดียวกันไม่อนุญาตให้อ่านทรัพยากรระยะไกลที่ %1$S (เหตุผล: คำขอ CORS ไม่ใช่ http)
+CORSMissingAllowOrigin=คำข้อข้ามที่มาถูกปิดกั้น: นโยบายที่มาเดียวกันไม่อนุญาตให้อ่านทรัพยากรระยะไกลที่ %1$S (เหตุผล: ส่วนหัว CORS ‘Access-Control-Allow-Origin’ ขาดหายไป)
+CORSMultipleAllowOriginNotAllowed=คำข้อข้ามที่มาถูกปิดกั้น: นโยบายที่มาเดียวกันไม่อนุญาตให้อ่านทรัพยากรระยะไกลที่ %1$S (เหตุผล: ไม่อนุญาตให้มีส่วนหัว CORS ‘Access-Control-Allow-Origin’ หลายส่วน)
+CORSAllowOriginNotMatchingOrigin=คำข้อข้ามที่มาถูกปิดกั้น: นโยบายที่มาเดียวกันไม่อนุญาตให้อ่านทรัพยากรระยะไกลที่ %1$S (เหตุผล: ส่วนหัว CORS ‘Access-Control-Allow-Origin’ ไม่ตรงกับ ‘%2$S’)
+CORSNotSupportingCredentials=คำข้อข้ามที่มาถูกปิดกั้น: นโยบายที่มาเดียวกันไม่อนุญาตให้อ่านทรัพยากรระยะไกลที่ %1$S (เหตุผล: ไม่รองรับข้อมูลประจำตัวหากส่วนหัว CORS ‘Access-Control-Allow-Origin’ เป็น ‘*’)
+CORSMethodNotFound=คำข้อข้ามที่มาถูกปิดกั้น: นโยบายที่มาเดียวกันไม่อนุญาตให้อ่านทรัพยากรระยะไกลที่ %1$S (เหตุผล: ไม่พบวิธีในส่วนหัว CORS ‘Access-Control-Allow-Methods’)
+CORSMissingAllowCredentials=คำข้อข้ามที่มาถูกปิดกั้น: นโยบายที่มาเดียวกันไม่อนุญาตให้อ่านทรัพยากรระยะไกลที่ %1$S (เหตุผล: ต้องการค่า ‘true’ ในส่วนหัว CORS ‘Access-Control-Allow-Credentials’)
+CORSPreflightDidNotSucceed2=คำข้อข้ามที่มาถูกปิดกั้น: นโยบายที่มาเดียวกันไม่อนุญาตให้อ่านทรัพยากรระยะไกลที่ %1$S (เหตุผล: การตอบกลับการตรวจสอบก่อนส่ง CORS ไม่สำเร็จ)
+CORSInvalidAllowMethod=คำข้อข้ามที่มาถูกปิดกั้น: นโยบายที่มาเดียวกันไม่อนุญาตให้อ่านทรัพยากรระยะไกลที่ %1$S (เหตุผล: โทเค็น ‘%2$S’ ไม่ถูกต้องในส่วนหัว CORS ‘Access-Control-Allow-Methods’)
+CORSInvalidAllowHeader=คำข้อข้ามที่มาถูกปิดกั้น: นโยบายที่มาเดียวกันไม่อนุญาตให้อ่านทรัพยากรระยะไกลที่ %1$S (เหตุผล: โทเค็น ‘%2$S’ ไม่ถูกต้องในส่วนหัว CORS ‘Access-Control-Allow-Headers’)
+CORSMissingAllowHeaderFromPreflight2=คำข้อข้ามที่มาถูกปิดกั้น: นโยบายที่มาเดียวกันไม่อนุญาตให้อ่านทรัพยากรระยะไกลที่ %1$S (เหตุผล: ไม่อนุญาตให้ใช้ส่วนหัว ‘%2$S’ ตามส่วนหัว ‘Access-Control-Allow-Headers’ จากการตอบกลับในการตรวจสอบก่อนส่ง CORS)
+
+# LOCALIZATION NOTE: Do not translate "Strict-Transport-Security", "HSTS", "max-age" or "includeSubDomains"
+STSUnknownError=Strict-Transport-Security: เกิดข้อผิดพลาดที่ไม่รู้จักในการประมวลผลส่วนหัวที่ระบุโดยไซต์
+STSUntrustworthyConnection=Strict-Transport-Security: การเชื่อมต่อกับเว็บไซต์ไม่น่าเชื่อถือ ส่วนหัวที่ระบุจึงถูกเพิกเฉย
+STSCouldNotParseHeader=Strict-Transport-Security: ไซต์ระบุส่วนหัวที่ไม่สามารถแยกวิเคราะห์ได้สำเร็จ
+STSNoMaxAge=Strict-Transport-Security: ไซต์ระบุส่วนหัวที่ไม่มีคำสั่ง ‘max-age’
+STSMultipleMaxAges=Strict-Transport-Security: ไซต์ระบุส่วนหัวที่มีคำสั่ง ‘max-age’ หลายคำสั่ง
+STSInvalidMaxAge=Strict-Transport-Security: ไซต์ระบุส่วนหัวที่มีคำสั่ง ‘max-age’ ที่ไม่ถูกต้อง
+STSMultipleIncludeSubdomains=Strict-Transport-Security: ไซต์ระบุส่วนหัวที่มีคำสั่ง ‘includeSubDomains’ หลายคำสั่ง
+STSInvalidIncludeSubdomains=Strict-Transport-Security: ไซต์ระบุส่วนหัวที่มีคำสั่ง ‘includeSubDomains’ ที่ไม่ถูกต้อง
+STSCouldNotSaveState=Strict-Transport-Security: เกิดข้อผิดพลาดในการจดจำไซต์ในฐานะโฮสต์ Strict-Transport-Security
+
+# LOCALIZATION NOTE: Do not translate "SHA-1"
+SHA1Sig=ไซต์นี้ใช้ใบรับรอง SHA-1 แต่ขอแนะนำให้คุณใช้ใบรับรองที่มีอัลกอริทึมลายเซ็นที่ใช้ฟังก์ชันแฮชที่แข็งแรงกว่า SHA-1
+InsecurePasswordsPresentOnPage=มีช่องกรอกรหัสผ่านอยู่บนหน้าที่ไม่ปลอดภัย (http://) ซึ่งเป็นความเสี่ยงด้านความปลอดภัยที่เปิดโอกาสให้ข้อมูลประจำตัวการเข้าสู่ระบบถูกขโมยได้
+InsecureFormActionPasswordsPresent=มีช่องกรอกรหัสผ่านในรูปแบบที่มีการกระทำแบบฟอร์มที่ไม่ปลอดภัย (http://) ซึ่งเป็นความเสี่ยงด้านความปลอดภัยที่เปิดโอกาสให้ข้อมูลประจำตัวการเข้าสู่ระบบถูกขโมยได้
+InsecurePasswordsPresentOnIframe=มีช่องกรอกรหัสผ่านอยู่บน iframe ที่ไม่ปลอดภัย (http://) ซึ่งเป็นความเสี่ยงด้านความปลอดภัยที่เปิดโอกาสให้ข้อมูลประจำตัวการเข้าสู่ระบบถูกขโมยได้
+# LOCALIZATION NOTE: "%1$S" is the URI of the insecure mixed content resource
+LoadingMixedActiveContent2=โหลดเนื้อหาที่ใช้งานแบบผสม (ไม่ปลอดภัย) “%1$S” บนหน้าที่ปลอดภัย
+LoadingMixedDisplayContent2=โหลดเนื้อหาที่แสดงผลแบบผสม (ไม่ปลอดภัย) “%1$S” บนหน้าที่ปลอดภัย
+LoadingMixedDisplayObjectSubrequestDeprecation=ไม่แนะนำให้โหลดเนื้อหาแบบผสม (ไม่ปลอดภัย) “%1$S” ภายในปลั๊กอินที่อยู่บนหน้าที่ปลอดภัย และจะถูกปิดกั้นในไม่ช้า
+# LOCALIZATION NOTE: "%S" is the URI of the insecure mixed content download
+MixedContentBlockedDownload = ปิดกั้นการดาวน์โหลดเนื้อหาที่ไม่ปลอดภัย “%S” แล้ว
+
+# LOCALIZATION NOTE: Do not translate "allow-scripts", "allow-same-origin", "sandbox" or "iframe"
+BothAllowScriptsAndSameOriginPresent=iframe ที่มีทั้ง allow-scripts และ allow-same-origin เดียวกันสำหรับแอตทริบิวต์ sandbox สามารถเอาคุณลักษณะการทำ sandbox ออกได้
+
+# LOCALIZATION NOTE: Do not translate "allow-top-navigation-by-user-activation", "allow-top-navigation", "sandbox" or "iframe"
+BothAllowTopNavigationAndUserActivationPresent=iframe ที่มีทั้ง allow-top-navigation และ allow-top-navigation-by-user-activation สำหรับแอตทริบิวต์ sandbox จะอนุญาตการนำทางด้านบน
+
+# Sub-Resource Integrity
+# LOCALIZATION NOTE: Do not translate "script" or "integrity". "%1$S" is the invalid token found in the attribute.
+MalformedIntegrityHash=องค์ประกอบ script มีแฮชที่มีรูปแบบไม่ถูกต้องในแอตทริบิวต์ integrity: “%1$S” โดยรูปแบบที่ถูกต้องคือ “<อัลกอริทึมแฮช>-<ค่าแฮช>”
+# LOCALIZATION NOTE: Do not translate "integrity"
+InvalidIntegrityLength=แฮชที่มีอยู่ในแอตทริบิวต์ integrity มีความยาวที่ไม่ถูกต้อง
+# LOCALIZATION NOTE: Do not translate "integrity"
+InvalidIntegrityBase64=ไม่สามารถถอดรหัสแฮชที่มีอยู่ในแอตทริบิวต์ integrity ได้
+# LOCALIZATION NOTE: Do not translate "integrity". "%1$S" is the type of hash algorithm in use (e.g. "sha256").
+IntegrityMismatch=ไม่มีแฮช “%1$S” ใดในแอตทริบิวต์ integrity ที่ตรงกับเนื้อหาของทรัพยากรย่อย
+# LOCALIZATION NOTE: "%1$S" is the URI of the sub-resource that cannot be protected using SRI.
+IneligibleResource=“%1$S” ไม่มีสิทธิ์ตรวจสอบความถูกต้องเนื่องจากไม่ได้เปิดใช้งาน CORS หรือไม่ใช่ same-origin
+# LOCALIZATION NOTE: Do not translate "integrity". "%1$S" is the invalid hash algorithm found in the attribute.
+UnsupportedHashAlg=ไม่รองรับอัลกอริทึมแฮชนี้ในแอตทริบิวต์ integrity: “%1$S”
+# LOCALIZATION NOTE: Do not translate "integrity"
+NoValidMetadata=แอตทริบิวต์ integrity ไม่มีข้อมูลกำกับที่ถูกต้อง
+
+# LOCALIZATION NOTE: Do not translate "RC4".
+WeakCipherSuiteWarning=ไซต์นี้ใช้การเข้ารหัสแบบ RC4 ซึ่งเลิกใช้แล้วและไม่ปลอดภัย
+
+DeprecatedTLSVersion2=ไซต์นี้ใช้ TLS รุ่นที่เลิกใช้แล้ว โปรดอัปเกรดเป็น TLS 1.2 หรือ 1.3
+
+#XCTO: nosniff
+# LOCALIZATION NOTE: Do not translate "X-Content-Type-Options: nosniff".
+MimeTypeMismatch2=ทรัพยากรจาก “%1$S” ถูกปิดกั้นเนื่องจากชนิด MIME (“%2$S”) ไม่ตรงกัน (X-Content-Type-Options: nosniff)
+# LOCALIZATION NOTE: Do not translate "X-Content-Type-Options" and also do not translate "nosniff".
+XCTOHeaderValueMissing=คำเตือนส่วนหัว X-Content-Type-Options: ค่าเป็น “%1$S” คุณหมายถึงส่ง “nosniff” หรือไม่?
+# LOCALIZATION NOTE: Do not translate "X-Content-Type-Options" and also do not translate "nosniff".
+XTCOWithMIMEValueMissing=ทรัพยากรจาก “%1$S” ไม่ถูกแสดงผลเนื่องจากมีชนิด MIME ที่ไม่รู้จัก, ไม่ถูกต้อง หรือขาดหายไป (X-Content-Type-Options: nosniff)
+
+BlockScriptWithWrongMimeType2=สคริปต์จาก “%1$S” ถูกปิดกั้นเนื่องจากชนิด MIME ที่ไม่ได้รับอนุญาต (“%2$S”)
+WarnScriptWithWrongMimeType=สคริปต์จาก “%1$S” ได้ถูกโหลดถึงแม้ว่าชนิด MIME (“%2$S”) จะไม่ใช่ชนิด MIME ของ JavaScript ที่ถูกต้อง
+# LOCALIZATION NOTE: Do not translate "importScripts()"
+BlockImportScriptsWithWrongMimeType=การโหลดสคริปต์จาก “%1$S” ด้วย importScripts() ถูกปิดกั้นเนื่องจากชนิด MIME ที่ไม่ได้รับอนุญาต (“%2$S”)
+BlockWorkerWithWrongMimeType=การโหลด Worker จาก “%1$S” ถูกปิดกั้นเนื่องจากชนิด MIME ที่ไม่ได้รับอนุญาต (“%2$S”)
+BlockModuleWithWrongMimeType=การโหลดโมดูลจาก “%1$S” ถูกปิดกั้นเนื่องจากชนิด MIME ที่ไม่ได้รับอนุญาต (“%2$S”)
+
+# LOCALIZATION NOTE: Do not translate "data: URI".
+BlockTopLevelDataURINavigation=การนำทางไปยังข้อมูลระดับบนสุด: ไม่อนุญาตให้ใช้ URI (มีการปิดกั้นการโหลดของ: “%1$S”)
+BlockSubresourceRedirectToData=การเปลี่ยนเส้นทางไปยังข้อมูลที่ไม่ปลอดภัย: ไม่อนุญาตให้ใช้ URI (มีการปิดกั้นการโหลดของ: “%1$S”)
+
+BlockSubresourceFTP=ไม่อนุญาตให้โหลดทรัพยากรย่อย FTP ภายในหน้า http (มีการปิดกั้นการโหลดของ: “%1$S”)
+
+RestrictBrowserEvalUsage=ไม่อนุญาตให้ใช้ eval() และ eval-like ในกระบวนการหลักหรือในบริบทของระบบ (ปิดกั้นการใช้ใน “%1$S”)
+
+# LOCALIZATION NOTE (BrowserUpgradeInsecureDisplayRequest):
+# %1$S is the browser name "brandShortName"; %2$S is the URL of the upgraded request; %1$S is the upgraded scheme.
+BrowserUpgradeInsecureDisplayRequest = %1$S กำลังอัปเกรดคำขอแสดงผลที่ไม่ปลอดภัย ‘%2$S’ เพื่อใช้ ‘%3$S’
+
+# LOCALIZATION NOTE (MixedContentAutoUpgrade):
+# %1$S is the URL of the upgraded request; %2$S is the upgraded scheme.
+MixedContentAutoUpgrade=อัปเกรดคำขอแสดงผลที่ไม่ปลอดภัย ‘%1$S’ ให้ใช้ ‘%2$S’
+# LOCALIZATION NOTE (RunningClearSiteDataValue):
+# %S is the URI of the resource whose data was cleaned up
+RunningClearSiteDataValue=ส่วนหัว Clear-Site-Data บังคับให้ล้างข้อมูล “%S”
+UnknownClearSiteDataValue=พบส่วนหัว Clear-Site-Data ไม่รู้จักค่า “%S”
+
+# Reporting API
+ReportingHeaderInvalidJSON=ส่วนหัวการรายงาน: ได้รับค่า JSON ที่ไม่ถูกต้อง
+ReportingHeaderInvalidNameItem=ส่วนหัวการรายงาน: ชื่อไม่ถูกต้องสำหรับกลุ่ม
+ReportingHeaderDuplicateGroup=ส่วนหัวการรายงาน: ไม่สนใจกลุ่มที่ซ้ำกันชื่อ “%S”
+ReportingHeaderInvalidItem=ส่วนหัวการรายงาน: ไม่สนใจรายการที่ไม่ถูกต้องชื่อ “%S”
+ReportingHeaderInvalidEndpoint=ส่วนหัวการรายงาน: ไม่สนใจตำแหน่งข้อมูลที่ไม่ถูกต้องสำหรับรายการชื่อ “%S”
+# LOCALIZATION NOTE(ReportingHeaderInvalidURLEndpoint): %1$S is the invalid URL, %2$S is the group name
+ReportingHeaderInvalidURLEndpoint=ส่วนหัวการรายงาน: ไม่สนใจ URL ตำแหน่งข้อมูลที่ไม่ถูกต้อง “%1$S” สำหรับรายการชื่อ “%2$S”
+
+FeaturePolicyUnsupportedFeatureName=นโยบายคุณลักษณะ: ข้ามชื่อคุณลักษณะ “%S” ซึ่งไม่รองรับ
+# TODO: would be nice to add a link to the Feature-Policy MDN documentation here. See bug 1449501
+FeaturePolicyInvalidEmptyAllowValue= นโยบายคุณลักษณะ: ข้ามรายการอนุญาตเปล่าสำหรับคุณลักษณะ: “%S”
+# TODO: would be nice to add a link to the Feature-Policy MDN documentation here. See bug 1449501
+FeaturePolicyInvalidAllowValue=นโยบายคุณลักษณะ: ข้ามค่าอนุญาต “%S” ซึ่งไม่รองรับ
+
+# LOCALIZATION NOTE: "%1$S" is the limitation length (bytes) of referrer URI, "%2$S" is the origin of the referrer URI.
+ReferrerLengthOverLimitation=ส่วนหัวตัวอ้างอิง HTTP: ความยาวเกินขีดจำกัด “%1$S” ไบต์ - กำลังลดขนาดส่วนหัวตัวอ้างอิงลงเป็น origin: “%2$S”)
+# LOCALIZATION NOTE: "%1$S" is the limitation length (bytes) of referrer URI, "%2$S" is the origin of the referrer URI.
+ReferrerOriginLengthOverLimitation=ส่วนหัวตัวอ้างอิง HTTP: ความยาวของ origin ภายในตัวอ้างอิงเกินขีดจำกัด “%1$S” ไบต์ - กำลังเอาตัวอ้างอิงที่มี origin “%2$S” ออก
+
+# X-Frame-Options
+# LOCALIZATION NOTE(XFrameOptionsInvalid): %1$S is the header value, %2$S is frame URI. Do not translate "X-Frame-Options".
+XFrameOptionsInvalid = พบส่วนหัว X-Frame-Options ที่ไม่ถูกต้องเมื่อโหลด “%2$S”: “%1$S” ไม่ใช่คำสั่งที่ใช้ได้
+# LOCALIZATION NOTE(XFrameOptionsDeny): %1$S is the header value, %2$S is frame URI and %3$S is the parent document URI. Do not translate "X-Frame-Options".
+XFrameOptionsDeny=การโหลด “%2$S” ในเฟรมถูกปฏิเสธโดยคำสั่ง “X-Frame-Options“ ที่กำหนดเป็น “%1$S“
+
+# HTTPS-Only Mode
+# LOCALIZATION NOTE: %1$S is the URL of the upgraded request; %2$S is the upgraded scheme.
+HTTPSOnlyUpgradeRequest = กำลังอัปเกรดคำร้องขอที่ไม่ปลอดภัย “%1$S” ให้ไปใช้ “%2$S”
+# LOCALIZATION NOTE: %1$S is the URL of request.
+HTTPSOnlyNoUpgradeException = ไม่อัปเกรดคำขอที่ไม่ปลอดภัย “%1$S” เนื่องจากได้รับการยกเว้น
+# LOCALIZATION NOTE: %1$S is the URL of the failed request; %2$S is an error-code.
+HTTPSOnlyFailedRequest = การอัปเกรดคำขอที่ไม่ปลอดภัย “%1$S” ล้มเหลว (%2$S)
+
+# LOCALIZATION NOTE: %S is the URL of the blocked request;
+IframeSandboxBlockedDownload = การดาวน์โหลด “%S” ถูกปิดกั้นเนื่องจาก iframe ที่ทริกเกอร์มีการตั้งค่าสถานะ sandbox ไว้
+
+# Sanitizer API
+# LOCALIZATION NOTE: Please do not localize "DocumentFragment". It's the name of an API.
+SanitizerRcvdNoInput = ได้รับอินพุตเปล่าหรือไม่ได้รับอินพุตใด กำลังส่งกลับ DocumentFragment เปล่า
+# LOCALIZATION NOTE: "Sanitizer" is the name of the API. Please do not localize.
+SanitizerOptionsDiscarded = ยังไม่รองรับตัวเลือกสำหรับตัวสร้าง Sanitizer โปรดทราบว่านี่เป็นลักษณะการทำงานแบบทดลอง
diff --git a/l10n-th/dom/chrome/svg/svg.properties b/l10n-th/dom/chrome/svg/svg.properties
new file mode 100644
index 0000000000..374efd7324
--- /dev/null
+++ b/l10n-th/dom/chrome/svg/svg.properties
@@ -0,0 +1,5 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+AttributeParseWarning=ค่าที่ไม่คาดคิด %2$S กำลังแยกวิเคราะห์แอตทริบิวต์ %1$S
diff --git a/l10n-th/dom/chrome/xml/prettyprint.dtd b/l10n-th/dom/chrome/xml/prettyprint.dtd
new file mode 100644
index 0000000000..cc71681995
--- /dev/null
+++ b/l10n-th/dom/chrome/xml/prettyprint.dtd
@@ -0,0 +1,5 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!ENTITY xml.nostylesheet "ไฟล์ XML นี้ดูเหมือนจะไม่มีข้อมูลลักษณะใด ๆ ที่เกี่ยวข้องกัน ต้นไม้เอกสารถูกแสดงด้านล่าง">
diff --git a/l10n-th/dom/chrome/xslt/xslt.properties b/l10n-th/dom/chrome/xslt/xslt.properties
new file mode 100644
index 0000000000..8bf5835599
--- /dev/null
+++ b/l10n-th/dom/chrome/xslt/xslt.properties
@@ -0,0 +1,39 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+1 = การแยกวิเคราะห์แผ่นลักษณะ XSLT ล้มเหลว
+2 = การแยกวิเคราะห์นิพจน์ XPath ล้มเหลว
+3 =
+4 = การแปลง XSLT ล้มเหลว
+5 = ฟังก์ชัน XSLT/XPath ไม่ถูกต้อง
+6 = แผ่นลักษณะ XSLT (อาจ) มีการเกิดซ้ำ
+7 = ค่าแอตทริบิวต์ไม่ถูกต้องใน XSLT 1.0
+8 = นิพจน์ XPath ถูกคาดไว้ให้ส่งกลับ NodeSet
+9 = การแปลง XSLT ถูกสิ้นสุดโดย <xsl:message>
+10 = เกิดข้อผิดพลาดเครือข่ายในการโหลดแผ่นลักษณะ XSLT:
+11 = แผ่นลักษณะ XSLT ไม่มี XML mimetype:
+12 = แผ่นลักษณะ XSLT นำเข้าหรือรวมตัวเองโดยตรงหรือไม่โดยตรง:
+13 = ฟังก์ชัน XPath ถูกเรียกด้วยจำนวนอาร์กิวเมนต์ที่ไม่ถูกต้อง
+14 = ฟังก์ชันส่วนขยาย XPath ที่ไม่รู้จักถูกเรียก
+15 = ความล้มเหลวในการแยกวิเคราะห์ XPath: คาดหวัง ‘)’:
+16 = ความล้มเหลวในการแยกวิเคราะห์ XPath: แกนไม่ถูกต้อง:
+17 = ความล้มเหลวในการแยกวิเคราะห์ XPath: คาดหวังการทดสอบชื่อหรือชนิดโหนด:
+18 = ความล้มเหลวในการแยกวิเคราะห์ XPath: คาดหวัง ‘]’:
+19 = ความล้มเหลวในการแยกวิเคราะห์ XPath: ชื่อตัวแปรไม่ถูกต้อง:
+20 = XPath parse failure: unexpected end of expression:
+21 = ความล้มเหลวในการแยกวิเคราะห์ XPath: คาดหวังตัวดำเนินการ:
+22 = XPath parse failure: unclosed literal:
+23 = XPath parse failure: ':' unexpected:
+24 = XPath parse failure: '!' unexpected, negation is not():
+25 = XPath parse failure: illegal character found:
+26 = ความล้มเหลวในการแยกวิเคราะห์ XPath: คาดหวังตัวดำเนินการไบนารี:
+27 = การโหลดแผ่นลักษณะ XSLT ถูกปิดกั้นเนื่องจากเหตุผลเกี่ยวกับความปลอดภัย
+28 = กำลังประเมินนิพจน์ที่ไม่ถูกต้อง
+29 = วงเล็บปีกกาไม่สมดุล
+30 = กำลังสร้างองค์ประกอบด้วย QName ที่ไม่ถูกต้อง
+31 = Variable binding shadows variable binding within the same template.
+32 = ไม่อนุญาตให้ทำการเรียกไปยังฟังก์ชัน key
+
+LoadingError = เกิดข้อผิดพลาดในการโหลดแผ่นลักษณะ: %S
+TransformError = เกิดข้อผิดพลาดระหว่างการแปลง XSLT: %S
diff --git a/l10n-th/dom/dom/media.ftl b/l10n-th/dom/dom/media.ftl
new file mode 100644
index 0000000000..0ba8856769
--- /dev/null
+++ b/l10n-th/dom/dom/media.ftl
@@ -0,0 +1,5 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+mediastatus-fallback-title = { -brand-short-name } กำลังเล่นสื่อ
diff --git a/l10n-th/editor/ui/chrome/composer/editingOverlay.dtd b/l10n-th/editor/ui/chrome/composer/editingOverlay.dtd
new file mode 100644
index 0000000000..51d9272bdd
--- /dev/null
+++ b/l10n-th/editor/ui/chrome/composer/editingOverlay.dtd
@@ -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/. -->
+
+<!-- File menu items -->
+<!ENTITY openFileCmd.label "เปิดไฟล์…">
+<!ENTITY openFileCmd.accesskey "ป">
+<!ENTITY openFileCmd.key "O">
+<!ENTITY openRemoteCmd.label "เปิดตำแหน่งที่ตั้งเว็บ…">
+<!ENTITY openRemoteCmd.accesskey "ด">
+<!ENTITY openRemoteCmd.key "L">
+<!ENTITY fileRecentMenu.label "หน้าล่าสุด">
+<!ENTITY fileRecentMenu.accesskey "ห">
+<!ENTITY saveCmd.label "บันทึก">
+<!ENTITY saveCmd.accesskey "บ">
+<!ENTITY saveAsCmd.label "บันทึกเป็น…">
+<!ENTITY saveAsCmd.accesskey "น">
+<!ENTITY saveAsChangeEncodingCmd2.label "บันทึกแล้วเปลี่ยนการเข้ารหัสข้อความ">
+<!ENTITY saveAsChangeEncodingCmd2.accesskey "ท">
+<!ENTITY publishCmd.label "เผยแพร่">
+<!ENTITY publishCmd.accesskey "ผ">
+<!ENTITY publishCmd.key "S">
+<!ENTITY publishAsCmd.label "เผยแพร่เป็น…">
+<!ENTITY publishAsCmd.accesskey "ย">
+<!ENTITY fileRevert.label "เปลี่ยนกลับ">
+<!ENTITY fileRevert.accesskey "ล">
+
+<!-- Edit menu items -->
+<!ENTITY publishSettings.label "การตั้งค่าไซต์การเผยแพร่…">
+<!ENTITY publishSettings.accesskey "ก">
+
+<!-- Toolbar buttons/items -->
+<!ENTITY newToolbarCmd.label "ใหม่">
+<!ENTITY newToolbarCmd.tooltip "สร้างหน้าเขียนใหม่">
+<!ENTITY openToolbarCmd.label "เปิด">
+<!ENTITY openToolbarCmd.tooltip "เปิดไฟล์ในเครื่อง">
+<!ENTITY saveToolbarCmd.tooltip "บันทึกไฟล์ไปยังตำแหน่งที่ตั้งในเครื่อง">
+<!ENTITY publishToolbarCmd.tooltip "อัปโหลดไฟล์ไปยังตำแหน่งที่ตั้งระยะไกล">
+<!ENTITY printToolbarCmd.label "พิมพ์">
+<!ENTITY printToolbarCmd.tooltip "พิมพ์หน้านี้">
diff --git a/l10n-th/editor/ui/chrome/composer/editor.dtd b/l10n-th/editor/ui/chrome/composer/editor.dtd
new file mode 100644
index 0000000000..32ad74f58a
--- /dev/null
+++ b/l10n-th/editor/ui/chrome/composer/editor.dtd
@@ -0,0 +1,67 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!-- Window title -->
+<!-- LOCALIZATION NOTE (editorWindow.titlemodifier): DONT_TRANSLATE -->
+<!ENTITY editorWindow.titlemodifier "Composer">
+<!ENTITY editorWindow.titlemodifiermenuseparator " - ">
+
+<!-- Menu items: the . means that the menu item isn't implemented yet -->
+
+<!-- Toolbar-only items -->
+<!ENTITY compositionToolbar.tooltip "แถบเครื่องมือการเขียน">
+<!ENTITY previewToolbarCmd.label "เรียกดู">
+<!ENTITY previewToolbarCmd.tooltip "โหลดหน้านี้ในเบราว์เซอร์">
+
+<!-- File menu items -->
+<!ENTITY exportToTextCmd.label "ส่งออกเป็นข้อความ…">
+<!ENTITY exportToTextCmd.accesskey "ส">
+<!ENTITY previewCmd.label "เรียกดูหน้า">
+<!ENTITY previewCmd.accesskey "ร">
+<!ENTITY sendPageCmd.label "ส่งหน้า…">
+<!ENTITY sendPageCmd.accesskey "ง">
+
+<!-- View menu items -->
+<!ENTITY compositionToolbarCmd.label "แถบเครื่องมือการเขียน">
+<!ENTITY compositionToolbarCmd.accesskey "ถ">
+<!ENTITY formattingToolbarCmd.label "แถบเครื่องมือรูปแบบ">
+<!ENTITY formattingToolbarCmd.accesskey "บ">
+<!ENTITY editmodeToolbarCmd.label "แถบเครื่องมือโหมดแก้ไข">
+<!ENTITY editmodeToolbarCmd.accesskey "ค">
+
+<!-- Format menu items -->
+<!ENTITY formatMenu.label "รูปแบบ">
+<!ENTITY formatMenu.accesskey "ป">
+<!ENTITY grid.label "เส้นตารางการวางตำแหน่ง">
+<!ENTITY grid.accesskey "น">
+<!ENTITY pageProperties.label "ชื่อเรื่องและคุณสมบัติหน้า…">
+<!ENTITY pageProperties.accesskey "ช">
+
+<!-- Tools menu items -->
+<!ENTITY validateCmd.label "ตรวจสอบ HTML">
+<!ENTITY validateCmd.accesskey "ต">
+
+<!-- Display Mode toolbar and View menu items -->
+<!ENTITY NormalModeTab.label "ปกติ">
+<!ENTITY NormalMode.label "โหมดแก้ไขปกติ">
+<!ENTITY NormalMode.accesskey "ห">
+<!ENTITY NormalMode.tooltip "แสดงเส้นขอบตารางและจุดยึดที่มีชื่อ">
+<!ENTITY AllTagsModeTab.label "แท็ก HTML">
+<!ENTITY AllTagsMode.label "แท็ก HTML">
+<!ENTITY AllTagsMode.accesskey "ท">
+<!ENTITY AllTagsMode.tooltip "แสดงผลไอคอนสำหรับแท็ก HTML ทั้งหมด">
+<!-- LOCALIZATION NOTE: (HTMLSourceModeTab.dir, HTMLSourceModeTab.label)
+ Do NOT translate text for 'HTMLSourceModeTab.dir', use latin "ltr" if
+ you want the <html> image to left of the 'HTMLSourceModeTab.label' text,
+ or use latin "rtl" if you want this image to the right of text. You do
+ not need to include HTML in the label 'HTMLSourceModeTab.label' -->
+<!ENTITY HTMLSourceModeTab.dir "ltr">
+<!ENTITY HTMLSourceModeTab.label "ต้นฉบับ">
+<!ENTITY HTMLSourceMode.label "ต้นฉบับ HTML">
+<!ENTITY HTMLSourceMode.accesskey "ต">
+<!ENTITY HTMLSourceMode.tooltip "แก้ไขต้นฉบับ HTML">
+<!ENTITY PreviewModeTab.label "ตัวอย่าง">
+<!ENTITY PreviewMode.label "ตัวอย่าง">
+<!ENTITY PreviewMode.accesskey "ว">
+<!ENTITY PreviewMode.tooltip "แสดงเป็นแบบ WYSIWYG (เหมือนในเบราว์เซอร์)">
diff --git a/l10n-th/editor/ui/chrome/composer/editor.properties b/l10n-th/editor/ui/chrome/composer/editor.properties
new file mode 100644
index 0000000000..41c6c149d6
--- /dev/null
+++ b/l10n-th/editor/ui/chrome/composer/editor.properties
@@ -0,0 +1,208 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.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: embedded "\n" represent HTML breaks (<br>)
+# Don't translate embedded "\n".
+# Don't translate strings like this: %variable%
+# as they will be replaced using JavaScript
+#
+No=ไม่
+Save=บันทึก
+More=เพิ่มเติม
+Less=น้อยลง
+MoreProperties=คุณสมบัติเพิ่มเติม
+FewerProperties=คุณสมบัติน้อยลง
+PropertiesAccessKey=ค
+None=ไม่มี
+none=ไม่มี
+OpenHTMLFile=เปิดไฟล์ HTML
+OpenTextFile=เปิดไฟล์ข้อความ
+SelectImageFile=เลือกไฟล์ภาพ
+SaveDocument=บันทึกหน้า
+SaveDocumentAs=บันทึกหน้าเป็น
+SaveTextAs=บันทึกข้อความเป็น
+EditMode=โหมดแก้ไข
+Preview=แสดงตัวอย่าง
+Publish=เผยแพร่
+PublishPage=เผยแพร่หน้า
+DontPublish=ไม่เผยแพร่
+SavePassword=ใช้ตัวจัดการรหัสผ่านเพื่อบันทึกรหัสผ่านนี้
+CorrectSpelling=(การสะกดที่ถูกต้อง)
+NoSuggestedWords=(ไม่มีคำที่แนะนำ)
+NoMisspelledWord=ไม่มีคำที่สะกดผิด
+CheckSpellingDone=ตรวจสอบการสะกดเสร็จสมบูรณ์
+CheckSpelling=ตรวจสอบการสะกดคำ
+InputError=ข้อผิดพลาด
+Alert=คำเตือน
+CantEditFramesetMsg=ตัวเขียนไม่สามารถแก้ไขเฟรมเซต HTML หรือหน้าที่มีเฟรมแบบอินไลน์ได้ สำหรับเฟรมเซต ให้ลองแก้ไขหน้าสำหรับแต่ละเฟรมต่างหาก สำหรับหน้าที่มีเฟรมแบบอินไลน์ ให้บันทึกสำเนาของหน้าและเอาแท็ก <iframe> ออก
+CantEditMimeTypeMsg=ไม่สามารถแก้ไขหน้าชนิดนี้ได้
+CantEditDocumentMsg=ไม่สามารถแก้ไขหน้านี้ได้เนื่องจากเหตุผลที่ไม่ทราบ
+BeforeClosing=ก่อนปิด
+BeforePreview=ก่อนดูในเบราว์เซอร์
+BeforeValidate=ก่อนตรวจสอบเอกสาร
+# LOCALIZATION NOTE (SaveFilePrompt, PublishPrompt): Don't translate %title% and %reason% (this is the reason for asking user to close, such as "before closing")
+SaveFilePrompt=บันทึกการเปลี่ยนแปลงไปยัง "%title%" %reason%หรือไม่?
+PublishPrompt=บันทึกการเปลี่ยนแปลงไปยัง "%title%" %reason%หรือไม่?
+SaveFileFailed=การบันทึกไฟล์ล้มเหลว!
+
+# Publishing error strings:
+# LOCALIZATION NOTE Don't translate %dir% or %file% in the Publishing error strings:
+FileNotFound=ไม่พบ %file%
+SubdirDoesNotExist=ไดเรกทอรีย่อย "%dir%" ไม่มีอยู่บนไซต์นี้หรือชื่อไฟล์ "%file%" ถูกใช้แล้วโดยไดเรกทอรีย่อยอื่น
+FilenameIsSubdir=ชื่อไฟล์ "%file%" ถูกใช้แล้วโดยไดเรกทอรีย่อยอื่น
+ServerNotAvailable=เซิรฟ์เวอร์ไม่พร้อมใช้งาน ตรวจสอบการเชื่อมต่อของคุณแล้วลองอีกครั้งในภายหลัง
+Offline=คุณออฟไลน์อยู่ในขณะนี้ คลิกไอคอนที่อยู่บริเวณมุมขวาล่างของหน้าต่างใดก็ได้เพื่อเริ่มออนไลน์
+DiskFull=มีเนื้อที่ดิสก์ไม่เพียงพอที่จะบันทึกไฟล์ "%file%"
+NameTooLong=ฃื่อไฟล์หรือชื่อไดเรกทอรีย่อยยาวเกินไป
+AccessDenied=คุณไม่ได้รับอนุญาตให้เผยแพร่ไปยังตำแหน่งที่ตั้งนี้
+UnknownPublishError=เกิดข้อผิดพลาดในการเผยแพร่ที่ไม่รู้จัก
+PublishFailed=การเผยแพร่ล้มเหลว
+PublishCompleted=การเผยแพร่เสร็จสมบูรณ์
+AllFilesPublished=เผยแพร่ไฟล์ทั้งหมดแล้ว
+# LOCALIZATION NOTE Don't translate %x% or %total%
+FailedFileMsg=ไม่สามารถเผยแพร่ %x% จาก %total% ไฟล์
+# End-Publishing error strings
+Prompt=พร้อมท์
+# LOCALIZATION NOTE (PromptFTPUsernamePassword): Don't translate %host%
+PromptFTPUsernamePassword=ป้อนชื่อผู้ใช้และรหัสผ่านสำหรับเซิร์ฟเวอร์ FTP ที่ %host%
+RevertCaption=เปลี่ยนกลับเป็นที่บันทึกล่าสุด
+Revert=เปลี่ยนกลับ
+SendPageReason=ก่อนส่งหน้านี้
+Send=ส่ง
+## LOCALIZATION NOTE (PublishProgressCaption, PublishToSite, AbandonChanges): Don't translate %title%
+PublishProgressCaption=กำลังเผยแพร่: %title%
+PublishToSite=กำลังเผยแพร่ไปยังไซต์: %title%
+AbandonChanges=ละทิ้งการเปลี่ยนแปลงที่ยังไม่ได้บันทึกที่ทำกับ "%title%" และโหลดหน้าใหม่หรือไม่?
+DocumentTitle=ชื่อเรื่องหน้า
+NeedDocTitle=โปรดป้อนชื่อเรื่องสำหรับหน้าปัจจุบัน
+DocTitleHelp=สิ่งนี้จะระบุหน้าในชื่อเรื่องหน้าต่างและที่คั่นหน้า
+CancelPublishTitle=ยกเลิกการเผยแพร่?
+## LOCALIZATION NOTE: "Continue" in this sentence must match the text for
+## the CancelPublishContinue key below
+CancelPublishMessage=การยกเลิกระหว่างที่กำลังเผยแพร่อยู่อาจส่งผลให้ไฟล์ของคุณถูกถ่ายโอนอย่างไม่สมบูรณ์ คุณต้องการที่จะดำเนินการต่อหรือยกเลิก?
+CancelPublishContinue=ดำเนินการต่อ
+MissingImageError=โปรดป้อนหรือเลือกภาพชนิด gif, jpg หรือ png
+EmptyHREFError=โปรดเลือกตำแหน่งที่ตั้งที่จะสร้างลิงก์ใหม่
+LinkText=ลิงก์ข้อความ
+LinkImage=ลิงก์ภาพ
+MixedSelection=[การเลือกแบบผสม]
+Mixed=(แบบผสม)
+# LOCALIZATION NOTE (NotInstalled): %S is the name of the font
+NotInstalled=%S (ไม่ได้ติดตั้ง)
+EnterLinkText=ป้อนข้อความที่จะแสดงสำหรับลิงก์:
+EnterLinkTextAccessKey=ป
+EmptyLinkTextError=โปรดป้อนข้อความสำหรับลิงก์นี้
+EditTextWarning=การดำเนินการนี้จะแทนที่เนื้อหาที่มีอยู่
+#LOCALIZATION NOTE (ValidateNumber):Don't translate: %n% %min% %max%
+ValidateRangeMsg=ตัวเลขที่คุณป้อน (%n%) อยู่นอกช่วงที่อนุญาต
+ValidateNumberMsg=โปรดป้อนตัวเลขระหว่าง %min% และ %max%
+MissingAnchorNameError=โปรดป้อนชื่อสำหรับจุดยึดนี้
+#LOCALIZATION NOTE (DuplicateAnchorNameError): Don't translate %name%
+DuplicateAnchorNameError=มี "%name%" อยู่ในหน้านี้แล้ว โปรดป้อนชื่ออื่น
+BulletStyle=ลักษณะของสัญลักษณ์แสดงหัวข้อย่อย
+SolidCircle=วงกลมทึบ
+OpenCircle=วงกลมเปิด
+SolidSquare=สี่เหลี่ยมทึบ
+NumberStyle=ลักษณะของตัวเลข
+Automatic=อัตโนมัติ
+Style_1=1, 2, 3…
+Style_I=I, II, III…
+Style_i=i, ii, iii…
+Style_A=A, B, C…
+Style_a=a, b, c…
+Pixels=พิกเซล
+Percent=เปอร์เซ็นต์
+PercentOfCell=% ของเซลล์
+PercentOfWindow=% ของหน้าต่าง
+PercentOfTable=% ของตาราง
+#LOCALIZATION NOTE (untitledTitle): %S is the window #. No plural handling needed.
+untitledTitle=ไม่มีชื่อ-%S
+untitledDefaultFilename=ไม่มีชื่อ
+ShowToolbar=แสดงแถบเครื่องมือ
+HideToolbar=ซ่อนแถบเครื่องมือ
+ImapError=ไม่สามารถโหลดภาพ
+ImapCheck=\nโปรดเลือกตำแหน่งที่ตั้ง (URL) ใหม่แล้วลองอีกครั้ง
+SaveToUseRelativeUrl=สามารถใช้ URL แบบย่อบนหน้าที่ได้ถูกบันทึกแล้วเท่านั้น
+NoNamedAnchorsOrHeadings=(ไม่มีจุดยึดที่มีชื่อหรือหัวเรื่องในหน้านี้)
+TextColor=สีข้อความ
+HighlightColor=สีเน้น
+PageColor=สีพื้นหลังหน้า
+BlockColor=สีพื้นหลังบล็อก
+TableColor=สีพื้นหลังตาราง
+CellColor=สีพื้นหลังเซลล์
+TableOrCellColor=สีตารางหรือเซลล์
+LinkColor=สีข้อความลิงก์
+ActiveLinkColor=สีลิงก์ที่ใช้งานอยู่
+VisitedLinkColor=สีลิงก์ที่เยี่ยมชมแล้ว
+NoColorError=คลิกที่สีหรือป้อนสตริงสี HTML ที่ถูกต้อง
+Table=ตาราง
+TableCell=เซลล์ตาราง
+NestedTable=ตารางที่ซ้อนกัน
+HLine=เส้นแนวนอน
+Link=ลิงก์
+Image=ภาพ
+ImageAndLink=ภาพและลิงก์
+NamedAnchor=จุดยึดที่มีชื่อ
+List=รายการ
+ListItem=รายการในรายการ
+Form=แบบฟอร์ม
+InputTag=ช่องกรอกแบบฟอร์ม
+InputImage=ภาพแบบฟอร์ม
+TextArea=พื้นที่ข้อความ
+Select=รายการเลือก
+Button=ปุ่ม
+Label=ป้ายชื่อ
+FieldSet=ชุดช่องกรอก
+Tag=ป้ายกำกับ
+MissingSiteNameError=โปรดป้อนชื่อสำหรับไซต์ที่จะเผยแพร่นี้
+MissingPublishUrlError=โปรดป้อนตำแหน่งที่ตั้งสำหรับการเผยแพร่หน้านี้
+MissingPublishFilename=โปรดป้อนชื่อไฟล์สำหรับหน้าปัจจุบัน
+#LOCALIZATION NOTE (DuplicateSiteNameError): Don't translate %name%
+DuplicateSiteNameError=มี "%name%" อยู่แล้ว โปรดป้อนชื่อไซต์อื่น
+AdvancedProperties=คุณสมบัติขั้นสูง…
+AdvancedEditForCellMsg=การแก้ไขขั้นสูงจะไม่พร้อมใช้งานเมื่อเลือกหลายเซลล์
+# LOCALIZATION NOTE (ObjectProperties):Don't translate "%obj%" it will be replaced with one of above object nouns
+ObjectProperties=คุณสมบัติ %obj%…
+# LOCALIZATION NOTE This character must be in the above string and not conflict with other accesskeys in Format menu
+ObjectPropertiesAccessKey=ค
+# LOCALIZATION NOTE (JoinSelectedCells): This variable should contain the "tableJoinCells.accesskey"
+# letter as defined in editorOverlay.dtd
+JoinSelectedCells=ผสานเซลล์ที่เลือก
+# LOCALIZATION NOTE (JoinCellToRight): This variable should contain the "tableJoinCells.accesskey"
+# letter as defined in editorOverlay.dtd
+JoinCellToRight=ผสานกับเซลล์ทางขวา
+JoinCellAccesskey=ผ
+# LOCALIZATION NOTE (TableSelectKey): Ctrl key on a keyboard
+TableSelectKey=Ctrl+
+# LOCALIZATION NOTE (XulKeyMac): Command key on a Mac keyboard
+XulKeyMac=Cmd+
+# LOCALIZATION NOTE (Del): Del key on a keyboard
+Del=Del
+Delete=ลบ
+DeleteCells=ลบเซลล์
+DeleteTableTitle=ลบแถวหรือคอลัมน์
+DeleteTableMsg=การลดจำนวนแถวหรือคอลัมน์จะเป็นการลบเซลล์ตารางและเนื้อหาที่อยู่ภายใน คุณต้องการดำเนินการนี้หรือไม่?
+Clear=ล้าง
+#Mouse actions
+Click=คลิก
+Drag=ลาก
+Unknown=ไม่ทราบ
+#
+# LOCALIZATION NOTE "RemoveTextStylesAccesskey" is used for both
+# menu items: "RemoveTextStyles" and "StopTextStyles"
+RemoveTextStylesAccesskey=ข
+RemoveTextStyles=เอาลักษณะข้อความทั้งหมดออก
+StopTextStyles=ยกเลิกลักษณะข้อความ
+#
+# LOCALIZATION NOTE "RemoveLinksAccesskey" is used for both
+# menu items: "RemoveLinks" and "StopLinks"
+RemoveLinksAccesskey=ล
+RemoveLinks=เอาลิงก์ออก
+StopLinks=ยกเลิกลิงก์
+#
+NoFormAction=แนะนำให้คุณป้อนการกระทำสำหรับแบบฟอร์มนี้ แบบฟอร์มการโพสต์ด้วยตนเองเป็นเทคนิคขั้นสูงที่อาจไม่ทำงานอย่างสม่ำเสมอในเบราว์เซอร์ทั้งหมด
+NoAltText=หากภาพเกี่ยวข้องกับเนื้อหาของเอกสาร คุณจะต้องระบุข้อความสำรองที่จะปรากฏในเบราว์เซอร์แบบข้อความเท่านั้น และที่จะปรากฏในเบราว์เซอร์อื่นเมื่อภาพโหลดหรือปิดใช้งานการโหลดภาพ
+#
+Malformed=ไม่สามารถแปลงซอร์สเป็นเอกสารได้เนื่องจาก XHTML ไม่ถูกต้อง
+NoLinksToCheck=ไม่มีองค์ประกอบของลิงก์ที่จะตรวจสอบ
diff --git a/l10n-th/editor/ui/chrome/composer/editorOverlay.dtd b/l10n-th/editor/ui/chrome/composer/editorOverlay.dtd
new file mode 100644
index 0000000000..172e0d3c2b
--- /dev/null
+++ b/l10n-th/editor/ui/chrome/composer/editorOverlay.dtd
@@ -0,0 +1,371 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!-- Attn: Localization - some of the menus in this dialog directly affect mail also. -->
+
+<!-- File menu items -->
+<!ENTITY saveCmd.key "S">
+
+<!-- Edit menu items -->
+<!ENTITY pasteNoFormatting.label "วางโดยไม่มีการจัดรูปแบบ">
+<!ENTITY pasteNoFormatting.accesskey "ว">
+<!ENTITY pasteNoFormatting.key "V">
+<!ENTITY pasteAs.label "วางเป็น">
+<!ENTITY pasteAs.accesskey "ง">
+<!ENTITY pasteAsQuotationCmd.label "วางเป็นถ้อยคำอ้างอิง">
+<!ENTITY pasteAsQuotationCmd.accesskey "ป">
+<!ENTITY pasteAsQuotationCmd.key "o">
+<!ENTITY findBarCmd.label "ค้นหา…">
+<!ENTITY findReplaceCmd.label "ค้นหาแล้วแทนที่…">
+<!ENTITY enableInlineSpellChecker.label "ตรวจสอบการสะกดคำเมื่อคุณพิมพ์">
+<!ENTITY enableInlineSpellChecker.accesskey "ต">
+<!ENTITY checkSpellingCmd2.label "ตรวจสอบการสะกดคำ…">
+<!ENTITY checkSpellingCmd2.accesskey "ร">
+<!ENTITY checkSpellingCmd2.key "p">
+
+<!-- Insert menu items -->
+<!ENTITY insertMenu.label "แทรก">
+<!ENTITY insertMenu.accesskey "ท">
+<!ENTITY insertLinkCmd2.label "ลิงก์…">
+<!ENTITY insertLinkCmd2.accesskey "ล">
+<!ENTITY insertLinkCmd2.key "K">
+<!ENTITY insertAnchorCmd.label "จุดยึดที่มีชื่อ…">
+<!ENTITY insertAnchorCmd.accesskey "จ">
+<!ENTITY insertImageCmd.label "ภาพ…">
+<!ENTITY insertImageCmd.accesskey "ภ">
+<!ENTITY insertHLineCmd.label "เส้นแนวนอน">
+<!ENTITY insertHLineCmd.accesskey "ส">
+<!ENTITY insertTableCmd.label "ตาราง…">
+<!ENTITY insertTableCmd.accesskey "ต">
+<!ENTITY insertHTMLCmd.label "HTML…">
+<!ENTITY insertHTMLCmd.accesskey "H">
+<!ENTITY insertMathCmd.label "คณิตศาสตร์…">
+<!ENTITY insertMathCmd.accesskey "ค">
+<!ENTITY insertCharsCmd.label "อักขระและสัญลักษณ์…">
+<!ENTITY insertCharsCmd.accesskey "อ">
+<!ENTITY insertBreakAllCmd.label "แบ่งภาพที่อยู่ด้านล่าง">
+<!ENTITY insertBreakAllCmd.accesskey "แ">
+
+<!-- Used just in context popup. -->
+<!ENTITY createLinkCmd.label "สร้างลิงก์…">
+<!ENTITY createLinkCmd.accesskey "ส">
+<!ENTITY editLinkCmd.label "แก้ไขลิงก์ในตัวเขียนใหม่">
+<!ENTITY editLinkCmd.accesskey "ก">
+
+<!-- Font Face SubMenu -->
+<!ENTITY FontFaceSelect.title "แบบอักษร">
+<!ENTITY FontFaceSelect.tooltip "เลือกแบบอักษร">
+<!ENTITY fontfaceMenu.label "แบบอักษร">
+<!ENTITY fontfaceMenu.accesskey "บ">
+<!ENTITY fontVarWidth.label "ความกว้างแปรผัน">
+<!ENTITY fontVarWidth.accesskey "ค">
+<!ENTITY fontFixedWidth.label "ความกว้างคงที่">
+<!ENTITY fontFixedWidth.accesskey "ว">
+<!ENTITY fontFixedWidth.key "T">
+<!ENTITY fontHelvetica.label "Helvetica, Arial">
+<!ENTITY fontHelvetica.accesskey "l">
+<!ENTITY fontTimes.label "Times">
+<!ENTITY fontTimes.accesskey "T">
+<!ENTITY fontCourier.label "Courier">
+<!ENTITY fontCourier.accesskey "C">
+
+<!-- Font Size SubMenu -->
+<!ENTITY FontSizeSelect.title "ขนาดแบบอักษร">
+<!ENTITY FontSizeSelect.tooltip "เลือกขนาดแบบอักษร">
+<!ENTITY decreaseFontSize.label "เล็กลง">
+<!ENTITY decreaseFontSize.accesskey "ล">
+<!ENTITY decrementFontSize.key "&lt;">
+<!ENTITY decrementFontSize.key2 ","> <!-- < is above this key on many keyboards -->
+<!ENTITY increaseFontSize.label "ใหญ่ขึ้น">
+<!ENTITY increaseFontSize.accesskey "ห">
+<!ENTITY incrementFontSize.key "&gt;">
+<!ENTITY incrementFontSize.key2 "."> <!-- > is above this key on many keyboards -->
+
+<!ENTITY fontSizeMenu.label "ขนาด">
+<!ENTITY fontSizeMenu.accesskey "ข">
+<!ENTITY size-tinyCmd.label "เล็กมาก">
+<!ENTITY size-tinyCmd.accesskey "ล">
+<!ENTITY size-smallCmd.label "เล็ก">
+<!ENTITY size-smallCmd.accesskey "ก">
+<!ENTITY size-mediumCmd.label "ปานกลาง">
+<!ENTITY size-mediumCmd.accesskey "ป">
+<!ENTITY size-largeCmd.label "ใหญ่">
+<!ENTITY size-largeCmd.accesskey "ห">
+<!ENTITY size-extraLargeCmd.label "ใหญ่มาก">
+<!ENTITY size-extraLargeCmd.accesskey "ม">
+<!ENTITY size-hugeCmd.label "มหึมา">
+<!ENTITY size-hugeCmd.accesskey "ห">
+
+<!-- Font Style SubMenu -->
+<!ENTITY fontStyleMenu.label "ลักษณะข้อความ">
+<!ENTITY fontStyleMenu.accesskey "ก">
+<!ENTITY styleBoldCmd.label "ตัวหนา">
+<!ENTITY styleBoldCmd.accesskey "ต">
+<!ENTITY styleBoldCmd.key "B">
+<!ENTITY styleItalicCmd.label "ตัวเอียง">
+<!ENTITY styleItalicCmd.accesskey "ว">
+<!ENTITY styleItalicCmd.key "I">
+<!ENTITY styleUnderlineCmd.label "ขีดเส้นใต้">
+<!ENTITY styleUnderlineCmd.accesskey "ข">
+<!ENTITY styleUnderlineCmd.key "U">
+<!ENTITY styleStrikeThruCmd.label "ขีดทับ">
+<!ENTITY styleStrikeThruCmd.accesskey "ท">
+<!ENTITY styleSuperscriptCmd.label "ตัวยก">
+<!ENTITY styleSuperscriptCmd.accesskey "ย">
+<!ENTITY styleSubscriptCmd.label "ตัวห้อย">
+<!ENTITY styleSubscriptCmd.accesskey "ห">
+<!ENTITY styleNonbreakingCmd.label "ช่องว่างแบบไม่แบ่งบรรทัด">
+<!ENTITY styleNonbreakingCmd.accesskey "ม">
+<!ENTITY styleEm.label "ตัวเน้น">
+<!ENTITY styleEm.accesskey "น">
+<!ENTITY styleStrong.label "ตัวเน้นแบบเข้ม">
+<!ENTITY styleStrong.accesskey "ต">
+<!ENTITY styleCite.label "การกล่าวถึง">
+<!ENTITY styleCite.accesskey "ก">
+<!ENTITY styleAbbr.label "ตัวย่อ">
+<!ENTITY styleAbbr.accesskey "ว">
+<!ENTITY styleAcronym.label "อักษรย่อ">
+<!ENTITY styleAcronym.accesskey "อ">
+<!ENTITY styleCode.label "โค้ด">
+<!ENTITY styleCode.accesskey "ค">
+<!ENTITY styleSamp.label "ส่งออกตัวอย่าง">
+<!ENTITY styleSamp.accesskey "ส">
+<!ENTITY styleVar.label "ตัวแปร">
+<!ENTITY styleVar.accesskey "ป">
+
+<!ENTITY formatFontColor.label "สีข้อความ…">
+<!ENTITY formatFontColor.accesskey "ส">
+<!ENTITY tableOrCellColor.label "สีพื้นหลังของตารางหรือเซลล์…">
+<!ENTITY tableOrCellColor.accesskey "พ">
+
+<!ENTITY formatRemoveStyles.key "Y">
+<!ENTITY formatRemoveLinks.key "K">
+<!ENTITY formatRemoveNamedAnchors.label "เอาจุดยึดที่มีชื่อออก">
+<!ENTITY formatRemoveNamedAnchors.accesskey "อ">
+<!ENTITY formatRemoveNamedAnchors2.key "R">
+
+<!ENTITY paragraphMenu.label "ย่อหน้า">
+<!ENTITY paragraphMenu.accesskey "ย">
+<!ENTITY paragraphParagraphCmd.label "ย่อหน้า">
+<!ENTITY paragraphParagraphCmd.accesskey "ย">
+<!ENTITY heading1Cmd.label "หัวเรื่อง 1">
+<!ENTITY heading1Cmd.accesskey "1">
+<!ENTITY heading2Cmd.label "หัวเรื่อง 2">
+<!ENTITY heading2Cmd.accesskey "2">
+<!ENTITY heading3Cmd.label "หัวเรื่อง 3">
+<!ENTITY heading3Cmd.accesskey "3">
+<!ENTITY heading4Cmd.label "หัวเรื่อง 4">
+<!ENTITY heading4Cmd.accesskey "4">
+<!ENTITY heading5Cmd.label "หัวเรื่อง 5">
+<!ENTITY heading5Cmd.accesskey "5">
+<!ENTITY heading6Cmd.label "หัวเรื่อง 6">
+<!ENTITY heading6Cmd.accesskey "6">
+<!ENTITY paragraphAddressCmd.label "ที่อยู่">
+<!ENTITY paragraphAddressCmd.accesskey "ท">
+<!ENTITY paragraphPreformatCmd.label "ย่อหน้าที่จัดรูปแบบไว้ล่วงหน้า">
+<!ENTITY paragraphPreformatCmd.accesskey "ย">
+
+<!-- List menu items -->
+<!ENTITY formatlistMenu.label "รายการ">
+<!ENTITY formatlistMenu.accesskey "ร">
+<!ENTITY noneCmd.label "ไม่มี">
+<!ENTITY noneCmd.accesskey "ม">
+<!ENTITY listBulletCmd.label "มีสัญลักษณ์แสดงหัวข้อย่อย">
+<!ENTITY listBulletCmd.accesskey "ส">
+<!ENTITY listNumberedCmd.label "มีลำดับเลข">
+<!ENTITY listNumberedCmd.accesskey "ล">
+<!ENTITY listTermCmd.label "คำ">
+<!ENTITY listTermCmd.accesskey "ค">
+<!ENTITY listDefinitionCmd.label "นิยาม">
+<!ENTITY listDefinitionCmd.accesskey "น">
+<!ENTITY listPropsCmd.label "คุณสมบัติรายการ…">
+<!ENTITY listPropsCmd.accesskey "ค">
+
+<!ENTITY ParagraphSelect.title "ย่อหน้า">
+<!ENTITY ParagraphSelect.tooltip "เลือกรูปแบบย่อหน้า">
+<!-- Shared in Paragraph, and Toolbar menulist -->
+<!ENTITY bodyTextCmd.label "เนื้อความ">
+<!ENTITY bodyTextCmd.accesskey "น">
+<!-- isn't used in menu now, but may be added in future -->
+<!ENTITY advancedPropertiesCmd.label "คุณสมบัติขั้นสูง">
+<!ENTITY advancedPropertiesCmd.accesskey "ค">
+
+<!-- Align menu items -->
+<!ENTITY alignMenu.label "จัดชิดแนว">
+<!ENTITY alignMenu.accesskey "จ">
+<!ENTITY alignLeft.label "ซ้าย">
+<!ENTITY alignLeft.accesskey "ซ">
+<!ENTITY alignLeft.tooltip "จัดชิดแนวซ้าย">
+<!ENTITY alignCenter.label "กึ่งกลาง">
+<!ENTITY alignCenter.accesskey "ง">
+<!ENTITY alignCenter.tooltip "จัดชิดแนวกลาง">
+<!ENTITY alignRight.label "ขวา">
+<!ENTITY alignRight.accesskey "ข">
+<!ENTITY alignRight.tooltip "จัดชิดแนวขวา">
+<!ENTITY alignJustify.label "เต็มแนว">
+<!ENTITY alignJustify.accesskey "ต">
+<!ENTITY alignJustify.tooltip "จัดเต็มแนว">
+
+<!-- Layer toolbar items -->
+<!ENTITY absolutePosition.label "การวางตำแหน่ง">
+<!ENTITY layer.tooltip "เลเยอร์">
+<!ENTITY decreaseZIndex.label "ส่งไปข้างหลัง">
+<!ENTITY layerSendToBack.tooltip "ส่งไปข้างหลัง">
+<!ENTITY increaseZIndex.label "นำมาข้างหน้า">
+<!ENTITY layerBringToFront.tooltip "นำมาข้างหน้า">
+
+<!ENTITY increaseIndent.label "เพิ่มการเยื้อง">
+<!ENTITY increaseIndent.accesskey "พ">
+<!ENTITY increaseIndent.key "]">
+<!ENTITY decreaseIndent.label "ลดการเยื้อง">
+<!ENTITY decreaseIndent.accesskey "ล">
+<!ENTITY decreaseIndent.key "[">
+
+<!ENTITY colorsAndBackground.label "สีและพื้นหลังของหน้า…">
+<!ENTITY colorsAndBackground.accesskey "ส">
+
+<!-- Table Menu -->
+<!ENTITY tableMenu.label "ตาราง">
+<!ENTITY tableMenu.accesskey "ต">
+
+<!-- Select Submenu -->
+<!ENTITY tableSelectMenu.label "เลือก">
+<!ENTITY tableSelectMenu.accesskey "เ">
+
+<!ENTITY tableSelectMenu2.label "เลือกตาราง">
+<!ENTITY tableSelectMenu2.accesskey "เ">
+<!ENTITY tableInsertMenu2.label "แทรกตาราง">
+<!ENTITY tableInsertMenu2.accesskey "ท">
+<!ENTITY tableDeleteMenu2.label "ลบตาราง">
+<!ENTITY tableDeleteMenu2.accesskey "บ">
+
+<!-- Insert SubMenu -->
+<!ENTITY tableInsertMenu.label "แทรก">
+<!ENTITY tableInsertMenu.accesskey "ท">
+<!ENTITY tableTable.label "ตาราง">
+<!ENTITY tableTable.accesskey "ต">
+<!ENTITY tableRow.label "แถว">
+<!ENTITY tableRows.label "แถว">
+<!ENTITY tableRow.accesskey "ถ">
+<!ENTITY tableRowAbove.label "แถวจากด้านบน">
+<!ENTITY tableRowAbove.accesskey "บ">
+<!ENTITY tableRowBelow.label "แถวจากด้านล่าง">
+<!ENTITY tableRowBelow.accesskey "ล">
+<!ENTITY tableColumn.label "คอลัมน์">
+<!ENTITY tableColumns.label "คอลัมน์">
+<!ENTITY tableColumn.accesskey "ค">
+<!ENTITY tableColumnBefore.label "คอลัมน์จากด้านซ้าย">
+<!ENTITY tableColumnBefore.accesskey "ซ">
+<!ENTITY tableColumnAfter.label "คอลัมน์จากด้านขวา">
+<!ENTITY tableColumnAfter.accesskey "ข">
+<!ENTITY tableCell.label "เซลล์">
+<!ENTITY tableCells.label "เซลล์">
+<!ENTITY tableCell.accesskey "ซ">
+<!ENTITY tableCellContents.label "เนื้อหาเซลล์">
+<!ENTITY tableCellContents.accesskey "น">
+<!ENTITY tableAllCells.label "เซลล์ทั้งหมด">
+<!ENTITY tableAllCells.accesskey "ท">
+<!ENTITY tableCellBefore.label "เซลล์จากด้านซ้าย">
+<!ENTITY tableCellBefore.accesskey "ซ">
+<!ENTITY tableCellAfter.label "เซลล์จากด้านขวา">
+<!ENTITY tableCellAfter.accesskey "ข">
+<!-- Delete SubMenu -->
+<!ENTITY tableDeleteMenu.label "ลบ">
+<!ENTITY tableDeleteMenu.accesskey "ล">
+
+<!-- text for "Join Cells" is in editor.properties
+ ("JoinSelectedCells" and "JoinCellToRight")
+ the access key must exist in both of those strings
+ But value must be set here for accesskey to draw properly
+-->
+<!ENTITY tableJoinCells.label "ผ">
+<!ENTITY tableJoinCells.accesskey "ผ">
+<!ENTITY tableSplitCell.label "แยกเซลล์">
+<!ENTITY tableSplitCell.accesskey "ย">
+<!ENTITY convertToTable.label "สร้างตารางจากส่วนที่เลือก">
+<!ENTITY convertToTable.accesskey "ส">
+<!ENTITY tableProperties.label "คุณสมบัติตาราง…">
+<!ENTITY tableProperties.accesskey "ค">
+
+<!-- Toolbar-only items -->
+<!ENTITY menuBar.tooltip "แถบเมนู">
+<!ENTITY formatToolbar.tooltip "แถบเครื่องมือการจัดรูปแบบ">
+<!ENTITY cutToolbarCmd.tooltip "ตัด">
+<!ENTITY copyToolbarCmd.tooltip "คัดลอก">
+<!ENTITY pasteToolbarCmd.tooltip "วาง">
+<!ENTITY printToolbarCmd.label "พิมพ์">
+<!ENTITY printToolbarCmd.tooltip "พิมพ์หน้านี้">
+<!ENTITY findToolbarCmd.label "ค้นหา">
+<!ENTITY findToolbarCmd.tooltip "ค้นหาข้อความในหน้า">
+<!ENTITY spellToolbarCmd.label "การสะกด">
+<!ENTITY spellToolbarCmd.tooltip "ตรวจสอบการสะกดของส่วนที่เลือกหรือทั้งหน้า">
+<!ENTITY imageToolbarCmd.label "ภาพ">
+<!ENTITY imageToolbarCmd.tooltip "แทรกภาพใหม่หรือแก้ไขคุณสมบัติของภาพที่เลือก">
+<!ENTITY hruleToolbarCmd.label "เส้นแนวนอน">
+<!ENTITY hruleToolbarCmd.tooltip "แทรกเส้นแนวนอนใหม่หรือแก้ไขคุณสมบัติของเส้นที่เลือก">
+<!ENTITY tableToolbarCmd.label "ตาราง">
+<!ENTITY tableToolbarCmd.tooltip "แทรกตารางใหม่หรือแก้ไขคุณสมบัติของตารางที่เลือก">
+<!ENTITY linkToolbarCmd.label "ลิงก์">
+<!ENTITY linkToolbarCmd.tooltip "แทรกลิงก์ใหม่หรือแก้ไขคุณสมบัติของลิงก์ที่เลือก">
+<!ENTITY anchorToolbarCmd.label "จุดยึด">
+<!ENTITY anchorToolbarCmd.tooltip "แทรกจุดยึดที่มีชื่อใหม่หรือแก้ไขคุณสมบัติของจุดยึดที่เลือก">
+<!ENTITY colorButtons.title "สี">
+<!ENTITY TextColorButton.tooltip "เลือกสีสำหรับข้อความ">
+<!ENTITY BackgroundColorButton.tooltip "เลือกสีสำหรับพื้นหลัง">
+<!ENTITY throbber.tooltip "ไปยังหน้าแรกของ &vendorShortName;">
+<!ENTITY throbber.tooltip2 "ไปยังหน้าแรกของ &brandShortName;">
+<!ENTITY HighlightColorButton.label "ปากกาเน้นข้อความ">
+<!ENTITY HighlightColorButton.tooltip "เลือกสีเน้นสำหรับข้อความ">
+
+<!-- Editor toolbar -->
+<!ENTITY absoluteFontSize.label "ขนาดแบบอักษร">
+<!ENTITY absoluteFontSizeToolbarCmd.tooltip "ตั้งขนาดแบบอักษร">
+<!ENTITY smaller.label "เล็กลง">
+<!ENTITY decreaseFontSizeToolbarCmd.tooltip "ขนาดแบบอักษรเล็กลง">
+<!ENTITY larger.label "ใหญ่ขึ้น">
+<!ENTITY increaseFontSizeToolbarCmd.tooltip "ขนาดแบบอักษรใหญ่ขึ้น">
+<!ENTITY bold.label "ตัวหนา">
+<!ENTITY boldToolbarCmd.tooltip "ตัวหนา">
+<!ENTITY italic.label "ตัวเอียง">
+<!ENTITY italicToolbarCmd.tooltip "ตัวเอียง">
+<!ENTITY underline.label "ขีดเส้นใต้">
+<!ENTITY underlineToolbarCmd.tooltip "ขีดเส้นใต้">
+<!ENTITY bullets.label "สัญลักษณ์แสดงหัวข้อย่อย">
+<!ENTITY bulletListToolbarCmd.tooltip "นำไปใช้หรือเอารายการที่มีสัญลักษณ์แสดงหัวข้อย่อยออก">
+<!ENTITY numbers.label "ตัวเลข">
+<!ENTITY numberListToolbarCmd.tooltip "นำไปใช้หรือเอารายการที่มีลำดับเลขออก">
+<!ENTITY outdent.label "เยื้องออก">
+<!ENTITY outdentToolbarCmd.tooltip "เยื้องข้อความออก (ย้ายไปทางซ้าย)">
+<!ENTITY indent.label "เยื้องเข้า">
+<!ENTITY indentToolbarCmd.tooltip "เยื้องข้อความเข้า (ย้ายไปทางขวา)">
+<!ENTITY AlignPopupButton.label "การจัดชิดแนว">
+<!ENTITY AlignPopupButton.tooltip "เลือกการจัดข้อความชิดแนว">
+<!ENTITY InsertPopupButton.label "แทรก">
+<!ENTITY InsertPopupButton.tooltip "แทรกลิงก์, จุดยึด, ภาพ, เส้นแนวนอน, หรือตาราง">
+<!ENTITY alignLeftButton.label "จัดชิดแนวซ้าย">
+<!ENTITY alignLeftButton.tooltip "จัดข้อความชิดขอบซ้าย">
+<!ENTITY alignCenterButton.label "จัดชิดแนวกลาง">
+<!ENTITY alignCenterButton.tooltip "จัดข้อความอยู่กึ่งกลาง">
+<!ENTITY alignRightButton.label "จัดชิดแนวขวา">
+<!ENTITY alignRightButton.tooltip "จัดข้อความชิดขอบขวา">
+<!ENTITY alignJustifyButton.label "จัดเต็มแนว">
+<!ENTITY alignJustifyButton.tooltip "จัดข้อความชิดขอบซ้ายและขวา">
+
+<!-- Structure Toolbar Context Menu items -->
+<!ENTITY structSelect.label "เลือก">
+<!ENTITY structSelect.accesskey "ล">
+<!ENTITY structRemoveTag.label "เอาป้ายกำกับออก">
+<!ENTITY structRemoveTag.accesskey "อ">
+<!ENTITY structChangeTag.label "เปลี่ยนป้ายกำกับ">
+<!ENTITY structChangeTag.accesskey "ป">
+
+<!-- TOC manipulation -->
+<!ENTITY insertTOC.label "แทรก">
+<!ENTITY insertTOC.accesskey "ท">
+<!ENTITY updateTOC.label "อัปเดต">
+<!ENTITY updateTOC.accesskey "เ">
+<!ENTITY removeTOC.label "เอาออก">
+<!ENTITY removeTOC.accesskey "า">
+<!ENTITY tocMenu.label "สารบัญ…">
+<!ENTITY tocMenu.accesskey "ส">
diff --git a/l10n-th/editor/ui/chrome/composer/editorPrefsOverlay.dtd b/l10n-th/editor/ui/chrome/composer/editorPrefsOverlay.dtd
new file mode 100644
index 0000000000..db871e3cf5
--- /dev/null
+++ b/l10n-th/editor/ui/chrome/composer/editorPrefsOverlay.dtd
@@ -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/. -->
+
+
+<!--LOCALIZATION NOTE (editorCheck.label): DONT_TRANSLATE -->
+<!ENTITY editorCheck.label "Composer">
+<!ENTITY editorCheck.accesskey "ต">
+
+<!ENTITY compose.label "ตัวเขียน">
+<!ENTITY editing.label "การตั้งค่าหน้าใหม่">
+<!ENTITY toolbars.label "แถบเครื่องมือ">
+<!ENTITY publish.label "การเผยแพร่">
diff --git a/l10n-th/editor/ui/chrome/composer/editorSmileyOverlay.dtd b/l10n-th/editor/ui/chrome/composer/editorSmileyOverlay.dtd
new file mode 100644
index 0000000000..8f149f64b0
--- /dev/null
+++ b/l10n-th/editor/ui/chrome/composer/editorSmileyOverlay.dtd
@@ -0,0 +1,58 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!-- Smiley Menu items -->
+<!ENTITY insertSmiley.label "สัญลักษณ์หน้ายิ้ม">
+<!ENTITY insertSmiley.accesskey "ย">
+
+<!ENTITY smiley1Cmd.label "หน้ายิ้ม">
+<!ENTITY smiley1Cmd.accesskey "ย">
+<!ENTITY smiley1Cmd.tooltip "แทรกหน้ายิ้ม">
+<!ENTITY smiley2Cmd.label "หน้าขมวดคิ้ว">
+<!ENTITY smiley2Cmd.accesskey "ข">
+<!ENTITY smiley2Cmd.tooltip "แทรกหน้าขมวดคิ้ว">
+<!ENTITY smiley3Cmd.label "หน้าขยิบตา">
+<!ENTITY smiley3Cmd.accesskey "บ">
+<!ENTITY smiley3Cmd.tooltip "แทรกหน้าขยิบตา">
+<!ENTITY smiley4Cmd.label "หน้าแลบลิ้น">
+<!ENTITY smiley4Cmd.accesskey "ล">
+<!ENTITY smiley4Cmd.tooltip "แทรกหน้าแลบลิ้น">
+<!ENTITY smiley5Cmd.label "หน้าหัวเราะ">
+<!ENTITY smiley5Cmd.accesskey "ห">
+<!ENTITY smiley5Cmd.tooltip "แทรกหน้าหัวเราะ">
+<!ENTITY smiley6Cmd.label "หน้ายิ้มเขิน">
+<!ENTITY smiley6Cmd.accesskey "ม">
+<!ENTITY smiley6Cmd.tooltip "แทรกหน้ายิ้มเขิน">
+<!ENTITY smiley7Cmd.label "หน้าลังเล">
+<!ENTITY smiley7Cmd.accesskey "ง">
+<!ENTITY smiley7Cmd.tooltip "แทรกหน้าลังเล">
+<!ENTITY smiley8Cmd.label "หน้าประหลาดใจ">
+<!ENTITY smiley8Cmd.accesskey "ป">
+<!ENTITY smiley8Cmd.tooltip "แทรกหน้าประหลาดใจ">
+<!ENTITY smiley9Cmd.label "หน้าจูบ">
+<!ENTITY smiley9Cmd.accesskey "จ">
+<!ENTITY smiley9Cmd.tooltip "แทรกหน้าจูบ">
+<!ENTITY smiley10Cmd.label "หน้าตะโกน">
+<!ENTITY smiley10Cmd.accesskey "ต">
+<!ENTITY smiley10Cmd.tooltip "แทรกหน้าตะโกน">
+<!ENTITY smiley11Cmd.label "หน้าเท่">
+<!ENTITY smiley11Cmd.accesskey "ท">
+<!ENTITY smiley11Cmd.tooltip "แทรกหน้าเท่">
+<!ENTITY smiley12Cmd.label "หน้ามีปากรูปเงิน">
+<!ENTITY smiley12Cmd.accesskey "า">
+<!ENTITY smiley12Cmd.tooltip "แทรกหน้ามีปากรูปเงิน">
+<!ENTITY smiley13Cmd.label "หน้าพลั้งปาก">
+<!ENTITY smiley13Cmd.accesskey "พ">
+<!ENTITY smiley13Cmd.tooltip "แทรกหน้าพลั้งปาก">
+<!ENTITY smiley14Cmd.label "หน้าบริสุทธิ์">
+<!ENTITY smiley14Cmd.accesskey "บ">
+<!ENTITY smiley14Cmd.tooltip "แทรกหน้าบริสุทธิ์">
+<!ENTITY smiley15Cmd.label "หน้าร้องไห้">
+<!ENTITY smiley15Cmd.accesskey "ร">
+<!ENTITY smiley15Cmd.tooltip "แทรกหน้าร้องไห้">
+<!ENTITY smiley16Cmd.label "หน้าปิดปากสนิท">
+<!ENTITY smiley16Cmd.accesskey "ด">
+<!ENTITY smiley16Cmd.tooltip "แทรกหน้าปิดปากสนิท">
+<!ENTITY SmileButton.label "แทรกสัญลักษณ์หน้ายิ้ม">
+<!ENTITY SmileButton.tooltip "แทรกหน้ายิ้ม">
diff --git a/l10n-th/editor/ui/chrome/composer/pref-composer.dtd b/l10n-th/editor/ui/chrome/composer/pref-composer.dtd
new file mode 100644
index 0000000000..ba1609ddc5
--- /dev/null
+++ b/l10n-th/editor/ui/chrome/composer/pref-composer.dtd
@@ -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/. -->
+
+<!-- extracted from content/pref-composer.xul -->
+
+<!--LOCALIZATION NOTE : FILE 'Composer' prefs dialog. Similar to Communcator 4.x Document Properties/Colors and Background -->
+
+<!--LOCALIZATION NOTE (pref.composer.title): DONT_TRANSLATE -->
+<!ENTITY pref.composer.title "Composer">
+<!ENTITY recentFiles.title "เมนูหน้าล่าสุด">
+<!ENTITY documentsInMenu.label "จำนวนหน้าสูงสุดที่จะแสดงในรายการ:">
+<!ENTITY documentsInMenu.accesskey "จ">
+<!ENTITY savingFiles.title "เมื่อบันทึกหรือเผยแพร่หน้า">
+<!ENTITY preserveExisting.label "รักษาการจัดรูปแบบดั้งเดิม">
+<!ENTITY preserveExisting.accesskey "ร">
+<!ENTITY preserveExisting.tooltip "รักษาการแบ่งบรรทัดและการจัดรูปแบบดั้งเดิมของหน้า">
+<!ENTITY saveAssociatedFiles.label "บันทึกภาพและไฟล์ที่เชื่อมโยงกันอื่นๆ เมื่อบันทึกหน้า">
+<!ENTITY saveAssociatedFiles.accesskey "บ">
+<!ENTITY showPublishDialog.label "แสดงกล่องโต้ตอบ เผยแพร่ เมื่อเผยแพร่หน้าเสมอ">
+<!ENTITY showPublishDialog.accesskey "ส">
+<!ENTITY composerEditing.label "การแก้ไข">
+<!ENTITY maintainStructure.label "รักษาเค้าโครงตารางเมื่อแทรกหรือลบเซลล์">
+<!ENTITY maintainStructure.tooltip "รักษารูปทรงสี่เหลี่ยมของตารางโดยเพิ่มเซลล์โดยอัตโนมัติหลังจากแทรกหรือลบเซลล์">
+<!ENTITY maintainStructure.accesskey "ก">
+<!ENTITY useCSS.label "ใช้ลักษณะ CSS แทนองค์ประกอบและแอตทริบิวต์ HTML">
+<!ENTITY useCSS.accesskey "ช">
+<!ENTITY crInPCreatesNewP.label "ขึ้นย่อหน้าใหม่เมื่อขึ้นบรรทัดใหม่เสมอ">
+<!ENTITY crInPCreatesNewP.accesskey "ข">
diff --git a/l10n-th/editor/ui/chrome/composer/pref-editing.dtd b/l10n-th/editor/ui/chrome/composer/pref-editing.dtd
new file mode 100644
index 0000000000..fe7e622bb4
--- /dev/null
+++ b/l10n-th/editor/ui/chrome/composer/pref-editing.dtd
@@ -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/. -->
+
+<!ENTITY pref.editing.title "การตั้งค่าหน้าใหม่">
+
+<!ENTITY authorName.label "ผู้สร้าง:">
+<!ENTITY authorName.accesskey "ผ">
+<!ENTITY pageColorHeader "ลักษณะที่ปรากฏของหน้าเริ่มต้น">
+
+<!ENTITY defaultColors.label "สีเริ่มต้นของตัวอ่าน (ไม่ตั้งค่าสีในหน้า)">
+<!ENTITY defaultColors.accesskey "ร">
+<!ENTITY customColors.label "ใช้สีที่กำหนดเอง:">
+<!ENTITY customColors.accesskey "ช">
+
+<!ENTITY normalText.label "ข้อความปกติ">
+<!ENTITY normalText.accesskey "ข">
+<!ENTITY linkText.label "ข้อความลิงก์">
+<!ENTITY linkText.accesskey "อ">
+<!ENTITY activeLinkText.label "ข้อความลิงก์ที่ใช้งานอยู่">
+<!ENTITY activeLinkText.accesskey "ค">
+<!ENTITY visitedLinkText.label "ข้อความลิงก์ที่เยี่ยมชมแล้ว">
+<!ENTITY visitedLinkText.accesskey "ว">
+<!ENTITY background.label "พื้นหลัง:">
+<!ENTITY background.accesskey "พ">
+<!ENTITY colon.character ":">
+
+<!ENTITY backgroundImage.label "ภาพพื้นหลัง:">
+<!ENTITY backgroundImage.accesskey "ภ">
+<!ENTITY chooseFile.label "เลือกไฟล์…">
+<!ENTITY chooseFile.accesskey "ล">
diff --git a/l10n-th/editor/ui/chrome/dialogs/EdAdvancedEdit.dtd b/l10n-th/editor/ui/chrome/dialogs/EdAdvancedEdit.dtd
new file mode 100644
index 0000000000..62c46b8498
--- /dev/null
+++ b/l10n-th/editor/ui/chrome/dialogs/EdAdvancedEdit.dtd
@@ -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/. -->
+
+<!ENTITY WindowTitle.label "ตัวแก้ไขคุณสมบัติขั้นสูง">
+<!ENTITY AttName.label "แอตทริบิวต์: ">
+<!ENTITY AttValue.label "ค่า: ">
+<!ENTITY PropertyName.label "คุณสมบัติ: ">
+<!ENTITY currentattributesfor.label "แอตทริบิวต์ปัจจุบันสำหรับ: ">
+<!ENTITY tree.attributeHeader.label "แอตทริบิวต์">
+<!ENTITY tree.propertyHeader.label "คุณสมบัติ">
+<!ENTITY tree.valueHeader.label "ค่า">
+<!ENTITY tabHTML.label "แอตทริบิวต์ HTML">
+<!ENTITY tabCSS.label "ลักษณะแบบอินไลน์">
+<!ENTITY tabJSE.label "เหตุการณ์ JavaScript">
+
+<!ENTITY editAttribute.label "คลิกที่รายการด้านบนเพื่อแก้ไขค่า">
+<!ENTITY removeAttribute.label "เอาออก">
diff --git a/l10n-th/editor/ui/chrome/dialogs/EdColorPicker.dtd b/l10n-th/editor/ui/chrome/dialogs/EdColorPicker.dtd
new file mode 100644
index 0000000000..fb1d10a0d9
--- /dev/null
+++ b/l10n-th/editor/ui/chrome/dialogs/EdColorPicker.dtd
@@ -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/. -->
+
+<!ENTITY windowTitle.label "สี">
+<!ENTITY lastPickedColor.label "สีที่เลือกล่าสุด">
+<!ENTITY lastPickedColor.accessKey "ส">
+<!ENTITY chooseColor1.label "เลือกสี:">
+<!ENTITY chooseColor2.label "ป้อนสตริงสี HTML">
+<!ENTITY chooseColor2.accessKey "ป">
+<!ENTITY setColorExample.label "(เช่น: &quot;#0000ff&quot; หรือ &quot;blue&quot;):">
+<!ENTITY default.label "ค่าเริ่มต้น">
+<!ENTITY default.accessKey "ค">
+<!ENTITY palette.label "ชุดแบบสี:">
+<!ENTITY standardPalette.label "มาตรฐาน">
+<!ENTITY webPalette.label "สีเว็บทั้งหมด">
+<!ENTITY background.label "พื้นหลังสำหรับ:">
+<!ENTITY background.accessKey "พ">
+<!ENTITY table.label "ตาราง">
+<!ENTITY table.accessKey "ต">
+<!ENTITY cell.label "เซลล์">
+<!ENTITY cell.accessKey "ซ">
diff --git a/l10n-th/editor/ui/chrome/dialogs/EdConvertToTable.dtd b/l10n-th/editor/ui/chrome/dialogs/EdConvertToTable.dtd
new file mode 100644
index 0000000000..23ea3f3791
--- /dev/null
+++ b/l10n-th/editor/ui/chrome/dialogs/EdConvertToTable.dtd
@@ -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/. -->
+
+
+<!-- Window title -->
+<!ENTITY windowTitle.label "แปลงเป็นตาราง">
+<!ENTITY instructions1.label "ตัวเขียนจะสร้างแถวตารางใหม่สำหรับแต่ละย่อหน้าในส่วนที่เลือก">
+<!ENTITY instructions2.label "เลือกอักขระที่จะใช้คั่นส่วนที่เลือกเป็นคอลัมน์:">
+<!ENTITY commaRadio.label "จุลภาค">
+<!ENTITY spaceRadio.label "ช่องว่าง">
+<!ENTITY otherRadio.label "อักขระอื่น:">
+<!ENTITY deleteCharCheck.label "ลบอักขระคั่น">
+<!ENTITY collapseSpaces.label "เพิกเฉยช่องว่างเพิ่มเติม">
+<!ENTITY collapseSpaces.tooltip "แปลงช่องว่างที่อยู่ติดกันเป็นตัวคั่น">
diff --git a/l10n-th/editor/ui/chrome/dialogs/EdDialogOverlay.dtd b/l10n-th/editor/ui/chrome/dialogs/EdDialogOverlay.dtd
new file mode 100644
index 0000000000..901ec1182f
--- /dev/null
+++ b/l10n-th/editor/ui/chrome/dialogs/EdDialogOverlay.dtd
@@ -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/. -->
+
+<!ENTITY AdvancedEditButton.label "การแก้ไขขั้นสูง…">
+<!ENTITY AdvancedEditButton.accessKey "ก">
+<!ENTITY AdvancedEditButton.tooltip "เพิ่มหรือเปลี่ยนแปลงแอตทริบิวต์ HTML, แอตทริบิวต์ลักษณะ และ JavaScript">
+<!ENTITY chooseFileButton.label "เลือกไฟล์...">
+<!ENTITY chooseFileButton.accessKey "ล">
+<!ENTITY chooseFileLinkButton.label "เลือกไฟล์...">
+<!ENTITY chooseFileLinkButton.accessKey "อ">
+<!ENTITY makeUrlRelative.label "URL สัมพันธ์กับตำแหน่งที่ตั้งของหน้า">
+<!ENTITY makeUrlRelative.accessKey "ส">
+<!ENTITY makeUrlRelative.tooltip "เปลี่ยนระหว่าง URL แบบย่อและแบบเต็ม โดยคุณจะต้องบันทึกหน้าก่อนจึงจะสามารถเปลี่ยนแปลงตัวเลือกนี้ได้">
+
+<!-- Shared by Link and Image dialogs -->
+<!ENTITY LinkURLEditField2.label "ป้อนตำแหน่งที่ตั้งของเว็บ ไฟล์ภายในเครื่อง หรือเลือกจุดยึดที่มีชื่อหรือหัวเรื่องจากเมนูบริบทของช่องกรอก:">
+<!ENTITY LinkURLEditField2.accessKey "ว">
diff --git a/l10n-th/editor/ui/chrome/dialogs/EdNamedAnchorProperties.dtd b/l10n-th/editor/ui/chrome/dialogs/EdNamedAnchorProperties.dtd
new file mode 100644
index 0000000000..15e0164c7a
--- /dev/null
+++ b/l10n-th/editor/ui/chrome/dialogs/EdNamedAnchorProperties.dtd
@@ -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/. -->
+
+<!ENTITY windowTitle.label "คุณสมบัติจุดยึดที่มีชื่อ">
+<!ENTITY anchorNameEditField.label "ชื่อจุดยึด:">
+<!ENTITY anchorNameEditField.accessKey "ช">
+<!ENTITY nameInput.tooltip "ป้อนชื่อที่ไม่ซ้ำกันสำหรับจุดยึดที่มีชื่อนี้ (เป้าหมาย)">
diff --git a/l10n-th/editor/ui/chrome/dialogs/EditConflict.dtd b/l10n-th/editor/ui/chrome/dialogs/EditConflict.dtd
new file mode 100644
index 0000000000..3c3ab025c1
--- /dev/null
+++ b/l10n-th/editor/ui/chrome/dialogs/EditConflict.dtd
@@ -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/. -->
+
+<!-- Window title -->
+<!ENTITY windowTitle.label "เลือกการเปลี่ยนแปลงการแก้ไข">
+<!ENTITY conflictWarning.label "หน้านี้ถูกเปลี่ยนแปลงด้วยโปรแกรมอื่น แต่คุณยังมีการเปลี่ยนแปลงที่ยังไม่ได้บันทึกในตัวเขียน">
+<!ENTITY conflictResolve.label "เลือกรุ่นที่จะเก็บ:">
+<!ENTITY keepCurrentPageButton.label "เก็บการเปลี่ยนแปลงหน้าปัจจุบัน">
+<!ENTITY useOtherPageButton.label "แทนที่หน้าปัจจุบันด้วยการเปลี่ยนแปลงอื่น ๆ">
diff --git a/l10n-th/editor/ui/chrome/dialogs/EditorButtonProperties.dtd b/l10n-th/editor/ui/chrome/dialogs/EditorButtonProperties.dtd
new file mode 100644
index 0000000000..a259a160d8
--- /dev/null
+++ b/l10n-th/editor/ui/chrome/dialogs/EditorButtonProperties.dtd
@@ -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/. -->
+
+<!ENTITY windowTitle.label "คุณสมบัติปุ่ม">
+
+<!ENTITY Settings.label "การตั้งค่า">
+
+<!ENTITY ButtonType.label "ชนิด">
+<!ENTITY ButtonType.accesskey "ช">
+<!ENTITY submit.value "ส่ง">
+<!ENTITY reset.value "กลับค่าเดิม">
+<!ENTITY button.value "ปุ่ม">
+
+<!ENTITY ButtonName.label "ชื่อ:">
+<!ENTITY ButtonName.accesskey "อ">
+<!ENTITY ButtonValue.label "ค่า:">
+<!ENTITY ButtonValue.accesskey "ค">
+<!ENTITY tabIndex.label "ดัชนีแท็บ:">
+<!ENTITY tabIndex.accesskey "ด">
+<!ENTITY ButtonDisabled.label "ปิดใช้งานอยู่">
+<!ENTITY ButtonDisabled.accesskey "ป">
+<!ENTITY AccessKey.label "ปุ่มลัดแป้นพิมพ์:">
+<!ENTITY AccessKey.accesskey "ล">
+
+<!ENTITY RemoveButton.label "เอาปุ่มออก">
+<!ENTITY RemoveButton.accesskey "ม">
diff --git a/l10n-th/editor/ui/chrome/dialogs/EditorColorProperties.dtd b/l10n-th/editor/ui/chrome/dialogs/EditorColorProperties.dtd
new file mode 100644
index 0000000000..fe0d671a43
--- /dev/null
+++ b/l10n-th/editor/ui/chrome/dialogs/EditorColorProperties.dtd
@@ -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/. -->
+
+<!-- Window title -->
+<!ENTITY windowTitle.label "สีและพื้นหลังของหน้า">
+<!ENTITY pageColors.label "สีของหน้า">
+<!ENTITY defaultColorsRadio.label "สีเริ่มต้นของตัวอ่าน (ไม่ตั้งค่าสีในหน้า)">
+<!ENTITY defaultColorsRadio.accessKey "ร">
+<!ENTITY defaultColorsRadio.tooltip "ใช้การตั้งค่าสีจากเบราว์เซอร์ของตัวดู (ตัวอ่าน) เท่านั้น">
+<!ENTITY customColorsRadio.label "ใช้สีที่กำหนดเอง:">
+<!ENTITY customColorsRadio.accessKey "ส">
+<!ENTITY customColorsRadio.tooltip "การตั้งค่าสีเหล่านี้จะแทนที่การตั้งค่าเบราว์เซอร์ของตัวดู">
+
+<!ENTITY normalText.label "ข้อความปกติ">
+<!ENTITY normalText.accessKey "ป">
+<!ENTITY linkText.label "ข้อความลิงก์">
+<!ENTITY linkText.accessKey "ล">
+<!ENTITY activeLinkText.label "ข้อความลิงก์ที่ใช้งานอยู่">
+<!ENTITY activeLinkText.accessKey "ช">
+<!ENTITY visitedLinkText.label "ข้อความลิงก์ที่เยี่ยมชมแล้ว">
+<!ENTITY visitedLinkText.accessKey "ย">
+<!ENTITY background.label "พื้นหลัง:">
+<!ENTITY background.accessKey "พ">
+<!ENTITY colon.character ":">
+<!ENTITY backgroundImage.label "ภาพพื้นหลัง:">
+<!ENTITY backgroundImage.accessKey "ภ">
+<!ENTITY backgroundImage.tooltip "ใช้ไฟล์ภาพเป็นพื้นหลังสำหรับหน้าของคุณ">
+<!ENTITY backgroundImage.shortenedDataURI "URI ข้อมูลที่สั้นลง (การคัดลอกจะวาง URI แบบเต็มลงในคลิปบอร์ด)">
diff --git a/l10n-th/editor/ui/chrome/dialogs/EditorFieldSetProperties.dtd b/l10n-th/editor/ui/chrome/dialogs/EditorFieldSetProperties.dtd
new file mode 100644
index 0000000000..faba50cd38
--- /dev/null
+++ b/l10n-th/editor/ui/chrome/dialogs/EditorFieldSetProperties.dtd
@@ -0,0 +1,20 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!ENTITY windowTitle.label "คุณสมบัติชุดช่องกรอกข้อมูล">
+
+<!ENTITY Legend.label "คำอธิบายสัญลักษณ์">
+<!ENTITY Legend.accesskey "ค">
+
+<!ENTITY EditLegendText.label "แก้ไขคำอธิบายสัญลักษณ์:">
+<!ENTITY EditLegendText.accesskey "ก">
+<!ENTITY LegendAlign.label "จัดแนวคำอธิบายสัญลักษณ์:">
+<!ENTITY LegendAlign.accesskey "จ">
+<!ENTITY AlignDefault.label "ค่าเริ่มต้น">
+<!ENTITY AlignLeft.label "ซ้าย">
+<!ENTITY AlignCenter.label "กึ่งกลาง">
+<!ENTITY AlignRight.label "ขวา">
+
+<!ENTITY RemoveFieldSet.label "เอาชุดช่องกรอกข้อมูลออก">
+<!ENTITY RemoveFieldSet.accesskey "อ">
diff --git a/l10n-th/editor/ui/chrome/dialogs/EditorFormProperties.dtd b/l10n-th/editor/ui/chrome/dialogs/EditorFormProperties.dtd
new file mode 100644
index 0000000000..28082f3c75
--- /dev/null
+++ b/l10n-th/editor/ui/chrome/dialogs/EditorFormProperties.dtd
@@ -0,0 +1,21 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!ENTITY windowTitle.label "คุณสมบัติแบบฟอร์ม">
+
+<!ENTITY Settings.label "การตั้งค่า">
+
+<!ENTITY FormName.label "ชื่อแบบฟอร์ม:">
+<!ENTITY FormName.accesskey "ช">
+<!ENTITY FormAction.label "URL การกระทำ:">
+<!ENTITY FormAction.accesskey "ก">
+<!ENTITY FormMethod.label "วิธีการ:">
+<!ENTITY FormMethod.accesskey "ว">
+<!ENTITY FormEncType.label "การเข้ารหัส:">
+<!ENTITY FormEncType.accesskey "ข">
+<!ENTITY FormTarget.label "กรอบเป้าหมาย:">
+<!ENTITY FormTarget.accesskey "ป">
+
+<!ENTITY RemoveForm.label "เอาแบบฟอร์มออก">
+<!ENTITY RemoveForm.accesskey "อ">
diff --git a/l10n-th/editor/ui/chrome/dialogs/EditorHLineProperties.dtd b/l10n-th/editor/ui/chrome/dialogs/EditorHLineProperties.dtd
new file mode 100644
index 0000000000..66d768c33b
--- /dev/null
+++ b/l10n-th/editor/ui/chrome/dialogs/EditorHLineProperties.dtd
@@ -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/. -->
+
+
+<!-- Window title -->
+<!ENTITY windowTitle.label "คุณสมบัติเส้นแนวนอน">
+
+<!ENTITY dimensionsBox.label "มิติ">
+<!ENTITY heightEditField.label "ความสูง:">
+<!ENTITY heightEditField.accessKey "ส">
+<!ENTITY widthEditField.label "ความกว้าง:">
+<!ENTITY widthEditField.accessKey "ก">
+<!ENTITY pixelsPopup.value "พิกเซล">
+<!ENTITY alignmentBox.label "การจัดชิดแนว">
+<!ENTITY leftRadio.label "ซ้าย">
+<!ENTITY leftRadio.accessKey "ซ">
+<!ENTITY centerRadio.label "กึ่งกลาง">
+<!ENTITY centerRadio.accessKey "ง">
+<!ENTITY rightRadio.label "ขวา">
+<!ENTITY rightRadio.accessKey "ข">
+
+<!ENTITY threeDShading.label "การแรเงา 3 มิติ">
+<!ENTITY threeDShading.accessKey "ร">
+<!ENTITY saveSettings.label "ใช้เป็นค่าเริ่มต้น">
+<!ENTITY saveSettings.accessKey "ค">
+<!ENTITY saveSettings.tooltip "บันทึกการตั้งค่าเหล่านี้เพื่อใช้เมื่อแทรกเส้นแนวนอนใหม่">
diff --git a/l10n-th/editor/ui/chrome/dialogs/EditorImageProperties.dtd b/l10n-th/editor/ui/chrome/dialogs/EditorImageProperties.dtd
new file mode 100644
index 0000000000..b4bf540a07
--- /dev/null
+++ b/l10n-th/editor/ui/chrome/dialogs/EditorImageProperties.dtd
@@ -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 for use specifically in the editor's image and form image dialogs. -->
+
+<!-- Window title -->
+<!ENTITY windowTitle.label "คุณสมบัติภาพ">
+
+<!ENTITY pixelsPopup.value "พิกเซล">
+
+<!-- These are in the Location tab panel -->
+<!ENTITY locationEditField.label "ตำแหน่งที่ตั้งภาพ:">
+<!ENTITY locationEditField.accessKey "ต">
+<!ENTITY locationEditField.tooltip "พิมพ์ชื่อไฟล์หรือตำแหน่งที่ตั้งของภาพ">
+<!ENTITY locationEditField.shortenedDataURI "URI ข้อมูลที่สั้นลง (การคัดลอกจะวาง URI แบบเต็มลงในคลิปบอร์ด)">
+<!ENTITY title.label "เคล็ดลับเครื่องมือ:">
+<!ENTITY title.accessKey "ค">
+<!ENTITY title.tooltip "แอตทริบิวต์ HTML 'title' ที่แสดงเป็นเคล็ดลับเครื่องมือ">
+<!ENTITY altText.label "ข้อความแทนภาพ:">
+<!ENTITY altText.accessKey "ข">
+<!ENTITY altTextEditField.tooltip "พิมพ์ข้อความที่จะใช้แสดงแทนภาพ">
+<!ENTITY noAltText.label "ไม่ต้องใช้ข้อความแทนภาพ">
+<!ENTITY noAltText.accessKey "ม">
+
+<!ENTITY previewBox.label "ตัวอย่างภาพ">
+
+<!-- These controls are in the Dimensions tab panel -->
+<!-- actualSize.label should be same as actualSizeRadio.label + ":" -->
+<!ENTITY actualSize.label "ขนาดจริง:">
+<!ENTITY actualSizeRadio.label "ขนาดจริง">
+<!ENTITY actualSizeRadio.accessKey "จ">
+<!ENTITY actualSizeRadio.tooltip "เปลี่ยนกลับเป็นขนาดจริงของภาพ">
+<!ENTITY customSizeRadio.label "กำหนดขนาดเอง">
+<!ENTITY customSizeRadio.accessKey "ห">
+<!ENTITY customSizeRadio.tooltip "เปลี่ยนขนาดของภาพตามที่แสดงในหน้า">
+<!ENTITY heightEditField.label "ความสูง:">
+<!ENTITY heightEditField.accessKey "ส">
+<!ENTITY widthEditField.label "ความกว้าง:">
+<!ENTITY widthEditField.accessKey "ก">
+<!ENTITY constrainCheckbox.label "จำกัดอัตราส่วน">
+<!ENTITY constrainCheckbox.accessKey "ด">
+<!ENTITY constrainCheckbox.tooltip "คงอัตราส่วนเดิมของภาพไว้">
+
+<!-- These controls are in the Image Map box of the expanded area -->
+<!ENTITY imagemapBox.label "แผนที่ภาพ">
+<!ENTITY removeImageMapButton.label "เอาออก">
+<!ENTITY removeImageMapButton.accessKey "อ">
+
+<!-- These are the options for image alignment -->
+<!ENTITY alignment.label "จัดแนวข้อความให้พอดีกับภาพ">
+<!ENTITY bottomPopup.value "ด้านล่าง">
+<!ENTITY topPopup.value "ด้านบน">
+<!ENTITY centerPopup.value "กึ่งกลาง">
+<!ENTITY wrapRightPopup.value "ตัดไปทางขวา">
+<!ENTITY wrapLeftPopup.value "ตัดไปทางซ้าย">
+
+<!-- These controls are in the Spacing Box -->
+<!ENTITY spacingBox.label "ระยะห่าง">
+<!ENTITY leftRightEditField.label "ซ้ายและขวา:">
+<!ENTITY leftRightEditField.accessKey "ซ">
+<!ENTITY topBottomEditField.label "บนและล่าง:">
+<!ENTITY topBottomEditField.accessKey "บ">
+<!ENTITY borderEditField.label "เส้นขอบทึบ:">
+<!ENTITY borderEditField.accessKey "เ">
+
+<!-- These controls are in the Link Box -->
+<!ENTITY showImageLinkBorder.label "แสดงเส้นขอบรอบภาพที่ถูกเชื่อมโยง">
+<!ENTITY showImageLinkBorder.accessKey "แ">
+<!ENTITY LinkAdvancedEditButton.label "เชื่อมโยงการแก้ไขขั้นสูง…">
+<!ENTITY LinkAdvancedEditButton.accessKey "ช">
+<!ENTITY LinkAdvancedEditButton.tooltip "เพิ่มหรือเปลี่ยนแปลงแอตทริบิวต์ HTML, แอตทริบิวต์ลักษณะ และ JavaScript">
+
+<!-- These tabs are currently used in the image input dialog -->
+<!ENTITY imageInputTab.label "แบบฟอร์ม">
+<!ENTITY imageLocationTab.label "ตำแหน่งที่ตั้ง">
+<!ENTITY imageDimensionsTab.label "มิติ">
+<!ENTITY imageAppearanceTab.label "ลักษณะที่ปรากฏ">
+<!ENTITY imageLinkTab.label "ลิงก์">
diff --git a/l10n-th/editor/ui/chrome/dialogs/EditorInputProperties.dtd b/l10n-th/editor/ui/chrome/dialogs/EditorInputProperties.dtd
new file mode 100644
index 0000000000..b673ce493a
--- /dev/null
+++ b/l10n-th/editor/ui/chrome/dialogs/EditorInputProperties.dtd
@@ -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/. -->
+
+<!ENTITY windowTitle.label "คุณสมบัติช่องกรอกข้อมูลแบบฟอร์ม">
+<!ENTITY windowTitleImage.label "คุณสมบัติภาพแบบฟอร์ม">
+
+<!ENTITY InputType.label "ชนิดช่องกรอกข้อมูล">
+<!ENTITY InputType.accesskey "น">
+<!ENTITY text.value "ข้อความ">
+<!ENTITY password.value "รหัสผ่าน">
+<!ENTITY checkbox.value "กล่องกาเครื่องหมาย">
+<!ENTITY radio.value "ปุ่มตัวเลือกเดี่ยว">
+<!ENTITY submit.value "ปุ่มส่ง">
+<!ENTITY reset.value "ปุ่มกลับค่าเดิม">
+<!ENTITY file.value "ไฟล์">
+<!ENTITY hidden.value "ซ่อน">
+<!ENTITY image.value "ภาพ">
+<!ENTITY button.value "ปุ่ม">
+
+<!ENTITY InputSettings.label "การตั้งค่าช่องกรอกข้อมูล">
+<!ENTITY InputName.label "ชื่อช่องกรอกข้อมูล:">
+<!ENTITY InputName.accesskey "ช">
+<!ENTITY GroupName.label "ชื่อกลุ่ม:">
+<!ENTITY GroupName.accesskey "ช">
+<!ENTITY InputValue.label "ค่า:">
+<!ENTITY InputValue.accesskey "ค">
+<!ENTITY InitialValue.label "ค่าตั้งต้น:">
+<!ENTITY InitialValue.accesskey "ค">
+<!ENTITY InputChecked.label "ทำเครื่องหมายตั้งแต่เริ่มต้น">
+<!ENTITY InputChecked.accesskey "ท">
+<!ENTITY InputSelected.label "เลือกตั้งแต่เริ่มต้น">
+<!ENTITY InputSelected.accesskey "ล">
+<!ENTITY InputReadOnly.label "อ่านอย่างเดียว">
+<!ENTITY InputReadOnly.accesskey "อ">
+<!ENTITY InputDisabled.label "ปิดใช้งานอยู่">
+<!ENTITY InputDisabled.accesskey "ป">
+<!ENTITY tabIndex.label "ดัชนีแท็บ:">
+<!ENTITY tabIndex.accesskey "ด">
+<!ENTITY TextSize.label "ขนาดช่องกรอกข้อมูล:">
+<!ENTITY TextSize.accesskey "ข">
+<!ENTITY TextLength.label "ความยาวสูงสุด:">
+<!ENTITY TextLength.accesskey "ย">
+<!ENTITY AccessKey.label "ปุ่มลัดแป้นพิมพ์:">
+<!ENTITY AccessKey.accesskey "พ">
+<!ENTITY Accept.label "ชนิดที่ยอมรับ:">
+<!ENTITY Accept.accesskey "ร">
+
+<!ENTITY ImageProperties.label "คุณสมบัติภาพ…">
+<!ENTITY ImageProperties.accesskey "ภ">
diff --git a/l10n-th/editor/ui/chrome/dialogs/EditorInsertChars.dtd b/l10n-th/editor/ui/chrome/dialogs/EditorInsertChars.dtd
new file mode 100644
index 0000000000..509d2e2fec
--- /dev/null
+++ b/l10n-th/editor/ui/chrome/dialogs/EditorInsertChars.dtd
@@ -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/. -->
+
+
+<!-- Window title -->
+<!ENTITY windowTitle.label "แทรกอักขระ">
+<!ENTITY category.label "หมวดหมู่">
+<!ENTITY letter.label "ตัวอักษร:">
+<!ENTITY letter.accessKey "ต">
+<!ENTITY character.label "อักขระ:">
+<!ENTITY character.accessKey "อ">
+<!ENTITY accentUpper.label "อักษรตัวพิมพ์ใหญ่ที่มีเครื่องหมายกำกับการออกเสียง">
+<!ENTITY accentLower.label "อักษรตัวพิมพ์เล็กที่มีเครื่องหมายกำกับการออกเสียง">
+<!ENTITY otherUpper.label "อักษรตัวพิมพ์ใหญ่อื่น ๆ">
+<!ENTITY otherLower.label "อักษรตัวพิมพ์เล็กอื่น ๆ">
+<!ENTITY commonSymbols.label "สัญลักษณ์ทั่วไป">
+<!ENTITY insertButton.label "แทรก">
+<!ENTITY closeButton.label "ปิด">
diff --git a/l10n-th/editor/ui/chrome/dialogs/EditorInsertMath.dtd b/l10n-th/editor/ui/chrome/dialogs/EditorInsertMath.dtd
new file mode 100644
index 0000000000..f801b660ef
--- /dev/null
+++ b/l10n-th/editor/ui/chrome/dialogs/EditorInsertMath.dtd
@@ -0,0 +1,21 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!-- Window title -->
+<!ENTITY windowTitle.label "แทรกสมการ">
+
+<!ENTITY sourceEditField.label "ป้อนซอร์สโค้ด LaTeX:">
+
+<!ENTITY options.label "ตัวเลือก">
+<!ENTITY optionInline.label "โหมดอินไลน์">
+<!ENTITY optionInline.accesskey "อ">
+<!ENTITY optionDisplay.label "โหมดแสดงผล">
+<!ENTITY optionDisplay.accesskey "ส">
+<!ENTITY optionLTR.label "ทิศทางจากซ้ายไปขวา">
+<!ENTITY optionLTR.accesskey "ซ">
+<!ENTITY optionRTL.label "ทิศทางจากขวาไปซ้าย">
+<!ENTITY optionRTL.accesskey "ข">
+
+<!ENTITY insertButton.label "แทรก">
+<!ENTITY insertButton.accesskey "ท">
diff --git a/l10n-th/editor/ui/chrome/dialogs/EditorInsertSource.dtd b/l10n-th/editor/ui/chrome/dialogs/EditorInsertSource.dtd
new file mode 100644
index 0000000000..6883838023
--- /dev/null
+++ b/l10n-th/editor/ui/chrome/dialogs/EditorInsertSource.dtd
@@ -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/. -->
+
+<!-- Window title -->
+<!ENTITY windowTitle.label "แทรก HTML">
+<!ENTITY sourceEditField.label "ป้อนแท็ก HTML และข้อความ:">
+<!ENTITY example.label "ตัวอย่าง: ">
+<!-- LOCALIZATION NOTE (exampleOpenTag.label): DONT_TRANSLATE: they are text for HTML tagnames: "<i>" and "</i>" -->
+<!ENTITY exampleOpenTag.label "&lt;i&gt;">
+<!-- LOCALIZATION NOTE (exampleCloseTag.label): DONT_TRANSLATE: they are text for HTML tagnames: "<i>" and "</i>" -->
+<!ENTITY exampleCloseTag.label "&lt;/i&gt;">
+<!ENTITY exampleText.label "สวัสดีชาวโลก!">
+<!ENTITY insertButton.label "แทรก">
+<!ENTITY insertButton.accesskey "ท">
diff --git a/l10n-th/editor/ui/chrome/dialogs/EditorInsertTOC.dtd b/l10n-th/editor/ui/chrome/dialogs/EditorInsertTOC.dtd
new file mode 100644
index 0000000000..d43f353c77
--- /dev/null
+++ b/l10n-th/editor/ui/chrome/dialogs/EditorInsertTOC.dtd
@@ -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/. -->
+
+<!ENTITY Window.title "สารบัญ">
+<!ENTITY buildToc.label "สร้างสารบัญจาก:">
+<!ENTITY tag.label "ป้ายกำกับ:">
+<!ENTITY class.label "คลาส:">
+<!ENTITY header1.label "ระดับ 1">
+<!ENTITY header2.label "ระดับ 2">
+<!ENTITY header3.label "ระดับ 3">
+<!ENTITY header4.label "ระดับ 4">
+<!ENTITY header5.label "ระดับ 5">
+<!ENTITY header6.label "ระดับ 6">
+<!ENTITY makeReadOnly.label "ทำให้สารบัญเป็นแบบอ่านอย่างเดียว">
+<!ENTITY orderedList.label "เรียงรายการทั้งหมดในสารบัญตามลำดับเลข">
diff --git a/l10n-th/editor/ui/chrome/dialogs/EditorInsertTable.dtd b/l10n-th/editor/ui/chrome/dialogs/EditorInsertTable.dtd
new file mode 100644
index 0000000000..ebcc438741
--- /dev/null
+++ b/l10n-th/editor/ui/chrome/dialogs/EditorInsertTable.dtd
@@ -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/. -->
+
+<!-- Window title -->
+<!ENTITY windowTitle.label "แทรกตาราง">
+
+<!ENTITY size.label "ขนาด">
+<!ENTITY numRowsEditField.label "แถว:">
+<!ENTITY numRowsEditField.accessKey "ถ">
+<!ENTITY numColumnsEditField.label "คอลัมน์:">
+<!ENTITY numColumnsEditField.accessKey "ค">
+<!ENTITY widthEditField.label "ความกว้าง:">
+<!ENTITY widthEditField.accessKey "ก">
+<!ENTITY borderEditField.label "เส้นขอบ:">
+<!ENTITY borderEditField.accessKey "ข">
+<!ENTITY borderEditField.tooltip "พิมพ์จำนวนเส้นขอบของตาราง หรือพิมพ์เลขศูนย์ (0) หากไม่ต้องการเส้นขอบ">
+<!ENTITY pixels.label "พิกเซล">
diff --git a/l10n-th/editor/ui/chrome/dialogs/EditorLabelProperties.dtd b/l10n-th/editor/ui/chrome/dialogs/EditorLabelProperties.dtd
new file mode 100644
index 0000000000..c5410341ec
--- /dev/null
+++ b/l10n-th/editor/ui/chrome/dialogs/EditorLabelProperties.dtd
@@ -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/. -->
+
+<!ENTITY windowTitle.label "คุณสมบัติป้ายชื่อ">
+
+<!ENTITY Settings.label "การตั้งค่า">
+<!ENTITY Settings.accesskey "ต">
+
+<!ENTITY EditLabelText.label "แก้ไขข้อความ:">
+<!ENTITY EditLabelText.accesskey "ข">
+<!ENTITY LabelFor.label "สำหรับการควบคุม:">
+<!ENTITY LabelFor.accesskey "ส">
+<!ENTITY AccessKey.label "ปุ่มลัดแป้นพิมพ์:">
+<!ENTITY AccessKey.accesskey "ป">
+
+<!ENTITY RemoveLabel.label "เอาป้ายชื่อออก">
+<!ENTITY RemoveLabel.accesskey "อ">
diff --git a/l10n-th/editor/ui/chrome/dialogs/EditorLinkProperties.dtd b/l10n-th/editor/ui/chrome/dialogs/EditorLinkProperties.dtd
new file mode 100644
index 0000000000..edf6699238
--- /dev/null
+++ b/l10n-th/editor/ui/chrome/dialogs/EditorLinkProperties.dtd
@@ -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/. -->
+
+<!ENTITY windowTitle.label "คุณสมบัติลิงก์">
+<!ENTITY LinkURLBox.label "ตำแหน่งที่ตั้งลิงก์">
diff --git a/l10n-th/editor/ui/chrome/dialogs/EditorListProperties.dtd b/l10n-th/editor/ui/chrome/dialogs/EditorListProperties.dtd
new file mode 100644
index 0000000000..bee0e11649
--- /dev/null
+++ b/l10n-th/editor/ui/chrome/dialogs/EditorListProperties.dtd
@@ -0,0 +1,20 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+
+<!-- Window title -->
+<!ENTITY windowTitle.label "คุณสมบัติรายการ">
+
+<!ENTITY ListType.label "ชนิดรายการ">
+<!ENTITY bulletStyle.label "ลักษณะของสัญลักษณ์แสดงหัวข้อย่อย:">
+<!ENTITY startingNumber.label "เริ่มที่:">
+<!ENTITY startingNumber.accessKey "ร">
+<!ENTITY none.value "ไม่มี">
+<!ENTITY bulletList.value "รายการที่มีสัญลักษณ์แสดงหัวข้อย่อย (ไม่มีลำดับเลข)">
+<!ENTITY numberList.value "รายการที่มีลำดับเลข">
+<!ENTITY definitionList.value "รายการข้อกำหนด">
+<!ENTITY changeEntireListRadio.label "เปลี่ยนทั้งรายการ">
+<!ENTITY changeEntireListRadio.accessKey "ป">
+<!ENTITY changeSelectedRadio.label "เปลี่ยนเฉพาะส่วนที่เลือก">
+<!ENTITY changeSelectedRadio.accessKey "ล">
diff --git a/l10n-th/editor/ui/chrome/dialogs/EditorPageProperties.dtd b/l10n-th/editor/ui/chrome/dialogs/EditorPageProperties.dtd
new file mode 100644
index 0000000000..938a580417
--- /dev/null
+++ b/l10n-th/editor/ui/chrome/dialogs/EditorPageProperties.dtd
@@ -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/. -->
+
+<!-- Window title -->
+<!ENTITY windowTitle.label "คุณสมบัติหน้า">
+<!ENTITY location.label "ตำแหน่งที่ตั้ง:">
+<!ENTITY lastModified.label "วันที่เปลี่ยนแปลงล่าสุด:">
+<!ENTITY titleInput.label "ชื่อเรื่อง:">
+<!ENTITY titleInput.accessKey "ช">
+<!ENTITY authorInput.label "ผู้สร้าง:">
+<!ENTITY authorInput.accessKey "ผ">
+<!ENTITY descriptionInput.label "คำอธิบาย:">
+<!ENTITY descriptionInput.accessKey "ค">
+<!ENTITY locationNewPage.label "[หน้าใหม่ที่ยังไม่ได้บันทึก]">
+<!ENTITY EditHEADSource1.label "ผู้ใช้ขั้นสูง:">
+<!ENTITY EditHEADSource2.label "หากต้องการแก้ไขเนื้อหาอื่น ๆ ที่อยู่ในบริเวณ &lt;head&gt; ให้ใช้ &quot;ซอร์ส HTML&quot; ในเมนูมุมมองหรือแถบเครื่องมือโหมดแก้ไข">
diff --git a/l10n-th/editor/ui/chrome/dialogs/EditorPersonalDictionary.dtd b/l10n-th/editor/ui/chrome/dialogs/EditorPersonalDictionary.dtd
new file mode 100644
index 0000000000..a729bc2eef
--- /dev/null
+++ b/l10n-th/editor/ui/chrome/dialogs/EditorPersonalDictionary.dtd
@@ -0,0 +1,20 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!-- Window title -->
+<!ENTITY windowTitle.label "พจนานุกรมส่วนบุคคล">
+
+<!ENTITY wordEditField.label "คำใหม่:">
+<!ENTITY wordEditField.accessKey "ค">
+<!ENTITY AddButton.label "เพิ่ม">
+<!ENTITY AddButton.accessKey "พ">
+<!ENTITY DictionaryList.label "คำในพจนานุกรม">
+<!ENTITY DictionaryList.accessKey "น">
+<!ENTITY ReplaceButton.label "แทนที่">
+<!ENTITY ReplaceButton.accessKey "ท">
+<!ENTITY RemoveButton.label "เอาออก">
+<!ENTITY RemoveButton.accessKey "อ">
+
+<!ENTITY CloseButton.label "ปิด">
+<!ENTITY CloseButton.accessKey "ป">
diff --git a/l10n-th/editor/ui/chrome/dialogs/EditorPublish.dtd b/l10n-th/editor/ui/chrome/dialogs/EditorPublish.dtd
new file mode 100644
index 0000000000..65e62a3b23
--- /dev/null
+++ b/l10n-th/editor/ui/chrome/dialogs/EditorPublish.dtd
@@ -0,0 +1,65 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!-- Window title -->
+<!ENTITY windowTitle.label "เผยแพร่หน้า">
+<!ENTITY windowTitleSettings.label "การตั้งค่าการเผยแพร่">
+<!ENTITY publishTab.label "เผยแพร่">
+<!ENTITY settingsTab.label "การตั้งค่า">
+<!ENTITY publishButton.label "เผยแพร่">
+
+<!-- Publish Tab Panel -->
+<!ENTITY siteList.label "ชื่อไซต์:">
+<!ENTITY siteList.accesskey "ช">
+<!ENTITY siteList.tooltip "เลือกไซต์ที่คุณต้องการเผยแพร่">
+<!ENTITY newSiteButton.label "ไซต์ใหม่">
+<!ENTITY newSiteButton.accesskey "ต">
+<!ENTITY docDirList.label "ไดเรกทอรีย่อยของไซต์สำหรับหน้านี้:">
+<!ENTITY docDirList.accesskey "ด">
+<!ENTITY docDirList.tooltip "เลือกหรือป้อนชื่อของไดเรกทอรีย่อยระยะไกลสำหรับหน้านี้">
+<!ENTITY publishImgCheckbox.label "รวมภาพและไฟล์อื่น ๆ">
+<!ENTITY publishImgCheckbox.accesskey "ร">
+<!ENTITY publishImgCheckbox.tooltip "เผยแพร่ภาพและไฟล์อื่น ๆ ที่อ้างอิงโดยหน้านี้">
+<!ENTITY sameLocationRadio.label "ใช้ตำแหน่งที่ตั้งเดียวกับหน้า">
+<!ENTITY sameLocationRadio.accesskey "ใ">
+<!ENTITY sameLocationRadio.tooltip "เผยแพร่ไฟล์ไปยังตำแหน่งที่ตั้งเดียวกับหน้า">
+<!ENTITY useSubdirRadio.label "ใช้ไดเรกทอรีย่อยไซต์นี้:">
+<!ENTITY useSubdirRadio.accesskey "ไ">
+<!ENTITY useSubdirRadio.tooltip "เผยแพร่ไฟล์ไปยังไดเรกทอรีย่อยระยะไกลที่เลือก">
+<!ENTITY otherDirList.tooltip "เลือกหรือป้อนชื่อไดเรกทอรีย่อยระยะไกลที่จะเผยแพร่ไฟล์">
+<!ENTITY pageTitle.label "ชื่อเรื่องหน้า:">
+<!ENTITY pageTitle.accesskey "ง">
+<!ENTITY pageTitle.tooltip "ป้อนชื่อเรื่องเพื่อระบุหน้าในหน้าต่างและในที่คั่นหน้า">
+<!ENTITY pageTitleExample.label "เช่น: &quot;เว็บเพจของฉัน&quot;">
+<!ENTITY filename.label "ชื่อไฟล์:">
+<!ENTITY filename.accesskey "ฟ">
+<!ENTITY filename.tooltip "ป้อนชื่อสำหรับไฟล์นี้ รวมถึง '.html' สำหรับหน้าเว็บ">
+<!ENTITY filenameExample.label "เช่น: &quot;mypage.html&quot;">
+<!ENTITY setDefaultButton.label "ตั้งเป็นค่าเริ่มต้น">
+<!ENTITY setDefaultButton.accesskey "ค">
+<!ENTITY removeButton.label "เอาไซต์ออก">
+<!ENTITY removeButton.accesskey "อ">
+
+<!-- Settings Tab Panel -->
+<!ENTITY publishSites.label "ไซต์การเผยแพร่">
+<!ENTITY serverInfo.label "ข้อมูลเซิร์ฟเวอร์">
+<!ENTITY loginInfo.label "ข้อมูลการเข้าสู่ระบบ">
+<!ENTITY siteName.label "ชื่อไซต์:">
+<!ENTITY siteName.accesskey "ซ">
+<!ENTITY siteName.tooltip "ชื่อเล่นที่ระบุไซต์การเผยแพร่นี้ (เช่น: 'ไซต์ของฉัน')">
+<!ENTITY siteUrl.label "ที่อยู่การเผยแพร่ (เช่น: 'ftp://ftp.myisp.com/myusername'):">
+<!ENTITY siteUrl.accesskey "ท">
+<!ENTITY siteUrl.tooltip "ที่อยู่ FTP:// หรือ HTTP:// ที่ให้โดย ISP หรือบริการโฮสต์เว็บของคุณ">
+<!ENTITY browseUrl.label "ที่อยู่ HTTP ของหน้าแรกของคุณ (เช่น: 'http://www.myisp.com/myusername'):">
+<!ENTITY browseUrl.accesskey "ย">
+<!ENTITY browseUrl.tooltip "ที่อยู่ HTTP:// ของไดเรกทอรีหลักของคุณ (ไม่รวมชื่อไฟล์)">
+<!ENTITY username.label "ชื่อผู้ใช้:">
+<!ENTITY username.accesskey "ผ">
+<!ENTITY username.tooltip "ชื่อผู้ใช้ที่คุณใช้เข้าสู่ระบบไปยัง ISP หรือบริการโฮสต์เว็บของคุณ">
+<!ENTITY password.label "รหัสผ่าน:">
+<!ENTITY password.accesskey "ห">
+<!ENTITY password.tooltip "รหัสผ่านที่เชื่อมโยงกับชื่อผู้ใช้ของคุณ">
+<!ENTITY savePassword.label "บันทึกรหัสผ่าน">
+<!ENTITY savePassword.accesskey "บ">
+<!ENTITY savePassword.tooltip "เลือกตัวเลือกนี้เพื่อบันทึกรหัสผ่านของคุณอย่างปลอดภัยโดยใช้ตัวจัดการรหัสผ่าน">
diff --git a/l10n-th/editor/ui/chrome/dialogs/EditorPublishProgress.dtd b/l10n-th/editor/ui/chrome/dialogs/EditorPublishProgress.dtd
new file mode 100644
index 0000000000..683f4e7ff7
--- /dev/null
+++ b/l10n-th/editor/ui/chrome/dialogs/EditorPublishProgress.dtd
@@ -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/. -->
+
+<!-- Window title -->
+<!ENTITY siteUrl.label "URL ไซต์:">
+<!ENTITY docSubdir.label "ไดเรกทอรีย่อยหน้า:">
+<!ENTITY otherSubdir.label "ไดเรกทอรีย่อยภาพ:">
+
+<!ENTITY status.label "กำลังเผยแพร่…">
+<!ENTITY fileList.label "สถานะการเผยแพร่">
+<!ENTITY succeeded.label "สำเร็จ">
+<!ENTITY failed.label "ล้มเหลว">
+
+<!ENTITY keepOpen "เปิดหน้าต่างนี้ค้างไว้หลังจากการเผยแพร่เสร็จสมบูรณ์">
+<!ENTITY closeButton.label "ปิด">
diff --git a/l10n-th/editor/ui/chrome/dialogs/EditorReplace.dtd b/l10n-th/editor/ui/chrome/dialogs/EditorReplace.dtd
new file mode 100644
index 0000000000..80ad5e7d28
--- /dev/null
+++ b/l10n-th/editor/ui/chrome/dialogs/EditorReplace.dtd
@@ -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/. -->
+
+<!-- extracted from EdReplace.xul -->
+
+<!ENTITY replaceDialog.title "ค้นหาแล้วแทนที่">
+<!ENTITY findField.label "ค้นหาข้อความ:">
+<!ENTITY findField.accesskey "ค">
+<!ENTITY replaceField.label "แทนที่ด้วย:">
+<!ENTITY replaceField.accesskey "ท">
+<!ENTITY caseSensitiveCheckbox.label "ตรงตามตัวพิมพ์ใหญ่-เล็ก">
+<!ENTITY caseSensitiveCheckbox.accesskey "ต">
+<!ENTITY wrapCheckbox.label "ครอบคลุมให้ทั่ว">
+<!ENTITY wrapCheckbox.accesskey "ห">
+<!ENTITY backwardsCheckbox.label "ค้นหาแบบย้อนกลับ">
+<!ENTITY backwardsCheckbox.accesskey "ย">
+<!ENTITY findNextButton.label "ค้นหาต่อไป">
+<!ENTITY findNextButton.accesskey "ไ">
+<!ENTITY replaceButton.label "แทนที่">
+<!ENTITY replaceButton.accesskey "แ">
+<!ENTITY replaceAndFindButton.label "แทนที่แล้วค้นหา">
+<!ENTITY replaceAndFindButton.accesskey "า">
+<!ENTITY replaceAllButton.label "แทนที่ทั้งหมด">
+<!ENTITY replaceAllButton.accesskey "ม">
+<!ENTITY closeButton.label "ปิด">
+<!ENTITY closeButton.accesskey "ป">
diff --git a/l10n-th/editor/ui/chrome/dialogs/EditorSaveAsCharset.dtd b/l10n-th/editor/ui/chrome/dialogs/EditorSaveAsCharset.dtd
new file mode 100644
index 0000000000..2edccf2648
--- /dev/null
+++ b/l10n-th/editor/ui/chrome/dialogs/EditorSaveAsCharset.dtd
@@ -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/. -->
+
+<!-- These strings are generic to all or most of the editor's dialogs. -->
+
+<!-- This button is for the progressive disclosure of additional editing functionality -->
+
+<!-- These strings are for use specifically in the editor's link dialog. -->
+<!ENTITY windowTitle2.label "บันทึกแล้วเปลี่ยนรหัสอักขระ">
+<!ENTITY documentTitleTitle.label "ชื่อเรื่องหน้า">
+<!ENTITY documentCharsetTitle2.label "รหัสอักขระ">
+<!ENTITY documentCharsetDesc2.label "เลือกรหัสอักขระที่คุณต้องการบันทึกเอกสาร:">
+<!ENTITY documentExportToText.label "ส่งออกเป็นข้อความ">
diff --git a/l10n-th/editor/ui/chrome/dialogs/EditorSelectProperties.dtd b/l10n-th/editor/ui/chrome/dialogs/EditorSelectProperties.dtd
new file mode 100644
index 0000000000..b5786154df
--- /dev/null
+++ b/l10n-th/editor/ui/chrome/dialogs/EditorSelectProperties.dtd
@@ -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/. -->
+
+<!ENTITY windowTitle.label "คุณสมบัติรายการเลือก">
+
+<!ENTITY Select.label "รายการเลือก">
+<!ENTITY SelectName.label "ชื่อรายการ:">
+<!ENTITY SelectName.accesskey "ช">
+<!ENTITY SelectSize.label "ความสูง:">
+<!ENTITY SelectSize.accesskey "ส">
+<!ENTITY SelectMultiple.label "การเลือกหลายรายการ">
+<!ENTITY SelectMultiple.accesskey "ห">
+<!ENTITY SelectDisabled.label "ปิดใช้งานอยู่">
+<!ENTITY SelectDisabled.accesskey "ป">
+<!ENTITY SelectTabIndex.label "ดัชนีแท็บ:">
+<!ENTITY SelectTabIndex.accesskey "ด">
+
+<!ENTITY OptGroup.label "กลุ่มตัวเลือก">
+<!ENTITY OptGroupLabel.label "ป้ายชื่อ:">
+<!ENTITY OptGroupLabel.accesskey "ย">
+<!ENTITY OptGroupDisabled.label "ปิดใช้งานอยู่">
+<!ENTITY OptGroupDisabled.accesskey "ป">
+
+<!ENTITY Option.label "ตัวเลือก">
+<!ENTITY OptionText.label "ข้อความ:">
+<!ENTITY OptionText.accesskey "ว">
+<!ENTITY OptionValue.label "ค่า:">
+<!ENTITY OptionValue.accesskey "ค">
+<!ENTITY OptionSelected.label "เลือกตั้งแต่เริ่มต้น">
+<!ENTITY OptionSelected.accesskey "เ">
+<!ENTITY OptionDisabled.label "ปิดใช้งานอยู่">
+<!ENTITY OptionDisabled.accesskey "ป">
+
+<!ENTITY TextHeader.label "ข้อความ">
+<!ENTITY ValueHeader.label "ค่า">
+<!ENTITY SelectedHeader.label "ถูกเลือก">
+
+<!ENTITY AddOption.label "เพิ่มตัวเลือก">
+<!ENTITY AddOption.accesskey "ต">
+<!ENTITY AddOptGroup.label "เพิ่มกลุ่ม">
+<!ENTITY AddOptGroup.accesskey "ก">
+<!ENTITY RemoveElement.label "เอาออก">
+<!ENTITY RemoveElement.accesskey "อ">
+<!ENTITY MoveElementUp.label "ย้ายขึ้น">
+<!ENTITY MoveElementUp.accesskey "ข">
+<!ENTITY MoveElementDown.label "ย้ายลง">
+<!ENTITY MoveElementDown.accesskey "ล">
diff --git a/l10n-th/editor/ui/chrome/dialogs/EditorSnapToGrid.dtd b/l10n-th/editor/ui/chrome/dialogs/EditorSnapToGrid.dtd
new file mode 100644
index 0000000000..a2eb93af53
--- /dev/null
+++ b/l10n-th/editor/ui/chrome/dialogs/EditorSnapToGrid.dtd
@@ -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/. -->
+
+
+<!-- Window title -->
+<!ENTITY windowTitle.label "จัดชิดเส้นตาราง">
+
+<!ENTITY enableSnapToGrid.label "เปิดใช้งานการจัดชิดเส้นตาราง">
+<!ENTITY enableSnapToGrid.accessKey "ป">
+
+<!ENTITY sizeEditField.label "ขนาด:">
+<!ENTITY sizeEditField.accessKey "ข">
+
+<!ENTITY pixelsLabel.value "พิกเซล">
diff --git a/l10n-th/editor/ui/chrome/dialogs/EditorSpellCheck.dtd b/l10n-th/editor/ui/chrome/dialogs/EditorSpellCheck.dtd
new file mode 100644
index 0000000000..5ebc0bcf76
--- /dev/null
+++ b/l10n-th/editor/ui/chrome/dialogs/EditorSpellCheck.dtd
@@ -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/. -->
+
+<!-- Window title -->
+<!ENTITY windowTitle.label "ตรวจสอบการสะกดคำ">
+
+<!ENTITY misspelledWord.label "คำที่สะกดผิด:">
+<!ENTITY wordEditField.label "แทนที่ด้วย:">
+<!ENTITY wordEditField.accessKey "ย">
+<!ENTITY checkwordButton.label "ตรวจสอบคำ">
+<!ENTITY checkwordButton.accessKey "ต">
+<!ENTITY suggestions.label "คำแนะนำ:">
+<!ENTITY suggestions.accessKey "น">
+<!ENTITY ignoreButton.label "เพิกเฉย">
+<!ENTITY ignoreButton.accessKey "พ">
+<!ENTITY ignoreAllButton.label "เพิกเฉยทั้งหมด">
+<!ENTITY ignoreAllButton.accessKey "ม">
+<!ENTITY replaceButton.label "แทนที่">
+<!ENTITY replaceButton.accessKey "ท">
+<!ENTITY replaceAllButton.label "แทนที่ทั้งหมด">
+<!ENTITY replaceAllButton.accessKey "ด">
+<!ENTITY stopButton.label "หยุด">
+<!ENTITY stopButton.accessKey "ห">
+<!ENTITY userDictionary.label "พจนานุกรมส่วนบุคคล:">
+<!ENTITY moreDictionaries.label "ดาวน์โหลดพจนานุกรมเพิ่มเติม…">
+<!ENTITY addToUserDictionaryButton.label "เพิ่มคำ">
+<!ENTITY addToUserDictionaryButton.accessKey "ม">
+<!ENTITY editUserDictionaryButton.label "แก้ไข…">
+<!ENTITY editUserDictionaryButton.accessKey "ก">
+<!ENTITY recheckButton2.label "ตรวจสอบข้อความใหม่">
+<!ENTITY recheckButton2.accessKey "ข">
+<!ENTITY closeButton.label "ปิด">
+<!ENTITY closeButton.accessKey "ป">
+<!ENTITY sendButton.label "ส่ง">
+<!ENTITY sendButton.accessKey "ส">
+<!ENTITY languagePopup.label "ภาษา:">
+<!ENTITY languagePopup.accessKey "ภ">
diff --git a/l10n-th/editor/ui/chrome/dialogs/EditorTableProperties.dtd b/l10n-th/editor/ui/chrome/dialogs/EditorTableProperties.dtd
new file mode 100644
index 0000000000..2a9624bcdd
--- /dev/null
+++ b/l10n-th/editor/ui/chrome/dialogs/EditorTableProperties.dtd
@@ -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/. -->
+
+<!ENTITY tableWindow.title "คุณสมบัติตาราง">
+<!ENTITY applyButton.label "นำไปใช้">
+<!ENTITY applyButton.accesskey "ช">
+<!ENTITY closeButton.label "ปิด">
+<!ENTITY tableTab.label "ตาราง">
+<!ENTITY cellTab.label "เซลล์">
+<!ENTITY tableRows.label "แถว:">
+<!ENTITY tableRows.accessKey "ถ">
+<!ENTITY tableColumns.label "คอลัมน์:">
+<!ENTITY tableColumns.accessKey "ค">
+<!ENTITY tableHeight.label "ความสูง:">
+<!ENTITY tableHeight.accessKey "ส">
+<!ENTITY tableWidth.label "ความกว้าง:">
+<!ENTITY tableWidth.accessKey "ก">
+<!ENTITY tableBorderSpacing.label "เส้นขอบและระยะห่าง">
+<!ENTITY tableBorderWidth.label "เส้นขอบ:">
+<!ENTITY tableBorderWidth.accessKey "ข">
+<!ENTITY tableSpacing.label "ระยะห่าง:">
+<!ENTITY tableSpacing.accessKey "ห">
+<!ENTITY tablePadding.label "ช่องว่างภายใน:">
+<!ENTITY tablePadding.accessKey "ว">
+<!ENTITY tablePxBetwCells.label "พิกเซลระหว่างเซลล์">
+<!ENTITY tablePxBetwBrdrCellContent.label "พิกเซลระหว่างเส้นขอบและเนื้อหาภายในเซลล์">
+<!ENTITY tableAlignment.label "การจัดแนวตาราง:">
+<!ENTITY tableAlignment.accessKey "จ">
+<!ENTITY tableCaption.label "คำบรรยาย:">
+<!ENTITY tableCaption.accessKey "บ">
+<!ENTITY tableCaptionAbove.label "ด้านบนของตาราง">
+<!ENTITY tableCaptionBelow.label "ด้านล่างของตาราง">
+<!ENTITY tableCaptionLeft.label "ด้านซ้ายของตาราง">
+<!ENTITY tableCaptionRight.label "ด้านขวาของตาราง">
+<!ENTITY tableCaptionNone.label "ไม่มี">
+<!ENTITY tableInheritColor.label "(ให้สีของหน้าแสดงผ่าน)">
+
+<!ENTITY cellSelection.label "ส่วนที่เลือก">
+<!ENTITY cellSelectCell.label "เซลล์">
+<!ENTITY cellSelectRow.label "แถว">
+<!ENTITY cellSelectColumn.label "คอลัมน์">
+<!ENTITY cellSelectNext.label "ถัดไป">
+<!ENTITY cellSelectNext.accessKey "ถ">
+<!ENTITY cellSelectPrevious.label "ก่อนหน้า">
+<!ENTITY cellSelectPrevious.accessKey "ก">
+<!ENTITY applyBeforeChange.label "การเปลี่ยนแปลงปัจจุบันจะถูกนำไปใช้ก่อนที่จะเปลี่ยนแปลงส่วนที่เลือก">
+<!ENTITY cellContentAlignment.label "การจัดชิดแนวเนื้อหา">
+<!ENTITY cellHorizontal.label "แนวนอน:">
+<!ENTITY cellHorizontal.accessKey "น">
+<!ENTITY cellVertical.label "แนวตั้ง:">
+<!ENTITY cellVertical.accessKey "ต">
+<!ENTITY cellStyle.label "ลักษณะเซลล์:">
+<!ENTITY cellStyle.accessKey "ล">
+<!ENTITY cellNormal.label "ปกติ">
+<!ENTITY cellHeader.label "ส่วนหัว">
+<!ENTITY cellTextWrap.label "การตัดข้อความ:">
+<!ENTITY cellTextWrap.accessKey "ต">
+<!ENTITY cellWrap.label "ตัด">
+<!ENTITY cellNoWrap.label "ไม่ต้องตัด">
+<!ENTITY cellAlignTop.label "ด้านบน">
+<!ENTITY cellAlignMiddle.label "ตรงกลาง">
+<!ENTITY cellAlignBottom.label "ด้านล่าง">
+<!ENTITY cellAlignJustify.label "จัดเต็มแนว">
+<!ENTITY cellInheritColor.label "(ให้สีของตารางแสดงผ่าน)">
+<!ENTITY cellUseCheckboxHelp.label "ใช้กล่องกาเครื่องหมายเพื่อกำหนดคุณสมบัติที่จะใช้กับเซลล์ที่เลือกทั้งหมด">
+
+<!-- Used in both Table and Cell panels -->
+<!ENTITY size.label "ขนาด">
+<!ENTITY pixels.label "พิกเซล">
+<!ENTITY backgroundColor.label "สีพื้นหลัง:">
+<!ENTITY backgroundColor.accessKey "พ">
+<!ENTITY AlignLeft.label "ซ้าย">
+<!ENTITY AlignCenter.label "กึ่งกลาง">
+<!ENTITY AlignRight.label "ขวา">
diff --git a/l10n-th/editor/ui/chrome/dialogs/EditorTextAreaProperties.dtd b/l10n-th/editor/ui/chrome/dialogs/EditorTextAreaProperties.dtd
new file mode 100644
index 0000000000..3d25bc2f9a
--- /dev/null
+++ b/l10n-th/editor/ui/chrome/dialogs/EditorTextAreaProperties.dtd
@@ -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/. -->
+
+<!ENTITY windowTitle.label "คุณสมบัติพื้นที่ข้อความ">
+
+<!ENTITY Settings.label "การตั้งค่า">
+
+<!ENTITY TextAreaName.label "ชื่อช่องกรอกข้อมูล:">
+<!ENTITY TextAreaName.accessKey "ช">
+<!ENTITY TextAreaRows.label "แถว:">
+<!ENTITY TextAreaRows.accessKey "ถ">
+<!ENTITY TextAreaCols.label "คอลัมน์:">
+<!ENTITY TextAreaCols.accessKey "ค">
+<!ENTITY TextAreaReadOnly.label "อ่านอย่างเดียว">
+<!ENTITY TextAreaReadOnly.accessKey "อ">
+<!ENTITY TextAreaDisabled.label "ปิดใช้งานอยู่">
+<!ENTITY TextAreaDisabled.accessKey "ป">
+<!ENTITY TextAreaTabIndex.label "ดัชนีแท็บ:">
+<!ENTITY TextAreaTabIndex.accessKey "ด">
+<!ENTITY TextAreaAccessKey.label "ปุ่มลัดแป้นพิมพ์:">
+<!ENTITY TextAreaAccessKey.accessKey "ม">
+<!ENTITY InitialText.label "ข้อความตั้งต้น:">
+<!ENTITY InitialText.accessKey "ข">
+
+<!ENTITY TextAreaWrap.label "โหมดการตัด:">
+<!ENTITY TextAreaWrap.accessKey "ห">
+<!ENTITY WrapDefault.value "ค่าเริ่มต้น">
+<!ENTITY WrapOff.value "ปิด">
+<!ENTITY WrapHard.value "แบบตายตัว">
+<!ENTITY WrapSoft.value "แบบไม่ตายตัว">
+<!ENTITY WrapPhysical.value "แบบจริง">
+<!ENTITY WrapVirtual.value "แบบเสมือน">
diff --git a/l10n-th/mail/branding/thunderbird/brand.dtd b/l10n-th/mail/branding/thunderbird/brand.dtd
new file mode 100644
index 0000000000..f0472f5ecf
--- /dev/null
+++ b/l10n-th/mail/branding/thunderbird/brand.dtd
@@ -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/. -->
+<!ENTITY brandShortName "Thunderbird">
+<!ENTITY brandShorterName "Thunderbird">
+<!ENTITY brandFullName "Mozilla Thunderbird">
+<!-- LOCALIZATION NOTE (brandProductName):
+ This brand name can be used in messages where the product name needs to
+ remain unchanged across different versions (Daily, Beta, etc.). -->
+<!ENTITY brandProductName "Thunderbird">
+<!ENTITY vendorShortName "Mozilla">
+<!ENTITY trademarkInfo.part1 "Mozilla Thunderbird และโลโก้ Thunderbird เป็นเครื่องหมายการค้าของมูลนิธิ Mozilla">
diff --git a/l10n-th/mail/branding/thunderbird/brand.ftl b/l10n-th/mail/branding/thunderbird/brand.ftl
new file mode 100644
index 0000000000..52f2d38d59
--- /dev/null
+++ b/l10n-th/mail/branding/thunderbird/brand.ftl
@@ -0,0 +1,21 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+
+## Thunderbird Brand
+##
+## Thunderbird must be treated as a brand, and kept in English.
+## It cannot be:
+## - Transliterated.
+## - Translated.
+##
+## Reference: https://www.mozilla.org/styleguide/communications/translation/
+
+-brand-shorter-name = Thunderbird
+-brand-short-name = Thunderbird
+-brand-full-name = Mozilla Thunderbird
+# This brand name can be used in messages where the product name needs to
+# remain unchanged across different versions (Daily, Beta, etc.).
+-brand-product-name = Thunderbird
+-vendor-short-name = Mozilla
diff --git a/l10n-th/mail/branding/thunderbird/brand.properties b/l10n-th/mail/branding/thunderbird/brand.properties
new file mode 100644
index 0000000000..9dd5011219
--- /dev/null
+++ b/l10n-th/mail/branding/thunderbird/brand.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/.
+brandShortName=Thunderbird
+brandShorterName=Thunderbird
+brandFullName=Mozilla Thunderbird
+vendorShortName=Mozilla
diff --git a/l10n-th/mail/chrome/communicator/utilityOverlay.dtd b/l10n-th/mail/chrome/communicator/utilityOverlay.dtd
new file mode 100644
index 0000000000..ed76ff3629
--- /dev/null
+++ b/l10n-th/mail/chrome/communicator/utilityOverlay.dtd
@@ -0,0 +1,47 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!-- LOCALIZATION NOTE : FILE This file contains the global menu items -->
+
+<!ENTITY fileMenu.label "ไฟล์">
+<!ENTITY fileMenu.accesskey "ฟ">
+<!ENTITY newMenu.label "ใหม่">
+<!ENTITY newMenu.accesskey "ห">
+
+<!ENTITY editMenu.label "แก้ไข">
+<!ENTITY editMenu.accesskey "ก">
+<!ENTITY undoCmd.label "เลิกทำ">
+<!ENTITY undoCmd.accesskey "ล">
+<!ENTITY redoCmd.label "ทำซ้ำ">
+<!ENTITY redoCmd.accesskey "ท">
+<!ENTITY deleteCmd.label "ลบ">
+<!ENTITY deleteCmd.accesskey "บ">
+<!ENTITY preferencesCmd2.label "ตัวเลือก">
+<!ENTITY preferencesCmd2.accesskey "ก">
+<!ENTITY preferencesCmdUnix.label "ค่ากำหนด">
+<!ENTITY preferencesCmdUnix.accesskey "ก">
+
+<!ENTITY customizeCmd.label "ปรับแต่ง">
+<!ENTITY customizeCmd.accesskey "ป">
+
+<!ENTITY viewMenu.label "มุมมอง">
+<!ENTITY viewMenu.accesskey "ม">
+<!ENTITY viewToolbarsMenu.label "แถบเครื่องมือ">
+<!ENTITY viewToolbarsMenu.accesskey "ถ">
+<!ENTITY showTaskbarCmd.label "แถบสถานะ">
+<!ENTITY showTaskbarCmd.accesskey "บ">
+
+<!ENTITY closeCmd.label "ปิด">
+<!ENTITY closeCmd.key "W">
+<!ENTITY closeCmd.accesskey "ป">
+
+<!ENTITY quitApplicationCmd.label "ออก">
+<!ENTITY quitApplicationCmd.key "Q">
+<!ENTITY quitApplicationCmd.accesskey "อ">
+
+<!ENTITY quitApplicationCmdUnix.label "ออก">
+<!ENTITY quitApplicationCmdUnix.accesskey "อ">
+
+<!ENTITY quitApplicationCmdMac.label "ออกจาก &brandShortName;">
+<!ENTITY quitApplicationCmdMac.accesskey "อ">
diff --git a/l10n-th/mail/chrome/messenger-mapi/mapi.properties b/l10n-th/mail/chrome/messenger-mapi/mapi.properties
new file mode 100644
index 0000000000..2697056456
--- /dev/null
+++ b/l10n-th/mail/chrome/messenger-mapi/mapi.properties
@@ -0,0 +1,35 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# Mail Integration Dialog
+dialogTitle=%S
+dialogText=คุณต้องการใช้ %S เป็นแอปพลิเคชันจดหมายเริ่มต้นหรือไม่?
+newsDialogText=คุณต้องการใช้ %S เป็นแอปพลิเคชันข่าวเริ่มต้นหรือไม่?
+feedDialogText=คุณต้องการใช้ %S เป็นตัวรวบรวมฟีดเริ่มต้นหรือไม่?
+checkboxText=ไม่ต้องแสดงกล่องโต้ตอบนี้อีก
+setDefaultMail=%S ไม่ได้ถูกตั้งเป็นแอปพลิเคชันจดหมายเริ่มต้นของคุณในปัจจุบัน คุณต้องการทำให้เป็นแอปพลิเคชันจดหมายเริ่มต้นของคุณหรือไม่?
+setDefaultNews=%S ไม่ได้ถูกตั้งเป็นแอปพลิเคชันข่าวเริ่มต้นของคุณในปัจจุบัน คุณต้องการทำให้เป็นแอปพลิเคชันข่าวเริ่มต้นของคุณหรือไม่?
+setDefaultFeed=%S ไม่ได้ถูกตั้งเป็นตัวรวบรวมฟีดเริ่มต้นของคุณในปัจจุบัน คุณต้องการทำให้เป็นตัวรวบรวมฟีดเริ่มต้นของคุณหรือไม่?
+alreadyDefaultMail=%S ถูกตั้งเป็นแอปพลิเคชันจดหมายเริ่มต้นของคุณอยู่แล้ว
+alreadyDefaultNews=%S ถูกตั้งเป็นแอปพลิเคชันข่าวเริ่มต้นของคุณอยู่แล้ว
+alreadyDefaultFeed=%S ถูกตั้งเป็นตัวรวบรวมฟีดเริ่มต้นของคุณอยู่แล้ว
+
+# MAPI Messages
+loginText=โปรดป้อนรหัสผ่านของคุณสำหรับ %S:
+loginTextwithName=โปรดป้อนชื่อผู้ใช้และรหัสผ่านของคุณ
+loginTitle=%S
+PasswordTitle=%S
+
+# MAPI Error Messages
+errorMessage=ไม่สามารถตั้ง %S เป็นแอปพลิเคชันจดหมายเริ่มต้นได้เนื่องจากไม่สามารถอัปเดตคีย์รีจิสทรีได้ ตรวจสอบกับผู้ดูแลระบบของคุณว่าคุณมีสิทธิ์การเขียนในรีจิสทรีระบบของคุณ แล้วลองอีกครั้ง
+errorMessageNews=ไม่สามารถตั้ง %S เป็นแอปพลิเคชันข่าวเริ่มต้นได้เนื่องจากไม่สามารถอัปเดตคีย์รีจิสทรีได้ ตรวจสอบกับผู้ดูแลระบบของคุณว่าคุณมีสิทธิ์การเขียนในรีจิสทรีระบบของคุณ แล้วลองอีกครั้ง
+errorMessageTitle=%S
+
+# MAPI Security Messages
+mapiBlindSendWarning=แอปพลิเคชันอื่นกำลังพยายามส่งจดหมายโดยใช้โปรไฟล์ผู้ใช้ของคุณ คุณแน่ใจหรือไม่ว่าต้องการส่งจดหมาย?
+mapiBlindSendDontShowAgain=เตือนฉันเมื่อมีแอปพลิเคชันอื่นพยายามส่งจดหมายจากฉัน
+
+#Default Mail Display String
+# localization note, %S is the vendor name
+defaultMailDisplayTitle=%S
diff --git a/l10n-th/mail/chrome/messenger-newsblog/am-newsblog.dtd b/l10n-th/mail/chrome/messenger-newsblog/am-newsblog.dtd
new file mode 100644
index 0000000000..40ba681fb5
--- /dev/null
+++ b/l10n-th/mail/chrome/messenger-newsblog/am-newsblog.dtd
@@ -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/. -->
+
+<!ENTITY biffAll.label "เปิดใช้งานการอัปเดตสำหรับฟีดทั้งหมด">
+<!ENTITY biffAll.accesskey "ป">
+
+<!ENTITY newFeedSettings.label "การตั้งค่าเริ่มต้นสำหรับฟีดใหม่">
+
+<!ENTITY manageSubscriptions.label "จัดการการบอกรับ…">
+<!ENTITY manageSubscriptions.accesskey "จ">
+
+<!ENTITY feedWindowTitle.label "ตัวช่วยบัญชีฟีด">
+<!ENTITY feeds.accountName "บล็อกและฟีดข่าว">
diff --git a/l10n-th/mail/chrome/messenger-newsblog/feed-subscriptions.dtd b/l10n-th/mail/chrome/messenger-newsblog/feed-subscriptions.dtd
new file mode 100644
index 0000000000..76f1cf19db
--- /dev/null
+++ b/l10n-th/mail/chrome/messenger-newsblog/feed-subscriptions.dtd
@@ -0,0 +1,55 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!-- Subscription Dialog -->
+<!ENTITY feedSubscriptions.label "การบอกรับฟีด">
+<!ENTITY learnMore.label "เรียนรู้เพิ่มเติมเกี่ยวกับฟีด">
+
+<!ENTITY feedTitle.label "ชื่อเรื่อง:">
+<!ENTITY feedTitle.accesskey "ช">
+
+<!ENTITY feedLocation.label "URL ฟีด:">
+<!ENTITY feedLocation.accesskey "ฟ">
+<!ENTITY feedLocation2.placeholder "ป้อน URL ฟีดที่ถูกต้อง">
+<!ENTITY locationValidate.label "ตรวจสอบ">
+<!ENTITY validateText.label "ตรวจสอบความถูกต้องและดึง URL ที่ถูกต้อง">
+
+<!ENTITY feedFolder.label "เก็บบทความใน:">
+<!ENTITY feedFolder.accesskey "ก">
+
+<!-- Account Settings and Subscription Dialog -->
+<!ENTITY biffStart.label "ตรวจสอบบทความใหม่ทุก ๆ ">
+<!ENTITY biffStart.accesskey "ต">
+<!ENTITY biffMinutes.label "นาที">
+<!ENTITY biffMinutes.accesskey "น">
+<!ENTITY biffDays.label "วัน">
+<!ENTITY biffDays.accesskey "ว">
+<!ENTITY recommendedUnits.label "บทความแนะนำของผู้เผยแพร่:">
+
+<!ENTITY quickMode.label "แสดงข้อมูลสรุปของบทความแทนการโหลดหน้าเว็บ">
+<!ENTITY quickMode.accesskey "ส">
+
+<!ENTITY autotagEnable.label "สร้างป้ายกำกับจากชื่อ &lt;category&gt; ฟีดโดยอัตโนมัติ">
+<!ENTITY autotagEnable.accesskey "อ">
+<!ENTITY autotagUsePrefix.label "เติมคำนำหน้าป้ายกำกับด้วย:">
+<!ENTITY autotagUsePrefix.accesskey "P">
+<!ENTITY autoTagPrefix.placeholder "ป้อนคำนำหน้าป้ายกำกับ">
+
+<!-- Subscription Dialog -->
+<!ENTITY button.addFeed.label "เพิ่ม">
+<!ENTITY button.addFeed.accesskey "พ">
+<!ENTITY button.verifyFeed.label "ยืนยัน">
+<!ENTITY button.verifyFeed.accesskey "V">
+<!ENTITY button.updateFeed.label "อัปเดต">
+<!ENTITY button.updateFeed.accesskey "U">
+<!ENTITY button.removeFeed.label "เอาออก">
+<!ENTITY button.removeFeed.accesskey "า">
+<!ENTITY button.importOPML.label "นำเข้า">
+<!ENTITY button.importOPML.accesskey "ข">
+<!ENTITY button.exportOPML.label "ส่งออก">
+<!ENTITY button.exportOPML.accesskey "ง">
+<!ENTITY button.exportOPML.tooltip "ส่งออกฟีดพร้อมโครงสร้างโฟลเดอร์; กดปุ่ม ctrl พร้อมกับคลิกหรือกดปุ่ม ctrl พร้อมกับ enter เพื่อส่งออกฟีดเป็นรายการ">
+
+<!ENTITY cmd.close.commandKey "w">
+<!ENTITY button.close.label "ปิด">
diff --git a/l10n-th/mail/chrome/messenger-newsblog/newsblog.properties b/l10n-th/mail/chrome/messenger-newsblog/newsblog.properties
new file mode 100644
index 0000000000..9d041cb151
--- /dev/null
+++ b/l10n-th/mail/chrome/messenger-newsblog/newsblog.properties
@@ -0,0 +1,93 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+subscribe-validating-feed=กำลังยืนยันฟีด…
+subscribe-cancelSubscription=คุณแน่ใจหรือไม่ว่าต้องการยกเลิกการบอกรับฟีดปัจจุบัน?
+subscribe-cancelSubscriptionTitle=กำลังบอกรับฟีด…
+subscribe-feedAlreadySubscribed=คุณบอกรับฟีดนี้แล้ว
+subscribe-errorOpeningFile=ไม่สามารถเปิดไฟล์
+subscribe-feedAdded=เพิ่มฟีดแล้ว
+subscribe-feedUpdated=อัปเดตฟีดแล้ว
+subscribe-feedMoved=ย้ายการบอกรับฟีดแล้ว
+subscribe-feedCopied=คัดลอกการบอกรับฟีดแล้ว
+subscribe-feedRemoved=เลิกบอกรับฟีดแล้ว
+subscribe-feedNotValid=URL ฟีดไม่ใช่ฟีดที่ถูกต้อง
+subscribe-feedVerified=URL ฟีดถูกตรวจสอบแล้ว
+subscribe-networkError=ไม่พบ URL ฟีด โปรดตรวจสอบชื่อแล้วลองอีกครั้ง
+subscribe-noAuthError=URL ฟีดไม่ได้รับอนุญาต
+subscribe-loading=กำลังโหลด โปรดรอ…
+
+subscribe-OPMLImportTitle=เลือกไฟล์ OPML ที่จะนำเข้า
+## LOCALIZATION NOTE(subscribe-OPMLExportTitleList):
+## %S is the name of the feed account folder name.
+subscribe-OPMLExportTitleList=ส่งออก %S เป็นไฟล์ OPML - รายการฟีด
+## LOCALIZATION NOTE(subscribe-OPMLExportTitleStruct):
+## %S is the name of the feed account folder name.
+subscribe-OPMLExportTitleStruct=ส่งออก %S เป็นไฟล์ OPML - ฟีดพร้อมโครงสร้างโฟลเดอร์
+## LOCALIZATION NOTE(subscribe-OPMLExportFileDialogTitle):
+## %1$S is the brandShortName, %2$S is the name of the feed account folder name.
+subscribe-OPMLExportFileDialogTitle=การส่งออก OPML ของ %1$S - %2$S
+## LOCALIZATION NOTE(subscribe-OPMLExportDefaultFileName):
+## %1$S is the brandShortName (Thunderbird for example), %2$S is the account name.
+## The default extension (.opml) is added here as it is not automatically appended in the file picker on MacOS.
+subscribe-OPMLExportDefaultFileName=My%1$SFeeds-%2$S.opml
+## LOCALIZATION NOTE(subscribe-OPMLImportInvalidFile): %S is the name of the OPML file the user tried to import.
+subscribe-OPMLImportInvalidFile=ไฟล์ %S ดูเหมือนจะไม่ใช่ไฟล์ OPML ที่ถูกต้อง
+## LOCALIZATION NOTE(subscribe-OPMLImportFeedCount): Semi-colon list of plural forms.
+## See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+## #1 is the count of new imported entries.
+subscribe-OPMLImportFeedCount=นำเข้า #1 ฟีดใหม่แล้ว
+## LOCALIZATION NOTE(subscribe-OPMLImportUniqueFeeds): Semi-colon list of plural forms.
+## #1 is the count of new imported entries
+subscribe-OPMLImportUniqueFeeds=นำเข้า #1 ฟีดใหม่ซึ่งคุณยังไม่ได้บอกรับแล้ว
+## LOCALIZATION NOTE(subscribe-OPMLImportFoundFeeds):
+## #1 is total number of elements found in the file
+subscribe-OPMLImportFoundFeeds=(จากทั้งหมด #1 รายการที่พบ)
+## LOCALIZATION NOTE(subscribe-OPMLImportStatus):
+## This is the concatenation of the two strings defined above to compose 1 sentence.
+## %1$S = subscribe-OPMLImportUniqueFeeds
+## %2$S = subscribe-OPMLImportFoundFeeds
+subscribe-OPMLImportStatus=%1$S %2$S
+
+subscribe-OPMLExportOPMLFilesFilterText=ไฟล์ OPML
+## LOCALIZATION NOTE(subscribe-OPMLExportDone): %S is the export file name.
+subscribe-OPMLExportDone=ฟีดในบัญชีนี้ได้ถูกส่งออกไปยัง %S แล้ว
+
+subscribe-confirmFeedDeletionTitle=เอาฟีดออก
+## LOCALIZATION NOTE(subscribe-confirmFeedDeletion): %S is the name of the feed the user wants to unsubscribe from.
+subscribe-confirmFeedDeletion=คุณแน่ใจหรือไม่ว่าต้องการเลิกบอกรับฟีด: \n %S?
+
+## LOCALIZATION NOTE(subscribe-gettingFeedItems):
+## - The first %S is the number of articles processed so far;
+## - The second %S is the total number of items
+subscribe-gettingFeedItems=กำลังดาวน์โหลดบทความฟีด (%S จาก %S)…
+
+newsblog-noNewArticlesForFeed=ไม่มีบทความใหม่สำหรับฟีดนี้
+## LOCALIZATION NOTE(newsblog-networkError): %S is the feed URL
+newsblog-networkError=ไม่พบ %S โปรดตรวจสอบชื่อแล้วลองอีกครั้ง
+## LOCALIZATION NOTE(newsblog-feedNotValid): %S is the feed URL
+newsblog-feedNotValid=%S ไม่ใช่ฟีดที่ถูกต้อง
+## LOCALIZATION NOTE(newsblog-badCertError): %S is the feed URL host
+newsblog-badCertError=%S ใช้ใบรับรองความปลอดภัยที่ผิดกฎ
+## LOCALIZATION NOTE(newsblog-noAuthError): %S is the feed URL
+newsblog-noAuthError=%S ไม่ได้รับอนุญาต
+newsblog-getNewMsgsCheck=กำลังตรวจสอบฟีดสำหรับรายการใหม่…
+
+## LOCALIZATION NOTE(feeds-accountname): This string should be the same as feeds.accountName in am-newsblog.dtd
+feeds-accountname=บล็อกและฟีดข่าว
+
+## LOCALIZATION NOTE(externalAttachmentMsg): Content in the MIME part for external link attachments.
+externalAttachmentMsg=ไฟล์แนบ MIME นี้จะถูกจัดเก็บแยกต่างหากจากข้อความ
+
+## Import wizard.
+ImportFeedsCreateNewListItem=* บัญชีใหม่ *
+ImportFeedsNewAccount=สร้างและนำเข้าสู่บัญชีฟีดใหม่
+ImportFeedsExistingAccount=นำเข้าสู่บัญชีฟีดที่มีอยู่
+## LOCALIZATION NOTE(ImportFeedsDone):
+## - The first %S is the import file name;
+## - The second %S is the value of either ImportFeedsNew or ImportFeedsExisting;
+## - The third %S is the feed account name.
+ImportFeedsNew=ใหม่
+ImportFeedsExisting=มีอยู่แล้ว
+ImportFeedsDone=การนำเข้าการบอกรับฟีดจากไฟล์ %1$S ไปยังบัญชี %2$S '%3$S' เสร็จสิ้นแล้ว
diff --git a/l10n-th/mail/chrome/messenger-smime/certFetchingStatus.dtd b/l10n-th/mail/chrome/messenger-smime/certFetchingStatus.dtd
new file mode 100644
index 0000000000..62260160fe
--- /dev/null
+++ b/l10n-th/mail/chrome/messenger-smime/certFetchingStatus.dtd
@@ -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 shown while obtaining certificates from a directory -->
+
+<!ENTITY title.label "กำลังดาวน์โหลดใบรับรอง">
+<!ENTITY info.message "กำลังค้นหาไดเรกทอรีสำหรับใบรับรองของผู้รับ การดำเนินการนี้อาจใช้เวลาไม่กี่นาที">
+<!ENTITY stop.label "หยุดการค้นหา">
diff --git a/l10n-th/mail/chrome/messenger-smime/msgCompSMIMEOverlay.dtd b/l10n-th/mail/chrome/messenger-smime/msgCompSMIMEOverlay.dtd
new file mode 100644
index 0000000000..bedcd1cf16
--- /dev/null
+++ b/l10n-th/mail/chrome/messenger-smime/msgCompSMIMEOverlay.dtd
@@ -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 msgCompSMIMEOverlay.dtd UI for s/mime hooks in message composition -->
+
+<!ENTITY menu_securityDoNotEncrypt.label "ไม่ต้องเข้ารหัส">
+<!ENTITY menu_securityDoNotEncrypt.accesskey "ม">
+
+<!-- not yet used
+<!ENTITY menu_securityEncryptOptional.label "Allow Encryption">
+<!ENTITY menu_securityEncryptOptional.accesskey "w">
+-->
+
+<!ENTITY menu_securityEncryptRequire2.label "ต้องการการเข้ารหัส">
+<!ENTITY menu_securityEncryptRequire.accesskey "ข">
+
+<!ENTITY menu_securitySign.label "ลงลายเซ็นข้อความนี้แบบดิจิทัล">
+<!ENTITY menu_securitySign.accesskey "ล">
+
+<!ENTITY menu_securityAttachMyKey.label "แนบคีย์สาธารณะของฉัน">
+<!ENTITY menu_securityAttachMyKey.accesskey "น">
+
+<!ENTITY menu_securityTech.label "เทคโนโลยีการเข้ารหัส">
+<!ENTITY menu_securityTech.accesskey "ท">
+
+<!ENTITY menu_techPGP.label "OpenPGP">
+<!ENTITY menu_techPGP.accesskey "O">
+<!ENTITY menu_techSMIME.label "S/MIME">
+<!ENTITY menu_techSMIME.accesskey "S">
+
+<!ENTITY menu_securityStatus.label "ดูข้อมูลความปลอดภัย">
+<!ENTITY menu_securityStatus.accesskey "ด">
+
+<!ENTITY securityButton.label "ความปลอดภัย">
+<!ENTITY securityButton.tooltip "ดูหรือเปลี่ยนแปลงการตั้งค่าความปลอดภัย">
+
+<!ENTITY menu_viewSecurityStatus.label "ข้อมูลความปลอดภัยของข้อความ">
+<!ENTITY menu_viewSecurityStatus.accesskey "อ">
diff --git a/l10n-th/mail/chrome/messenger-smime/msgCompSecurityInfo.dtd b/l10n-th/mail/chrome/messenger-smime/msgCompSecurityInfo.dtd
new file mode 100644
index 0000000000..b39a2f166d
--- /dev/null
+++ b/l10n-th/mail/chrome/messenger-smime/msgCompSecurityInfo.dtd
@@ -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/. -->
+
+<!--LOCALIZATION NOTE msgCompSecurityInfo.dtd UI for viewing security status when composing a message -->
+
+<!ENTITY title.label "ความปลอดภัยข้อความ">
+<!ENTITY subject.plaintextWarning "โปรดทราบ: บรรทัดหัวเรื่องของข้อความอีเมลจะไม่ถูกเข้ารหัส">
+<!ENTITY status.heading "เนื้อหาของข้อความของคุณจะถูกส่งดังนี้:">
+<!ENTITY status.signed "ลงลายเซ็นดิจิทัล:">
+<!ENTITY status.encrypted "เข้ารหัส:">
+<!ENTITY status.certificates "ใบรับรอง:">
+<!ENTITY view.label "ดู">
+<!ENTITY view.accesskey "ด">
+<!ENTITY tree.recipient "ผู้รับ">
+<!ENTITY tree.status "สถานะ">
+<!ENTITY tree.issuedDate "วันที่ออก">
+<!ENTITY tree.expiresDate "หมดอายุ">
diff --git a/l10n-th/mail/chrome/messenger-smime/msgCompSecurityInfo.properties b/l10n-th/mail/chrome/messenger-smime/msgCompSecurityInfo.properties
new file mode 100644
index 0000000000..fc252d1baa
--- /dev/null
+++ b/l10n-th/mail/chrome/messenger-smime/msgCompSecurityInfo.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/.
+
+StatusNotFound=ไม่พบ
+StatusValid=มีผล
+StatusExpired=หมดอายุแล้ว
+StatusUntrusted=ไม่เชื่อถือ
+StatusRevoked=เพิกถอนแล้ว
+StatusInvalid=ไม่ถูกต้อง
+StatusYes=ใช่
+StatusNo=ไม่
+StatusNotPossible=เป็นไปไม่ได้
diff --git a/l10n-th/mail/chrome/messenger-smime/msgReadSMIMEOverlay.dtd b/l10n-th/mail/chrome/messenger-smime/msgReadSMIMEOverlay.dtd
new file mode 100644
index 0000000000..4b2623cb8c
--- /dev/null
+++ b/l10n-th/mail/chrome/messenger-smime/msgReadSMIMEOverlay.dtd
@@ -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 msgReadSMIMEOverlay.dtd UI for s/mime hooks in message reading -->
+
+<!ENTITY menu_securityStatus.label "ข้อมูลความปลอดภัยของข้อความ">
+<!ENTITY menu_securityStatus.accesskey "ข">
diff --git a/l10n-th/mail/chrome/messenger-smime/msgReadSMIMEOverlay.properties b/l10n-th/mail/chrome/messenger-smime/msgReadSMIMEOverlay.properties
new file mode 100644
index 0000000000..9d224be067
--- /dev/null
+++ b/l10n-th/mail/chrome/messenger-smime/msgReadSMIMEOverlay.properties
@@ -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/.
+
+ImapOnDemand=ข้อความที่แสดงมีการลงลายเซ็นแบบดิจิทัล แต่ยังไม่ได้ดาวน์โหลดสิ่งที่แนบมาทั้งหมด จึงไม่สามารถตรวจสอบความถูกต้องของลายเซ็นดังกล่าวได้ คลิก ตกลง เพื่อดาวน์โหลดข้อความที่สมบูรณ์และตรวจสอบความถูกต้องของลายเซ็น
+#
+#NOTE To translator, anything between %..% and <..> should not be translated.
+# the former will be replaced by java script, and the latter is HTML formatting.
+#
+CantDecryptTitle=%brand% ไม่สามารถถอดรหัสข้อความนี้
+CantDecryptBody=ผู้ส่งเข้ารหัสข้อความนี้ถึงคุณโดยใช้ใบรับรองดิจิทัลของคุณ อย่างไรก็ตาม %brand% ไม่สามารถหาใบรับรองนี้และกุญแจส่วนตัวที่เกี่ยวข้องได้ <br> วิธีแก้ปัญหาที่เป็นไปได้: <br><ul><li>หากคุณมีสมาร์ทการ์ด โปรดใส่สมาร์ทการ์ดของคุณตอนนี้ <li>หากคุณใช้เครื่องใหม่ หรือหากคุณใช้โปรไฟล์ %brand% ใหม่ คุณจะต้องเรียกคืนใบรับรองและกุญแจส่วนตัวจากการสำรองข้อมูล การสำรองข้อมูลใบรับรองมักจะลงท้ายด้วย ".p12"</ul>
diff --git a/l10n-th/mail/chrome/messenger-smime/msgReadSecurityInfo.dtd b/l10n-th/mail/chrome/messenger-smime/msgReadSecurityInfo.dtd
new file mode 100644
index 0000000000..41edddcfc7
--- /dev/null
+++ b/l10n-th/mail/chrome/messenger-smime/msgReadSecurityInfo.dtd
@@ -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/. -->
+
+<!--LOCALIZATION NOTE msgReadSecurityInfo.dtd UI for viewing security status when reading a received message -->
+
+<!ENTITY status.label "ความปลอดภัยข้อความ">
+<!ENTITY signatureCert.label "ดูใบรับรองลายเซ็น">
+<!ENTITY encryptionCert.label "ดูใบรับรองการเข้ารหัส">
+
+<!ENTITY signer.name "เซ็นโดย:">
+<!ENTITY recipient.name "เข้ารหัสสำหรับ:">
+<!ENTITY email.address "ที่อยู่อีเมล:">
+<!ENTITY issuer.name "ออกใบรับรองโดย:">
+
+<!-- LOCALIZATION NOTE(SMIME.label): This a name for a technical standard. You should not translate it, but if applicable, you may write it using localized characters. -->
+<!ENTITY SMIME.label "S/MIME">
diff --git a/l10n-th/mail/chrome/messenger-smime/msgSecurityInfo.properties b/l10n-th/mail/chrome/messenger-smime/msgSecurityInfo.properties
new file mode 100644
index 0000000000..d3abb4c4a8
--- /dev/null
+++ b/l10n-th/mail/chrome/messenger-smime/msgSecurityInfo.properties
@@ -0,0 +1,36 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+## Signature Information strings
+SINoneLabel=ข้อความไม่มีลายเซ็นดิจิทัล
+SINone=ข้อความนี้ไม่มีลายเซ็นดิจิทัลของผู้ส่ง ซึ่งหมายความว่าข้อความนี้อาจถูกส่งโดยผู้ที่แอบอ้างว่ามีที่อยู่อีเมลนี้ และอาจเป็นไปได้ด้วยว่าข้อความได้รับการเปลี่ยนแปลงในระหว่างการส่งผ่านเครือข่าย อย่างไรก็ตาม ไม่น่าเป็นไปได้ที่เหตุการณ์ดังกล่าวจะเกิดขึ้น
+SIValidLabel=ข้อความถูกลงลายเซ็นแล้ว
+SIValid=ข้อความนี้มีลายเซ็นดิจิทัลที่ถูกต้อง ข้อความไม่ได้รับการเปลี่ยนแปลงตั้งแต่ถูกส่ง
+SIInvalidLabel=ลายเซ็นดิจิทัลไม่ถูกต้อง
+SIInvalidHeader=ข้อความนี้รวมลายเซ็นดิจิทัลมาด้วย แต่ลายเซ็นเป็นโมฆะ
+SIContentAltered=ลายเซ็นไม่ตรงกับเนื้อหาข้อความอย่างถูกต้อง ข้อความดูเหมือนจะมีการเปลี่ยนแปลงหลังจากผู้ส่งลงลายเซ็น คุณไม่ควรเชื่อถือความถูกต้องของข้อความนี้จนกว่าคุณจะตรวจสอบเนื้อหากับผู้ส่ง
+SIExpired=ใบรับรองที่ใช้ในการลงลายเซ็นข้อความดูเหมือนจะหมดอายุแล้ว ตรวจสอบให้แน่ใจว่าตั้งนาฬิกาของคอมพิวเตอร์ไว้ถูกต้อง
+SIRevoked=ใบรับรองที่ใช้ในการเซ็นข้อความถูกเพิกถอนแล้ว คุณไม่ควรเชื่อถือความถูกต้องของข้อความนี้จนกว่าคุณจะตรวจสอบเนื้อหากับผู้ส่ง
+SINotYetValid=ใบรับรองที่ใช้ในการลงลายเซ็นข้อความดูเหมือนจะยังไม่ถูกต้อง ตรวจสอบให้แน่ใจว่าตั้งนาฬิกาของคอมพิวเตอร์ไว้ถูกต้อง
+SIUnknownCA=ใบรับรองที่ถูกใช้เพื่อเซ็นข้อความนี้ออกโดยผู้มีอำนาจออกใบรับรองที่ไม่รู้จัก
+SIUntrustedCA=ใบรับรองที่ใช้ลงลายเซ็นข้อความที่ออกโดยผู้ออกใบรับรองที่คุณไม่เชื่อถือสำหรับการออกใบรับรองประเภทนี้
+SIExpiredCA=ใบรับรองที่ใช้ในการลงลายเซ็นข้อความถูกออกให้โดยผู้ออกใบรับรองที่ใบรับรองของตนเองหมดอายุแล้ว ตรวจสอบให้แน่ใจว่าตั้งนาฬิกาของคอมพิวเตอร์ไว้ถูกต้อง
+SIRevokedCA=ใบรับรองที่ใช้ในการเซ็นข้อความถูกออกให้โดยผู้ออกใบรับรองที่ใบรับรองของตนเองถูกเพิกถอนแล้ว คุณไม่ควรเชื่อถือความถูกต้องของข้อความนี้จนกว่าคุณจะตรวจสอบเนื้อหากับผู้ส่ง
+SINotYetValidCA=ใบรับรองที่ใช้ในการลงลายเซ็นข้อความถูกออกให้โดยผู้ออกใบรับรองที่ใบรับรองของตนเองยังไม่ถูกต้อง ตรวจสอบให้แน่ใจว่าตั้งนาฬิกาของคอมพิวเตอร์ไว้ถูกต้อง
+SIInvalidCipher=ข้อความถูกลงลายเซ็นโดยใช้ความปลอดภัยของการเข้ารหัสที่ซอฟต์แวร์รุ่นนี้ของคุณไม่รองรับ
+SIClueless=มีปัญหาที่ไม่ทราบสาเหตุกับลายเซ็นดิจิทัลนี้ คุณไม่ควรเชื่อถือความถูกต้องของข้อความนี้จนกว่าคุณจะตรวจสอบเนื้อหากับผู้ส่ง
+SIPartiallyValidLabel=ข้อความถูกลงลายเซ็นแล้ว
+SIPartiallyValidHeader=แม้ว่าลายเซ็นดิจิทัลจะถูก แต่ก็ยังไม่ทราบว่าผู้ส่งและผู้เซ็นคือคนเดียวกัน
+SIHeaderMismatch=ที่อยู่อีเมลที่ระบุไว้ในใบรับรองของผู้ลงลายเซ็นแตกต่างจากที่อยู่อีเมลที่ใช้ส่งข้อความนี้ โปรดดูรายละเอียดของใบรับรองลายเซ็นเพื่อเรียนรู้ว่าใครลงลายเซ็นให้กับข้อความ
+SICertWithoutAddress=ใบรับรองที่ใช้ลงลายเซ็นข้อความไม่มีที่อยู่อีเมล โปรดดูรายละเอียดของใบรับรองลายเซ็นเพื่อเรียนรู้ว่าใครลงลายเซ็นให้กับข้อความ
+
+## Encryption Information strings
+EINoneLabel2=ข้อความไม่ได้ถูกเข้ารหัส
+EINone=ข้อความนี้ไม่ได้ถูกเข้ารหัสก่อนที่จะส่ง ข้อมูลที่ส่งผ่านอินเทอร์เน็ตโดยไม่เข้ารหัสสามารถเห็นได้โดยผู้อื่นในขณะขนส่ง
+EIValidLabel=ข้อความถูกเข้ารหัสแล้ว
+EIValid=ข้อความนี้ถูกเข้ารหัสก่อนที่จะส่งถึงคุณ การเข้ารหัสทำให้ผู้อื่นดูข้อมูลได้ยากขึ้นขณะส่งผ่านเครือข่าย
+EIInvalidLabel=ไม่สามารถเข้ารหัสข้อความ
+EIInvalidHeader=ข้อความนี้ถูกเข้ารหัสก่อนที่จะส่งถึงคุณ แต่ไม่สามารถถอดรหัสได้
+EIContentAltered=เนื้อหาของข้อความดูเหมือนจะมีการเปลี่ยนแปลงในระหว่างการส่ง
+EIClueless=ไม่มีปัญหาที่ไม่รู้จักกับข้อความที่เข้ารหัสนี้
diff --git a/l10n-th/mail/chrome/messenger/AccountManager.dtd b/l10n-th/mail/chrome/messenger/AccountManager.dtd
new file mode 100644
index 0000000000..202cb1c18e
--- /dev/null
+++ b/l10n-th/mail/chrome/messenger/AccountManager.dtd
@@ -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/. -->
+
+<!-- extracted from AccountManager.xul -->
+
+<!-- extracted from AccountManager.xhtml -->
+
+<!ENTITY accountManagerTitle.label "การตั้งค่าบัญชี">
+
+<!ENTITY accountManagerCloseButton.label "ปิด">
+
+<!ENTITY accountActionsButton.label "การกระทำบัญชี">
+<!ENTITY accountActionsButton.accesskey "ก">
+<!ENTITY addMailAccountButton.label "เพิ่มบัญชีจดหมาย…">
+<!ENTITY addMailAccountButton.accesskey "พ">
+<!ENTITY addIMAccountButton.label "เพิ่มบัญชีแชท…">
+<!ENTITY addIMAccountButton.accesskey "ม">
+<!ENTITY addFeedAccountButton.label "เพิ่มบัญชีฟีด…">
+<!ENTITY addFeedAccountButton.accesskey "บ">
+<!ENTITY addOtherAccountButton.label "เพิ่มบัญชีอื่น…">
+<!ENTITY addOtherAccountButton.accesskey "ช">
+<!ENTITY setDefaultButton.label "ตั้งเป็นค่าเริ่มต้น">
+<!ENTITY setDefaultButton.accesskey "ต">
+<!ENTITY removeButton.label "เอาบัญชีออก">
+<!ENTITY removeButton.accesskey "อ">
+
+<!-- AccountManager.xul -->
+
+<!-- AccountManager.xhtml -->
+<!-- LOCALIZATION NOTE : this is part of an inline-style attribute on the account
+ setting dialog, which specifies the width and height in em units of the dialog.
+ Localizers ONLY can increase these widths if they are having difficulty getting
+ panel content to fit.
+ 1ch = The width of the "0" (ZERO, U+0030) glyph for the current font.
+ 1em = The height of the font.
+ XUL/FE DEVELOPERS: DO NOT MODIFY THIS VALUE. It represents the correct size of
+ this window for en-US. -->
+<!ENTITY accountManager.size "width: 105ch; height: 55em;">
+<!ENTITY accountTree.width "width: 32ch;">
diff --git a/l10n-th/mail/chrome/messenger/AccountWizard.dtd b/l10n-th/mail/chrome/messenger/AccountWizard.dtd
new file mode 100644
index 0000000000..95473cc203
--- /dev/null
+++ b/l10n-th/mail/chrome/messenger/AccountWizard.dtd
@@ -0,0 +1,127 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!-- Entities for AccountWizard -->
+
+<!ENTITY windowTitle.label "ตัวช่วยบัญชี">
+<!ENTITY accountWizard.size "width: 40em; height: 38em;">
+
+<!-- Entities for Account Type page -->
+
+<!ENTITY accountSetupInfo2.label "คุณต้องตั้งค่าบัญชีก่อนจึงจะสามารถรับข้อความได้">
+<!ENTITY accountTypeTitle.label "การตั้งค่าบัญชีใหม่">
+<!ENTITY accountTypeDesc2.label "ตัวช่วยนี้จะรวบรวมข้อมูลที่จำเป็นเพื่อใช้ตั้งค่าบัญชี หากคุณไม่รู้ข้อมูลที่ถามไว้ โปรดติดต่อผู้ดูแลระบบหรือผู้ให้บริการอินเทอร์เน็ตของคุณ">
+<!ENTITY accountTypeDirections.label "เลือกประเภทบัญชีที่คุณต้องการตั้งค่า:">
+<!ENTITY accountTypeMail.label "บัญชีอีเมล">
+<!ENTITY accountTypeMail.accesskey "อ">
+<!ENTITY accountTypeNews.label "บัญชีกลุ่มข่าว">
+<!ENTITY accountTypeNews.accesskey "ก">
+<!-- LOCALIZATION NOTE(accountTypeMovemail.label): do not translate 'Movemail' -->
+<!ENTITY accountTypeMovemail.label "Unix Mailspool (Movemail)">
+<!ENTITY accountTypeMovemail.accesskey "U">
+
+<!-- Entities for Identity page -->
+
+<!ENTITY identityTitle.label "ข้อมูลประจำตัว">
+<!ENTITY identityDesc.label "แต่ละบัญชีจะมีข้อมูลประจำตัว ซึ่งเป็นข้อมูลที่ระบุตัวตนคุณแก่ผู้อื่นเมื่อพวกเขาได้รับข้อความจากคุณ">
+
+<!-- LOCALIZATION NOTE (fullnameDesc.label) : do not translate two of "&quot;" in below line -->
+<!ENTITY fullnameDesc.label "ป้อนชื่อที่คุณต้องการให้ปรากฏในช่อง &quot;จาก&quot; ของข้อความขาออกของคุณ">
+<!-- LOCALIZATION NOTE (fullnameExample.label) : use following directions for below line
+ 1, do not translate two of "&quot;"
+ 2, Use localized full name instead of "John Smith"
+-->
+<!ENTITY fullnameExample.label "(ตัวอย่างเช่น &quot;John Smith&quot;)">
+<!ENTITY fullnameLabel.label "ชื่อของคุณ:">
+<!ENTITY fullnameLabel.accesskey "ช">
+
+<!ENTITY emailLabel.label "ที่อยู่อีเมล:">
+<!ENTITY emailLabel.accesskey "ท">
+
+<!-- Entities for Incoming Server page -->
+
+<!ENTITY incomingTitle.label "ข้อมูลเซิร์ฟเวอร์ขาเข้า">
+<!ENTITY incomingServerTypeDesc.label "เลือกประเภทเซิร์ฟเวอร์ขาเข้าที่คุณกำลังใช้">
+<!-- LOCALIZATION NOTE (imapType.label) : Do not translate "IMAP" in below line -->
+<!ENTITY imapType.label "IMAP">
+<!ENTITY imapType.accesskey "I">
+<!-- LOCALIZATION NOTE (popType.label) : Do not translate "POP" in below line -->
+<!ENTITY popType.label "POP">
+<!ENTITY popType.accesskey "P">
+<!ENTITY leaveMsgsOnSrvr.label "ฝากข้อความไว้บนเซิร์ฟเวอร์">
+<!ENTITY leaveMsgsOnSrvr.accesskey "ฝ">
+<!ENTITY portNum.label "พอร์ต:">
+<!ENTITY portNum.accesskey "พ">
+<!ENTITY defaultPortLabel.label "ค่าเริ่มต้น:">
+<!ENTITY defaultPortValue.label "">
+<!-- LOCALIZATION NOTE (incomingServerNameDesc.label) : Do not translate "&quot;pop.example.net&quot;" in below line -->
+<!ENTITY incomingServer.description "ป้อนชื่อเซิร์ฟเวอร์ขาเข้าของคุณ (ตัวอย่างเช่น &quot;mail.example.net&quot;)">
+<!ENTITY incomingServer.label "เซิร์ฟเวอร์ขาเข้า:">
+<!ENTITY incomingServer.accesskey "ซ">
+<!-- LOCALIZATION NOTE (incomingUsername.description) : do not translate "&quot;jsmith&quot;" in below line -->
+<!ENTITY incomingUsername.description "ป้อนชื่อผู้ใช้ขาเข้าที่ผู้ให้บริการอีเมลระบุให้คุณ (ตัวอย่างเช่น &quot;jsmith&quot;)">
+<!ENTITY incomingUsername.label "ชื่อผู้ใช้:">
+<!ENTITY incomingUsername.accesskey "ผ">
+<!-- LOCALIZATION NOTE (newsServerNameDesc.label) : Do not translate "NNTP" or the "&quot;" entities in below line -->
+<!ENTITY newsServerNameDesc.label "ป้อนชื่อเซิร์ฟเวอร์ข่าวของคุณ (NNTP) (ตัวอย่างเช่น &quot;news.example.net&quot;)">
+<!ENTITY newsServerLabel.label "เซิร์ฟเวอร์กลุ่มข่าว:">
+<!ENTITY newsServerLabel.accesskey "เ">
+
+<!-- Entities for Outgoing Server page -->
+
+<!ENTITY outgoingTitle.label "ข้อมูลเซิร์ฟเวอร์ขาออก">
+<!-- LOCALIZATION NOTE (outgoingServer.description) : Do not translate "SMTP" and "&quot;smtp.example.net&quot;" in below line -->
+<!ENTITY outgoingServer.description "ป้อนชื่อเซิร์ฟเวอร์ขาออกของคุณ (SMTP) (ตัวอย่างเช่น &quot;smtp.example.net&quot;)">
+<!ENTITY outgoingServer.label "เซิร์ฟเวอร์ขาออก:">
+<!ENTITY outgoingServer.accesskey "ร">
+<!ENTITY outgoingUsername.description "ป้อนชื่อผู้ใช้ขาออกที่คุณได้รับจากผู้ให้บริการอีเมลของคุณ (โดยปกติมักจะเหมือนกับชื่อผู้ใช้ขาเข้าของคุณ)">
+<!ENTITY outgoingUsername.label "ชื่อผู้ใช้ขาออก:">
+<!ENTITY outgoingUsername.accesskey "ใ">
+
+<!-- LOCALIZATION NOTE (modifyOutgoing.suffix) : This string will be appended after each of
+ haveSmtp1.suffix3, haveSmtp2.suffix3, haveSmtp3.suffix3 .
+-->
+<!ENTITY modifyOutgoing.suffix "คุณสามารถเปลี่ยนเซิร์ฟเวอร์ขาออกได้ในการตั้งค่าบัญชี">
+<!-- LOCALIZATION NOTE (haveSmtp1.prefix and haveSmtp1.suffix3) : Do not translate "SMTP" and "&quot;" in
+ these variables. Also, translate haveSmtp1.prefix and haveSmtp1.suffix3 as a single sentence, inserting
+ text after the "&quot;" entity in haveSmtp1.suffix3, if required grammatically.
+-->
+<!ENTITY haveSmtp1.prefix "เซิร์ฟเวอร์ขาออกที่มีอยู่ของคุณ (SMTP) &quot;">
+<!ENTITY haveSmtp1.suffix3 "&quot; จะถูกใช้">
+<!-- LOCALIZATION NOTE (haveSmtp2.prefix and haveSmtp2.suffix3) : Do not translate "SMTP" and "&quot;" in
+ these variables. Also, translate haveSmtp2.prefix and haveSmtp2.suffix3 as a single sentence, inserting
+ text after the "&quot;" entity in haveSmtp2.suffix3, if required grammatically.
+-->
+<!ENTITY haveSmtp2.prefix "ชื่อผู้ใช้ขาออก (SMTP) ที่มีอยู่ของคุณ &quot;">
+<!ENTITY haveSmtp2.suffix3 "&quot; จะถูกใช้">
+<!-- LOCALIZATION NOTE (haveSmtp3.prefix and haveSmtp3.suffix3) : Do not translate "SMTP" and "&quot;" in
+ these variables. Also, translate haveSmtp3.prefix and haveSmtp3.suffix3 as a single sentence, inserting
+ text after the "&quot;" entity in haveSmtp3.suffix3, if required grammatically.
+-->
+<!ENTITY haveSmtp3.prefix "เซิร์ฟเวอร์ขาออก (SMTP) ของคุณ &quot;">
+<!ENTITY haveSmtp3.suffix3 "&quot; เหมือนกับเซิร์ฟเวอร์ขาเข้าของคุณ ชื่อผู้ใช้ขาเข้าของคุณจะถูกใช้ในการเข้าถึงแทน">
+
+<!-- Entities for Account name page -->
+
+<!ENTITY accnameTitle.label "ชื่อบัญชี">
+<!-- LOCALIZATION NOTE (accnameDesc.label) : do not translate any "&quot;" in below line -->
+<!ENTITY accnameDesc.label "ป้อนชื่อที่คุณต้องการอ้างถึงบัญชีนี้ (ตัวอย่างเช่น &quot;บัญชีที่ทำงาน&quot;, &quot;บัญชีที่บ้าน&quot; หรือ &quot;บัญชีข่าว&quot;)">
+<!ENTITY accnameLabel.label "ชื่อบัญชี:">
+<!ENTITY accnameLabel.accesskey "บ">
+
+<!-- Entities for Done (Congratulations) page -->
+
+<!ENTITY completionTitle.label "ขอแสดงความยินดี!">
+<!ENTITY completionText.label "โปรดยืนยันว่าข้อมูลด้านล่างถูกต้อง">
+<!ENTITY serverTypePrefix.label "ชนิดเซิร์ฟเวอร์ขาเข้า:">
+<!ENTITY serverNamePrefix.label "ชื่อเซิร์ฟเวอร์ขาเข้า:">
+<!ENTITY smtpServerNamePrefix.label "ชื่อเซิร์ฟเวอร์ขาออก (SMTP):">
+<!ENTITY newsServerNamePrefix.label "ชื่อเซิร์ฟเวอร์ข่าว (NNTP):">
+<!ENTITY downloadOnLogin.label "ดาวน์โหลดข้อความเดี๋ยวนี้">
+<!ENTITY downloadOnLogin.accesskey "ด">
+<!ENTITY deferStorageDesc.label "ยกเลิกการกาเครื่องหมายในกล่องกาเครื่องหมายนี้เพื่อเก็บจดหมายสำหรับบัญชีนี้ในไดเรกทอรีของบัญชีนี้เอง ซึ่งจะทำให้บัญชีนี้ปรากฏเป็นบัญชีระดับบนสุด มิฉะนั้น จะกลายเป็นส่วนหนึ่งของบัญชีกล่องขาเข้าส่วนกลางของโฟลเดอร์ภายในเครื่องแทน">
+<!ENTITY deferStorage.label "ใช้กล่องขาเข้าส่วนกลาง (เก็บจดหมายในโฟลเดอร์ภายในเครื่อง)">
+<!ENTITY deferStorage.accesskey "ส">
+<!ENTITY clickFinish.label "คลิก เสร็จสิ้น เพื่อบันทึกการตั้งค่าเหล่านี้และออกจากตัวช่วยบัญชี">
+<!ENTITY clickFinish.labelMac "คลิก เสร็จสิ้น เพื่อบันทึกการตั้งค่าเหล่านี้และออกจากตัวช่วยบัญชี">
diff --git a/l10n-th/mail/chrome/messenger/CustomHeaders.dtd b/l10n-th/mail/chrome/messenger/CustomHeaders.dtd
new file mode 100644
index 0000000000..7dbc7df641
--- /dev/null
+++ b/l10n-th/mail/chrome/messenger/CustomHeaders.dtd
@@ -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/. -->
+
+<!ENTITY window.title "ปรับแต่งส่วนหัว">
+<!ENTITY addButton.label "เพิ่ม">
+<!ENTITY addButton.accesskey "พ">
+<!ENTITY removeButton.label "เอาออก">
+<!ENTITY removeButton.accesskey "อ">
+<!ENTITY newMsgHeader.label "ส่วนหัวข้อความใหม่:">
+<!ENTITY newMsgHeader.accesskey "ม">
diff --git a/l10n-th/mail/chrome/messenger/FilterEditor.dtd b/l10n-th/mail/chrome/messenger/FilterEditor.dtd
new file mode 100644
index 0000000000..38a47939d6
--- /dev/null
+++ b/l10n-th/mail/chrome/messenger/FilterEditor.dtd
@@ -0,0 +1,67 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!ENTITY window.title "กฎตัวกรอง">
+<!ENTITY filterEditorDialog.dimensions "width: 100ch;">
+<!ENTITY filterName.label "ชื่อตัวกรอง:">
+<!ENTITY filterName.accesskey "ช">
+
+<!ENTITY junk.label "ขยะ">
+<!ENTITY notJunk.label "ไม่ใช่ขยะ">
+
+<!ENTITY lowestPriorityCmd.label "ต่ำสุด">
+<!ENTITY lowPriorityCmd.label "ต่ำ">
+<!ENTITY normalPriorityCmd.label "ปกติ">
+<!ENTITY highPriorityCmd.label "สูง">
+<!ENTITY highestPriorityCmd.label "สูงสุด">
+
+<!ENTITY contextDesc.label "ใช้ตัวกรองเมื่อ:">
+<!ENTITY contextIncomingMail.label "เมื่อรับจดหมายใหม่:">
+<!ENTITY contextIncomingMail.accesskey "ร">
+<!ENTITY contextManual.label "เรียกใช้ด้วยตนเอง">
+<!ENTITY contextManual.accesskey "เ">
+<!ENTITY contextBeforeCls.label "กรองก่อนจำแนกขยะ">
+<!ENTITY contextAfterCls.label "กรองหลังจากจำแนกขยะ">
+<!ENTITY contextOutgoing.label "หลังจากที่ส่งแล้ว">
+<!ENTITY contextOutgoing.accesskey "ห">
+<!ENTITY contextArchive.label "เก็บถาวร">
+<!ENTITY contextArchive.accesskey "ก">
+<!ENTITY contextPeriodic.accesskey "e">
+
+<!ENTITY filterActionDesc.label "ดำเนินการการกระทำเหล่านี้:">
+<!ENTITY filterActionDesc.accesskey "ด">
+
+<!ENTITY filterActionOrderWarning.label "หมายเหตุ: การกระทำตัวกรองจะทำงานในลำดับที่แตกต่างกัน">
+<!ENTITY filterActionOrder.label "ดูลำดับการทำงาน">
+
+<!-- New Style Filter Rule Actions -->
+<!ENTITY moveMessage.label "ย้ายข้อความไปยัง">
+<!ENTITY copyMessage.label "คัดลอกข้อความไปยัง">
+<!ENTITY forwardTo.label "ส่งต่อข้อความไปยัง">
+<!ENTITY replyWithTemplate.label "ตอบกลับด้วยแม่แบบ">
+<!ENTITY markMessageRead.label "ทำเครื่องหมายว่าอ่านแล้ว">
+<!ENTITY markMessageUnread.label "ทำเครื่องหมายว่ายังไม่ได้อ่าน">
+<!ENTITY markMessageStarred.label "เพิ่มดาว">
+<!ENTITY setPriority.label "ตั้งค่าลำดับความสำคัญเป็น">
+<!ENTITY addTag.label "ติดป้ายกำกับข้อความ">
+<!ENTITY setJunkScore.label "ตั้งค่าสถานะขยะเป็น">
+<!ENTITY deleteMessage.label "ลบข้อความ">
+<!ENTITY deleteFromPOP.label "ลบจากเซิร์ฟเวอร์ POP">
+<!ENTITY fetchFromPOP.label "ดึงจากเซิร์ฟเวอร์ POP">
+<!ENTITY ignoreThread.label "เพิกเฉยเธรด">
+<!ENTITY ignoreSubthread.label "เพิกเฉยเธรดย่อย">
+<!ENTITY watchThread.label "เฝ้าดูเธรด">
+<!ENTITY stopExecution.label "หยุดการทำงานของตัวกรอง">
+
+<!ENTITY addAction.tooltip "เพิ่มการกระทำใหม่">
+<!ENTITY removeAction.tooltip "เอาการกระทำนี้ออก">
+
+<!-- LOCALIZATION NOTE
+ The values below are used to control the widths of the filter action widgets.
+ Change the values only when the localized strings in the popup menus
+ are truncated in the widgets.
+ -->
+<!-- Flex Attribute: https://developer.mozilla.org/docs/XUL/Attribute/flex -->
+<!ENTITY filterActionTypeFlexValue "1">
+<!ENTITY filterActionTargetFlexValue "4">
diff --git a/l10n-th/mail/chrome/messenger/FilterListDialog.dtd b/l10n-th/mail/chrome/messenger/FilterListDialog.dtd
new file mode 100644
index 0000000000..1b74a42485
--- /dev/null
+++ b/l10n-th/mail/chrome/messenger/FilterListDialog.dtd
@@ -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/. -->
+
+<!ENTITY window.title "ตัวกรองข้อความ">
+<!ENTITY nameColumn.label "ชื่อตัวกรอง">
+<!ENTITY activeColumn.label "เปิดใช้งานอยู่">
+<!ENTITY newButton.label "ใหม่…">
+<!ENTITY newButton.accesskey "ห">
+<!ENTITY newButton.popupCopy.label "คัดลอก…">
+<!ENTITY newButton.popupCopy.accesskey "ค">
+<!ENTITY editButton.label "แก้ไข…">
+<!ENTITY editButton.accesskey "ก">
+<!ENTITY deleteButton.label "ลบ">
+<!ENTITY deleteButton.accesskey "บ">
+<!ENTITY reorderTopButton "ย้ายไปด้านบนสุด">
+<!ENTITY reorderTopButton.accessKey "น">
+<!ENTITY reorderTopButton.toolTip "จัดเรียงตัวกรองใหม่เพื่อให้ตัวกรองนี้ทำงานก่อนตัวกรองอื่น">
+<!ENTITY reorderUpButton.label "ย้ายขึ้น">
+<!ENTITY reorderUpButton.accesskey "ข">
+<!ENTITY reorderDownButton.label "ย้ายลง">
+<!ENTITY reorderDownButton.accesskey "ล">
+<!ENTITY reorderBottomButton "ย้ายไปด้านล่างสุด">
+<!ENTITY reorderBottomButton.accessKey "ง">
+<!ENTITY reorderBottomButton.toolTip "จัดเรียงตัวกรองใหม่เพื่อให้ตัวกรองนี้ทำงานหลังจากตัวกรองอื่นทั้งหมด">
+<!ENTITY filterHeader.label "ตัวกรองที่เปิดใช้งานจะทำงานโดยอัตโนมัติตามลำดับที่แสดงด้านล่าง">
+<!ENTITY filtersForPrefix.label "ตัวกรองสำหรับ:">
+<!ENTITY filtersForPrefix.accesskey "ต">
+<!ENTITY viewLogButton.label "รายการบันทึกตัวกรอง">
+<!ENTITY viewLogButton.accesskey "ร">
+<!ENTITY runFilters.label "เรียกใช้เดี๋ยวนี้">
+<!ENTITY runFilters.accesskey "เ">
+<!ENTITY stopFilters.label "หยุด">
+<!ENTITY stopFilters.accesskey "ย">
+<!ENTITY folderPickerPrefix.label "เรียกใช้ตัวกรองที่เลือกบน:">
+<!ENTITY folderPickerPrefix.accesskey "ใ">
+<!ENTITY helpButton.label "ช่วยเหลือ">
+<!ENTITY helpButton.accesskey "ช">
+<!ENTITY closeCmd.key "W">
+<!ENTITY searchBox.emptyText "ค้นหาตัวกรองตามชื่อ…">
diff --git a/l10n-th/mail/chrome/messenger/SearchDialog.dtd b/l10n-th/mail/chrome/messenger/SearchDialog.dtd
new file mode 100644
index 0000000000..58af342465
--- /dev/null
+++ b/l10n-th/mail/chrome/messenger/SearchDialog.dtd
@@ -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/. -->
+
+<!-- for SearchDialog.xul -->
+<!ENTITY searchHeading.label "ค้นหาข้อความใน:">
+<!ENTITY searchHeading.accesskey "ค">
+<!ENTITY searchSubfolders.label "ค้นหาโฟลเดอร์ย่อย">
+<!ENTITY searchSubfolders.accesskey "น">
+<!ENTITY searchOnServer.label "เรียกใช้การค้นหาบนเซิร์ฟเวอร์">
+<!ENTITY searchOnServer.accesskey "ร">
+<!ENTITY resetButton.label "ล้าง">
+<!ENTITY resetButton.accesskey "ล">
+<!ENTITY openButton.label "เปิด">
+<!ENTITY openButton.accesskey "ป">
+<!ENTITY deleteButton.label "ลบ">
+<!ENTITY deleteButton.accesskey "ล">
+<!ENTITY searchDialogTitle.label "ค้นหาข้อความ">
+<!ENTITY results.label "ผลลัพธ์">
+<!ENTITY moveButton.label "ย้ายไปยัง">
+<!ENTITY moveButton.accesskey "ย">
+<!ENTITY closeCmd.key "W">
+<!ENTITY openInFolder.label "เปิดในโฟลเดอร์">
+<!ENTITY openInFolder.accesskey "ด">
+<!ENTITY saveAsVFButton.label "บันทึกเป็นโฟลเดอร์การค้นหา">
+<!ENTITY saveAsVFButton.accesskey "บ">
+
+<!-- for ABSearchDialog.xul -->
+<!ENTITY abSearchHeading.label "ค้นหาใน:">
+<!ENTITY abSearchHeading.accesskey "ค">
+<!ENTITY propertiesButton.label "คุณสมบัติ">
+<!ENTITY propertiesButton.accesskey "ส">
+<!ENTITY composeButton.label "เขียน">
+<!ENTITY composeButton.accesskey "ข">
+<!ENTITY deleteCardButton.label "ลบ">
+<!ENTITY deleteCardButton.accesskey "ล">
+<!ENTITY abSearchDialogTitle.label "การค้นหาสมุดรายชื่อขั้นสูง">
+
diff --git a/l10n-th/mail/chrome/messenger/aboutDialog.dtd b/l10n-th/mail/chrome/messenger/aboutDialog.dtd
new file mode 100644
index 0000000000..8c883765ef
--- /dev/null
+++ b/l10n-th/mail/chrome/messenger/aboutDialog.dtd
@@ -0,0 +1,112 @@
+<!ENTITY aboutDialog.title "เกี่ยวกับ &brandFullName;">
+
+<!-- LOCALIZATION NOTE (update.*):
+# These strings are also used in the update pane of preferences.
+# See about:preferences#advanced.
+-->
+<!-- LOCALIZATION NOTE (update.checkForUpdatesButton.*, update.updateButton.*):
+# Only one button is present at a time.
+# The button when displayed is located directly under the Thunderbird version in
+# the about dialog.
+-->
+<!ENTITY update.checkForUpdatesButton.label "ตรวจสอบการอัปเดต">
+<!ENTITY update.checkForUpdatesButton.accesskey "ต">
+<!ENTITY update.updateButton.label3 "เริ่มการทำงานใหม่เพื่ออัปเดต &brandShorterName;">
+<!ENTITY update.updateButton.accesskey "ร">
+
+
+<!-- LOCALIZATION NOTE (warningDesc.version): This is a warning about the experimental nature of Nightly builds. It is only shown in this version. -->
+<!ENTITY warningDesc.version "&brandShortName; เป็นรุ่นทดลองและอาจไม่เสถียร">
+<!-- LOCALIZATION NOTE (warningDesc.telemetryDesc): This is a notification that Nightly builds automatically send Telemetry data back to Mozilla. It is only shown in this version. "It" refers to brandShortName. -->
+<!ENTITY warningDesc.telemetryDesc "ระบบจะส่งข้อมูลเกี่ยวกับประสิทธิภาพ, ฮาร์ดแวร์, การใช้งาน และการปรับแต่งกลับไปยัง &vendorShortName; โดยอัตโนมัติ เพื่อช่วยทำ &brandShortName; ให้ดีขึ้น">
+
+<!-- LOCALIZATION NOTE (community.exp.*) This paragraph is shown in "experimental" builds, i.e. Nightly builds, instead of the other "community.*" strings below. -->
+<!ENTITY community.exp.start "">
+<!-- LOCALIZATION NOTE (community.exp.mozillaLink): This is a link title that links to https://www.mozilla.org/. -->
+<!ENTITY community.exp.mozillaLink "&vendorShortName;">
+<!ENTITY community.exp.middle " คือ ">
+<!-- LOCALIZATION NOTE (community.exp.creditslink): This is a link title that links to about:credits. -->
+<!ENTITY community.exp.creditsLink "ชุมชนระดับโลก">
+<!ENTITY community.exp.end " ที่ทำงานร่วมกันเพื่อทำให้เว็บเปิดกว้าง เป็นของสาธารณะ และเข้าถึงได้ทุกคน">
+
+<!ENTITY community.start2 "&brandShortName; ได้รับการออกแบบโดย ">
+<!-- LOCALIZATION NOTE (community.mozillaLink): This is a link title that links to https://www.mozilla.org/. -->
+<!ENTITY community.mozillaLink "&vendorShortName;">
+<!ENTITY community.middle2 " ซึ่งเป็น ">
+<!-- LOCALIZATION NOTE (community.creditsLink): This is a link title that links to about:credits. -->
+<!ENTITY community.creditsLink "ชุมชนระดับโลก">
+<!ENTITY community.end3 " ที่ทำงานร่วมกันเพื่อทำให้เว็บเปิดกว้าง เป็นของสาธารณะ และเข้าถึงได้ทุกคน">
+
+<!ENTITY helpus.start "ต้องการที่จะช่วย? ">
+<!-- LOCALIZATION NOTE (helpus.donateLink): This is a link title that links to the thunderbird donation page -->
+<!ENTITY helpus.donateLink "ทำการบริจาค">
+<!ENTITY helpus.middle " หรือ ">
+<!-- LOCALIZATION NOTE (helpus.getInvolvedLink): This is a link title that links to https://www.thunderbird.net/get-involved/. -->
+<!ENTITY helpus.getInvolvedLink "มีส่วนร่วม!">
+<!ENTITY helpus.end "">
+
+<!ENTITY releaseNotes.link "บันทึกประจำรุ่น">
+
+<!-- LOCALIZATION NOTE (bottomLinks.license): This is a link title that links to about:license. -->
+<!ENTITY bottomLinks.license "ข้อมูลสัญญาอนุญาต">
+
+<!-- LOCALIZATION NOTE (bottomLinks.rights): This is a link title that links to about:rights. -->
+<!ENTITY bottomLinks.rights "สิทธิผู้ใช้">
+
+<!-- LOCALIZATION NOTE (bottomLinks.privacy): This is a link title that links to https://www.mozilla.org/legal/privacy/. -->
+<!ENTITY bottomLinks.privacy "นโยบายความเป็นส่วนตัว">
+
+<!-- LOCALIZATION NOTE (update.checkingForUpdates): try to make the localized text short (see bug 596813 for screenshots). -->
+<!ENTITY update.checkingForUpdates "กำลังตรวจสอบการอัปเดต…">
+<!-- LOCALIZATION NOTE (update.noUpdatesFound): try to make the localized text short (see bug 596813 for screenshots). -->
+<!ENTITY update.noUpdatesFound "&brandShortName; เป็นรุ่นล่าสุดแล้ว">
+<!-- LOCALIZATION NOTE (update.adminDisabled): try to make the localized text short (see bug 596813 for screenshots). -->
+<!ENTITY update.adminDisabled "การอัปเดตถูกปิดใช้งานโดยผู้ดูแลระบบของคุณ">
+<!-- LOCALIZATION NOTE (update.otherInstanceHandlingUpdates): try to make the localized text short -->
+<!ENTITY update.otherInstanceHandlingUpdates "&brandShortName; กำลังถูกอัปเดตโดยอินสแตนซ์อื่น">
+
+<!-- LOCALIZATION NOTE (update.failed.start,update.failed.linkText,update.failed.end):
+ update.failed.start, update.failed.linkText, and update.failed.end all go into
+ one line with linkText being wrapped in an anchor that links to a site to download
+ the latest version of Firefox (e.g. https://www.firefox.com). As this is all in
+ one line, try to make the localized text short (see bug 596813 for screenshots). -->
+<!ENTITY update.failed.start "การอัปเดตล้มเหลว ">
+<!ENTITY update.failed.linkText "ดาวน์โหลดรุ่นล่าสุด">
+<!ENTITY update.failed.end "">
+
+<!-- LOCALIZATION NOTE (update.manual.start,update.manual.end): update.manual.start and update.manual.end
+ all go into one line and have an anchor in between with text that is the same as the link to a site
+ to download the latest version of Firefox (e.g. https://www.firefox.com). As this is all in one line,
+ try to make the localized text short (see bug 596813 for screenshots). -->
+<!ENTITY update.manual.start "ดาวน์โหลด ">
+<!ENTITY update.manual.linkText "รุ่นล่าสุด">
+<!ENTITY update.manual.end "">
+
+<!-- LOCALIZATION NOTE (update.unsupported.start,update.unsupported.linkText,update.unsupported.end):
+ update.unsupported.start, update.unsupported.linkText, and
+ update.unsupported.end all go into one line with linkText being wrapped in
+ an anchor that links to a site to provide additional information regarding
+ why the system is no longer supported. As this is all in one line, try to
+ make the localized text short (see bug 843497 for screenshots). -->
+<!ENTITY update.unsupported.start "คุณไม่สามารถดำเนินการอัปเดตเพิ่มเติมบนระบบนี้ได้ ">
+<!ENTITY update.unsupported.linkText "เรียนรู้เพิ่มเติม">
+<!ENTITY update.unsupported.end "">
+
+<!-- LOCALIZATION NOTE (update.downloading.start,update.downloading.end): update.downloading.start and
+ update.downloading.end all go into one line, with the amount downloaded inserted in between. As this
+ is all in one line, try to make the localized text short (see bug 596813 for screenshots). The — is
+ the "em dash" (long dash).
+ example: Downloading update — 111 KB of 13 MB -->
+<!ENTITY update.downloading.start "กำลังดาวน์โหลดการอัปเดต — ">
+<!ENTITY update.downloading.end "">
+
+<!ENTITY update.applying "กำลังติดตั้งการอัปเดต…">
+<!ENTITY update.restarting "กำลังเริ่มการทำงานใหม่…">
+
+<!-- LOCALIZATION NOTE (channel.description.start,channel.description.end): channel.description.start and
+ channel.description.end create one sentence, with the current channel label inserted in between.
+ example: You are currently on the _Stable_ update channel. -->
+<!ENTITY channel.description.start "คุณกำลังอยู่บนช่องทางการอัปเดต ">
+<!ENTITY channel.description.end " ">
+
+<!ENTITY cmdCloseMac.commandKey "w">
diff --git a/l10n-th/mail/chrome/messenger/aboutDownloads.dtd b/l10n-th/mail/chrome/messenger/aboutDownloads.dtd
new file mode 100644
index 0000000000..4be9db6067
--- /dev/null
+++ b/l10n-th/mail/chrome/messenger/aboutDownloads.dtd
@@ -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/. -->
+
+<!ENTITY aboutDownloads.title "ไฟล์ที่บันทึกไว้">
+<!ENTITY aboutDownloads.empty "ไม่มีไฟล์ที่บันทึกไว้">
+<!-- LOCALIZATION NOTE (cmd.show.label, cmd.show.accesskey, cmd.showMac.label,
+ cmd.showMac.accesskey):
+ The show and showMac commands are never shown together, thus they can share
+ the same access key (though the two access keys can also be different).
+ -->
+<!ENTITY cmd.show.label "เปิดโฟลเดอร์ที่บรรจุ">
+<!ENTITY cmd.show.accesskey "ด">
+<!ENTITY cmd.showMac.label "แสดงใน Finder">
+<!ENTITY cmd.showMac.accesskey "ส">
+<!ENTITY cmd.open.label "เปิด">
+<!ENTITY cmd.open.accesskey "ป">
+<!ENTITY cmd.removeFromHistory.label "เอาออกจากประวัติ">
+<!ENTITY cmd.removeFromHistory.accesskey "อ">
+<!ENTITY cmd.clearList.label "ล้างรายการ">
+<!ENTITY cmd.clearList.accesskey "ล">
+<!ENTITY cmd.clearList.tooltip "เอารายการทั้งหมดออกจากรายการไฟล์ที่บันทึกไว้ ยกเว้นการดาวน์โหลดที่ดำเนินอยู่">
+<!ENTITY cmd.searchDownloads.label "ค้นหา…">
+<!ENTITY cmd.searchDownloads.key "F">
diff --git a/l10n-th/mail/chrome/messenger/aboutRights.properties b/l10n-th/mail/chrome/messenger/aboutRights.properties
new file mode 100644
index 0000000000..99f0bb7567
--- /dev/null
+++ b/l10n-th/mail/chrome/messenger/aboutRights.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/.
+
+buttonLabel=รู้ถึงสิทธิของคุณ…
+buttonAccessKey=ร
diff --git a/l10n-th/mail/chrome/messenger/aboutSupportMail.properties b/l10n-th/mail/chrome/messenger/aboutSupportMail.properties
new file mode 100644
index 0000000000..264e0d343c
--- /dev/null
+++ b/l10n-th/mail/chrome/messenger/aboutSupportMail.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 (warningLabel): Label for warning text that shows up when private data is included
+warningLabel=คำเตือน:
+# LOCALIZATION NOTE (warningText): Warning text that shows up when private data is included
+warningText=ข้อมูลนี้มีข้อมูลที่ละเอียดอ่อนซึ่งไม่ควรส่งต่อหรือเผยแพร่โดยไม่ได้รับอนุญาต
+
+# LOCALIZATION NOTE (fsType.local): Indicator that the displayed directory is on a local drive
+fsType.local = (ไดรฟ์ในเครื่อง)
+# LOCALIZATION NOTE (fsType.network): Indicator that the displayed directory is on the network
+fsType.network = (ไดรฟ์เครือข่าย)
+# LOCALIZATION NOTE (fsType.unknown): Indicator that we couldn't figure out whether the directory is local or on a network
+fsType.unknown = (ไม่ทราบตำแหน่งที่ตั้ง)
diff --git a/l10n-th/mail/chrome/messenger/accountCreation.dtd b/l10n-th/mail/chrome/messenger/accountCreation.dtd
new file mode 100644
index 0000000000..b7e67126c0
--- /dev/null
+++ b/l10n-th/mail/chrome/messenger/accountCreation.dtd
@@ -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/. -->
+
+<!ENTITY emailWizard.title "ตั้งค่าที่อยู่อีเมลที่มีอยู่">
+<!ENTITY emailWizard.caption "ใช้ที่อยู่อีเมลปัจจุบันของคุณ">
+<!ENTITY name.label "ชื่อของคุณ:">
+<!ENTITY name.accesskey "ช">
+<!ENTITY fullname.placeholder "ชื่อเต็มของคุณ">
+<!ENTITY name.text "ชื่อของคุณที่จะแสดงให้ผู้อื่นเห็น">
+<!ENTITY name.error "โปรดป้อนชื่อของคุณ">
+<!ENTITY email.label "ที่อยู่อีเมล:">
+<!ENTITY email.accesskey "ท">
+<!ENTITY email3.placeholder "ที่อยู่อีเมลของคุณ">
+<!ENTITY email.text "ที่อยู่อีเมลที่มีอยู่ของคุณ">
+<!ENTITY email.error "ที่อยู่อีเมลผิดรูปแบบ">
+<!ENTITY password.label "รหัสผ่าน:">
+<!ENTITY password.accesskey "ร">
+<!ENTITY password.placeholder "รหัสผ่าน">
+<!ENTITY password.text "ไม่บังคับกรอก จะใช้เพื่อตรวจสอบชื่อผู้ใช้เท่านั้น">
+<!ENTITY password.toggle "แสดง/ซ่อน รหัสผ่าน">
+<!ENTITY rememberPassword.label "จดจำรหัสผ่าน">
+<!ENTITY rememberPassword.accesskey "จ">
+<!ENTITY usernameEx.label "ข้อมูลการเข้าสู่ระบบของคุณ:">
+<!ENTITY usernameEx.accesskey "ข">
+<!-- LOCALIZATION NOTE(usernameEx.placeholder): YOURDOMAIN refers to the Windows domain in ActiveDirectory. yourusername refers to the user's account name in Windows. -->
+<!ENTITY usernameEx.placeholder "YOURDOMAIN\yourusername">
+<!-- LOCALIZATION NOTE(usernameEx.text): Domain refers to the Windows domain in ActiveDirectory. We mean the user's login in Windows at the local corporate network. -->
+<!ENTITY usernameEx.text "การเข้าสู่ระบบโดเมน">
+
+<!ENTITY protocol.label "โปรโตคอล:">
+<!ENTITY imapLong.label "IMAP (โฟลเดอร์ระยะไกล)">
+<!ENTITY pop3Long.label "POP3 (เก็บจดหมายไว้ในคอมพิวเตอร์ของคุณ)">
+
+<!ENTITY manualConfigTable.summary "การตั้งค่าเซิร์ฟเวอร์">
+<!ENTITY incoming.label "ขาเข้า:">
+<!ENTITY incomingColumn.label "ขาเข้า">
+<!ENTITY outgoing.label "ขาออก:">
+<!ENTITY outgoingColumn.label "ขาออก">
+<!ENTITY username.label "ชื่อผู้ใช้:">
+<!ENTITY serverRow.label "เซิร์ฟเวอร์:">
+<!ENTITY portRow.label "พอร์ต:">
+<!ENTITY sslRow.label "SSL:">
+<!ENTITY auth.label "การรับรองความถูกต้อง">
+<!ENTITY imap.label "IMAP">
+<!ENTITY pop3.label "POP3">
+<!-- LOCALIZATION NOTE(exchange.label): Do not translate Exchange, it is a product name. -->
+<!ENTITY exchange.label "Exchange">
+<!ENTITY smtp.label "SMTP">
+<!ENTITY autodetect.label "ตรวจพบอัตโนมัติ">
+<!-- LOCALIZATION NOTE(noEncryption.label): Neither SSL/TLS nor STARTTLS.
+ Transmission of emails in cleartext over the Internet. -->
+<!ENTITY noEncryption.label "ไม่มี">
+<!ENTITY starttls.label "STARTTLS">
+<!ENTITY sslTls.label "SSL/TLS">
+
+<!-- LOCALIZATION NOTE(exchange-hostname.label): Do not translate Exchange, it is a product name. -->
+<!ENTITY exchange-hostname.label "เซิร์ฟเวอร์ Exchange:">
+
+<!ENTITY advancedSetup.label "การกำหนดค่าขั้นสูง">
+<!ENTITY advancedSetup.accesskey "ก">
+<!ENTITY cancel.label "ยกเลิก">
+<!ENTITY cancel.accesskey "ย">
+<!ENTITY continue.label "ดำเนินการต่อ">
+<!ENTITY continue.accesskey "ด">
+<!ENTITY stop.label "หยุด">
+<!ENTITY stop.accesskey "ห">
+<!-- LOCALIZATION NOTE (half-manual-test.label): This is the text that is
+ displayed on the button in manual config mode which will re-guess
+ the account configuration, taking into account the settings that
+ the user has manually changed. -->
+<!ENTITY half-manual-test.label "ทดสอบใหม่">
+<!ENTITY half-manual-test.accesskey "ท">
+<!ENTITY manual-config.label "ตั้งค่าด้วยตนเอง…">
+<!ENTITY manual-config.accesskey "ต">
+<!ENTITY open-provisioner.label "รับที่อยู่อีเมลใหม่…">
+<!ENTITY open-provisioner.accesskey "ร">
+
+
+<!ENTITY get-help.label "รับความช่วยเหลือ">
+<!ENTITY get-help.accesskey "ช">
+
+
+<!ENTITY warning.label "คำเตือน!">
+<!ENTITY incomingSettings.label "การตั้งค่าขาเข้า:">
+<!ENTITY outgoingSettings.label "การตั้งค่าขาออก:">
+<!ENTITY technicaldetails.label "รายละเอียดทางเทคนิค">
+<!-- LOCALIZATION NOTE (confirmWarning.label): If there is a security
+ warning on the outgoing server, then the user will need to check a
+ checkbox beside this text before continuing. -->
+<!ENTITY confirmWarning.label "ฉันเข้าใจความเสี่ยง">
+<!ENTITY confirmWarning.accesskey "น">
+<!-- LOCALIZATION NOTE (doneAccount.label): If there is a security warning
+ on the incoming or outgoing servers, then the page that pops up will
+ have this text in a button to continue by creating the account. -->
+<!ENTITY doneAccount.label "เสร็จสิ้น">
+<!ENTITY doneAccount.accesskey "ส">
+<!-- LOCALIZATION NOTE (changeSettings.label): If there is a security warning on
+ the incoming or outgoing servers, then the page that pops up will have
+ this text in a button to take you back to the previous page to change
+ the settings and try again. -->
+<!ENTITY changeSettings.label "เปลี่ยนการตั้งค่า">
+<!ENTITY changeSettings.accesskey "ป">
+
+<!ENTITY contactYourProvider.description "&brandShortName; สามารถอนุญาตให้คุณเข้าถึงจดหมายของคุณโดยใช้การกำหนดค่าที่ระบุไว้ อย่างไรก็ตาม คุณควรติดต่อผู้ดูแลระบบหรือผู้ให้บริการอีเมลของคุณเกี่ยวกับการเชื่อมต่อที่ไม่เหมาะสมเหล่านี้ ดูคำถามที่พบบ่อยของ Thunderbird สำหรับข้อมูลเพิ่มเติม">
+
+<!ENTITY insecureServer.tooltip.title "คำเตือน! เซิร์ฟเวอร์นี้เป็นเซิร์ฟเวอร์ที่ไม่ปลอดภัย">
+<!ENTITY insecureServer.tooltip.details "คลิกวงกลมสำหรับรายละเอียดเพิ่มเติม">
+
+<!ENTITY insecureUnencrypted.description "อีเมลและการรับรองความถูกต้องของคุณจะถูกส่งแบบไม่เข้ารหัส ดังนั้นผู้อื่นจะสามารถอ่านรหัสผ่านของคุณ (และข้อความของคุณ) ได้อย่างง่ายดาย &brandShortName; จะช่วยให้คุณสามารถเข้าถึงอีเมลของคุณ แต่คุณควรติดต่อผู้ให้บริการอีเมลของคุณเกี่ยวกับการกำหนดค่าเซิร์ฟเวอร์ด้วยการเชื่อมต่อที่ปลอดภัย">
+<!ENTITY insecureSelfSigned.description "เซิร์ฟเวอร์ใช้ใบรับรองที่เราไม่สามารถเชื่อถือได้ ดังนั้นเราจึงไม่สามารถมั่นใจได้ว่ามีใครบางคนไม่ได้ขัดขวางการรับส่งข้อมูลระหว่าง &brandShortName; และเซิร์ฟเวอร์ของคุณ &brandShortName; จะช่วยให้คุณสามารถเข้าถึงอีเมลของคุณ แต่คุณควรให้ผู้ให้บริการอีเมลของคุณกำหนดค่าเซิร์ฟเวอร์ด้วยใบรับรองที่เชื่อถือได้">
+<!ENTITY secureServer.description "ยินดีด้วย! เซิร์ฟเวอร์นี้เป็นเซิร์ฟเวอร์ที่ปลอดภัย">
diff --git a/l10n-th/mail/chrome/messenger/accountCreation.properties b/l10n-th/mail/chrome/messenger/accountCreation.properties
new file mode 100644
index 0000000000..898ac48d2d
--- /dev/null
+++ b/l10n-th/mail/chrome/messenger/accountCreation.properties
@@ -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/.
+# accountCreation.properties
+
+# LOCALIZATION NOTE(cleartext_warning): %1$S will be the hostname of the server the user was trying to connect to.
+cleartext_warning=%1$S ไม่ได้เข้ารหัส
+# LOCALIZATION NOTE(selfsigned_warning): %1$S will be the hostname of the server the user was trying to connect to.
+selfsigned_warning=%1$S ไม่ได้ใช้ใบรับรองที่เชื่อถือ
+selfsigned_details=โดยปกติแล้ว เซิร์ฟเวอร์เมลที่ปลอดภัยจะแสดงใบรับรองที่เชื่อถือเพื่อพิสูจน์ว่าเป็นเซิร์ฟเวอร์ที่อ้างว่าเป็นจริง การเชื่อมต่อกับเซิร์ฟเวอร์อีเมลจะถูกเข้ารหัส แต่จะไม่สามารถตรวจสอบได้ว่าเป็นเซิร์ฟเวอร์ที่ถูกต้อง
+cleartext_details=เซิร์ฟเวอร์เมลที่ไม่ปลอดภัยจะไม่ใช้การเชื่อมต่อที่เข้ารหัสเพื่อปกป้องรหัสผ่านและข้อมูลส่วนตัวของคุณ ด้วยการเชื่อมต่อกับเซิร์ฟเวอร์นี้ คุณสามารถเปิดเผยรหัสผ่านและข้อมูลส่วนตัวของคุณ
+
+# LOCALIZATION NOTE(default_server_tag): Used to indicate the default smtp server in the server dropdown list.
+default_server_tag= (ค่าเริ่มต้น)
+# LOCALIZATION NOTE(port_auto): It must be short (4-5 characters max.).
+# Content of server port field (usually a number), used when the user didn't
+# enter anything yet and we'll automatically detect it later.
+port_auto=อัตโนมัติ
+
+# config titles
+looking_up_settings=กำลังมองหาการกำหนดค่า…
+# LOCALIZATION NOTE(looking_up_settings_disk): Referring to Thunderbird installation folder on user's harddisk. %1$S will be the brandShortName.
+looking_up_settings_disk=กำลังมองหาการกำหนดค่า: การติดตั้ง %1$S
+looking_up_settings_isp=กำลังมองหาการกำหนดค่า: ผู้ให้บริการอีเมล
+# LOCALIZATION NOTE(looking_up_settings_db): Do not translate or replace Mozilla. It stands for the public project mozilla.org, not Mozilla Corporation. The database is a generic, public domain facility usable by any client.
+looking_up_settings_db=กำลังมองหาการกำหนดค่า: ฐานข้อมูล Mozilla ISP
+looking_up_settings_mx=กำลังมองหาการกำหนดค่า: โดเมนจดหมายขาเข้า
+# LOCALIZATION NOTE(looking_up_settings_exchange): Exchange is a product name
+looking_up_settings_exchange=กำลังมองหาการกำหนดค่า: เซิร์ฟเวอร์ Exchange
+# LOCALIZATION NOTE(looking_up_settings_guess): We are checking common server names like pop., pop3., smtp., mail., without knowing whether they exist or really serve this email account. If a server responds, we try to talk to it via POP/IMAP/SMTP protocols and query its capabilities. If that succeeds, we assume we found a configuration. Of course, it may still be wrong, but it often works.
+looking_up_settings_guess=กำลังมองหาการกำหนดค่า: กำลังทดลองชื่อเซิร์ฟเวอร์ทั่วไป
+looking_up_settings_halfmanual=กำลังมองหาการกำหนดค่า: กำลังตรวจสอบเซิร์ฟเวอร์
+# LOCALIZATION NOTE(found_settings_disk): Referring to Thunderbird installation folder on user's harddisk. %1$S will be the brandShortName.
+found_settings_disk=พบการกำหนดค่าในการติดตั้ง %1$S
+found_settings_isp=พบการกำหนดค่าที่ผู้ให้บริการอีเมล
+# LOCALIZATION NOTE(found_settings_db): Do not translate or replace Mozilla. It stands for the public project mozilla.org, not Mozilla Corporation. The database is a generic, public domain facility usable by any client.
+found_settings_db=พบการกำหนดค่าในฐานข้อมูล Mozilla ISP
+# LOCALIZATION NOTE(found_settings_exchange): Microsoft Exchange is a product name.
+found_settings_exchange=พบการกำหนดค่าสำหรับเซิร์ฟเวอร์ Microsoft Exchange
+no-open-protocols=เซิร์ฟเวอร์อีเมลนี้ไม่รองรับโปรโตคอลแบบเปิด
+addon-intro=ส่วนเสริมของบุคคลที่สามสามารถอนุญาตให้คุณเข้าถึงบัญชีอีเมลของคุณบนเซิร์ฟเวอร์นี้:
+# LOCALIZATION NOTE(found_settings_guess): We tried common mail server names and we found a mail server and talked to it and it responded properly, so we think we found a suitable configuration, but we are only about 80% certain that it is the correct setting for this email address. There's a chance that email address may not actually be served by this server and it won't work, or that there is a better server.
+found_settings_guess=พบการกำหนดค่าโดยการทดลองชื่อเซิร์ฟเวอร์ทั่วไป
+found_settings_halfmanual=พบการตั้งค่าต่อไปนี้โดยการตรวจสอบเซิร์ฟเวอร์ที่กำหนด
+# LOCALIZATION NOTE(failed_to_find_settings): %1$S will be the brandShortName.
+failed_to_find_settings=%1$S ไม่สามารถค้นหาการตั้งค่าสำหรับบัญชีอีเมลของคุณ
+manually_edit_config=การแก้ไขการกำหนดค่า
+# LOCALIZATION NOTE(guessed_settings_offline) User is offline, so we just took a wild guess and the user will have to enter the right settings.
+guessed_settings_offline=คุณออฟไลน์อยู่ เราได้เดาการตั้งค่าบางอย่าง แต่คุณจะต้องป้อนการตั้งค่าที่ถูกต้อง
+
+# config subtitles
+check_preconfig=กำลังตรวจหาการกำหนดค่าล่วงหน้า…
+found_preconfig=พบการกำหนดค่าล่วงหน้า
+checking_config=กำลังตรวจสอบการกำหนดค่า…
+found_config=พบการกำหนดค่าบัญชีของคุณ
+checking_mozilla_config=กำลังตรวจสอบการกำหนดค่าชุมชน Mozilla…
+found_isp_config=พบการกำหนดค่า
+probing_config=กำลังตรวจสอบการกำหนดค่า…
+guessing_from_email=กำลังเดาการกำหนดค่า…
+config_details_found=พบรายละเอียดการกำหนดค่าของคุณแล้ว!
+config_unverifiable=ไม่สามารถตรวจสอบการกำหนดค่าได้ - ชื่อผู้ใช้หรือรหัสผ่านไม่ถูกต้องหรือไม่?
+exchange_config_unverifiable=ไม่สามารถตรวจสอบความถูกต้องของการกำหนดค่าได้ หากชื่อผู้ใช้และรหัสผ่านของคุณถูกต้อง อาจเป็นเนื่องจากผู้ดูแลเซิร์ฟเวอร์ได้ปิดใช้งานการกำหนดค่าที่เลือกไว้สำหรับบัญชีของคุณ ลองเลือกโปรโตคอลอื่น
+incoming_found_specify_outgoing=พบรายละเอียดการกำหนดค่าเซิร์ฟเวอร์ขาเข้าของคุณ โปรดระบุชื่อโฮสต์ที่ส่ง
+outgoing_found_specify_incoming=พบรายละเอียดการกำหนดค่าเซิร์ฟเวอร์ขาออกของคุณ โปรดระบุชื่อโฮสต์ที่รับ
+please_enter_missing_hostnames=ไม่สามารถเดาการตั้งค่า โปรดป้อนชื่อโฮสต์ที่ขาดหายไป
+incoming_failed_trying_outgoing=ไม่สามารถกำหนดค่าเซิร์ฟเวอร์ขาเข้าโดยอัตโนมัติ แต่ยังคงลองใช้เซิร์ฟเวอร์ขาออก
+outgoing_failed_trying_incoming=ไม่สามารถกำหนดค่าเซิร์ฟเวอร์ขาออกโดยอัตโนมัติ แต่ยังคงลองใช้เซิร์ฟเวอร์ขาเข้า
+checking_password=กำลังตรวจสอบรหัสผ่าน…
+password_ok=รหัสผ่านใช้งานได้
+user_pass_invalid=ชื่อผู้ใช้หรือรหัสผ่านไม่ถูกต้อง
+check_server_details=กำลังตรวจสอบรายละเอียดเซิร์ฟเวอร์
+check_in_server_details=กำลังตรวจสอบรายละเอียดเซิร์ฟเวอร์ขาเข้า
+check_out_server_details=กำลังตรวจสอบรายละเอียดเซิร์ฟเวอร์ขาออก
+
+error_creating_account=เกิดข้อผิดพลาดในการสร้างบัญชี
+incoming_server_exists=มีเซิร์ฟเวอร์ขาเข้าอยู่แล้ว
+
+please_enter_name=โปรดป้อนชื่อของคุณ
+double_check_email=ตรวจสอบที่อยู่อีเมลนี้อีกครั้ง!
+
+# add-on install
+addonInstallStarted=กำลังดาวน์โหลดและติดตั้งส่วนเสริม…
+addonInstallSuccess=ติดตั้งส่วนเสริมสำเร็จแล้ว
+# LOCALIZATION NOTE(addonInstallLabel): %1$S will be the add-on name
+addonInstallShortLabel=ติดตั้ง
+
+#config result display
+# LOCALIZATION NOTE(resultUnknown): Displayed instead of resultIncoming,
+# resultOutgoing or resultUsername when we don't have a proper value.
+resultUnknown=ไม่ทราบ
+resultOutgoingExisting=ใช้เซิร์ฟเวอร์ SMTP ขาออกที่มีอยู่
+resultIMAP=IMAP
+resultPOP3=POP3
+resultSMTP=SMTP
+resultExchange=Exchange
+# LOCALIZATION NOTE(resultNoEncryption): Neither SSL/TLS nor STARTTLS. Transmission of emails in cleartext over the Internet.
+resultNoEncryption=ไม่มีการเข้ารหัส
+resultSSL=SSL
+resultSTARTTLS=STARTTLS
+resultSSLCertWeak=\u0020(คำเตือน: ไม่สามารถยืนยันเซิร์ฟเวอร์)
+resultSSLCertOK=
+resultUsernameBoth=%1$S
+resultUsernameDifferent=ขาเข้า: %1$S, ขาออก: %2$S
+
+confirmAdvancedConfigTitle=ยืนยันการกำหนดค่าขั้นสูง
+confirmAdvancedConfigText=กล่องโต้ตอบนี้จะถูกปิดและบัญชีที่มีการตั้งค่าปัจจุบันจะถูกสร้างขึ้น ถึงแม้ว่าจะมีการกำหนดค่าไม่ถูกต้องก็ตาม คุณต้องการดำเนินการต่อหรือไม่?
+
+# LOCALIZATION NOTE(credentials_incomplete): The reference to "janedoe" (Jane Doe) is the name of an example person. You will want to translate it to whatever example persons would be named in your language. In the example, AD is the name of the Windows domain, and this should usually not be translated.
+credentials_incomplete=การรับรองความถูกต้องล้มเหลว อาจมีการป้อนข้อมูลประจำตัวที่ไม่ถูกต้องหรือจำเป็นต้องมีชื่อผู้ใช้แยกต่างหากสำหรับการเข้าสู่ระบบ ชื่อผู้ใช้นี้มักจะเป็นการเข้าสู่ระบบโดเมน Windows ของคุณที่มีหรือไม่มีโดเมน (เช่น janedoe หรือ AD\\janedoe)
+credentials_wrong=การรับรองความถูกต้องล้มเหลว โปรดตรวจสอบชื่อผู้ใช้และรหัสผ่าน
+# LOCALIZATION NOTE(otherDomain.label): %1$S will be the brandShortName. %2$S refers to the domain name, e.g. rackspace.com
+otherDomain.label=%1$S พบข้อมูลการตั้งค่าบัญชีของคุณบน %2$S คุณต้องการดำเนินการต่อแล้วส่งข้อมูลประจำตัวของคุณหรือไม่?
+otherDomain_ok.label=เข้าสู่ระบบ
+otherDomain_cancel.label=ยกเลิก
diff --git a/l10n-th/mail/chrome/messenger/accountCreationModel.properties b/l10n-th/mail/chrome/messenger/accountCreationModel.properties
new file mode 100644
index 0000000000..8689d5454b
--- /dev/null
+++ b/l10n-th/mail/chrome/messenger/accountCreationModel.properties
@@ -0,0 +1,20 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# This file has the strings, mostly error strings, for the logic / JS backend / model
+# files: fetchConfig.js, readFromXML.js, guessConfig.js, verifyConfig.js, createInBackend.js
+
+
+# readFromXML.js
+no_emailProvider.error=ไฟล์กำหนดค่า XML ไม่มีการกำหนดค่าบัญชีอีเมล
+outgoing_not_smtp.error=เซิร์ฟเวอร์ขาออกต้องเป็นชนิด SMTP
+
+# verifyConfig.js
+cannot_login.error=ไม่สามารถเข้าสู่ระบบที่เซิร์ฟเวอร์ได้ อาจเป็นเนื่องจากการกำหนดค่า ชื่อผู้ใช้ หรือรหัสผ่านไม่ถูกต้อง
+
+# guessConfig.js
+cannot_find_server.error=ไม่พบเซิร์ฟเวอร์
+
+# exchangeAutoDiscover.js
+no_autodiscover.error=Exchange AutoDiscover XML ไม่ถูกต้อง
diff --git a/l10n-th/mail/chrome/messenger/accountCreationUtil.properties b/l10n-th/mail/chrome/messenger/accountCreationUtil.properties
new file mode 100644
index 0000000000..ce56fb8e82
--- /dev/null
+++ b/l10n-th/mail/chrome/messenger/accountCreationUtil.properties
@@ -0,0 +1,34 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# This file has the strings, mostly error strings, for the logic / JS backend / model
+# files: sanitizeDatatypes.js, fetchhttp.js, util.js
+
+
+# sanitizeDatatypes.js
+hostname_syntax.error=ชื่อโฮสต์ว่างเปล่าหรือมีอักขระต้องห้าม อนุญาตให้ป้อนเฉพาะตัวอักษร ตัวเลข เครื่องหมาย - และ . เท่านั้น
+alphanumdash.error=สตริงมีอักขระที่ไม่รองรับ อนุญาตให้ป้อนเฉพาะตัวอักษร ตัวเลข เครื่องหมาย - และ _ เท่านั้น
+allowed_value.error=ค่าที่ให้มาไม่อยู่ในรายการที่อนุญาต
+url_scheme.error=แบบแผน URL ไม่ได้รับอนุญาต
+url_parsing.error=ไม่รู้จัก URL
+string_empty.error=คุณต้องระบุค่าสำหรับสตริงนี้
+boolean.error=ไม่ใช่ค่าตรรกะ
+no_number.error=ไม่ใช่ตัวเลข
+number_too_large.error=จำนวนเลขมากเกินไป
+number_too_small.error=จำนวนเลขน้อยเกินไป
+
+
+# fetchhttp.js
+cannot_contact_server.error=ไม่สามารถติดต่อเซิร์ฟเวอร์
+bad_response_content.error=เนื้อหาการตอบสนองไม่ถูกต้อง
+
+# verifyConfig.js
+# LOCALIZATION NOTE(auth_failed_generic.error): The login failed (server refused to allow the user in), but the server did not give any meaningful error message. This is a common case when the user entered a wrong password or is otherwise not allowed.
+auth_failed_generic.error=การเข้าสู่ระบบล้มเหลว ชื่อผู้ใช้/ที่อยู่อีเมลและรหัสผ่านถูกต้องหรือไม่?
+# LOCALIZATION NOTE(auth_failed_with_reason.error): The login failed (server refused to allow the user in), and the server gave an error message which we can present to the user. This is a common case when the user entered a wrong password or is otherwise not allowed. %1$S will be the IMAP/POP3/SMTP server hostname. %2$S will be the error message from the server (usually in the local language where the server is or in English).
+auth_failed_with_reason.error=การเข้าสู่ระบบล้มเหลว เซิร์ฟเวอร์ %1$S พูดว่า: %2$S
+# LOCALIZATION NOTE(verification_failed.error): We had some other error, not during authentication with the server, but at earlier points, e.g. locally or we entirely failed to contact the given server, and we unfortunately have no detailed error message.
+verification_failed.error=การยืนยันการเข้าสู่ระบบล้มเหลวโดยไม่ทราบสาเหตุ
+# LOCALIZATION NOTE(verification_failed_with_exception.error): We had some other error, not during authentication with the server, but at earlier points, e.g. locally or we entirely failed to contact the given server, and we have an error message. %1$S will be an error message, possibly in English
+verification_failed_with_exception.error=การยืนยันการเข้าสู่ระบบล้มเหลวพร้อมข้อความ: %1$S
diff --git a/l10n-th/mail/chrome/messenger/activity.dtd b/l10n-th/mail/chrome/messenger/activity.dtd
new file mode 100644
index 0000000000..011e47b195
--- /dev/null
+++ b/l10n-th/mail/chrome/messenger/activity.dtd
@@ -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/. -->
+
+<!-- LOCALIZATION NOTE (window.width2, window.height): These values should be
+close to the golden ratio (1.618:1) while making sure it's wide enough for long
+file names and tall enough to hint that there are more activities in the list -->
+<!ENTITY window.width2 "485">
+<!ENTITY window.height "300">
+
+<!ENTITY activity.title "ตัวจัดการกิจกรรม">
+
+<!ENTITY cmd.pause.label "หยุดชั่วคราว">
+<!ENTITY cmd.pause.accesskey "ห">
+<!ENTITY cmd.resume.label "ทำต่อ">
+<!ENTITY cmd.resume.accesskey "ท">
+<!ENTITY cmd.cancel.label "ยกเลิก">
+<!ENTITY cmd.cancel.accesskey "ย">
+<!ENTITY cmd.undo.label "เลิกทำ">
+<!ENTITY cmd.undo.accesskey "ล">
+<!ENTITY cmd.recover.label "กู้คืน">
+<!ENTITY cmd.recover.accesskey "ก">
+<!ENTITY cmd.retry.label "ลองใหม่">
+<!ENTITY cmd.retry.accesskey "ล">
+<!ENTITY cmd.removeFromList.label "เอาออกจากรายการ">
+<!ENTITY cmd.removeFromList.accesskey "อ">
+
+<!ENTITY cmd.close.commandkey "w">
+<!ENTITY cmd.close2.commandkey "j">
+<!ENTITY cmd.close2Unix.commandkey "y">
+<!ENTITY cmd.clearList.label "ล้างรายการ">
+<!ENTITY cmd.clearList.tooltip "เอารายการที่เสร็จสมบูรณ์ ถูกยกเลิก และล้มเหลวออกจากรายการ">
+<!ENTITY cmd.clearList.accesskey "ง">
+<!ENTITY cmd.find.commandkey "f">
+<!ENTITY cmd.search.commandkey "k">
+
+<!ENTITY searchBox.label "ค้นหา…">
diff --git a/l10n-th/mail/chrome/messenger/activity.properties b/l10n-th/mail/chrome/messenger/activity.properties
new file mode 100644
index 0000000000..abb9ed08c1
--- /dev/null
+++ b/l10n-th/mail/chrome/messenger/activity.properties
@@ -0,0 +1,99 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# Status Text
+paused2=หยุดชั่วคราวอยู่
+processing=กำลังประมวลผล
+notStarted=ยังไม่ได้เริ่ม
+failed=ล้มเหลว
+waitingForInput=กำลังรอการป้อนค่า
+waitingForRetry=กำลังรอการลองใหม่
+completed=เสร็จสมบูรณ์
+canceled=ยกเลิกแล้ว
+
+# LOCALIZATION NOTE (sendingMessages): this is used as a title for grouping processes in the activity manager when sending email.
+sendingMessages=กำลังส่งข้อความ
+sendingMessage=กำลังส่งข้อความ
+# LOCALIZATION NOTE (sendingMessageWithSubject): %S will be replaced by the subject of the message being sent.
+sendingMessageWithSubject=กำลังส่งข้อความ: %S
+copyMessage=กำลังคัดลอกข้อความไปยังโฟลเดอร์ที่ส่งแล้ว
+sentMessage=ส่งข้อความแล้ว
+# LOCALIZATION NOTE (sentMessageWithSubject): %S will be replaced by the subject of the message being sent.
+sentMessageWithSubject=ส่งข้อความแล้ว: %S
+failedToSendMessage=ไม่สามารถส่งข้อความ
+failedToCopyMessage=ไม่สามารถคัดลอกข้อความ
+# LOCALIZATION NOTE (failedToSendMessageWithSubject): %S will be replaced by the subject of the message being sent.
+failedToSendMessageWithSubject=ไม่สามารถส่งข้อความ: %S
+# LOCALIZATION NOTE (failedToCopyMessageWithSubject): %S will be replaced by the subject of the message being sent.
+failedToCopyMessageWithSubject=ไม่สามารถคัดลอกข้อความ: %S
+
+# LOCALIZATION NOTE (autosyncProcessProgress2): Do not translate the words "%1$S", "%2$S", "%3$S" and "%4$S" below.
+# Place the word %1$S in your translation where the number of the message being downloaded should appear.
+# Place the word %2$S in your translation where the total number of messages to be downloaded should appear.
+# Place the word %3$S in your translation where the name of the folder being processed should appear.
+# Place the word %4$S in your translation where the name of account being processed should appear.
+# EXAMPLE: Ted's account: Downloading message 334 of 1008 in Inbox…
+autosyncProcessProgress2=%4$S: กำลังดาวน์โหลดข้อความ %1$S จาก %2$S ใน %3$S…
+# LOCALIZATION NOTE (autosyncProcessDisplayText): %S will be replaced by the folder name
+autosyncProcessDisplayText=กำลังนำโฟลเดอร์ %S มาอัปเดต
+# LOCALIZATION NOTE (autosyncEventDisplayText): %S will be replaced by the account name
+autosyncEventDisplayText=%S อัปเดตแล้ว
+# LOCALIZATION NOTE (autosyncEventStatusText): %S will be replaced by total number of downloaded messages
+autosyncEventStatusText=จำนวนข้อความที่ดาวน์โหลดทั้งหมด: %S
+autosyncEventStatusTextNoMsgs=ไม่มีข้อความที่ดาวน์โหลด
+# LOCALIZATION NOTE (autosyncContextDisplayText): %S will be replaced by the account name
+autosyncContextDisplayText=กำลังประสาน: %S
+
+# LOCALIZATION NOTE (pop3EventStartDisplayText2): Do not translate the words "%1$S" and "%2$S" below.
+# Place the word %1$S in your translation where the name of the account being checked for new messages should appear.
+# Place the word %2$S in your translation where the name of the folder being checked for new messages should appear.
+# EXAMPLE: George's account: Checking Inbox for new messages…
+pop3EventStartDisplayText2=%1$S: กำลังตรวจสอบข้อความใหม่ใน %2$S…
+# LOCALIZATION NOTE (pop3EventDisplayText): %S will be replaced by the account name
+pop3EventDisplayText=%S อัปเดตแล้ว
+# LOCALIZATION NOTE (pop3EventStatusText): #1 will be replaced by total number of downloaded messages
+pop3EventStatusText=#1 ข้อความที่ดาวน์โหลด
+pop3EventStatusTextNoMsgs=ไม่มีข้อความที่จะดาวน์โหลด
+
+# Message actions that show up in activity manager
+# LOCALIZATION NOTE (deletedMessages2): #1 number of messages, #2 folder name
+deletedMessages2=ลบ #1 ข้อความจาก #2 แล้ว
+# LOCALIZATION NOTE (movedMessages): #1 number of messages, #2 and #3: folder names
+movedMessages=ย้าย #1 ข้อความจาก #2 ไปยัง #3 แล้ว
+# LOCALIZATION NOTE (copiedMessages): #1 number of messages, #2 and #3: folder names
+copiedMessages=คัดลอก #1 ข้อความจาก #2 ไปยัง #3 แล้ว
+# LOCALIZATION NOTE (fromServerToServer): #1 source server, #2 destination server
+fromServerToServer=จาก #1 ไปยัง #2
+# LOCALIZATION NOTE (deletedFolder): #1 folder name
+deletedFolder=ลบโฟลเดอร์ #1 แล้ว
+emptiedTrash=ล้างข้อมูลในถังขยะแล้ว
+# LOCALIZATION NOTE (movedFolder): #1 and #2 are folder names
+movedFolder=ย้ายโฟลเดอร์ #1 ไปยังโฟลเดอร์ #2 แล้ว
+# LOCALIZATION NOTE (movedFolderToTrash): #1 is the folder name
+movedFolderToTrash=ย้ายโฟลเดอร์ #1 ไปยังถังขยะแล้ว
+# LOCALIZATION NOTE (copiedFolder): #1 and #2 are folder names
+copiedFolder=คัดลอกโฟลเดอร์ #1 ไปยังโฟลเดอร์ #2 แล้ว
+# LOCALIZATION NOTE (renamedFolder): #1 and #2 are folder names
+renamedFolder=เปลี่ยนชื่อโฟลเดอร์ #1 เป็น #2 แล้ว
+indexing=กำลังทำดัชนีข้อความ
+# LOCALIZATION NOTE (indexingFolder): #1 is a folder name
+indexingFolder=กำลังทำดัชนีข้อความใน #1
+indexingStatusVague=กำลังกำหนดข้อความที่จะทำดัชนี
+# LOCALIZATION NOTE (indexingFolderStatusVague): #1 is a folder name
+indexingFolderStatusVague=กำลังกำหนดข้อความที่จะทำดัชนีใน #1
+# LOCALIZATION NOTE (indexingStatusExact):
+# #1 is the number of the message currently being indexed
+# #2 is the total number of messages being indexed
+# #3 is the percentage of indexing that is complete
+indexingStatusExact=กำลังทำดัชนี #1 จาก #2 ข้อความ (#3% เสร็จสมบูรณ์)
+# LOCALIZATION NOTE (indexingFolderStatusExact):
+# #1 is the number of the message currently being indexed
+# #2 is the total number of messages being indexed
+# #3 is the percentage of indexing that is complete
+# #4 is a folder name
+indexingFolderStatusExact=กำลังทำดัชนี #1 จาก #2 ข้อความใน #4 (#3% เสร็จสมบูรณ์)
+# LOCALIZATION NOTE (indexedFolder): #1 number of messages; #2 folder name
+indexedFolder=ทำดัชนี #1 ข้อความใน #2 แล้ว
+# LOCALIZATION NOTE (indexedFolderStatus): #1 number of seconds spent indexing
+indexedFolderStatus=ผ่านไปแล้ว #1 วินาที
diff --git a/l10n-th/mail/chrome/messenger/addbuddy.dtd b/l10n-th/mail/chrome/messenger/addbuddy.dtd
new file mode 100644
index 0000000000..3a6408a890
--- /dev/null
+++ b/l10n-th/mail/chrome/messenger/addbuddy.dtd
@@ -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/. -->
+
+<!ENTITY addBuddyWindow.title "เพิ่มผู้ติดต่อ">
+<!ENTITY name.label "ชื่อผู้ใช้">
+<!ENTITY account.label "บัญชี">
diff --git a/l10n-th/mail/chrome/messenger/addons.properties b/l10n-th/mail/chrome/messenger/addons.properties
new file mode 100644
index 0000000000..ef25fd62e0
--- /dev/null
+++ b/l10n-th/mail/chrome/messenger/addons.properties
@@ -0,0 +1,251 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, you can obtain one at http://mozilla.org/MPL/2.0/.
+
+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=ต
+
+# 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 http://www.mozilla.org/access/keyboard/accesskey for details
+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
+
+# LOCALIZATION NOTE (addonPostInstall.message1)
+# %1$S is replaced with the localized named of the extension that was
+# just installed.
+# %2$S is replaced with the localized name of the application.
+addonPostInstall.message1=เพิ่ม %1$S ไปยัง %2$S แล้ว
+# LOCALIZATION NOTE (addonPostInstall.multiple.message1)
+# %1$S is replaced with the localized name of the application.
+addonPostInstall.multiple.message=ส่วนเสริมเหล่านี้ได้ถูกเพิ่มไปยัง %1$S:
+addonPostInstall.okay.label=ตกลง
+addonPostInstall.okay.accesskey=ต
+
+# 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 เนื่องจากมีความเสี่ยงสูงที่จะก่อให้เกิดปัญหาด้านเสถียรภาพหรือความปลอดภัย
+
+# LOCALIZATION NOTE (webextPerms.header)
+# 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?
+
+# %S is brandShortName
+webextPerms.experimentWarning=ส่วนเสริมที่เป็นอันตรายอาจขโมยข้อมูลส่วนตัวของคุณหรือทำให้คอมพิวเตอร์ของคุณเสียหายได้ ติดตั้งส่วนเสริมนี้ก็ต่อเมื่อคุณเชื่อถือแหล่งที่มาเท่านั้น
+webextPerms.unsignedWarning=ข้อควรระวัง: ส่วนเสริมนี้ยังไม่ถูกยืนยัน ส่วนเสริมที่เป็นอันตรายอาจขโมยข้อมูลส่วนตัวของคุณหรือทำให้คอมพิวเตอร์ของคุณเสียหายได้ ติดตั้งส่วนเสริมนี้ก็ต่อเมื่อคุณเชื่อถือแหล่งที่มาเท่านั้น
+
+# LOCALIZATION NOTE (webextPerms.listIntro)
+# This string will be followed by a list of permissions requested
+# by the webextension.
+webextPerms.listIntro=ส่วนขยายต้องการสิทธิอนุญาตจากคุณเพื่อ:
+webextPerms.learnMore=เรียนรู้เพิ่มเติมเกี่ยวกับสิทธิอนุญาต
+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.updateText=%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.accountsFolders=สร้าง, เปลี่ยนชื่อ, หรือลบโฟลเดอร์บัญชีจดหมายของคุณ
+webextPerms.description.accountsRead=ดูบัญชีอีเมลของคุณและโฟลเดอร์ของบัญชีเหล่านั้น
+webextPerms.description.addressBooks=อ่านและเปลี่ยนแปลงสมุดรายชื่อและผู้ติดต่อของคุณ
+webextPerms.description.bookmarks=อ่านและเปลี่ยนแปลงที่คั่นหน้า
+webextPerms.description.browserSettings=อ่านและเปลี่ยนแปลงการตั้งค่าเบราว์เซอร์
+webextPerms.description.browsingData=ล้างประวัติการเรียกดู, คุกกี้ และข้อมูลที่เกี่ยวข้องล่าสุด
+webextPerms.description.clipboardRead=รับข้อมูลจากคลิปบอร์ด
+webextPerms.description.clipboardWrite=ป้อนข้อมูลไปยังคลิปบอร์ด
+webextPerms.description.compose=อ่านและแก้ไขข้อความอีเมลของคุณเหมือนที่คุณสร้างใหม่และส่งมัน
+webextPerms.description.devtools=ขยายเครื่องมือนักพัฒนาเพื่อเข้าถึงข้อมูลของคุณในแท็บที่เปิดอยู่
+webextPerms.description.dns=เข้าถึงที่อยู่ IP และข้อมูลชื่อโฮสต์
+webextPerms.description.downloads=ดาวน์โหลดไฟล์และอ่านและเปลี่ยนแปลงประวัติการดาวน์โหลดของเบราว์เซอร์
+webextPerms.description.downloads.open=เปิดไฟล์ที่ดาวน์โหลดไปยังคอมพิวเตอร์ของคุณ
+# LOCALIZATION NOTE (webextPerms.description.experiment)
+# %S will be replaced with the name of the application
+webextPerms.description.experiment=เข้าถึง %S และคอมพิวเตอร์ของคุณได้อย่างเต็มที่และไม่จำกัด
+webextPerms.description.find=อ่านข้อความของแท็บที่เปิดอยู่ทั้งหมด
+webextPerms.description.geolocation=เข้าถึงตำแหน่งที่ตั้งของคุณ
+webextPerms.description.history=เข้าถึงประวัติการเรียกดู
+webextPerms.description.management=เฝ้าสังเกตการใช้ส่วนขยายและจัดการชุดตกแต่ง
+webextPerms.description.messagesModify=อ่านและเปลี่ยนแปลงข้อความอีเมลของคุณตามที่แสดงให้คุณเห็น
+webextPerms.description.messagesMove=ย้าย, คัดลอก, หรือลบข้อความอีเมลของคุณ
+webextPerms.description.messagesRead=อ่านข้อความอีเมลของคุณและทำเครื่องหมายหรือแท็กข้อความเหล่านั้น
+# 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.unlimitedStorage=จัดเก็บข้อมูลฝั่งลูกข่ายไม่จำกัดจำนวน
+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.title)
+# %S is the name of the extension which is about to be removed.
+webext.remove.confirmation.title=เอา %S ออก
+# 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=เอาออก
diff --git a/l10n-th/mail/chrome/messenger/addressbook/abAddressBookNameDialog.dtd b/l10n-th/mail/chrome/messenger/addressbook/abAddressBookNameDialog.dtd
new file mode 100644
index 0000000000..f0e8569d49
--- /dev/null
+++ b/l10n-th/mail/chrome/messenger/addressbook/abAddressBookNameDialog.dtd
@@ -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/. -->
+
+<!-- Labels -->
+<!ENTITY name.label "ชื่อสมุดรายชื่อ:">
+<!ENTITY name.accesskey "ช">
diff --git a/l10n-th/mail/chrome/messenger/addressbook/abCard.dtd b/l10n-th/mail/chrome/messenger/addressbook/abCard.dtd
new file mode 100644
index 0000000000..a1a28cc4f3
--- /dev/null
+++ b/l10n-th/mail/chrome/messenger/addressbook/abCard.dtd
@@ -0,0 +1,156 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!ENTITY Contact.tab "ผู้ติดต่อ">
+<!ENTITY Contact.accesskey "ผ">
+<!ENTITY Name.box "ชื่อ">
+
+<!-- LOCALIZATION NOTE:
+ NameField1, NameField2, PhoneticField1, PhoneticField2
+ those fields are either LN or FN depends on the target country.
+ "FirstName" and "LastName" can be swapped for id to change the order
+ but they should not be translated (same applied to phonetic id).
+ Make sure the translation of label corresponds to the order of id.
+-->
+
+<!-- LOCALIZATION NOTE (NameField1.id) : DONT_TRANSLATE -->
+<!ENTITY NameField1.id "FirstName">
+<!-- LOCALIZATION NOTE (NameField2.id) : DONT_TRANSLATE -->
+<!ENTITY NameField2.id "LastName">
+<!-- LOCALIZATION NOTE (PhoneticField1.id) : DONT_TRANSLATE -->
+<!ENTITY PhoneticField1.id "PhoneticFirstName">
+<!-- LOCALIZATION NOTE (PhoneticField2.id) : DONT_TRANSLATE -->
+<!ENTITY PhoneticField2.id "PhoneticLastName">
+
+<!ENTITY NameField1.label "ชื่อจริง:">
+<!ENTITY NameField1.accesskey "ช">
+<!ENTITY NameField2.label "นามสกุล:">
+<!ENTITY NameField2.accesskey "น">
+<!ENTITY PhoneticField1.label "การออกเสียง:">
+<!ENTITY PhoneticField2.label "การออกเสียง:">
+<!ENTITY DisplayName.label "การแสดงผล:">
+<!ENTITY DisplayName.accesskey "ก">
+<!ENTITY preferDisplayName.label "แสดงชื่อเหนือส่วนหัวของข้อความเสมอ">
+<!ENTITY preferDisplayName.accesskey "ส">
+<!ENTITY NickName.label "ชื่อเล่น:">
+<!ENTITY NickName.accesskey "อ">
+
+<!ENTITY PrimaryEmail.label "อีเมล:">
+<!ENTITY PrimaryEmail.accesskey "ม">
+<!ENTITY SecondEmail.label "อีเมลเพิ่มเติม:">
+<!ENTITY SecondEmail.accesskey "ล">
+<!ENTITY PreferMailFormat.label "ต้องการที่จะรับข้อความในรูปแบบ:">
+<!ENTITY PreferMailFormat.accesskey "ต">
+<!ENTITY PlainText.label "ข้อความธรรมดา">
+<!ENTITY HTML.label "HTML">
+<!ENTITY Unknown.label "ไม่ทราบ">
+<!ENTITY chatName.label "ชื่อแชท:">
+
+<!ENTITY WorkPhone.label "ที่ทำงาน:">
+<!ENTITY WorkPhone.accesskey "ง">
+<!ENTITY HomePhone.label "บ้าน:">
+<!ENTITY HomePhone.accesskey "บ">
+<!ENTITY FaxNumber.label "โทรสาร:">
+<!ENTITY FaxNumber.accesskey "ท">
+<!ENTITY PagerNumber.label "วิทยุติดตามตัว:">
+<!ENTITY PagerNumber.accesskey "ว">
+<!ENTITY CellularNumber.label "มือถือ:">
+<!ENTITY CellularNumber.accesskey "ม">
+
+<!ENTITY Home.tab "ส่วนตัว">
+<!ENTITY Home.accesskey "ส">
+<!ENTITY HomeAddress.label "ที่อยู่:">
+<!ENTITY HomeAddress.accesskey "ท">
+<!ENTITY HomeAddress2.label "">
+<!ENTITY HomeAddress2.accesskey "">
+<!ENTITY HomeCity.label "เมือง:">
+<!ENTITY HomeCity.accesskey "เ">
+<!ENTITY HomeState.label "รัฐ/จังหวัด:">
+<!ENTITY HomeState.accesskey "ร">
+<!ENTITY HomeZipCode.label "รหัสไปรษณีย์:">
+<!ENTITY HomeZipCode.accesskey "ห">
+<!ENTITY HomeCountry.label "ประเทศ:">
+<!ENTITY HomeCountry.accesskey "ป">
+<!ENTITY HomeWebPage.label "หน้าเว็บ:">
+<!ENTITY HomeWebPage.accesskey "น">
+<!ENTITY Birthday.label "วันเกิด:">
+<!ENTITY Birthday.accesskey "ก">
+<!ENTITY Month.placeholder "เดือน">
+<!ENTITY Day.placeholder "วัน">
+<!ENTITY Year.placeholder "ปี">
+<!ENTITY Age.label "อายุ:">
+<!ENTITY Age.placeholder "อายุ">
+
+<!ENTITY Work.tab "ที่ทำงาน">
+<!ENTITY Work.accesskey "ง">
+<!ENTITY JobTitle.label "ตำแหน่ง:">
+<!ENTITY JobTitle.accesskey "ต">
+<!ENTITY Department.label "แผนก:">
+<!ENTITY Department.accesskey "ผ">
+<!ENTITY Company.label "องค์กร:">
+<!ENTITY Company.accesskey "อ">
+<!ENTITY WorkAddress.label "ที่อยู่:">
+<!ENTITY WorkAddress.accesskey "ท">
+<!ENTITY WorkAddress2.label "">
+<!ENTITY WorkAddress2.accesskey "">
+<!ENTITY WorkCity.label "เมือง:">
+<!ENTITY WorkCity.accesskey "ม">
+<!ENTITY WorkState.label "รัฐ/จังหวัด:">
+<!ENTITY WorkState.accesskey "ร">
+<!ENTITY WorkZipCode.label "รหัสไปรษณีย์:">
+<!ENTITY WorkZipCode.accesskey "ห">
+<!ENTITY WorkCountry.label "ประเทศ:">
+<!ENTITY WorkCountry.accesskey "ป">
+<!ENTITY WorkWebPage.label "หน้าเว็บ:">
+<!ENTITY WorkWebPage.accesskey "น">
+
+<!ENTITY Other.tab "อื่น ๆ">
+<!ENTITY Other.accesskey "อ">
+<!ENTITY Custom1.label "กำหนดเอง 1:">
+<!ENTITY Custom1.accesskey "1">
+<!ENTITY Custom2.label "กำหนดเอง 2:">
+<!ENTITY Custom2.accesskey "2">
+<!ENTITY Custom3.label "กำหนดเอง 3:">
+<!ENTITY Custom3.accesskey "3">
+<!ENTITY Custom4.label "กำหนดเอง 4:">
+<!ENTITY Custom4.accesskey "4">
+<!ENTITY Notes.label "หมายเหตุ:">
+<!ENTITY Notes.accesskey "า">
+
+<!ENTITY Chat.tab "แชท">
+<!ENTITY Chat.accesskey "แ">
+<!ENTITY Gtalk.label "Google Talk:">
+<!ENTITY Gtalk.accesskey "G">
+<!ENTITY AIM.label "AIM:">
+<!ENTITY AIM2.accesskey "M">
+<!ENTITY Yahoo.label "Yahoo!:">
+<!ENTITY Yahoo.accesskey "Y">
+<!ENTITY Skype.label "Skype:">
+<!ENTITY Skype.accesskey "S">
+<!ENTITY QQ.label "QQ:">
+<!ENTITY QQ.accesskey "Q">
+<!ENTITY MSN.label "MSN:">
+<!ENTITY MSN2.accesskey "N">
+<!ENTITY ICQ.label "ICQ:">
+<!ENTITY ICQ.accesskey "I">
+<!ENTITY XMPP.label "Jabber ID:">
+<!ENTITY XMPP.accesskey "J">
+<!ENTITY IRC.label "ชื่อเล่น IRC:">
+<!ENTITY IRC.accesskey "R">
+
+<!ENTITY Photo.tab "รูปถ่าย">
+<!ENTITY Photo.accesskey "ถ">
+<!ENTITY GenericPhoto.label "รูปถ่ายทั่วไป">
+<!ENTITY GenericPhoto.accesskey "ไ">
+<!ENTITY DefaultPhoto.label "ค่าเริ่มต้น">
+<!ENTITY PhotoFile.label "ในคอมพิวเตอร์เครื่องนี้">
+<!ENTITY PhotoFile.accesskey "ใ">
+<!ENTITY BrowsePhoto.label "เรียกดู">
+<!ENTITY BrowsePhoto.accesskey "ร">
+<!ENTITY PhotoURL.label "บนเว็บ">
+<!ENTITY PhotoURL.accesskey "บ">
+<!ENTITY PhotoURL.placeholder "วางหรือพิมพ์ที่อยู่เว็บของรูปถ่าย">
+<!ENTITY UpdatePhoto.label "อัปเดต">
+<!ENTITY UpdatePhoto.accesskey "อ">
+<!ENTITY PhotoDropTarget.label "ลากรูปถ่ายใหม่มาที่นี่">
diff --git a/l10n-th/mail/chrome/messenger/addressbook/abContactsPanel.dtd b/l10n-th/mail/chrome/messenger/addressbook/abContactsPanel.dtd
new file mode 100644
index 0000000000..c4d9320caf
--- /dev/null
+++ b/l10n-th/mail/chrome/messenger/addressbook/abContactsPanel.dtd
@@ -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/. -->
+
+<!ENTITY propertiesMenu.label "คุณสมบัติ">
+<!ENTITY propertiesMenu.accesskey "ค">
+<!ENTITY propertiesCmd.key "i">
+<!ENTITY abPropertiesMenu.label "คุณสมบัติสมุดรายชื่อ">
+<!ENTITY abPropertiesMenu.accesskey "ค">
+<!ENTITY contactPropertiesMenu.label "คุณสมบัติผู้ติดต่อ">
+<!ENTITY contactPropertiesMenu.accesskey "ค">
+<!ENTITY mailingListPropertiesMenu.label "คุณสมบัติรายชื่อผู้รับจดหมาย">
+<!ENTITY mailingListPropertiesMenu.accesskey "ค">
+
+<!ENTITY abContextMenuButton.tooltip "แสดงเมนูบริบทสมุดรายชื่อ">
+<!ENTITY addressbookPicker.label "สมุดรายชื่อ:">
+<!ENTITY addressbookPicker.accesskey "ม">
+<!ENTITY searchContacts.label "ค้นหาผู้ติดต่อ:">
+<!ENTITY searchContacts.accesskey "ต">
+<!ENTITY SearchNameOrEmail.label "ชื่อหรืออีเมล">
+
+<!ENTITY addtoToFieldMenu.label "เพิ่มไปยังช่อง ถึง">
+<!ENTITY addtoToFieldMenu.accesskey "พ">
+<!ENTITY addtoCcFieldMenu.label "เพิ่มไปยังช่อง สำเนาถึง">
+<!ENTITY addtoCcFieldMenu.accesskey "ส">
+<!ENTITY addtoBccFieldMenu.label "เพิ่มไปยังช่อง สำเนาลับถึง">
+<!ENTITY addtoBccFieldMenu.accesskey "ถ">
+<!ENTITY deleteAddrBookCard.label "ลบ">
+<!ENTITY deleteAddrBookCard.accesskey "ล">
+<!ENTITY propertiesContext.label "คุณสมบัติ">
+<!ENTITY propertiesContext.accesskey "ค">
+<!ENTITY abPropertiesContext.label "คุณสมบัติ">
+<!ENTITY abPropertiesContext.accesskey "ค">
+<!ENTITY editContactContext.label "แก้ไขผู้ติดต่อ">
+<!ENTITY editContactContext.accesskey "ก">
+<!ENTITY editMailingListContext.label "แก้ไขรายชื่อ">
+<!ENTITY editMailingListContext.accesskey "ก">
+
+<!ENTITY newContactAbContext.label "ผู้ติดต่อใหม่">
+<!ENTITY newContactAbContext.accesskey "ผ">
+<!ENTITY newListAbContext.label "รายชื่อใหม่">
+<!ENTITY newListAbContext.accesskey "ร">
+
+<!ENTITY toButton.label "เพิ่มไปยัง ถึง:">
+<!ENTITY toButton.accesskey "พ">
+<!ENTITY ccButton.label "เพิ่มไปยัง สำเนาถึง:">
+<!ENTITY ccButton.accesskey "ส">
+<!ENTITY bccButton.label "เพิ่มไปยัง สำเนาลับถึง:">
+<!ENTITY bccButton.accesskey "ถ">
diff --git a/l10n-th/mail/chrome/messenger/addressbook/abMailListDialog.dtd b/l10n-th/mail/chrome/messenger/addressbook/abMailListDialog.dtd
new file mode 100644
index 0000000000..00b2b97bc3
--- /dev/null
+++ b/l10n-th/mail/chrome/messenger/addressbook/abMailListDialog.dtd
@@ -0,0 +1,21 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!-- Title -->
+<!ENTITY mailListWindowAdd.title "รายชื่อผู้รับจดหมายใหม่">
+
+<!-- Labels and Access Keys -->
+<!ENTITY addToAddressBook.label "เพิ่มไปยัง: ">
+<!ENTITY addToAddressBook.accesskey "พ">
+<!ENTITY ListName.label "ชื่อรายชื่อ: ">
+<!ENTITY ListName.accesskey "ร">
+<!ENTITY ListNickName.label "ชื่อเล่นรายชื่อ: ">
+<!ENTITY ListNickName.accesskey "ช">
+<!ENTITY ListDescription.label "คำอธิบาย: ">
+<!ENTITY ListDescription.accesskey "ค">
+<!-- See bug 58485, when we implement drag and drop, add 'or drag addresses' back in -->
+<!ENTITY AddressTitle.label "พิมพ์ที่อยู่อีเมลที่ต้องการเพิ่มไปยังรายชื่อผู้รับจดหมาย:">
+<!ENTITY AddressTitle.accesskey "ท">
+<!ENTITY UpButton.label "ย้ายขึ้น">
+<!ENTITY DownButton.label "ย้ายลง">
diff --git a/l10n-th/mail/chrome/messenger/addressbook/abMainWindow.dtd b/l10n-th/mail/chrome/messenger/addressbook/abMainWindow.dtd
new file mode 100644
index 0000000000..8f3f65ca00
--- /dev/null
+++ b/l10n-th/mail/chrome/messenger/addressbook/abMainWindow.dtd
@@ -0,0 +1,221 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!ENTITY addressbookWindow.title "สมุดรายชื่อ">
+<!ENTITY blankResultsPaneMessage.label "สมุดรายชื่อนี้แสดงผู้ติดต่อหลังจากการค้นหาเท่านั้น">
+<!ENTITY localResultsOnlyMessage.label "ผู้ติดต่อจากสมุดรายชื่อระยะไกลจะไม่แสดงจนกว่าคุณจะค้นหา">
+
+<!-- File Menu -->
+<!ENTITY fileMenu.label "ไฟล์">
+<!ENTITY fileMenu.accesskey "ฟ">
+<!ENTITY newMenu.label "ใหม่">
+<!ENTITY newMenu.accesskey "ม">
+<!ENTITY newContact.label "ผู้ติดต่อของสมุดรายชื่อ…">
+<!ENTITY newContact.accesskey "ผ">
+<!ENTITY newContact.key "N">
+<!ENTITY newListCmd.label "รายชื่อผู้รับจดหมาย…">
+<!ENTITY newListCmd.accesskey "ร">
+<!ENTITY newAddressBookCmd.label "สมุดรายชื่อ…">
+<!ENTITY newAddressBookCmd.accesskey "ส">
+<!ENTITY newCardDAVBookCmd.label "สมุดรายชื่อ CardDAV…">
+<!ENTITY newCardDAVBookCmd.accesskey "V">
+<!ENTITY newLDAPDirectoryCmd.label "ไดเรกทอรี LDAP…">
+<!ENTITY newLDAPDirectoryCmd.accesskey "ด">
+<!ENTITY newMessageCmd.label "ข้อความ">
+<!ENTITY newMessageCmd.key "M">
+<!ENTITY newMessageCmd.accesskey "ข">
+<!-- LOCALIZATION NOTE (osxAddressBook) : These entities are only used on Mac -->
+<!ENTITY osxAddressBook.label "ใช้สมุดรายชื่อ Mac OS X">
+<!ENTITY osxAddressBook.accesskey "ช">
+<!ENTITY closeCmd.label "ปิด">
+<!ENTITY closeCmd.key "W">
+<!ENTITY closeCmd.accesskey "ป">
+<!ENTITY printSetupCmd.label "ตั้งค่าหน้ากระดาษ…">
+<!ENTITY printSetupCmd.accesskey "ต">
+<!ENTITY printPreviewContactCmd.label "แสดงตัวอย่างผู้ติดต่อก่อนพิมพ์">
+<!ENTITY printPreviewContactCmd.accesskey "แ">
+<!ENTITY printPreviewAddressBook.label "แสดงตัวอย่างสมุดรายชื่อก่อนพิมพ์">
+<!ENTITY printPreviewAddressBook.accesskey "ส">
+<!ENTITY printContactCmd.label "พิมพ์ผู้ติดต่อ…">
+<!ENTITY printContactCmd.accesskey "พ">
+<!ENTITY printContactCmd.key "P">
+<!ENTITY printAddressBook.label "พิมพ์สมุดรายชื่อ…">
+<!ENTITY printAddressBook.accesskey "ด">
+
+<!-- Edit Menu -->
+<!ENTITY editMenu.label "แก้ไข">
+<!ENTITY editMenu.accesskey "ก">
+<!ENTITY deleteCmd.label "ลบ">
+<!ENTITY deleteAbCmd.label "ลบสมุดรายชื่อ">
+<!ENTITY deleteContactCmd.label "ลบผู้ติดต่อ">
+<!ENTITY deleteContactsCmd.label "ลบผู้ติดต่อ">
+<!ENTITY deleteListCmd.label "ลบรายชื่อ">
+<!ENTITY deleteListsCmd.label "ลบรายชื่อ">
+<!ENTITY deleteItemsCmd.label "ลบรายการ">
+<!ENTITY searchAddressesCmd.key "f">
+<!ENTITY propertiesMenu.label "คุณสมบัติ">
+<!ENTITY propertiesMenu.accesskey "ค">
+<!ENTITY propertiesCmd.key "i">
+<!ENTITY abPropertiesMenu.label "คุณสมบัติสมุดรายชื่อ">
+<!ENTITY abPropertiesMenu.accesskey "ค">
+<!ENTITY contactPropertiesMenu.label "คุณสมบัติผู้ติดต่อ">
+<!ENTITY contactPropertiesMenu.accesskey "ค">
+<!ENTITY mailingListPropertiesMenu.label "คุณสมบัติรายชื่อผู้รับจดหมาย">
+<!ENTITY mailingListPropertiesMenu.accesskey "ค">
+
+<!-- View Menu -->
+<!ENTITY viewMenu.label "มุมมอง">
+<!ENTITY viewMenu.accesskey "ม">
+<!ENTITY viewToolbarsMenu.label "แถบเครื่องมือ">
+<!ENTITY viewToolbarsMenu.accesskey "ถ">
+<!ENTITY menubarCmd.label "แถบเมนู">
+<!ENTITY menubarCmd.accesskey "ม">
+<!ENTITY showAbToolbarCmd.label "แถบเครื่องมือสมุดรายชื่อ">
+<!ENTITY showAbToolbarCmd.accesskey "เ">
+<!ENTITY showTaskbarCmd.label "แถบสถานะ">
+<!ENTITY showTaskbarCmd.accesskey "ส">
+<!ENTITY customizeToolbar.label "ปรับแต่ง…">
+<!ENTITY customizeToolbar.accesskey "ป">
+<!ENTITY layoutMenu.label "เค้าโครง">
+<!ENTITY layoutMenu.accesskey "ค">
+<!ENTITY showDirectoryPane.label "บานหน้าต่างไดเรกทอรี">
+<!ENTITY showDirectoryPane.accesskey "ด">
+<!ENTITY showContactPane2.label "บานหน้าต่างผู้ติดต่อ">
+<!ENTITY showContactPane2.accesskey "ผ">
+<!ENTITY menu_ShowNameAs.label "แสดงชื่อเป็น">
+<!ENTITY menu_ShowNameAs.accesskey "ช">
+<!-- LOCALIZATION NOTE (firstLastCmd2.label): We're not including a comma here
+because displayed names don't have the comma in between. -->
+<!ENTITY firstLastCmd2.label "ชื่อจริง นามสกุล">
+<!ENTITY firstLastCmd2.accesskey "จ">
+<!ENTITY lastFirstCmd.label "นามสกุล ชื่อ">
+<!ENTITY lastFirstCmd.accesskey "น">
+<!ENTITY displayNameCmd.label "ชื่อที่แสดงผล">
+<!ENTITY displayNameCmd.accesskey "แ">
+<!ENTITY sortMenu.label "เรียงตาม">
+<!ENTITY sortMenu.accesskey "ร">
+
+<!-- Tools Menu -->
+<!ENTITY tasksMenu.label "เครื่องมือ">
+<!ENTITY tasksMenu.accesskey "ค">
+<!ENTITY messengerCmd.label "จดหมายและกลุ่มข่าว">
+<!ENTITY messengerCmd.accesskey "จ">
+<!ENTITY messengerCmd.commandkey "1">
+<!ENTITY searchAddressesCmd.label "ค้นหาที่อยู่…">
+<!ENTITY searchAddressesCmd.accesskey "ค">
+<!ENTITY importCmd.label "นำเข้า…">
+<!ENTITY importCmd.accesskey "น">
+<!ENTITY exportCmd.label "ส่งออก…">
+<!ENTITY exportCmd.accesskey "ส">
+<!ENTITY preferencesCmd2.label "ตัวเลือก">
+<!ENTITY preferencesCmd2.accesskey "ต">
+<!ENTITY preferencesCmdUnix.label "ค่ากำหนด">
+<!ENTITY preferencesCmdUnix.accesskey "ค">
+
+<!-- Address Book Toolbar and Context Menus -->
+<!ENTITY newContactButton.label "ผู้ติดต่อใหม่">
+<!ENTITY newContactButton.accesskey "ผ">
+<!ENTITY newlistButton.label "รายชื่อใหม่">
+<!ENTITY newlistButton.accesskey "ร">
+<!ENTITY showAsDefault.label "ไดเรกทอรีเริ่มต้นตามค่าเริ่มต้น">
+<!ENTITY showAsDefault.accesskey "เ">
+<!ENTITY editPropertiesButton.label "แก้ไข">
+<!ENTITY propertiesContext.label "คุณสมบัติ">
+<!ENTITY propertiesContext.accesskey "ค">
+<!ENTITY abPropertiesContext.label "คุณสมบัติ">
+<!ENTITY abPropertiesContext.accesskey "ค">
+<!ENTITY syncContext.label "ประสาน">
+<!ENTITY syncContext.accesskey "ะ">
+<!ENTITY editContactContext.label "แก้ไขผู้ติดต่อ">
+<!ENTITY editContactContext.accesskey "ก">
+<!ENTITY editMailingListContext.label "แก้ไขรายชื่อ">
+<!ENTITY editMailingListContext.accesskey "ก">
+<!ENTITY newmsgButton.label "เขียน">
+<!ENTITY newmsgButton.accesskey "ข">
+<!ENTITY newIM.label "ข้อความโต้ตอบแบบทันที">
+<!ENTITY newIM.accesskey "อ">
+<!ENTITY printButton.label "พิมพ์…">
+<!ENTITY printButton.accesskey "พ">
+<!ENTITY deleteButton2.label "ลบ">
+<!ENTITY deleteButton2.accesskey "ล">
+
+<!-- Address Book Toolbar Tooltips -->
+<!ENTITY columnChooser.tooltip "เลือกคอลัมน์ที่จะแสดง">
+<!ENTITY newContactButton.tooltip "สร้างผู้ติดต่อของสมุดรายชื่อใหม่">
+<!ENTITY newlistButton.tooltip "สร้างรายการใหม่">
+<!ENTITY editPropertiesButton.tooltip "แก้ไขรายการที่เลือก">
+<!ENTITY editAbPropertiesButton.tooltip "แก้ไขคุณสมบัติของสมุดรายชื่อที่เลือก">
+<!ENTITY editContactPropertiesButton.tooltip "แก้ไขผู้ติดต่อที่เลือก">
+<!ENTITY editMailingListPropertiesButton.tooltip "แก้ไขรายชื่อผู้รับจดหมายที่เลือก">
+<!ENTITY newmsgButton.tooltip "ส่งข้อความเมล">
+<!ENTITY newIM.tooltip "ส่งข้อความโต้ตอบแบบทันทีหรือแชท">
+<!ENTITY deleteButton2.tooltip "ลบรายการที่เลือก">
+
+<!-- Search Bar -->
+<!ENTITY SearchNameOrEmail.label "ชื่อหรืออีเมล">
+<!ENTITY SearchNameOrEmail.accesskey "ช">
+<!ENTITY advancedButton.tooltip "การค้นหาที่อยู่ขั้นสูง">
+<!ENTITY quickSearchCmd.key "k">
+<!ENTITY searchItem.title "การค้นหาด่วน">
+
+<!-- Results Pane -->
+<!ENTITY Addrbook.label "สมุดรายชื่อ">
+<!ENTITY Addrbook.accesskey "ส">
+<!ENTITY GeneratedName.label "ชื่อ">
+<!ENTITY GeneratedName.accesskey "ช">
+<!ENTITY PrimaryEmail.label "อีเมล">
+<!ENTITY PrimaryEmail.accesskey "อ">
+<!ENTITY ChatName.label "ชื่อแชท">
+<!ENTITY ChatName.accesskey "แ">
+<!ENTITY Company.label "องค์กร">
+<!ENTITY Company.accesskey "อ">
+<!ENTITY NickName.label "ชื่อเล่น">
+<!ENTITY NickName.accesskey "ล">
+<!ENTITY SecondEmail.label "อีเมลเพิ่มเติม">
+<!ENTITY SecondEmail.accesskey "พ">
+<!ENTITY Department.label "แผนก">
+<!ENTITY Department.accesskey "ผ">
+<!ENTITY JobTitle.label "ตำแหน่ง">
+<!ENTITY JobTitle.accesskey "ต">
+<!ENTITY CellularNumber.label "มือถือ">
+<!ENTITY CellularNumber.accesskey "ม">
+<!ENTITY PagerNumber.label "วิทยุติดตามตัว">
+<!ENTITY PagerNumber.accesskey "ว">
+<!ENTITY FaxNumber.label "โทรสาร">
+<!ENTITY FaxNumber.accesskey "ท">
+<!ENTITY HomePhone.label "โทรศัพท์บ้าน">
+<!ENTITY HomePhone.accesskey "บ">
+<!ENTITY WorkPhone.label "โทรศัพท์ที่ทำงาน">
+<!ENTITY WorkPhone.accesskey "ง">
+<!ENTITY sortAscending.label "จากน้อยไปมาก">
+<!ENTITY sortAscending.accesskey "น">
+<!ENTITY sortDescending.label "จากมากไปน้อย">
+<!ENTITY sortDescending.accesskey "ม">
+<!ENTITY _PhoneticName.label "ชื่อการออกเสียง">
+<!ENTITY _PhoneticName.accesskey "า">
+
+<!-- Card Summary Pane -->
+<!-- Box Headings -->
+<!ENTITY contact.heading "ผู้ติดต่อ">
+<!ENTITY home.heading "บ้าน">
+<!ENTITY other.heading "อื่น ๆ">
+<!ENTITY chat.heading "แชท">
+<!ENTITY phone.heading "โทรศัพท์">
+<!ENTITY work.heading "ที่ทำงาน">
+<!-- Special Box Headings, for mailing lists -->
+<!ENTITY description.heading "คำอธิบาย">
+<!ENTITY addresses.heading "ที่อยู่">
+<!-- For Map It! -->
+<!ENTITY mapItButton.label "รับแผนที่">
+<!ENTITY mapIt.tooltip "แสดงแผนที่ของที่อยู่นี้จากเว็บ">
+
+<!-- Status Bar -->
+<!ENTITY statusText.label "">
+
+<!-- Mac OS X Window Menu -->
+<!ENTITY windowMenu.label "หน้าต่าง">
+<!ENTITY minimizeWindow.label "ย่อ">
+<!ENTITY minimizeWindow.key "m">
+<!ENTITY bringAllToFront.label "นำทั้งหมดมาข้างหน้า">
+<!ENTITY zoomWindow.label "ซูม">
diff --git a/l10n-th/mail/chrome/messenger/addressbook/abNewCardDialog.dtd b/l10n-th/mail/chrome/messenger/addressbook/abNewCardDialog.dtd
new file mode 100644
index 0000000000..85572a5923
--- /dev/null
+++ b/l10n-th/mail/chrome/messenger/addressbook/abNewCardDialog.dtd
@@ -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/. -->
+
+<!-- Labels -->
+<!ENTITY chooseAddressBook.label "เพิ่มไปยัง: ">
+<!ENTITY chooseAddressBook.accesskey "พ">
diff --git a/l10n-th/mail/chrome/messenger/addressbook/abResultsPane.dtd b/l10n-th/mail/chrome/messenger/addressbook/abResultsPane.dtd
new file mode 100644
index 0000000000..f2043d409a
--- /dev/null
+++ b/l10n-th/mail/chrome/messenger/addressbook/abResultsPane.dtd
@@ -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/. -->
+
+<!ENTITY Addrbook.label "สมุดรายชื่อ">
+<!ENTITY Addrbook.accesskey "ส">
+<!ENTITY GeneratedName.label "ชื่อ">
+<!ENTITY GeneratedName.accesskey "ช">
+<!ENTITY PrimaryEmail.label "อีเมล">
+<!ENTITY PrimaryEmail.accesskey "อ">
+<!ENTITY Company.label "องค์กร">
+<!ENTITY Company.accesskey "ง">
+<!ENTITY _PhoneticName.label "ชื่อการออกเสียง">
+<!ENTITY _PhoneticName.accesskey "ก">
+<!ENTITY NickName.label "ชื่อเล่น">
+<!ENTITY NickName.accesskey "ล">
+<!ENTITY SecondEmail.label "อีเมลเพิ่มเติม">
+<!ENTITY SecondEmail.accesskey "ม">
+<!ENTITY Department.label "แผนก">
+<!ENTITY Department.accesskey "ผ">
+<!ENTITY JobTitle.label "ชื่อเรื่อง">
+<!ENTITY JobTitle.accesskey "ร">
+<!ENTITY CellularNumber.label "มือถือ">
+<!ENTITY CellularNumber.accesskey "ม">
+<!ENTITY PagerNumber.label "วิทยุติดตามตัว">
+<!ENTITY PagerNumber.accesskey "ว">
+<!ENTITY FaxNumber.label "โทรสาร">
+<!ENTITY FaxNumber.accesskey "ท">
+<!ENTITY HomePhone.label "โทรศัพท์บ้าน">
+<!ENTITY HomePhone.accesskey "ร">
+<!ENTITY WorkPhone.label "โทรศัพท์ที่ทำงาน">
+<!ENTITY WorkPhone.accesskey "พ">
+<!ENTITY ChatName.label "ชื่อแชท">
+<!ENTITY ChatName.accesskey "ท">
+<!ENTITY sortAscending.label "น้อยไปมาก">
+<!ENTITY sortAscending.accesskey "น">
+<!ENTITY sortDescending.label "มากไปน้อย">
+<!ENTITY sortDescending.accesskey "ป">
diff --git a/l10n-th/mail/chrome/messenger/addressbook/addressBook.properties b/l10n-th/mail/chrome/messenger/addressbook/addressBook.properties
new file mode 100644
index 0000000000..cd6a11c8d6
--- /dev/null
+++ b/l10n-th/mail/chrome/messenger/addressbook/addressBook.properties
@@ -0,0 +1,262 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.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 are used by the Mailing list dialog.
+# LOCALIZATION NOTE (mailingListTitleEdit): %S will be replaced by the Mailing List's display name.
+mailingListTitleEdit=แก้ไข %S
+emptyListName=คุณต้องป้อนชื่อรายการ
+badListNameCharacters=ชื่อรายการไม่สามารถมีอักขระต่อไปนี้: < > ; , "
+badListNameSpaces=ชื่อรายการไม่สามารถมีช่องว่างที่อยู่ติดกันได้หลายช่อง
+lastFirstFormat=%S, %S
+firstLastFormat=%S %S
+
+allAddressBooks=สมุดรายชื่อทั้งหมด
+
+newContactTitle=ผู้ติดต่อใหม่
+# %S will be the contact's display name
+newContactTitleWithDisplayName=ผู้ติดต่อใหม่สำหรับ %S
+editContactTitle=แก้ไขผู้ติดต่อ
+# %S will be the contact's display name
+editContactTitleWithDisplayName=แก้ไขผู้ติดต่อสำหรับ %S
+# don't translate vCard
+editVCardTitle=แก้ไข vCard
+# %S will be the card's display name, don't translate vCard
+editVCardTitleWithDisplayName=แก้ไข vCard สำหรับ %S
+
+## LOCALIZATION NOTE (cardRequiredDataMissingMessage): do not localize \n
+cardRequiredDataMissingMessage=คุณต้องป้อนอย่างน้อยหนึ่งรายการต่อไปนี้:\nที่อยู่อีเมล, ชื่อ, นามสกุล, ชื่อที่แสดงผล, องค์กร
+cardRequiredDataMissingTitle=ข้อมูลที่จำเป็นไม่มีอยู่
+incorrectEmailAddressFormatMessage=ที่อยู่อีเมลหลักต้องอยู่ในรูปแบบ user@host
+incorrectEmailAddressFormatTitle=รูปแบบที่อยู่อีเมลไม่ถูกต้อง
+
+viewListTitle=รายชื่อผู้รับจดหมาย: %S
+mailListNameExistsTitle=รายชื่อผู้รับจดหมายมีอยู่แล้ว
+mailListNameExistsMessage=รายชื่อผู้รับจดหมายที่มีชื่อนั้นมีอยู่แล้ว โปรดเลือกชื่ออื่น
+
+confirmDeleteThisContactTitle=ลบผู้ติดต่อ
+# LOCALIZATION NOTE (confirmDeleteThisContact):
+# #1 The name of the selected contact
+# Don't localize "\n• #1" unless your local layout comes out wrong.
+# Example: Are you sure you want to delete this contact?
+# • John Doe
+confirmDeleteThisContact=คุณแน่ใจหรือไม่ว่าคุณต้องการลบผู้ติดต่อนี้?\n• #1
+
+confirmDelete2orMoreContactsTitle=ลบผู้ติดต่อหลายคน
+# LOCALIZATION NOTE (confirmDelete2orMoreContacts):
+# Semicolon list of plural forms.
+# See: https://developer.mozilla.org/docs/Localization_and_Plurals
+# #1 The number of selected contacts, always more than 1.
+# Example: Are you sure you want to delete these 3 contacts?
+confirmDelete2orMoreContacts=คุณแน่ใจหรือไม่ว่าคุณต้องการลบผู้ติดต่อ #1 คนเหล่านี้?
+
+confirmRemoveThisContactTitle=เอาผู้ติดต่อออก
+# LOCALIZATION NOTE (confirmRemoveThisContact):
+# #1 The name of the selected contact
+# #2 The name of the containing mailing list
+# This title is about a contact in a mailing list, so it will not be deleted,
+# but only removed from the list.
+# Don't localize "\n• #1" unless your local layout comes out wrong.
+# Example: Are you sure you want to remove this contact from the mailing list 'Customers List'?
+# • John Doe
+confirmRemoveThisContact=คุณแน่ใจหรือไม่ว่าคุณต้องการเอาผู้ติดต่อนี้ออกจากรายชื่อผู้รับจดหมาย '#2'?\n• #1
+
+confirmRemove2orMoreContactsTitle=เอาผู้ติดต่อหลายคนออก
+# LOCALIZATION NOTE (confirmRemove2orMoreContacts):
+# Semicolon list of singular and plural forms.
+# See: https://developer.mozilla.org/docs/Localization_and_Plurals
+# #1 The number of selected contacts, always more than 1.
+# #2 The name of the containing mailing list
+# Example: Are you sure you want to remove these 3 contacts from the mailing list 'Customers List'?
+confirmRemove2orMoreContacts=คุณแน่ใจหรือไม่ว่าคุณต้องการเอาผู้ติดต่อ #1 คนเหล่านี้ออกจากรายชื่อผู้รับจดหมาย '#2'?
+
+confirmDeleteThisMailingListTitle=ลบรายชื่อผู้รับจดหมาย
+# LOCALIZATION NOTE (confirmDeleteThisMailingList):
+# #1 The name of the selected mailing list
+# Don't localize "\n• #1" unless your local layout comes out wrong.
+# Example: Are you sure you want to delete this mailing list?
+# • Customers List
+confirmDeleteThisMailingList=คุณแน่ใจหรือไม่ว่าคุณต้องการลบรายชื่อผู้รับจดหมายนี้?\n• #1
+
+confirmDelete2orMoreMailingListsTitle=ลบรายชื่อผู้รับจดหมายหลายรายชื่อ
+# LOCALIZATION NOTE (confirmDelete2orMoreMailingLists):
+# Semicolon list of plural forms.
+# See: https://developer.mozilla.org/docs/Localization_and_Plurals
+# #1 The number of selected mailing lists, always more than 1
+# Example: Are you sure you want to delete these 3 mailing lists?
+confirmDelete2orMoreMailingLists=คุณแน่ใจหรือไม่ว่าคุณต้องการลบรายชื่อผู้รับจดหมาย #1 รายชื่อเหล่านี้?
+
+confirmDelete2orMoreContactsAndListsTitle=ลบผู้ติดต่อและรายชื่อผู้รับจดหมาย
+# LOCALIZATION NOTE (confirmDelete2orMoreContactsAndLists):
+# Semicolon list of and plural forms.
+# See: https://developer.mozilla.org/docs/Localization_and_Plurals
+# #1 The number of selected contacts and mailing lists, always more than 1
+# Example: Are you sure you want to delete these 3 contacts and mailing lists?
+confirmDelete2orMoreContactsAndLists=คุณแน่ใจหรือไม่ว่าคุณต้องการลบผู้ติดต่อ #1 คนเหล่านี้และรายชื่อผู้รับจดหมาย?
+
+confirmDeleteThisAddressbookTitle=ลบสมุดรายชื่อ
+# LOCALIZATION NOTE (confirmDeleteThisAddressbookTitle):
+# #1 The name of the selected address book
+# Don't localize "\n• #1" unless your local layout comes out wrong.
+# Example: Are you sure you want to delete this address book and all of its contacts?
+# • Friends and Family Address Book
+confirmDeleteThisAddressbook=คุณแน่ใจหรือไม่ว่าคุณต้องการลบสมุดรายชื่อนี้และผู้ติดต่อทั้งหมดภายในสมุดรายชื่อนี้?\n• #1
+
+confirmDeleteThisLDAPDirTitle=ลบไดเรกทอรี LDAP ภายใน
+# LOCALIZATION NOTE (confirmDeleteThisLDAPDir):
+# #1 The name of the selected LDAP directory
+# Don't localize "\n• #1" unless your local layout comes out wrong.
+# Example: Are you sure you want to delete the local copy of this LDAP directory and all of its offline contacts?
+# • Mozilla LDAP Directory
+confirmDeleteThisLDAPDir=คุณแน่ใจหรือไม่ว่าคุณต้องการลบสำเนาภายในของไดเรกทอรี LDAP นี้และผู้ติดต่อออฟไลน์ทั้งหมดที่อยู่ภายในไดเรกทอรีนี้?\n• #1
+
+confirmDeleteThisCollectionAddressbookTitle=ลบสมุดรายชื่อการรวบรวม
+# LOCALIZATION NOTE (confirmDeleteThisCollectionAddressbook):
+# #1 The name of the selected collection address book
+# #2 The name of the application (Thunderbird)
+# Don't localize "\n• #1" unless your local layout comes out wrong.
+# Example: If this address book is deleted, Thunderbird will no longer collect addresses.
+# Are you sure you want to delete this address book and all of its contacts?
+# • My Collecting Addressbook
+confirmDeleteThisCollectionAddressbook=หากลบสมุดรายชื่อนี้แล้ว #2 จะไม่รวบรวมที่อยู่อีกต่อไป\nคุณแน่ใจหรือไม่ว่าคุณต้องการลบสมุดรายชื่อนี้และผู้ติดต่อทั้งหมดที่อยู่ภายในสมุดรายชื่อนี้?\n• #1
+
+propertyPrimaryEmail=อีเมล
+propertyListName=ชื่อรายชื่อ
+propertySecondaryEmail=อีเมลเพิ่มเติม
+propertyNickname=ชื่อเล่น
+propertyDisplayName=ชื่อที่แสดงผล
+propertyWork=ที่ทำงาน
+propertyHome=บ้าน
+propertyFax=โทรสาร
+propertyCellular=มือถือ
+propertyPager=วิทยุติดตามตัว
+propertyBirthday=วันเกิด
+propertyCustom1=กำหนดเอง 1
+propertyCustom2=กำหนดเอง 2
+propertyCustom3=กำหนดเอง 3
+propertyCustom4=กำหนดเอง 4
+
+propertyGtalk=Google Talk
+propertyAIM=AIM
+propertyYahoo=Yahoo!
+propertySkype=Skype
+propertyQQ=QQ
+propertyMSN=MSN
+propertyICQ=ICQ
+propertyXMPP=Jabber ID
+propertyIRC=ชื่อเล่น IRC
+
+## LOCALIZATION NOTE (cityAndStateAndZip):
+## %1$S is city, %2$S is state, %3$S is zip
+cityAndStateAndZip=%1$S, %2$S %3$S
+## LOCALIZATION NOTE (cityAndStateNoZip):
+## %1$S is city, %2$S is state
+cityAndStateNoZip=%1$S, %2$S
+## LOCALIZATION NOTE (cityOrStateAndZip):
+## %1$S is city or state, %2$S is zip
+cityOrStateAndZip=%1$S %2$S
+
+stateZipSeparator=
+
+prefixTo=ถึง
+prefixCc=สำเนาถึง
+prefixBcc=สำเนาลับถึง
+addressBook=สมุดรายชื่อ
+
+# Contact photo management
+browsePhoto=รูปถ่ายผู้ติดต่อ
+stateImageSave=กำลังบันทึกภาพ…
+errorInvalidUri=ข้อผิดพลาด: ภาพต้นฉบับไม่ถูกต้อง
+errorNotAvailable=ข้อผิดพลาด: ไฟล์ไม่สามารถเข้าถึงได้
+errorInvalidImage=ข้อผิดพลาด: รองรับภาพเฉพาะประเภท JPG, PNG และ GIF เท่านั้น
+errorSaveOperation=ข้อผิดพลาด: ไม่สามารถบันทึกภาพได้
+
+# mailnews.js
+ldap_2.servers.pab.description=สมุดรายชื่อส่วนตัว
+ldap_2.servers.history.description=ที่อยู่ที่รวบรวมไว้
+## LOCALIZATION NOTE (ldap_2.servers.osx.description is only used on Mac OS X)
+ldap_2.servers.osx.description=สมุดรายชื่อ Mac OS X
+
+# status bar stuff
+## LOCALIZATION NOTE (totalContactStatus):
+## %1$S is address book name, %2$S is contact count
+totalContactStatus=จำนวนผู้ติดต่อทั้งหมดใน %1$S: %2$S
+noMatchFound=ไม่พบที่ตรงกัน
+## LOCALIZATION NOTE (matchesFound1):
+## Semicolon-separated list of singular and plural forms.
+## See: https://developer.mozilla.org/docs/Mozilla/Localization/Localization_and_Plurals
+## #1 is the number of matching contacts found
+matchesFound1=พบ #1 ที่ตรงกัน
+
+## LOCALIZATION NOTE (contactsCopied): Semi-colon list of plural forms
+## %1$S is the number of contacts that were copied. This should be used multiple
+## times wherever you need it. Do not replace by %S.
+contactsCopied=คัดลอกผู้ติดต่อ %1$S คนแล้ว
+
+## LOCALIZATION NOTE (contactsMoved): Semi-colon list of plural forms
+## %1$S is the number of contacts that were moved. This should be used multiple
+## times wherever you need it. Do not replace by %S.
+contactsMoved=ย้ายผู้ติดต่อ %1$S คนแล้ว
+
+# LDAP directory stuff
+invalidName=โปรดป้อนชื่อที่ถูกต้อง
+invalidHostname=โปรดป้อนชื่อโฮสต์ที่ถูกต้อง
+invalidPortNumber=โปรดป้อนหมายเลขพอร์ตที่ถูกต้อง
+invalidResults=โปรดป้อนหมายเลขที่ถูกต้องในช่องผลลัพธ์
+abReplicationOfflineWarning=คุณต้องออนไลน์เพื่อทำการจำลองแบบ LDAP
+abReplicationSaveSettings=ต้องบันทึกการตั้งค่าก่อนที่จะดาวน์โหลดไดเรกทอรี
+
+# For importing / exporting
+## LOCALIZATION NOTE (ExportAddressBookNameTitle): %S is the name of exported addressbook
+ExportAddressBookNameTitle=ส่งออกสมุดรายชื่อ - %S
+LDIFFiles=LDIF
+CSVFiles=คั่นด้วยเครื่องหมายจุลภาค
+CSVFilesSysCharset=คั่นด้วยเครื่องหมายจุลภาค (ชุดอักขระระบบ)
+CSVFilesUTF8=คั่นด้วยเครื่องหมายจุลภาค (UTF-8)
+TABFiles=คั่นด้วยแท็บ
+TABFilesSysCharset=คั่นด้วยแท็บ (ชุดอักขระระบบ)
+TABFilesUTF8=คั่นด้วยแท็บ (UTF-8)
+VCFFiles=vCard
+SupportedABFiles=ไฟล์สมุดรายชื่อที่รองรับ
+failedToExportTitle=การส่งออกล้มเหลว
+failedToExportMessageNoDeviceSpace=ไม่สามารถส่งออกสมุดรายชื่อได้เนื่องจากไม่มีเนื้อที่เหลือบนอุปกรณ์
+failedToExportMessageFileAccessDenied=ไม่สามารถส่งออกสมุดรายชื่อได้เนื่องจากการเข้าถึงไฟล์ถูกปฏิเสธ
+
+# For getting authDN for replication using dlg box
+AuthDlgTitle=การจำลองสมุดที่อยู่แบบ LDAP
+AuthDlgDesc=ป้อนชื่อผู้ใช้และรหัสผ่านของคุณเพื่อเข้าถึงเซิร์ฟเวอร์ไดเรกทอรี
+
+# LOCALIZATION NOTE(joinMeInThisChat)
+# use + for spaces
+joinMeInThisChat=มาสนทนากับเราในนี้
+
+# For printing
+headingHome=บ้าน
+headingWork=ที่ทำงาน
+headingOther=อื่น ๆ
+headingChat=สนทนา
+headingPhone=โทรศัพท์
+headingDescription=คำอธิบาย
+headingAddresses=ที่อยู่
+
+## For address books
+addressBookTitleNew=สมุดรายชื่อใหม่
+# LOCALIZATION NOTE (addressBookTitleEdit):
+# %S is the current name of the address book.
+# Example: My Custom AB Properties
+addressBookTitleEdit=คุณสมบัติ %S
+duplicateNameTitle=ชื่อสมุดรายชื่อที่ซ้ำกัน
+# LOCALIZATION NOTE (duplicateNameText):
+# Don't localize "\n• %S" unless your local layout comes out wrong.
+# %S is the name of the existing address book.
+# Example: An address book with this name already exists:
+# • My Custom AB
+duplicateNameText=สมุดรายชื่อที่มีชื่อนี้มีอยู่แล้ว:\n• %S
+
+# For corrupt .mab files
+corruptMabFileTitle=ไฟล์สมุดรายชื่อเสียหาย
+corruptMabFileAlert=ไม่สามารถอ่านไฟล์สมุดรายชื่อไฟล์ใดไฟล์หนึ่ง (ไฟล์ %1$S) ของคุณได้ ไฟล์ %2$S ใหม่จะถูกสร้างขึ้นและการสำรองข้อมูลของไฟล์เก่าที่เรียกว่า %3$S จะถูกสร้างขึ้นในไดเรกทอรีเดียวกัน
+
+# For locked .mab files
+lockedMabFileTitle=ไม่สามารถโหลดไฟล์สมุดรายชื่อได้
+lockedMabFileAlert=ไม่สามารถโหลดไฟล์สมุดรายชื่อ %S ได้ ไฟล์อาจเป็นแบบอ่านอย่างเดียว หรือถูกล็อกโดยแอปพลิเคชันอื่น โปรดลองอีกครั้งในภายหลัง
diff --git a/l10n-th/mail/chrome/messenger/addressbook/ldapAutoCompErrs.properties b/l10n-th/mail/chrome/messenger/addressbook/ldapAutoCompErrs.properties
new file mode 100644
index 0000000000..d3fbd2280d
--- /dev/null
+++ b/l10n-th/mail/chrome/messenger/addressbook/ldapAutoCompErrs.properties
@@ -0,0 +1,104 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# These are error strings for problems that happen while in the
+# various states declared in nsILDAPAutoCompFormatter.idl. Note that
+# the number that indexes each error state is the same as the number
+# corresponding to that state in nsILDAPAutoCompFormatter.idl.
+
+## @name ERR_STATE_UNBOUND
+## @loc none
+0=มีปัญหาในการเตรียมใช้งาน LDAP
+
+## @name ERR_STATE_INITIALIZING
+## @loc none
+1=การเชื่อมต่อเซิร์ฟเวอร์ LDAP ล้มเหลว
+
+## @name ERR_STATE_BINDING
+## @loc none
+2=การเชื่อมต่อเซิร์ฟเวอร์ LDAP ล้มเหลว
+
+## @name ERR_STATE_BOUND
+## @loc none
+3=มีปัญหาในการสื่อสารกับเซิร์ฟเวอร์ LDAP
+
+## @name ERR_STATE_SEARCHING
+## @loc none
+4=มีปัญหาในการค้นหาเซิร์ฟเวอร์ LDAP
+
+
+# The format of the alert dialog itself
+#
+## @name ALERT_FORMAT
+## @loc None of %1$S, %2$S and %3$S should be localized.
+## %1$S is the error code itself, %2$S is an LDAP SDK error message from
+## chrome://mozldap/locale/ldap.properties, and %3$S is a hint relating
+## to that specific error, found in this file.
+errorAlertFormat=รหัสข้อผิดพลาด %1$S: %2$S\n\n %3$S
+
+## The following errors are for error codes other than LDAP-specific ones.
+## Someday mozilla will actually have a system for mapping nsresults to
+## error strings that's actually widely used, unlike nsIErrorService. But
+## until it does, these strings live here...
+
+## @name HOST_NOT_FOUND
+## @loc none
+5000=ไม่พบโฮสต์
+
+## @name GENERIC_ERROR
+## @loc none
+9999=ข้อผิดพลาดที่ไม่รู้จัก
+
+
+# Hints to for the user, associated with specific error codes (ie error code
+# + 10000)
+
+
+## @name TIMELIMIT_EXCEEDED_HINT
+## @loc none
+10003=โปรดลองอีกครั้งในภายหลัง หรือติดต่อผู้ดูแลระบบของคุณ
+
+## @name STRONGAUTH_REQUIRED_HINT
+## @loc none
+10008=ไม่รองรับการรับรองความถูกต้องแบบรัดกุมในขณะนี้
+
+## @name INVALID_SYNTAX_HINT
+## @loc none
+10021=ตรวจสอบว่าตัวกรองการค้นหาถูกต้อง แล้วลองอีกครั้ง หรือติดต่อผู้ดูแลระบบของคุณ หากต้องการตรวจสอบว่าตัวกรองการค้นหาถูกต้อง จากเมนู แก้ไข เลือก ค่ากำหนด จากนั้นเลือก จดหมายและกลุ่มข่าว จากนั้นเลือก การกำหนดที่อยู่ คลิก แก้ไขไดเรกทอรี และเลือกเซิร์ฟเวอร์ LDAP ที่ต้องการใช้ คลิก แก้ไข แล้วคลิก ขั้นสูง เพื่อแสดงตัวกรองการค้นหา
+
+## @name NO_SUCH_OBJECT_HINT
+## @loc none
+10032=ตรวจสอบว่า Base DN ถูกต้อง แล้วลองอีกครั้ง หรือติดต่อผู้ดูแลระบบของคุณ หากต้องการตรวจสอบว่า Base DN ถูกต้อง จากเมนู แก้ไข เลือก ค่ากำหนด จากนั้นเลือก จดหมายและกลุ่มข่าว จากนั้นเลือก การกำหนดที่อยู่ คลิก แก้ไขไดเรกทอรี และเลือกเซิร์ฟเวอร์ LDAP ที่ต้องการใช้ คลิก แก้ไข เพื่อแสดง Base DN
+
+## @name BUSY_HINT
+## @loc none
+10051=โปรดลองอีกครั้งในภายหลัง
+
+## @name SERVER_DOWN_HINT
+## @loc none
+10081=ตรวจสอบว่าชื่อโฮสต์และหมายเลขพอร์ตถูกต้อง แล้วลองอีกครั้ง หรือติดต่อผู้ดูแลระบบของคุณ หากต้องการตรวจสอบว่าชื่อโฮสต์และหมายเลขพอร์ตถูกต้อง จากเมนู แก้ไข เลือก ค่ากำหนด จากนั้นเลือก จดหมายและกลุ่มข่าว จากนั้นเลือก การกำหนดที่อยู่ คลิก แก้ไขไดเรกทอรี และเลือกเซิร์ฟเวอร์ LDAP ที่ต้องการใช้ คลิก แก้ไข เพื่อแสดงชื่อโฮสต์ คลิก ขั้นสูง เพื่อแสดงหมายเลขพอร์ต
+
+## @name TIMEOUT_HINT
+## @loc none
+10085=โปรดลองอีกครั้งในภายหลัง
+
+## @name FILTER_ERROR_HINT
+## @loc none
+10087=ตรวจสอบว่าตัวกรองการค้นหาถูกต้อง แล้วลองอีกครั้ง หรือติดต่อผู้ดูแลระบบของคุณ หากต้องการตรวจสอบว่าตัวกรองการค้นหาถูกต้อง จากเมนู แก้ไข เลือก ค่ากำหนด จากนั้นเลือก จดหมายและกลุ่มข่าว จากนั้นเลือก การกำหนดที่อยู่ คลิก แก้ไขไดเรกทอรี และเลือกเซิร์ฟเวอร์ LDAP ที่ต้องการใช้ คลิก แก้ไข แล้วคลิก ขั้นสูง เพื่อแสดงตัวกรองการค้นหา
+
+## @name NO_MEMORY_HINT
+## @loc none
+10090=โปรดปิดหน้าต่างและ/หรือแอปพลิเคชันอื่น ๆ บางส่วนแล้วลองอีกครั้ง
+
+## @name CONNECT_ERROR_HINT
+## @loc none
+10091=ตรวจสอบว่าชื่อโฮสต์และหมายเลขพอร์ตถูกต้อง แล้วลองอีกครั้ง หรือติดต่อผู้ดูแลระบบของคุณ หากต้องการตรวจสอบว่าชื่อโฮสต์และหมายเลขพอร์ตถูกต้อง จากเมนู แก้ไข เลือก ค่ากำหนด จากนั้นเลือก จดหมายและกลุ่มข่าว จากนั้นเลือก การกำหนดที่อยู่ คลิก แก้ไขไดเรกทอรี และเลือกเซิร์ฟเวอร์ LDAP ที่ต้องการใช้ คลิก แก้ไข เพื่อแสดงชื่อโฮสต์ คลิก ขั้นสูง เพื่อแสดงหมายเลขพอร์ต
+
+## @name HOST_NOT_FOUND_HINT
+## @loc none
+15000=ตรวจสอบว่าชื่อโฮสต์ถูกต้อง แล้วลองอีกครั้ง หรือติดต่อผู้ดูแลระบบของคุณ หากต้องการตรวจสอบว่าชื่อโฮสต์ถูกต้อง จากเมนู แก้ไข เลือก ค่ากำหนด จากนั้นเลือก จดหมายและกลุ่มข่าว จากนั้นเลือก การกำหนดที่อยู่ คลิก แก้ไขไดเรกทอรี และเลือกเซิร์ฟเวอร์ LDAP ที่ต้องการใช้ คลิก แก้ไข เพื่อแสดงชื่อโฮสต์
+
+## @name GENERIC_HINT
+## @loc none
+19999=โปรดติดต่อผู้ดูแลระบบของคุณ
diff --git a/l10n-th/mail/chrome/messenger/addressbook/pref-directory-add.dtd b/l10n-th/mail/chrome/messenger/addressbook/pref-directory-add.dtd
new file mode 100644
index 0000000000..24c6546490
--- /dev/null
+++ b/l10n-th/mail/chrome/messenger/addressbook/pref-directory-add.dtd
@@ -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/. -->
+
+<!ENTITY directoryName.label "ชื่อ: ">
+<!ENTITY directoryName.accesskey "ช">
+<!ENTITY directoryHostname.label "ชื่อโฮสต์: ">
+<!ENTITY directoryHostname.accesskey "อ">
+<!ENTITY directoryBaseDN.label "Base DN: ">
+<!ENTITY directoryBaseDN.accesskey "b">
+<!ENTITY findButton.label "ค้นหา">
+<!ENTITY findButton.accesskey "f">
+<!ENTITY directorySecure.label "ใช้การเชื่อมต่อแบบปลอดภัย (SSL)">
+<!ENTITY directorySecure.accesskey "U">
+<!ENTITY directoryLogin.label "Bind DN: ">
+<!ENTITY directoryLogin.accesskey "i">
+<!ENTITY General.tab "ทั่วไป">
+<!ENTITY Offline.tab "ออฟไลน์">
+<!ENTITY Advanced.tab "ขั้นสูง">
+<!ENTITY portNumber.label "หมายเลขพอร์ต: ">
+<!ENTITY portNumber.accesskey "p">
+<!ENTITY searchFilter.label "ตัวกรองการค้นหา: ">
+<!ENTITY searchFilter.accesskey "f">
+<!ENTITY scope.label "ขอบเขต: ">
+<!ENTITY scope.accesskey "c">
+<!ENTITY scopeOneLevel.label "1 ระดับ">
+<!ENTITY scopeOneLevel.accesskey "L">
+<!ENTITY scopeSubtree.label "ทรีย่อย">
+<!ENTITY scopeSubtree.accesskey "S">
+<!ENTITY return.label "ไม่ต้องส่งกลับมากกว่า">
+<!ENTITY return.accesskey "r">
+<!ENTITY results.label "ผลลัพธ์">
+<!ENTITY offlineText.label "คุณสามารถดาวน์โหลดสำเนาภายในของไดเรกทอรีนี้เพื่อให้พร้อมใช้งานเมื่อคุณกำลังทำงานออฟไลน์">
+<!ENTITY saslMechanism.label "วิธีการเข้าสู่ระบบ: ">
+<!ENTITY saslMechanism.accesskey "m">
+<!ENTITY saslOff.label "ธรรมดา">
+<!ENTITY saslOff.accesskey "l">
+<!ENTITY saslGSSAPI.label "Kerberos (GSSAPI)">
+<!ENTITY saslGSSAPI.accesskey "K">
+
+<!-- Localization note: this is here because the width of the dialog
+ is determined by the width of the base DN box; and that is likely
+ to vary somewhat with the language.
+-->
+<!ENTITY newDirectoryWidth "36em">
diff --git a/l10n-th/mail/chrome/messenger/addressbook/pref-directory.dtd b/l10n-th/mail/chrome/messenger/addressbook/pref-directory.dtd
new file mode 100644
index 0000000000..7a511a59c7
--- /dev/null
+++ b/l10n-th/mail/chrome/messenger/addressbook/pref-directory.dtd
@@ -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/. -->
+
+<!-- LOCALIZATION NOTE (window.title) : do not translate "LDAP" in below line -->
+<!ENTITY pref.ldap.window.title "เซิร์ฟเวอร์ไดเรกทอรี LDAP">
+<!-- LOCALIZATION NOTE (directories.label) : do not translate "LDAP" in below line -->
+<!ENTITY directories.label "เซิร์ฟเวอร์ไดเรกทอรี LDAP:">
+<!-- LOCALIZATION NOTE (directoriesText.label) : do not translate "LDAP" in below line -->
+<!ENTITY directoriesText.label "เลือกเซิร์ฟเวอร์ไดเรกทอรี LDAP:">
+<!ENTITY directoriesText.accesskey "ล">
+<!ENTITY addDirectory.label "เพิ่ม">
+<!ENTITY addDirectory.accesskey "พ">
+<!ENTITY editDirectory.label "แก้ไข">
+<!ENTITY editDirectory.accesskey "ก">
+<!ENTITY deleteDirectory.label "ลบ">
+<!ENTITY deleteDirectory.accesskey "บ">
diff --git a/l10n-th/mail/chrome/messenger/addressbook/replicationProgress.properties b/l10n-th/mail/chrome/messenger/addressbook/replicationProgress.properties
new file mode 100644
index 0000000000..842979ab8d
--- /dev/null
+++ b/l10n-th/mail/chrome/messenger/addressbook/replicationProgress.properties
@@ -0,0 +1,20 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+replicationStarted=เริ่มการจำลองแบบแล้ว…
+changesStarted=เริ่มค้นหาการเปลี่ยนแปลงที่จะจำลองแบบแล้ว…
+replicationSucceeded=การจำลองแบบสำเร็จ
+replicationFailed=การจำลองแบบล้มเหลว
+replicationCancelled=การจำลองแบบถูกยกเลิก
+# LOCALIZATION NOTE
+# do not localize %S. %S is the current entry number (an integer)
+currentCount=กำลังจำลองแบบรายการไดเรกทอรี: %S
+
+downloadButton=ดาวน์โหลดตอนนี้
+downloadButton.accesskey=ด
+cancelDownloadButton=ยกเลิกการดาวน์โหลด
+cancelDownloadButton.accesskey=ย
+
+directoryTitleNew=ไดเรกทอรี LDAP ใหม่
+## LOCALIZATION NOTE (directoryTitleEdit): %S will be replaced by the LDAP directory's display name
+directoryTitleEdit=คุณสมบัติ %S
diff --git a/l10n-th/mail/chrome/messenger/am-addressing.dtd b/l10n-th/mail/chrome/messenger/am-addressing.dtd
new file mode 100644
index 0000000000..32a8411ef6
--- /dev/null
+++ b/l10n-th/mail/chrome/messenger/am-addressing.dtd
@@ -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/. -->
+
+<!-- extracted from am-addressing.xul -->
+
+<!-- extracted from am-addressing.xhtml -->
+
+<!ENTITY addressing.label "การเขียนและการกำหนดที่อยู่">
+<!ENTITY addressingGroupTitle.label "การกำหนดที่อยู่">
+<!ENTITY addressingText.label "เมื่อมองหาที่อยู่:">
+<!-- LOCALIZATION NOTE (override.label) : do not translate "LDAP" in below line -->
+<!ENTITY useGlobal.label "ใช้ค่ากำหนดเซิร์ฟเวอร์ LDAP ทั่วโลกของฉันสำหรับบัญชีนี้">
+<!ENTITY useGlobal.accesskey "U">
+<!ENTITY editDirectories.label "แก้ไขไดเรกทอรี…">
+<!ENTITY editDirectories.accesskey "E">
+<!-- LOCALIZATION NOTE (directories.label) : do not translate "LDAP" in below line -->
+<!ENTITY directories.label "ใช้เซิร์ฟเวอร์ LDAP อื่น:">
+<!ENTITY directories.accesskey "d">
+<!ENTITY directoriesNone.label "ไม่มี">
+
+<!-- am-addressing.xul -->
+
+<!-- am-addressing.xhtml -->
+
+<!ENTITY compositionGroupTitle.label "การเขียน">
+<!-- LOCALIZATION NOTE (useHtml.label) : do not translate "html" in below line -->
+<!ENTITY useHtml.label "เขียนข้อความในรูปแบบ HTML">
+<!ENTITY useHtml.accesskey "C">
+<!ENTITY autoQuote.label "อ้างอิงข้อความต้นฉบับโดยอัตโนมัติเมื่อตอบกลับ">
+<!ENTITY autoQuote.accesskey "m">
+<!-- LOCALIZATION NOTE (quoting.label): This will concatenate with the 4 strings that follow. -->
+<!ENTITY quoting.label "เมื่ออ้างอิง">
+<!ENTITY quoting.accesskey "q">
+<!ENTITY aboveQuote.label "เริ่มการตอบกลับของฉันด้านบนข้อความที่อ้างอิง">
+<!ENTITY belowQuote.label "เริ่มการตอบกลับของฉันด้านล่างข้อความที่อ้างอิง">
+<!ENTITY selectAndQuote.label "เลือกข้อความที่อ้างอิง">
+<!ENTITY place.label "และวางลายเซ็นของฉัน">
+<!ENTITY place.accesskey "s">
+<!ENTITY belowText.label "ด้านล่างข้อความที่อ้างอิง (แนะนำ)">
+<!ENTITY aboveText.label "ด้านล่างการตอบกลับของฉัน (ด้านบนข้อความที่อ้างอิง)">
+<!ENTITY includeSigOnReply.label "รวมลายเซ็นสำหรับการตอบกลับ">
+<!ENTITY includeSigOnReply.accesskey "l">
+<!ENTITY includeSigOnForward.label "รวมลายเซ็นสำหรับการส่งต่อ">
+<!ENTITY includeSigOnForward.accesskey "w">
+
+<!ENTITY globalComposingPrefs.label "การตั้งค่าการเขียนส่วนกลาง…">
+<!ENTITY globalComposingPrefs.accesskey "G">
+
+<!ENTITY globalAddressingPrefs.label "การตั้งค่าการกำหนดที่อยู่ส่วนกลาง…">
+<!ENTITY globalAddressingPrefs.accesskey "P">
diff --git a/l10n-th/mail/chrome/messenger/am-advanced.dtd b/l10n-th/mail/chrome/messenger/am-advanced.dtd
new file mode 100644
index 0000000000..1dd39ec132
--- /dev/null
+++ b/l10n-th/mail/chrome/messenger/am-advanced.dtd
@@ -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/. -->
+
+<!-- extracted from am-advanced.xul -->
+
+<!-- extracted from am-advanced.xhtml -->
+
+<!-- LOCALIZATION NOTE (smtpServer.label): do not translate "SMTP" in below line -->
+<!ENTITY smtpServer.label "การตั้งค่าเซิร์ฟเวอร์ขาออก (SMTP)">
+
+<!-- LOCALIZATION NOTE (smtpDescription.label): do not translate "SMTP" in below line -->
+<!ENTITY smtpDescription.label "เมื่อจัดการข้อมูลประจำตัวของคุณ คุณสามารถใช้เซิร์ฟเวอร์จากรายการนี้โดยเลือกเป็นเซิร์ฟเวอร์ขาออก (SMTP) หรือคุณสามารถใช้เซิร์ฟเวอร์เริ่มต้นจากรายการนี้โดยเลือก &quot;ใช้เซิร์ฟเวอร์เริ่มต้น&quot;">
+
+<!ENTITY smtpListAdd.label "เพิ่ม…">
+<!ENTITY smtpListAdd.accesskey "พ">
+<!ENTITY smtpListEdit.label "แก้ไข…">
+<!ENTITY smtpListEdit.accesskey "ก">
+<!ENTITY smtpListDelete.label "เอาออก">
+<!ENTITY smtpListDelete.accesskey "อ">
+<!ENTITY smtpListSetDefault.label "ตั้งเป็นค่าเริ่มต้น">
+<!ENTITY smtpListSetDefault.accesskey "ต">
+
+<!ENTITY serverDetails.label "รายละเอียดของเซิร์ฟเวอร์ที่เลือก:">
+<!ENTITY serverDescription.label "คำอธิบาย: ">
+<!ENTITY serverName.label "ชื่อเซิร์ฟเวอร์: ">
+<!ENTITY serverPort.label "พอร์ต: ">
+<!ENTITY userName.label "ชื่อผู้ใช้: ">
+<!ENTITY connectionSecurity.label "ความปลอดภัยในการเชื่อมต่อ: ">
+<!ENTITY authMethod.label "วิธีการรับรองความถูกต้อง: ">
diff --git a/l10n-th/mail/chrome/messenger/am-archiveoptions.dtd b/l10n-th/mail/chrome/messenger/am-archiveoptions.dtd
new file mode 100644
index 0000000000..427f6723f2
--- /dev/null
+++ b/l10n-th/mail/chrome/messenger/am-archiveoptions.dtd
@@ -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/. -->
+
+<!-- extracted from am-archiveoptions.xul -->
+
+<!-- extracted from am-archiveoptions.xhtml -->
+
+<!ENTITY dialogTitle.label "ตัวเลือกการเก็บถาวร">
+<!ENTITY archiveGranularityPrefix.label "เมื่อเก็บถาวรข้อความ ให้วางใน:">
+<!ENTITY archiveFlat.label "โฟลเดอร์เดียว">
+<!ENTITY archiveFlat.accesskey "เ">
+<!ENTITY archiveYearly.label "โฟลเดอร์ที่เก็บถาวรทุกปี">
+<!ENTITY archiveYearly.accesskey "ป">
+<!ENTITY archiveMonthly.label "โฟลเดอร์ที่เก็บถาวรทุกเดือน">
+<!ENTITY archiveMonthly.accesskey "ด">
+<!ENTITY keepFolderStructure.label "เก็บโครงสร้างโฟลเดอร์ที่มีอยู่ของข้อความที่เก็บถาวร">
+<!ENTITY keepFolderStructure.accesskey "ก">
+<!ENTITY archiveExample.label "ตัวอย่าง">
+<!-- LOCALIZATION NOTE (archiveFolderName.label): this should match the default
+ name for the "Archives" folder -->
+<!ENTITY archiveFolderName.label "การเก็บถาวร">
+<!-- LOCALIZATION NOTE (inboxFolderName.label): this should match the default
+ name for the "Inbox" folder -->
+<!ENTITY inboxFolderName.label "กล่องขาเข้า">
diff --git a/l10n-th/mail/chrome/messenger/am-copies.dtd b/l10n-th/mail/chrome/messenger/am-copies.dtd
new file mode 100644
index 0000000000..20f6da7036
--- /dev/null
+++ b/l10n-th/mail/chrome/messenger/am-copies.dtd
@@ -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/. -->
+
+<!-- extracted from am-copies.xul -->
+
+<!-- extracted from am-copies.xhtml -->
+
+<!ENTITY copyAndFolderTitle.label "สำเนาและโฟลเดอร์">
+<!ENTITY sendingPrefix.label "เมื่อส่งข้อความ ให้ทำสิ่งนี้โดยอัตโนมัติ: ">
+<!ENTITY fccMailFolder.label "วางสำเนาใน:">
+<!ENTITY fccMailFolder.accesskey "P">
+<!ENTITY fccReplyFollowsParent.label "วางการตอบกลับในโฟลเดอร์ของข้อความที่กำลังตอบกลับ">
+<!ENTITY fccReplyFollowsParent.accesskey "R">
+<!-- LOCALIZATION NOTE (ccAddress.label): do not translate "Cc" in below line -->
+<!ENTITY ccAddress.label "ส่งสำเนา (Cc) ถึงที่อยู่อีเมลเหล่านี้:">
+<!ENTITY ccAddress.accesskey "C">
+<!ENTITY ccAddressList.placeholder "คั่นที่อยู่ด้วยจุลภาค">
+<!-- LOCALIZATION NOTE (bccAddress.label): do not translate "Bcc" in below line -->
+<!ENTITY bccAddress.label "ส่งสำเนาลับ (Bcc) ถึงที่อยู่อีเมลเหล่านี้:">
+<!ENTITY bccAddress.accesskey "B">
+<!ENTITY bccAddressList.placeholder "คั่นที่อยู่ด้วยจุลภาค">
+<!ENTITY saveMessageDlg.label "แสดงไดอะล็อกยืนยันเมื่อข้อความถูกบันทึกแล้ว">
+<!ENTITY saveMessageDlg.accesskey "w">
+<!-- LOCALIZATION NOTE (sentFolderOn.label): OK to translate this, bug #57440 -->
+<!ENTITY sentFolderOn.label "โฟลเดอร์ &quot;ส่ง&quot; บน:">
+<!ENTITY sentFolderOn.accesskey "S">
+<!ENTITY sentInOtherFolder.label "อื่น ๆ:">
+<!ENTITY sentInOtherFolder.accesskey "O">
+<!-- LOCALIZATION NOTE (archivesFolderOn.label): OK to translate this, bug #57440 -->
+<!ENTITY archivesTitle.label "การเก็บถาวรข้อความ">
+<!ENTITY keepArchives.label "เก็บการเก็บถาวรข้อความใน:">
+<!ENTITY keepArchives.accesskey "K">
+<!ENTITY archiveHierarchyButton.label "ตัวเลือกการเก็บถาวร…">
+<!ENTITY archiveHierarchyButton.accesskey "A">
+<!ENTITY archivesFolderOn.label "โฟลเดอร์ &quot;การเก็บถาวร&quot; บน:">
+<!ENTITY archivesFolderOn.accesskey "n">
+<!ENTITY archiveInOtherFolder.label "อื่น ๆ:">
+<!ENTITY archiveInOtherFolder.accesskey "h">
+<!ENTITY specialFolders.label "ฉบับร่างและแม่แบบ">
+<!ENTITY keepDrafts2.label "เก็บข้อความฉบับร่างใน:">
+<!-- LOCALIZATION NOTE (draftsFolderOn.label): OK to translate this, bug #57440 -->
+<!ENTITY draftsFolderOn.label "โฟลเดอร์ &quot;ฉบับร่าง&quot; บน:">
+<!ENTITY draftsFolderOn.accesskey "D">
+<!ENTITY draftInOtherFolder.label "อื่น ๆ:">
+<!ENTITY draftInOtherFolder.accesskey "t">
+<!ENTITY keepTemplates.label "เก็บแม่แบบข้อความใน:">
+<!-- LOCALIZATION NOTE (templatesFolderOn.label): OK to translate this, bug #57440 -->
+<!ENTITY templatesFolderOn.label "โฟลเดอร์ &quot;แม่แบบ&quot; บน:">
+<!ENTITY templatesFolderOn.accesskey "m">
+<!ENTITY templateInOtherFolder.label "อื่น ๆ:">
+<!ENTITY templateInOtherFolder.accesskey "e">
diff --git a/l10n-th/mail/chrome/messenger/am-e2e.properties b/l10n-th/mail/chrome/messenger/am-e2e.properties
new file mode 100644
index 0000000000..fbc0eedad1
--- /dev/null
+++ b/l10n-th/mail/chrome/messenger/am-e2e.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/.
+
+prefPanel-e2e=การเข้ารหัสแบบครอบคลุม
diff --git a/l10n-th/mail/chrome/messenger/am-identities-list.dtd b/l10n-th/mail/chrome/messenger/am-identities-list.dtd
new file mode 100644
index 0000000000..21d1197d6c
--- /dev/null
+++ b/l10n-th/mail/chrome/messenger/am-identities-list.dtd
@@ -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/. -->
+
+<!ENTITY identitiesListManageDesc.label "จัดการข้อมูลประจำตัวสำหรับบัญชีนี้ ข้อมูลประจำตัวแรกจะถูกใช้ตามค่าเริ่มต้น">
+<!ENTITY identitiesListAdd.label "เพิ่ม…">
+<!ENTITY identitiesListAdd.accesskey "พ">
+<!ENTITY identitiesListEdit.label "แก้ไข…">
+<!ENTITY identitiesListEdit.accesskey "ก">
+<!ENTITY identitiesListDefault.label "ตั้งเป็นค่าเริ่มต้น">
+<!ENTITY identitiesListDefault.accesskey "ต">
+<!ENTITY identitiesListDelete.label "ลบ">
+<!ENTITY identitiesListDelete.accesskey "ล">
+<!ENTITY identitiesListClose.label "ปิด">
+<!ENTITY identitiesListClose.accesskey "ป">
diff --git a/l10n-th/mail/chrome/messenger/am-identity-edit.dtd b/l10n-th/mail/chrome/messenger/am-identity-edit.dtd
new file mode 100644
index 0000000000..d275eaf894
--- /dev/null
+++ b/l10n-th/mail/chrome/messenger/am-identity-edit.dtd
@@ -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/. -->
+
+<!ENTITY identityListDesc.label "กำหนดการตั้งค่าสำหรับข้อมูลประจำตัวนี้:">
+
+<!ENTITY settingsTab.label "การตั้งค่า">
+<!ENTITY copiesFoldersTab.label "สำเนาและโฟลเดอร์">
+<!ENTITY addressingTab.label "การเขียนและการกำหนดที่อยู่">
+
+<!ENTITY publicData.label "ข้อมูลสาธารณะ">
+<!ENTITY privateData.label "ข้อมูลส่วนตัว">
+<!ENTITY identityAlias.label "ป้ายกำกับข้อมูลประจำตัว:">
+<!ENTITY identityAlias.accesskey "ป">
diff --git a/l10n-th/mail/chrome/messenger/am-im.dtd b/l10n-th/mail/chrome/messenger/am-im.dtd
new file mode 100644
index 0000000000..a603db8528
--- /dev/null
+++ b/l10n-th/mail/chrome/messenger/am-im.dtd
@@ -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/. -->
+
+<!ENTITY accountWindow.title "คุณสมบัติบัญชี">
+<!ENTITY accountWindow.width "300">
+<!ENTITY account.general "ทั่วไป">
+<!ENTITY account.advanced "ตัวเลือกขั้นสูง">
+<!ENTITY account.name "ชื่อผู้ใช้:">
+<!ENTITY account.password "รหัสผ่าน:">
+<!ENTITY account.alias "นามแฝง:">
+<!ENTITY account.newMailNotification "แจ้งเตือนเมื่อมีจดหมายใหม่">
+<!ENTITY account.autojoin "ช่องที่เข้าร่วมอัตโนมัติ:">
+<!ENTITY account.proxySettings.caption "การตั้งค่าพร็อกซี:">
+<!ENTITY account.proxySettings.change.label "เปลี่ยน…">
+<!ENTITY account.proxySettings.change.accessKey "ป">
diff --git a/l10n-th/mail/chrome/messenger/am-junk.dtd b/l10n-th/mail/chrome/messenger/am-junk.dtd
new file mode 100644
index 0000000000..d8ad62e4be
--- /dev/null
+++ b/l10n-th/mail/chrome/messenger/am-junk.dtd
@@ -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/. -->
+
+<!ENTITY junkSettings.label "การตั้งค่าขยะ">
+<!ENTITY trainingDescription.label "หากเปิดใช้งาน คุณจะต้องสอนให้ &brandShortName; ระบุจดหมายขยะโดยกดปุ่มแถบเครื่องมือขยะเพื่อทำเครื่องหมายข้อความว่าเป็นขยะหรือไม่ก่อน คุณจะต้องระบุข้อความทั้งที่เป็นขยะและไม่เป็นขยะ &brandShortName; จึงจะสามารถทำเครื่องหมายขยะได้โดยอัตโนมัติ">
+<!ENTITY level.label "เปิดใช้งานการควบคุมจดหมายขยะแบบปรับเปลี่ยนได้สำหรับบัญชีนี้">
+<!ENTITY level.accesskey "ป">
+
+<!ENTITY move.label "ย้ายข้อความขยะใหม่ไปที่:">
+<!ENTITY move.accesskey "ย">
+<!ENTITY junkFolderOn.label "โฟลเดอร์ &quot;ขยะ&quot; บน:">
+<!ENTITY junkFolderOn.accesskey "ข">
+<!ENTITY otherFolder.label "อื่น ๆ:">
+<!ENTITY otherFolder.accesskey "อ">
+<!ENTITY purge1.label "ลบจดหมายขยะที่เก่ากว่า">
+<!ENTITY purge1.accesskey "ล">
+<!ENTITY purge2.label "วันโดยอัตโนมัติ">
+
+<!ENTITY whitelistHeader.label "ไม่ต้องทำเครื่องหมายจดหมายว่าเป็นขยะโดยอัตโนมัติหากผู้ส่งอยู่ใน: ">
+<!ENTITY whitelistHeader.accesskey "ม">
+
+<!ENTITY ispHeadersWarning.label "หากเปิดใช้งาน &brandShortName; จะพิจารณาข้อความที่ถูกทำเครื่องหมายโดยตัวจำแนกภายนอกนี้ว่าเป็นขยะโดยอัตโนมัติ">
+<!ENTITY ispHeaders.label "เชื่อถือส่วนหัวจดหมายขยะที่ตั้งโดย: ">
+<!ENTITY ispHeaders.accesskey "ช">
+
+<!ENTITY junkClassification.label "ส่วนที่เลือก">
+<!ENTITY junkActions.label "ตำแหน่งปลายทางและการเก็บข้อมูล">
+
+<!ENTITY globalJunkPrefs.label "การตั้งค่าขยะกลาง…">
+<!ENTITY globalJunkPrefs.accesskey "ก">
diff --git a/l10n-th/mail/chrome/messenger/am-main.dtd b/l10n-th/mail/chrome/messenger/am-main.dtd
new file mode 100644
index 0000000000..7b16b4789b
--- /dev/null
+++ b/l10n-th/mail/chrome/messenger/am-main.dtd
@@ -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/. -->
+
+<!-- extracted from am-main.xul -->
+
+<!-- extracted from am-main.xhtml -->
+
+<!ENTITY accountTitle.label "การตั้งค่าบัญชี">
+<!ENTITY accountName.label "ชื่อบัญชี:">
+<!ENTITY accountName.accesskey "ช">
+<!ENTITY identityTitle.label "ข้อมูลประจำตัวเริ่มต้น">
+<!ENTITY identityDesc.label "แต่ละบัญชีมีข้อมูลประจำตัว ซึ่งเป็นข้อมูลที่คนอื่นจะเห็นเมื่อพวกเขาอ่านข้อความของคุณ">
+<!ENTITY name.label "ชื่อของคุณ:">
+<!ENTITY name.accesskey "อ">
+<!ENTITY email.label "ที่อยู่อีเมล:">
+<!ENTITY email.accesskey "ท">
+<!ENTITY catchAll.label "ตอบกลับจากข้อมูลประจำตัวนี้เมื่อส่วนหัวการส่งตรงกัน:">
+<!ENTITY catchAll.accesskey "ส">
+<!ENTITY replyTo.label "ที่อยู่ตอบกลับ:">
+<!ENTITY replyTo.accesskey "ย">
+<!ENTITY replyTo.placeholder "ผู้รับจะตอบกลับไปยังที่อยู่อื่นนี้">
+<!ENTITY organization.label "องค์กร:">
+<!ENTITY organization.accesskey "ง">
+<!ENTITY signatureText.label "ข้อความลายเซ็น:">
+<!ENTITY signatureText.accesskey "ข">
+<!ENTITY signatureHtml.label "ใช้ HTML (เช่น &lt;b&gt;bold&lt;/b&gt;)">
+<!ENTITY signatureHtml.accesskey "น">
+<!ENTITY signatureFile.label "แนบลายเซ็นจากไฟล์แทน (ข้อความ, HTML หรือภาพ):">
+<!ENTITY signatureFile.accesskey "บ">
+<!ENTITY edit.label "แก้ไข…">
+<!ENTITY choose.label "เลือก…">
+<!ENTITY choose.accesskey "ล">
+<!ENTITY editVCard.label "แก้ไขบัตร…">
+<!ENTITY editVCard.accesskey "ก">
+<!-- LOCALIZATION NOTE (attachVCard.label) : do not translate "vCard" in below line -->
+<!ENTITY attachVCard.label "แนบ vCard ของฉันไปยังข้อความ">
+<!ENTITY attachVCard.accesskey "น">
+
+<!ENTITY manageIdentities.label "จัดการข้อมูลประจำตัว…">
+<!ENTITY manageIdentities.accesskey "จ">
+
+<!-- LOCALIZATION NOTE (smtpName.label) : do not translate "SMTP" in below line -->
+<!ENTITY smtpName.label "เซิร์ฟเวอร์ขาออก (SMTP):">
+<!ENTITY smtpName.accesskey "ร">
+<!ENTITY smtpDefaultServer.label "ใช้เซิร์ฟเวอร์เริ่มต้น">
+
+<!ENTITY smtpServerEdit.label "แก้ไขเซิร์ฟเวอร์ SMTP…">
+<!ENTITY smtpServerEdit.accesskey "ฟ">
diff --git a/l10n-th/mail/chrome/messenger/am-mdn.dtd b/l10n-th/mail/chrome/messenger/am-mdn.dtd
new file mode 100644
index 0000000000..74e0362f89
--- /dev/null
+++ b/l10n-th/mail/chrome/messenger/am-mdn.dtd
@@ -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/. -->
+
+<!ENTITY pane.title "การแจ้งเตือนการเปิดอ่าน">
+<!ENTITY useGlobalPrefs.label "ใช้ค่ากำหนดการแจ้งเตือนการเปิดอ่านกลางสำหรับบัญชีนี้">
+<!ENTITY useGlobalPrefs.accesskey "U">
+<!ENTITY globalReceipts.label "ค่ากำหนดส่วนกลาง…">
+<!ENTITY globalReceipts.accesskey "G">
+<!ENTITY useCustomPrefs.label "ปรับแต่งการแจ้งเตือนการเปิดอ่านสำหรับบัญชีนี้">
+<!ENTITY useCustomPrefs.accesskey "C">
+<!ENTITY requestReceipt.label "เมื่อส่งข้อความ ให้ขอการแจ้งเตือนการเปิดอ่านเสมอ">
+<!ENTITY requestReceipt.accesskey "W">
+<!ENTITY receiptArrive.label "เมื่อการแจ้งเตือนมาถึง:">
+<!ENTITY leaveIt.label "ทิ้งไว้ในกล่องขาเข้าของฉัน">
+<!ENTITY leaveIt.accesskey "l">
+<!-- LOCALIZATION NOTE moveToSent.label Translate: 'Sent' according to Netscape glossary -->
+<!ENTITY moveToSent.label "ย้ายไปไว้ในโฟลเดอร์ &quot;ที่ส่งแล้ว&quot; ของฉัน">
+<!ENTITY moveToSent.accesskey "M">
+<!ENTITY requestMDN.label "เมื่อฉันได้รับคำขอให้ส่งการแจ้งเตือนการเปิดอ่าน:">
+<!ENTITY returnSome.label "อนุญาตการแจ้งเตือนการเปิดอ่านสำหรับบางข้อความ">
+<!ENTITY returnSome.accesskey "e">
+<!ENTITY never.label "ไม่ต้องส่งการแจ้งเตือนการเปิดอ่าน">
+<!ENTITY never.accesskey "N">
+<!ENTITY notInToCc.label "หากฉันไม่ได้อยู่ใน ถึง หรือ สำเนา ของข้อความ:">
+<!ENTITY notInToCc.accesskey "T">
+<!ENTITY outsideDomain.label "หากผู้ส่งอยู่นอกโดเมนของฉัน:">
+<!ENTITY outsideDomain.accesskey "s">
+<!ENTITY otherCases.label "ในกรณีอื่น ๆ ทั้งหมด:">
+<!ENTITY otherCases.accesskey "o">
+<!ENTITY askMe.label "ถามฉัน">
+<!ENTITY alwaysSend.label "ส่งเสมอ">
+<!ENTITY neverSend.label "ไม่ส่งเสมอ">
diff --git a/l10n-th/mail/chrome/messenger/am-mdn.properties b/l10n-th/mail/chrome/messenger/am-mdn.properties
new file mode 100644
index 0000000000..1a94453664
--- /dev/null
+++ b/l10n-th/mail/chrome/messenger/am-mdn.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/.
+
+## Strings used in prefs.
+prefPanel-mdn=การแจ้งเตือนการเปิดอ่าน
diff --git a/l10n-th/mail/chrome/messenger/am-offline.dtd b/l10n-th/mail/chrome/messenger/am-offline.dtd
new file mode 100644
index 0000000000..d43ac5033c
--- /dev/null
+++ b/l10n-th/mail/chrome/messenger/am-offline.dtd
@@ -0,0 +1,57 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!ENTITY doNotDownloadPop3Movemail.label "เพื่อเป็นการประหยัดเนื้อที่ในดิสก์ ไม่ต้องดาวน์โหลด:">
+<!ENTITY doNotDownloadNntp.label "เพื่อเป็นการประหยัดเนื้อที่ในดิสก์ ไม่ต้องดาวน์โหลดสำหรับใช้ออฟไลน์:">
+<!ENTITY doNotDownloadImap.label "เพื่อเป็นการประหยัดเนื้อที่ในดิสก์ สามารถจำกัดการดาวน์โหลดข้อความจากเซิร์ฟเวอร์และเก็บสำเนาในเครื่องสำหรับใช้ออฟไลน์ตามอายุหรือขนาดได้">
+<!ENTITY allFoldersOffline2.label "เก็บข้อความในโฟลเดอร์ทั้งหมดสำหรับบัญชีนี้บนคอมพิวเตอร์นี้">
+<!ENTITY allFoldersOffline2.accesskey "ก">
+<!ENTITY allFoldersOfflineNote.label "หมายเหตุ: การเปลี่ยนแปลงสิ่งนี้จะส่งผลต่อโฟลเดอร์ทั้งหมดในบัญชีนี้ หากต้องการตั้งค่าแต่ละโฟลเดอร์ ให้ใช้ปุ่ม ขั้นสูง…">
+<!ENTITY offlineNotDownload.label "ข้อความที่ใหญ่กว่า">
+<!ENTITY offlineNotDownload.accesskey "ข">
+<!ENTITY autosyncNotDownload.label "ไม่ต้องดาวน์โหลดข้อความที่ใหญ่กว่า">
+<!ENTITY autosyncNotDownload.accesskey "ข">
+<!ENTITY kb.label "KB">
+<!ENTITY daysOld.label "วัน">
+<!ENTITY message.label "ข้อความ">
+<!ENTITY nntpNotDownloadRead.label "ข้อความที่อ่านแล้ว">
+<!ENTITY nntpNotDownloadRead.accesskey "อ">
+<!ENTITY nntpDownloadMsg.label "ข้อความที่เก่ากว่า">
+<!ENTITY nntpDownloadMsg.accesskey "เ">
+<!ENTITY retentionCleanup.label "เพื่อกู้คืนเนื้อที่ดิสก์ สามารถลบข้อความเก่าอย่างถาวรได้">
+<!ENTITY retentionCleanupImap.label "เพื่อกู้คืนเนื้อที่ดิสก์ สามารถลบข้อความเก่าอย่างถาวรได้ทั้งสำเนาภายในและต้นฉบับที่อยู่บนเซิร์ฟเวอร์ระยะไกล">
+<!ENTITY retentionCleanupPop.label "เพื่อกู้คืนเนื้อที่ดิสก์ สามารถลบข้อความเก่าอย่างถาวรได้รวมถึงต้นฉบับที่อยู่บนเซิร์ฟเวอร์ระยะไกล">
+<!ENTITY retentionKeepMsg.label "ลบข้อความที่เก่ากว่า">
+<!ENTITY retentionKeepMsg.accesskey "า">
+<!ENTITY retentionKeepAll.label "ไม่ต้องลบข้อความใด ๆ">
+<!ENTITY retentionKeepAll.accesskey "ม">
+<!ENTITY retentionKeepRecent.label "ลบทั้งหมดยกเว้นรายการล่าสุด">
+<!ENTITY retentionKeepRecent.accesskey "ล">
+<!ENTITY retentionApplyToFlagged.label "เก็บข้อความที่ติดดาวไว้เสมอ">
+<!ENTITY retentionApplyToFlagged.accesskey "บ">
+<!ENTITY nntpRemoveMsgBody.label "ลบเนื้อความออกจากข้อความที่เก่ากว่า">
+<!ENTITY nntpRemoveMsgBody.accesskey "น">
+<!ENTITY offlineSelectNntp.label "เลือกกลุ่มข่าวสำหรับการใช้งานออฟไลน์…">
+<!ENTITY offlineSelectNntp.accesskey "ข">
+<!ENTITY offlineImapAdvancedOffline.label "ขั้นสูง…">
+<!ENTITY offlineImapAdvancedOffline.accesskey "ส">
+<!ENTITY syncGroupTitle.label "การประสานข้อความ">
+<!ENTITY diskspaceGroupTitle.label "เนื้อที่ดิสก์">
+
+<!-- LOCALIZATION NOTE: (ageAutosyncBefore.label, ageAutosyncMiddle.label, ageAutosyncAfter.label):
+ The entities ageAutosyncBefore.label, ageAutosyncMiddle.label, and ageAutosyncAfter.label appear
+ on a single line within the scope of useAutosync.ByAge as follows:
+
+ &ageAutosyncBefore.label [textbox for autosync value] &ageAutosyncMiddle.label; [dropdown for autosync interval] &ageAutosyncAfter.label;
+-->
+<!ENTITY allAutosync.label "ประสานข้อความทั้งหมดที่อยู่ภายในโดยไม่คำนึงถึงระยะเวลาที่เก็บ">
+<!ENTITY allAutosync.accesskey "ป">
+<!ENTITY ageAutosyncBefore.label "ประสานข้อความล่าสุด">
+<!ENTITY ageAutosync.accesskey "ร">
+<!ENTITY ageAutosyncMiddle.label "">
+<!ENTITY dayAgeInterval.label "วัน">
+<!ENTITY weekAgeInterval.label "สัปดาห์">
+<!ENTITY monthAgeInterval.label "เดือน">
+<!ENTITY yearAgeInterval.label "ปี">
+<!ENTITY ageAutosyncAfter.label "">
diff --git a/l10n-th/mail/chrome/messenger/am-server-advanced.dtd b/l10n-th/mail/chrome/messenger/am-server-advanced.dtd
new file mode 100644
index 0000000000..1e8ca42918
--- /dev/null
+++ b/l10n-th/mail/chrome/messenger/am-server-advanced.dtd
@@ -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/. -->
+
+<!ENTITY serverAdvanced.label "การตั้งค่าบัญชีขั้นสูง">
+<!-- LOCALIZATION NOTE (serverDirectory.label): Do not translate "IMAP" -->
+<!ENTITY serverDirectory.label "ไดเรกทอรีเซิร์ฟเวอร์ IMAP:">
+<!ENTITY serverDirectory.accesskey "ด">
+<!ENTITY usingSubscription.label "แสดงเฉพาะโฟลเดอร์ที่บอกรับเท่านั้น">
+<!ENTITY usingSubscription.accesskey "ส">
+<!ENTITY dualUseFolders.label "เซิร์ฟเวอร์รองรับโฟลเดอร์ที่มีโฟลเดอร์ย่อยและข้อความ">
+<!ENTITY dualUseFolders.accesskey "ซ">
+<!ENTITY maximumConnectionsNumber.label "จำนวนการเชื่อมต่อเซิร์ฟเวอร์สูงสุดที่จะแคช">
+<!ENTITY maximumConnectionsNumber.accesskey "จ">
+<!-- LOCALIZATION NOTE (namespaceDesc.label): Do not translate "IMAP" -->
+<!ENTITY namespaceDesc.label "ค่ากำหนดเหล่านี้ระบุเนมสเปซที่อยู่บนเซิร์ฟเวอร์ IMAP ของคุณ">
+<!ENTITY personalNamespace.label "เนมสเปซส่วนตัว:">
+<!ENTITY personalNamespace.accesskey "น">
+<!ENTITY publicNamespace.label "สาธารณะ (ที่แบ่งปัน):">
+<!ENTITY publicNamespace.accesskey "า">
+<!ENTITY otherUsersNamespace.label "ผู้ใช้อื่น ๆ:">
+<!ENTITY otherUsersNamespace.accesskey "ผ">
+<!ENTITY overrideNamespaces.label "อนุญาตให้เซิร์ฟเวอร์เขียนทับเนมสเปซเหล่านี้ได้">
+<!ENTITY overrideNamespaces.accesskey "อ">
+<!ENTITY pop3DeferringDesc.label "เมื่อดาวน์โหลดจดหมายจากเซิร์ฟเวอร์ของบัญชีนี้ ให้ใช้โฟลเดอร์ต่อไปนี้เก็บข้อความใหม่:">
+<!ENTITY accountInbox.label "กล่องขาเข้าสำหรับบัญชีนี้">
+<!ENTITY accountInbox.accesskey "ก">
+<!ENTITY deferToServer.label "กล่องขาเข้าสำหรับบัญชีอื่น">
+<!ENTITY deferToServer.accesskey "อ">
+<!ENTITY deferGetNewMail.label "รวมเซิร์ฟเวอร์นี้เมื่อได้รับจดหมายใหม่">
+<!ENTITY deferGetNewMail.accesskey "ร">
diff --git a/l10n-th/mail/chrome/messenger/am-server-top.dtd b/l10n-th/mail/chrome/messenger/am-server-top.dtd
new file mode 100644
index 0000000000..c1cfbd1d80
--- /dev/null
+++ b/l10n-th/mail/chrome/messenger/am-server-top.dtd
@@ -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/. -->
+
+<!ENTITY messageStorage.label "ที่เก็บข้อมูลข้อความ">
+<!ENTITY securitySettings.label "การตั้งค่าความปลอดภัย">
+<!ENTITY serverSettings.label "การตั้งค่าเซิร์ฟเวอร์">
+<!ENTITY serverType.label "ชนิดเซิร์ฟเวอร์:">
+<!ENTITY serverName.label "ชื่อเซิร์ฟเวอร์:">
+<!ENTITY serverName.accesskey "ช">
+<!ENTITY userName.label "ชื่อผู้ใช้:">
+<!ENTITY userName.accesskey "อ">
+<!ENTITY port.label "พอร์ต:">
+<!ENTITY port.accesskey "พ">
+<!ENTITY serverPortDefault.label "ค่าเริ่มต้น:">
+<!-- LOCALIZATION NOTE (biffStart.label) : translate below 2 line with grammar dependency
+ For example, in Japanese cases:
+ biffStart.label "every"
+ biffEnd.label "minutes for new messages Check"
+-->
+<!ENTITY biffStart.label "ตรวจสอบข้อความใหม่ทุก ๆ ">
+<!ENTITY biffStart.accesskey "ต">
+<!ENTITY biffEnd.label "นาที">
+<!ENTITY useIdleNotifications.label "อนุญาตการแจ้งเตือนเซิร์ฟเวอร์แบบทันทีเมื่อมีข้อความใหม่มาถึง">
+<!ENTITY useIdleNotifications.accesskey "น">
+<!ENTITY connectionSecurity.label "ความปลอดภัยของการเชื่อมต่อ:">
+<!ENTITY connectionSecurity.accesskey "ค">
+<!ENTITY connectionSecurityType-0.label "ไม่มี">
+<!ENTITY connectionSecurityType-1.label "STARTTLS หากพร้อมใช้งาน">
+<!ENTITY connectionSecurityType-2.label "STARTTLS">
+<!ENTITY connectionSecurityType-3.label "SSL/TLS">
+<!ENTITY authMethod.label "วิธีการรับรองความถูกต้อง:">
+<!ENTITY authMethod.accesskey "ว">
+<!ENTITY leaveOnServer.label "ฝากข้อความไว้บนเซิร์ฟเวอร์">
+<!ENTITY leaveOnServer.accesskey "ฝ">
+<!ENTITY headersOnly.label "ดึงข้อมูลเฉพาะบริเวณส่วนหัวเท่านั้น">
+<!ENTITY headersOnly.accesskey "ด">
+<!ENTITY deleteByAgeFromServer.label "มากที่สุด">
+<!ENTITY deleteByAgeFromServer.accesskey "ม">
+<!ENTITY daysEnd.label "วัน">
+<!ENTITY deleteOnServer2.label "จนกว่าฉันจะลบ">
+<!ENTITY deleteOnServer2.accesskey "ล">
+<!ENTITY downloadOnBiff.label "ดาวน์โหลดข้อความใหม่โดยอัตโนมัติ">
+<!ENTITY downloadOnBiff.accesskey "า">
+<!ENTITY deleteMessagePrefix.label "เมื่อฉันลบข้อความ:">
+<!ENTITY modelMoveToTrash.label "ให้ย้ายมาไว้ที่โฟลเดอร์นี้:">
+<!ENTITY modelMoveToTrash.accesskey "ย">
+<!ENTITY modelMarkDeleted.label "ให้เพียงแค่ทำเครื่องหมายว่าลบแล้ว">
+<!ENTITY modelMarkDeleted.accesskey "พ">
+<!ENTITY modelDeleteImmediately.label "ให้ลบออกทันที">
+<!ENTITY modelDeleteImmediately.accesskey "บ">
+<!-- LOCALIZATION NOTE (expungeOnExit.label) : do not translate two of "&quot;" in below line -->
+<!ENTITY expungeOnExit.label "ล้างข้อมูลในกล่องจดหมายเมื่อออก">
+<!ENTITY expungeOnExit.accesskey "ง">
+<!ENTITY emptyTrashOnExit.label "ล้างข้อมูลในถังขยะเมื่อออก">
+<!ENTITY emptyTrashOnExit.accesskey "ใ">
+<!ENTITY loginAtStartup.label "ตรวจหาข้อความใหม่เมื่อเปิดโปรแกรม">
+<!ENTITY loginAtStartup.accesskey "ต">
+<!-- LOCALIZATION NOTE (maxMessagesStart.label) : translate below 2 lines with grammar dependency
+ maxMessengerStart.label will be followed by maxMessagesEnd.label with the number
+ of messages between them
+-->
+<!ENTITY maxMessagesStart.label "ถามฉันก่อนดาวน์โหลดมากกว่า">
+<!ENTITY maxMessagesStart.accesskey "ถ">
+<!-- LOCALIZATION NOTE (maxMessagesEnd.label) : see note for maxMessagesStart.label -->
+<!ENTITY maxMessagesEnd.label "ข้อความ">
+<!ENTITY alwaysAuthenticate.label "ขอการรับรองความถูกต้องเมื่อเชื่อมต่อมายังเซิร์ฟเวอร์นี้เสมอ">
+<!ENTITY alwaysAuthenticate.accesskey "ข">
+<!ENTITY newsrcFilePath1.label "ไฟล์ News.rc:">
+<!ENTITY newsrcPicker1.label "เลือกไฟล์ News.rc">
+<!ENTITY abbreviate.label "แสดงชื่อกลุ่มข่าวสารในบานหน้าต่างโฟลเดอร์จดหมายเป็น:">
+<!ENTITY abbreviateOn.label "ชื่อเต็ม (ตัวอย่างเช่น 'netscape.public.mozilla.mail-news')">
+<!ENTITY abbreviateOff.label "ชื่อย่อ (ตัวอย่างเช่น 'n.p.m.mail-news')">
+<!ENTITY advancedButton.label "ขั้นสูง…">
+<!ENTITY advancedButton.accesskey "ส">
+<!ENTITY serverDefaultCharset2.label "รหัสอักขระเริ่มต้น:">
+<!ENTITY localPath1.label "ไดเรกทอรีในเครื่อง:">
+<!ENTITY localFolderPicker.label "เลือกไดเรกทอรีในเครื่อง">
+<!ENTITY browseFolder.label "เรียกดู…">
+<!ENTITY browseFolder.accesskey "ร">
+<!ENTITY browseNewsrc.label "เรียกดู…">
+<!ENTITY browseNewsrc.accesskey "ย">
+
+<!ENTITY accountTitle.label "การตั้งค่าบัญชี">
+<!ENTITY accountSettingsDesc.label "บัญชีต่อไปนี้เป็นบัญชีพิเศษ ซึ่งไม่ได้เชื่อมโยงกับข้อมูลประจำตัวใด ๆ">
+<!ENTITY storeType.label "ประเภทการเก็บข้อความ:">
+<!ENTITY storeType.accesskey "ป">
+<!ENTITY mboxStore2.label "ไฟล์ต่อโฟลเดอร์ (mbox)">
+<!ENTITY maildirStore.label "ไฟล์ต่อข้อความ (maildir)">
diff --git a/l10n-th/mail/chrome/messenger/am-serverwithnoidentities.dtd b/l10n-th/mail/chrome/messenger/am-serverwithnoidentities.dtd
new file mode 100644
index 0000000000..fc52521ebc
--- /dev/null
+++ b/l10n-th/mail/chrome/messenger/am-serverwithnoidentities.dtd
@@ -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/. -->
+
+<!ENTITY accountName.label "ชื่อบัญชี:">
+<!ENTITY accountName.accesskey "ช">
diff --git a/l10n-th/mail/chrome/messenger/am-smime.dtd b/l10n-th/mail/chrome/messenger/am-smime.dtd
new file mode 100644
index 0000000000..6c3175478c
--- /dev/null
+++ b/l10n-th/mail/chrome/messenger/am-smime.dtd
@@ -0,0 +1,55 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!ENTITY e2eTitle.label "การเข้ารหัสแบบครอบคลุม">
+<!ENTITY e2eLearnMore.label "เรียนรู้เพิ่มเติม">
+
+<!ENTITY e2eEnc.description "หากไม่มีการเข้ารหัสแบบครอบคลุม เนื้อหาของข้อความต่าง ๆ จะถูกเปิดเผยต่อผู้ให้บริการอีเมลของคุณและผู้สอดแนมสาธารณะจำนวนมากอย่างง่ายดาย">
+<!ENTITY e2eeReqWarning.description "หากคุณจำเป็นต้องใช้การเข้ารหัส เมื่อต้องการส่งข้อความ คุณต้องมีคีย์สาธารณะหรือใบรับรองของผู้รับทุกคน">
+
+<!ENTITY e2eSigning.description "ลายเซ็นดิจิทัลช่วยให้ผู้รับสามารถตรวจสอบความถูกต้องของข้อความที่ส่งจากคุณ และเนื้อหาดังกล่าวไม่มีการเปลี่ยนแปลงใด">
+<!ENTITY e2eTechPref.description "เทคโนโลยีการเข้ารหัสที่ต้องการ:">
+
+<!ENTITY doNotEncrypt.label "ไม่ต้องเปิดใช้งานการเข้ารหัสตามค่าเริ่มต้น">
+<!ENTITY doNotEncrypt.accesskey "ม">
+<!ENTITY requireEncryptMessage.label "จำเป็นต้องมีการเข้ารหัสตามค่าเริ่มต้น">
+<!ENTITY requireEncryptMessage.accesskey "จ">
+<!ENTITY encryptionCert2.message "ใบรับรองส่วนตัวสำหรับการเข้ารหัส:">
+<!ENTITY digitalSign.certificate.button "เลือก…">
+<!ENTITY digitalSign.certificate.accesskey "ล">
+<!ENTITY digitalSign.certificate_clear.button "ล้าง">
+<!ENTITY digitalSign.certificate_clear.accesskey "ง">
+<!ENTITY encryption.certificate.button "เลือก…">
+<!ENTITY encryption.certificate.accesskey "เ">
+<!ENTITY encryption.certificate_clear.button "ล้าง">
+<!ENTITY encryption.certificate_clear.accesskey "า">
+<!ENTITY signingGroupTitle.label "ลายเซ็นดิจิทัล">
+<!ENTITY signMessage2.label "เพิ่มลายเซ็นดิจิทัลของฉันตามค่าเริ่มต้น">
+<!ENTITY signMessage.accesskey "ซ">
+
+<!ENTITY signingCert2.message "ใบรับรองส่วนตัวสำหรับการลงลายเซ็นแบบดิจิทัล:">
+
+<!ENTITY sendingDefaults.label "การตั้งค่าเริ่มต้นสำหรับการส่งข้อความ">
+
+<!ENTITY technologyAutomatic.label "เลือกตามคีย์หรือใบรับรองที่ใช้ได้โดยอัตโนมัติ">
+
+<!ENTITY certificates2.label "S/MIME">
+<!ENTITY manageCerts3.label "จัดการใบรับรอง S/MIME">
+<!ENTITY manageCerts3.accesskey "M">
+<!ENTITY manageDevices2.label "อุปกรณ์ความปลอดภัย S/MIME">
+<!ENTITY manageDevices2.accesskey "ภ">
+
+<!ENTITY technologySMIME.label "ต้องการ S/MIME">
+<!ENTITY technologyOpenPGP.label "ต้องการ OpenPGP">
+
+<!ENTITY openpgpKeys.label "OpenPGP">
+
+<!-- Strings for the cert picker dialog -->
+<!ENTITY certPicker.title "เลือกใบรับรอง">
+<!ENTITY certPicker.info "ใบรับรอง:">
+<!ENTITY certPicker.detailsLabel "รายละเอียดของใบรับรองที่เลือก:">
+
+<!ENTITY openpgpKey.message "คีย์ส่วนตัวสำหรับการเข้ารหัสและการลงลายเซ็นดิจิทัล:">
+<!ENTITY openpgpKey.button "ตั้งค่าคีย์ส่วนตัว…">
+<!ENTITY openpgpKey.accesskey "ว">
diff --git a/l10n-th/mail/chrome/messenger/am-smime.properties b/l10n-th/mail/chrome/messenger/am-smime.properties
new file mode 100644
index 0000000000..de5d3960b4
--- /dev/null
+++ b/l10n-th/mail/chrome/messenger/am-smime.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/.
+
+## S/MIME error strings.
+## Note to localization: %S is a placeholder
+NoSenderSigningCert=คุณระบุว่าข้อความนี้ควรถูกลงลายเซ็นแบบดิจิทัล แต่แอปพลิเคชันไม่สามารถค้นหาใบรับรองการลงลายเซ็นที่ระบุในการตั้งค่าบัญชีจดหมายและกลุ่มข่าวของคุณ หรือใบรับรองหมดอายุแล้ว
+NoSenderEncryptionCert=คุณระบุการเข้ารหัสสำหรับข้อความนี้ แต่แอปพลิเคชันไม่สามารถค้นหาใบรับรองการเข้ารหัสที่ระบุในการตั้งค่าบัญชีจดหมายและกลุ่มข่าวของคุณ หรือใบรับรองหมดอายุแล้ว
+MissingRecipientEncryptionCert=คุณระบุการเข้ารหัสสำหรับข้อความนี้ แต่แอปพลิเคชันไม่สามารถค้นหาใบรับรองการเข้ารหัสสำหรับ %S
+ErrorEncryptMail=ไม่สามารถเข้ารหัสข้อความได้ โปรดตรวจสอบว่าคุณมีใบรับรองอีเมลที่ถูกต้องสำหรับผู้รับแต่ละคน โปรดตรวจสอบว่าใบรับรองที่ระบุใน การตั้งค่าบัญชีจดหมายและกลุ่มข่าว สำหรับบัญชีอีเมลนี้ถูกต้องและเชื่อถือได้สำหรับจดหมาย
+ErrorCanNotSignMail=ไม่สามารถลงลายเซ็นข้อความได้ โปรดตรวจสอบว่าคุณมีใบรับรองอีเมลที่ถูกต้องสำหรับผู้รับแต่ละคน โปรดตรวจสอบว่าใบรับรองที่ระบุใน การตั้งค่าบัญชีจดหมายและกลุ่มข่าว สำหรับบัญชีอีเมลนี้ถูกต้องและเชื่อถือได้สำหรับจดหมาย
+
+NoSigningCert=ตัวจัดการใบรับรองไม่สามารถระบุตำแหน่งของใบรับรองที่ถูกต้องที่สามารถใช้ในการลงลายเซ็นข้อความของคุณแบบดิจิทัล
+NoSigningCertForThisAddress=ตัวจัดการใบรับรองไม่สามารถระบุตำแหน่งของใบรับรองที่ถูกต้องที่สามารถใช้ในการลงลายเซ็นข้อความของคุณแบบดิจิทัลด้วยที่อยู่ <%S>
+NoEncryptionCert=ตัวจัดการใบรับรองไม่สามารถระบุตำแหน่งของใบรับรองที่ถูกต้องที่ผู้อื่นสามารถใช้ส่งข้อความอีเมลที่เข้ารหัสแล้วถึงคุณ
+NoEncryptionCertForThisAddress=ตัวจัดการใบรับรองไม่สามารถระบุตำแหน่งของใบรับรองที่ถูกต้องที่ผู้อื่นสามารถใช้ส่งข้อความอีเมลที่เข้ารหัสแล้วถึงคุณไปยังที่อยู่ <%S>
+
+encryption_needCertWantSame=คุณควรระบุใบรับรองเพื่อให้ผู้อื่นใช้เมื่อพวกเขาส่งข้อความที่เข้ารหัสให้คุณ คุณต้องการใช้ใบรับรองเดียวกันนี้เพื่อเข้ารหัสและถอดรหัสข้อความที่ส่งถึงคุณหรือไม่?
+encryption_wantSame=คุณต้องการใช้ใบรับรองเดียวกันนี้เพื่อเข้ารหัสและถอดรหัสข้อความที่ส่งถึงคุณหรือไม่?
+encryption_needCertWantToSelect=คุณควรระบุใบรับรองเพื่อให้ผู้อื่นใช้เมื่อพวกเขาส่งข้อความที่เข้ารหัสให้คุณ คุณต้องการกำหนดค่าใบรับรองการเข้ารหัสหรือไม่?
+signing_needCertWantSame=คุณควรระบุใบรับรองเพื่อใช้ในการลงลายเซ็นข้อความของคุณแบบดิจิทัล คุณต้องการใช้ใบรับรองเดียวกันนี้เพื่อลงลายเซ็นข้อความของคุณแบบดิจิทัลหรือไม่?
+signing_wantSame=คุณต้องการใช้ใบรับรองเดียวกันนี้เพื่อลงลายเซ็นข้อความของคุณแบบดิจิทัลหรือไม่?
+signing_needCertWantToSelect=คุณควรระบุใบรับรองเพื่อใช้ในการลงลายเซ็นข้อความของคุณแบบดิจิทัล คุณต้องการกำหนดค่าใบรับรองสำหรับลงลายเซ็นข้อความแบบดิจิทัลตอนนี้เลยหรือไม่?
+
+## Strings used by nsMsgComposeSecure
+mime_smimeEncryptedContentDesc=ข้อความที่ถูกเข้ารหัสแบบ S/MIME
+mime_smimeSignatureContentDesc=ลายเซ็นการเข้ารหัสลับแบบ S/MIME
+
+## Strings used by the cert picker.
+CertInfoIssuedFor=ออกให้:
+CertInfoIssuedBy=ออกโดย:
+CertInfoValid=ใช้ได้
+CertInfoFrom=จาก
+CertInfoTo=ถึง
+CertInfoPurposes=จุดประสงค์
+CertInfoEmail=อีเมล
+CertInfoStoredIn=ถูกจัดเก็บใน:
+NicknameExpired=(หมดอายุ)
+NicknameNotYetValid=(ยังใช้ไม่ได้)
diff --git a/l10n-th/mail/chrome/messenger/app-extension-fields.properties b/l10n-th/mail/chrome/messenger/app-extension-fields.properties
new file mode 100644
index 0000000000..b5cd6afa5f
--- /dev/null
+++ b/l10n-th/mail/chrome/messenger/app-extension-fields.properties
@@ -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/.
+
+# LOCALIZATION NOTE (extension.thunderbird-compact-light@mozilla.org.name): This is displayed in about:addons -> Appearance
+extension.thunderbird-compact-light@mozilla.org.name=สว่าง
+extension.thunderbird-compact-light@mozilla.org.description=ชุดตกแต่งที่มีแบบแผนชุดสีสว่าง
+
+# LOCALIZATION NOTE (extension.thunderbird-compact-dark@mozilla.org.name): This is displayed in about:addons -> Appearance
+extension.thunderbird-compact-dark@mozilla.org.name=มืด
+extension.thunderbird-compact-dark@mozilla.org.description=ชุดตกแต่งที่มีแบบแผนชุดสีมืด
diff --git a/l10n-th/mail/chrome/messenger/appUpdate.properties b/l10n-th/mail/chrome/messenger/appUpdate.properties
new file mode 100644
index 0000000000..08c62c9752
--- /dev/null
+++ b/l10n-th/mail/chrome/messenger/appUpdate.properties
@@ -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/.
+
+# LOCALIZATION NOTE (updateAvailableTitle): %S will be replaced with brandShortName
+updateAvailableTitle=มีการอัปเดต %S ใหม่
+# LOCALIZATION NOTE (updateAvailableMessage): %S will be replaced with brandShortName
+updateAvailableMessage=อัปเดต %S ของคุณเพื่อความเร็วและความเป็นส่วนตัวล่าสุด
+updateAvailablePrimaryButtonLabel=ดาวน์โหลดการอัปเดต
+updateAvailablePrimaryButtonAccessKey=ด
+updateAvailableSecondaryButtonLabel=ไม่ใช่ตอนนี้
+updateAvailableSecondaryButtonAccessKey=ม
+
+# LOCALIZATION NOTE (updateManualTitle): %S will be replaced with brandShortName
+updateManualTitle=%S ไม่สามารถอัปเดตเป็นรุ่นล่าสุด
+# LOCALIZATION NOTE (updateManualMessage): %S will be replaced with brandShortName
+updateManualMessage=ดาวน์โหลดสำเนาใหม่ของ %S และเราจะช่วยคุณติดตั้ง
+# LOCALIZATION NOTE (updateManualPrimaryButtonLabel): %S will be replaced with brandShortName
+updateManualPrimaryButtonLabel=ดาวน์โหลด %S
+updateManualPrimaryButtonAccessKey=ด
+updateManualSecondaryButtonLabel=ไม่ใช่ตอนนี้
+updateManualSecondaryButtonAccessKey=ม
+
+# LOCALIZATION NOTE (updateUnsupportedTitle): %S will be replaced with brandShortName
+updateUnsupportedTitle=%S ไม่สามารถอัปเดตเป็นรุ่นล่าสุด
+# LOCALIZATION NOTE (updateUnsupportedMessage): %S will be replaced with brandShortName
+updateUnsupportedMessage=ระบบของคุณไม่รองรับ %S รุ่นล่าสุด
+updateUnsupportedPrimaryButtonLabel=เรียนรู้เพิ่มเติม
+updateUnsupportedPrimaryButtonAccessKey=ร
+updateUnsupportedSecondaryButtonLabel=ปิด
+updateUnsupportedSecondaryButtonAccessKey=ป
+
+# LOCALIZATION NOTE (updateRestartTitle): %S will be replaced with brandShortName
+updateRestartTitle=เริ่มการทำงานใหม่เพื่ออัปเดต %S
+# LOCALIZATION NOTE (updateRestartMessage): %S will be replaced with brandShortName
+updateRestartMessage=หลังจากเริ่มการทำงานใหม่อย่างรวดเร็ว %S จะเรียกคืนแท็บและหน้าต่างที่เปิดอยู่ทั้งหมดของคุณ
+updateRestartPrimaryButtonLabel=เริ่มการทำงานใหม่
+updateRestartPrimaryButtonAccessKey=ร
+updateRestartSecondaryButtonLabel=ไม่ใช่ตอนนี้
+updateRestartSecondaryButtonAccessKey=ม
diff --git a/l10n-th/mail/chrome/messenger/appleMailImportMsgs.properties b/l10n-th/mail/chrome/messenger/appleMailImportMsgs.properties
new file mode 100644
index 0000000000..f2f9867536
--- /dev/null
+++ b/l10n-th/mail/chrome/messenger/appleMailImportMsgs.properties
@@ -0,0 +1,20 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# Short name of import module
+ApplemailImportName=Apple Mail
+
+# Description of import module
+ApplemailImportDescription=นำเข้าจดหมายภายในเครื่องจาก Mac OS X Mail
+
+# Success Message
+# LOCALIZATION NOTE(ApplemailImportMailboxSuccess): Do not translate the word "%S" below.
+ApplemailImportMailboxSuccess=นำเข้าข้อความภายในเครื่องจาก %S สำเร็จแล้ว
+
+# Error Message
+ApplemailImportMailboxBadparam=เกิดข้อผิดพลาดภายใน การนำเข้าล้มเหลว ลองนำเข้าอีกครั้ง
+
+# Error message
+# LOCALIZATION NOTE(ApplemailImportMailboxConverterror): Do not translate the word "%S" below.
+ApplemailImportMailboxConverterror=เกิดข้อผิดพลาดขณะนำเข้าข้อความจาก %S ข้อความจะไม่ถูกนำเข้า
diff --git a/l10n-th/mail/chrome/messenger/baseMenuOverlay.dtd b/l10n-th/mail/chrome/messenger/baseMenuOverlay.dtd
new file mode 100644
index 0000000000..b170b69664
--- /dev/null
+++ b/l10n-th/mail/chrome/messenger/baseMenuOverlay.dtd
@@ -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/. -->
+
+<!-- Help Menu -->
+<!ENTITY helpMenu.label "ช่วยเหลือ">
+<!ENTITY helpMenu.accesskey "ช">
+<!-- LOCALIZATION NOTE some localizations of Windows use "?"
+ for the help button in the menubar but Gnome does not. -->
+<!ENTITY helpMenuWin.label "ช่วยเหลือ">
+<!ENTITY helpMenuWin.accesskey "ช">
+<!ENTITY aboutProduct2.label "เกี่ยวกับ &brandShorterName;">
+<!ENTITY aboutProduct2.accesskey "ก">
+<!ENTITY helpTroubleshootingInfo.label "ข้อมูลการแก้ไขปัญหา">
+<!ENTITY helpTroubleshootingInfo.accesskey "ข">
+<!ENTITY helpSafeMode.label "เริ่มการทำงานใหม่พร้อมปิดใช้งานส่วนเสริม…">
+<!ENTITY helpSafeMode.accesskey "ร">
+
+<!ENTITY helpSafeMode.stop.label "เริ่มการทำงานใหม่พร้อมเปิดใช้งานส่วนเสริม">
+<!ENTITY helpSafeMode.stop.accesskey "ร">
+<!ENTITY productHelp.label "ความช่วยเหลือของ &brandShortName;">
+<!ENTITY productHelp.accesskey "ค">
+<!ENTITY productHelp.commandkey "VK_F1">
+<!ENTITY productHelpMac.commandkey "?">
+<!ENTITY productHelpMac.modifiers "accel">
+
+<!ENTITY helpKeyboardShortcuts.label "แป้นพิมพ์ลัด">
+<!ENTITY helpKeyboardShortcuts.accesskey "ป">
+
+<!ENTITY helpFeedbackPage.label "ส่งข้อคิดเห็น…">
+<!ENTITY helpFeedbackPage.accesskey "ส">
+
+<!ENTITY helpShowTour2.label "การเที่ยวชม &brandShorterName;">
+<!ENTITY helpShowTour2.accesskey "ร">
+
+<!ENTITY helpGetInvolvedPage.label "มีส่วนร่วม">
+<!ENTITY helpGetInvolvedPage.accesskey "ม">
+
+<!ENTITY helpDonationsPage.label "ทำการบริจาค">
+<!ENTITY helpDonationsPage.accesskey "ท">
diff --git a/l10n-th/mail/chrome/messenger/beckyImportMsgs.properties b/l10n-th/mail/chrome/messenger/beckyImportMsgs.properties
new file mode 100644
index 0000000000..5d63d7d2c1
--- /dev/null
+++ b/l10n-th/mail/chrome/messenger/beckyImportMsgs.properties
@@ -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/.
+#
+# The following are used by the becky import code to display status/error
+# and informational messages
+
+# Short name of import module
+BeckyImportName=Becky! Internet Mail
+
+# Description of import module
+BeckyImportDescription=นำเข้าจดหมายภายในเครื่องจาก Becky! Internet Mail
+
+# Success Message
+# LOCALIZATION NOTE : Do not translate the word "%S" below.
+# The variable %S will contain the name of the Mailbox
+BeckyImportMailboxSuccess=นำเข้าข้อความภายในเครื่องจาก %S สำเร็จแล้ว
+
+BeckyImportAddressSuccess=นำเข้าสมุดรายชื่อแล้ว
diff --git a/l10n-th/mail/chrome/messenger/charsetTitles.properties b/l10n-th/mail/chrome/messenger/charsetTitles.properties
new file mode 100644
index 0000000000..bf6d63780d
--- /dev/null
+++ b/l10n-th/mail/chrome/messenger/charsetTitles.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/.
+
+## Rule of this file:
+## 1. key should always be in lower case ascii so we can do case insensitive
+## comparison in the code faster.
+
+## Format of this file:
+## charset_name.title = a_title - specifies the human readable title for
+## this charset
+
+iso-8859-1.title = ตะวันตก (ISO-8859-1)
+iso-8859-2.title = ยุโรปกลาง (ISO-8859-2)
+iso-8859-3.title = ยุโรปใต้ (ISO-8859-3)
+iso-8859-4.title = บอลติก (ISO-8859-4)
+iso-8859-10.title = นอร์ดิก (ISO-8859-10)
+iso-8859-13.title = บอลติก (ISO-8859-13)
+iso-8859-14.title = เคลติก (ISO-8859-14)
+iso-8859-15.title = ตะวันตก (ISO-8859-15)
+iso-8859-16.title = โรมาเนีย (ISO-8859-16)
+windows-1250.title = ยุโรปกลาง (Windows-1250)
+windows-1252.title = ตะวันตก (Windows-1252)
+windows-1254.title = ตุรกี (Windows-1254)
+windows-1257.title = บอลติก (Windows-1257)
+macintosh.title = ตะวันตก (MacRoman)
+x-mac-ce.title = ยุโรปกลาง (MacCE)
+x-mac-turkish.title = ตุรกี (MacTurkish)
+x-mac-croatian.title = โครเอเชีย (MacCroatian)
+x-mac-romanian.title = โรมาเนีย (MacRomanian)
+x-mac-icelandic.title = ไอซ์แลนด์ (MacIcelandic)
+iso-2022-jp.title = ญี่ปุ่น (ISO-2022-JP)
+shift_jis.title = ญี่ปุ่น (Shift_JIS)
+euc-jp.title = ญี่ปุ่น (EUC-JP)
+big5.title = จีนตัวเต็ม (Big5)
+big5-hkscs.title = จีนตัวเต็ม (Big5-HKSCS)
+gb2312.title = จีนตัวย่อ (GB2312)
+gbk.title = จีนตัวย่อ (GBK)
+euc-kr.title = เกาหลี (EUC-KR)
+utf-7.title = Unicode (UTF-7)
+utf-8.title = Unicode (UTF-8)
+utf-16.title = Unicode (UTF-16)
+utf-16le.title = Unicode (UTF-16LE)
+utf-16be.title = Unicode (UTF-16BE)
+iso-8859-5.title = ซีริลลิก (ISO-8859-5)
+windows-1251.title = ซีริลลิก (Windows-1251)
+x-mac-cyrillic.title = ซีริลลิก (MacCyrillic)
+x-mac-ukrainian.title = ซีริลลิก/ยูเครน (MacUkrainian)
+koi8-r.title = ซีริลลิก (KOI8-R)
+koi8-u.title = ซีริลลิก/ยูเครน (KOI8-U)
+iso-8859-7.title = กรีก (ISO-8859-7)
+windows-1253.title = กรีก (Windows-1253)
+x-mac-greek.title = กรีก (MacGreek)
+windows-1258.title = เวียตนาม (Windows-1258)
+windows-874.title = ไทย (Windows-874)
+iso-8859-6.title = อาหรับ (ISO-8859-6)
+iso-8859-8.title = ฮีบรู Visual (ISO-8859-8)
+iso-8859-8-i.title = ฮีบรู (ISO-8859-8-I)
+windows-1255.title = ฮีบรู (Windows-1255)
+windows-1256.title = อาหรับ (Windows-1256)
+x-user-defined.title = ที่ผู้ใช้กำหนด
+ibm866.title = ซีริลลิก/รัสเซีย (CP-866)
+gb18030.title = จีนตัวย่อ (GB18030)
+x-mac-arabic.title = อาหรับ (MacArabic)
+x-mac-farsi.title = ฟาร์ซี (MacFarsi)
+x-mac-hebrew.title = ฮีบรู (MacHebrew)
+x-mac-devanagari.title = ฮินดี (MacDevanagari)
+x-mac-gujarati.title = คุชราต (MacGujarati)
+x-mac-gurmukhi.title = คุรมุขี (MacGurmukhi)
+
+chardet.off.title = (ปิด)
+chardet.universal_charset_detector.title = สากล
+chardet.ja_parallel_state_machine.title = ญี่ปุ่น
+chardet.ko_parallel_state_machine.title = เกาหลี
+chardet.zhtw_parallel_state_machine.title = จีนตัวเต็ม
+chardet.zhcn_parallel_state_machine.title = จีนตัวย่อ
+chardet.zh_parallel_state_machine.title = จีน
+chardet.cjk_parallel_state_machine.title = เอเชียตะวันออก
+chardet.ruprob.title = รัสเซีย
+chardet.ukprob.title = ยูเครน
diff --git a/l10n-th/mail/chrome/messenger/chat.dtd b/l10n-th/mail/chrome/messenger/chat.dtd
new file mode 100644
index 0000000000..4f43fccc4f
--- /dev/null
+++ b/l10n-th/mail/chrome/messenger/chat.dtd
@@ -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/. -->
+
+<!ENTITY onlineContactsHeader.label "ผู้ติดต่อออนไลน์">
+<!ENTITY offlineContactsHeader.label "ผู้ติดต่อออฟไลน์">
+<!ENTITY conversationsHeader.label "การสนทนา">
+<!ENTITY searchResultConversation.label "ผลการค้นหา">
+<!ENTITY chat.noConv.title "การสนทนาจะแสดงที่นี่">
+<!ENTITY chat.noConv.description "เลือกผู้ติดต่อจากรายชื่อที่อยู่ในแผงด้านซ้ายเพื่อเริ่มการสนทนา">
+<!ENTITY chat.noPreviousConv.description "ขณะนี้ &brandShortName; ไม่มีการสนทนาก่อนหน้าใด ๆ ที่เก็บไว้สำหรับผู้ติดต่อนี้">
+<!ENTITY chat.noAccount.title "คุณยังไม่ได้ตั้งค่าบัญชีแชท">
+<!ENTITY chat.noAccount.description "ให้ &brandShortName; แนะนำคุณผ่านกระบวนการตั้งค่าบัญชีแชทของคุณ">
+<!ENTITY chat.accountWizard.button "เริ่มต้นใช้งาน">
+<!ENTITY chat.noConnectedAccount.title "บัญชีแชทของคุณไม่ได้ถูกเชื่อมต่อ">
+<!ENTITY chat.noConnectedAccount.description "คุณสามารถเชื่อมต่อบัญชีแชทได้จากกล่องโต้ตอบ 'สถานะการแชท':">
+<!ENTITY chat.showAccountManager.button "แสดงสถานะการแชท">
+
+<!ENTITY chat.participants "ผู้เข้าร่วม:">
+<!ENTITY chat.previousConversations "การสนทนาก่อนหน้า:">
+<!ENTITY chat.ongoingConversation "การสนทนาที่กำลังดำเนินอยู่">
+
+<!ENTITY openConversationCmd.label "เริ่มการสนทนา">
+<!ENTITY openConversationCmd.accesskey "ร">
+<!ENTITY closeConversationCmd.label "ปิดการสนทนา">
+<!ENTITY closeConversationCmd.accesskey "ป">
+<!ENTITY aliasCmd.label "เปลี่ยนชื่อ">
+<!ENTITY aliasCmd.accesskey "ป">
+<!ENTITY deleteCmd.label "เอาผู้ติดต่อออก">
+<!ENTITY deleteCmd.accesskey "อ">
+
+<!ENTITY openConversationButton.tooltip "เริ่มการสนทนา">
+<!ENTITY closeConversationButton.tooltip "ปิดการสนทนา">
+
+<!ENTITY addBuddyButton.label "เพิ่มผู้ติดต่อ">
+<!ENTITY joinChatButton.label "เข้าร่วมแชท">
+<!ENTITY chatAccountsButton.label "แสดงบัญชี">
+
+<!ENTITY status.available "พร้อมใช้งาน">
+<!ENTITY status.unavailable "ไม่พร้อมใช้งาน">
+<!ENTITY status.offline "ออฟไลน์">
+
+<!ENTITY openLinkCmd.label "เปิดลิงก์…">
+<!ENTITY openLinkCmd.accesskey "ป">
diff --git a/l10n-th/mail/chrome/messenger/chat.properties b/l10n-th/mail/chrome/messenger/chat.properties
new file mode 100644
index 0000000000..e390ce0df7
--- /dev/null
+++ b/l10n-th/mail/chrome/messenger/chat.properties
@@ -0,0 +1,99 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+chatTabTitle=แชท
+goBackToCurrentConversation.button=กลับไปที่การสนทนาปัจจุบัน
+# LOCALIZATION NOTE (startAConversationWith.button):
+# %S is replaced with the display name of a contact.
+startAConversationWith.button=เริ่มการสนทนากับ %S
+
+# LOCALIZATION NOTE (defaultGroup):
+# this is used in the addBuddies dialog if the list of existing groups is empty
+defaultGroup=ผู้ติดต่อ
+
+# LOCALIZATION NOTE (buddy.authRequest.label):
+# This string appears in a notification bar at the
+# top of the Contacts window when someone added the user to his/her
+# contact list, to request the permission from the user to share
+# status information with this potential new contact.
+# %S is replaced with the user name of the potential new contact.
+buddy.authRequest.label=%S ต้องการแชทกับคุณ
+buddy.authRequest.allow.label=อนุญาต
+buddy.authRequest.allow.accesskey=อ
+buddy.authRequest.deny.label=ปฏิเสธ
+buddy.authRequest.deny.accesskey=ป
+
+# LOCALIZATION NOTE (buddy.deletePrompt.title):
+# %S here will be replaced by the alias (or username) of a buddy about
+# to be removed from the buddy list.
+buddy.deletePrompt.title=ลบ %S?
+
+# LOCALIZATION NOTE (buddy.deletePrompt.message):
+# %1$S will be replaced by the name of a buddy (either the alias
+# followed by the username between parenthesis if an alias is set, or
+# only the username otherwise).
+# %2$S will be the name of the protocol on which this buddy is removed
+# (for example: AIM, MSN, Google Talk).
+#
+# Please find a wording that will keep the username as close as
+# possible to the beginning of the string, because this is the
+# important information that an user should see when looking quickly
+# at this prompt.
+buddy.deletePrompt.message=%1$S จะถูกเอาออกจากรายชื่อคู่หู %2$S ของคุณอย่างถาวรหากคุณดำเนินการต่อ
+
+# LOCALIZATION NOTE (buddy.deletePrompt.displayName):
+# This is used to format the display name inserted in buddy.deletePrompt.message
+# %1$S is the alias, %2$S is the username.
+buddy.deletePrompt.displayName=%1$S (%2$S)
+
+# LOCALIZATION NOTE (buddy.deletePrompt.button):
+# the & symbol indicates the position of the character that should be
+# used as the accesskey for this button.
+buddy.deletePrompt.button=&ลบ
+
+displayNameEmptyText=ชื่อที่แสดงผล
+userIconFilePickerTitle=เลือกไอคอนใหม่…
+
+# LOCALIZATION NOTE (chat.isTyping, chat.hasStoppedTyping):
+# The contact display name is displayed with a big font on a first
+# line and these two strings are displayed on a second line with a
+# smaller font. Please try to find a wording that make this look
+# almost like a sentence.
+chat.isTyping=กำลังพิมพ์…
+chat.hasStoppedTyping=ได้หยุดพิมพ์
+# LOCALIZATION NOTE (chat.contactIsTyping, chat.contactHasStoppedTyping):
+# These strings are displayed in a tooltip when hovering the status type icon.
+# %S is replaced with the display name of the contact.
+chat.contactIsTyping=%S กำลังพิมพ์
+chat.contactHasStoppedTyping=%S ได้หยุดพิมพ์
+
+# LOCALIZATION NOTE (unknownCommand):
+# This is shown when an unknown command (/foo) is attempted. %S is the command.
+unknownCommand=%S ไม่ใช่คำสั่งที่รองรับ พิมพ์ /help เพื่อดูรายการคำสั่ง
+
+#LOCALIZATION NOTE
+# These are special entries in the log tree for the corresponding days.
+log.today=วันนี้
+log.yesterday=เมื่อวานนี้
+
+#LOCALIZATION NOTE
+# These are special groups in the log tree for the last 3-7 days and
+# the last 8-14 days.
+log.currentWeek=สัปดาห์นี้
+log.previousWeek=สัปดาห์ที่แล้ว
+
+# LOCALIZATION NOTE (messagePreview):
+# This is the default message preview to be shown
+# when the user has chosen not to show any info in the notification about the
+# incoming message being notified.
+messagePreview=ข้อความแชทใหม่
+
+#LOCALIZATION NOTE (bundledMessagePreview): Semi-colon list of plural forms.
+# Used when multiple incoming messages from the same sender are bundled
+# into a single notification.
+# #1 is the number of incoming messages the user is being notified about. When #1
+# is greater than one, the plural form after the semicolon is used.
+# Do not translate %1$S, it is the message preview to be shown in the
+# notification, i.e. the first incoming message.
+bundledMessagePreview=%1$S… (และ #1 ข้อความเพิ่มเติม)
diff --git a/l10n-th/mail/chrome/messenger/configEditorOverlay.dtd b/l10n-th/mail/chrome/messenger/configEditorOverlay.dtd
new file mode 100644
index 0000000000..3d78799d68
--- /dev/null
+++ b/l10n-th/mail/chrome/messenger/configEditorOverlay.dtd
@@ -0,0 +1,5 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!ENTITY closeCmd.key "W">
diff --git a/l10n-th/mail/chrome/messenger/converterDialog.dtd b/l10n-th/mail/chrome/messenger/converterDialog.dtd
new file mode 100644
index 0000000000..d7ab3d6eff
--- /dev/null
+++ b/l10n-th/mail/chrome/messenger/converterDialog.dtd
@@ -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/. -->
+
+<!ENTITY converterDialog.title "ตัวแปลงชนิดการเก็บข้อความ">
+<!ENTITY converterDialog.continueButton "ดำเนินการต่อ">
+<!ENTITY converterDialog.cancelButton "ยกเลิก">
+<!ENTITY converterDialog.finishButton "เสร็จสิ้น">
+<!ENTITY converterDialog.complete "การแปลงเสร็จสมบูรณ์ &brandShortName; จะเริ่มการทำงานใหม่">
+<!ENTITY converterDialog.error "การแปลงล้มเหลว">
+
diff --git a/l10n-th/mail/chrome/messenger/converterDialog.properties b/l10n-th/mail/chrome/messenger/converterDialog.properties
new file mode 100644
index 0000000000..1a205c3089
--- /dev/null
+++ b/l10n-th/mail/chrome/messenger/converterDialog.properties
@@ -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/.
+
+# LOCALIZATION NOTE (converterDialog.warning):
+# %1$S will be replaced by the name of the account which is going to be converted.
+# %2$S will be replaced by the format into which the account will be converted.
+# %3$S will be replaced by $BrandShortName.
+converterDialog.warning=ข้อความในบัญชี %1$S จะถูกแปลงเป็นรูปแบบ %2$S %3$S จะเริ่มการทำงานใหม่หลังจากที่การแปลงเสร็จสมบูรณ์
+
+# LOCALIZATION NOTE (converterDialog.message):
+# %1$S will be replaced by the name of the account which is being converted.
+# %2$S will be replaced by the format into which the account will be converted.
+converterDialog.message=กำลังแปลงบัญชี %1$S เป็น %2$S…
+
+# LOCALIZATION NOTE (converterDialog.warningForDeferredAccount):
+# %1$S will be replaced by the name of the deferred account for which migration is initiated by the user.
+# %2$S will be replaced by the name of the account to which the deferred account is deferred ie the name of the deferred-to account.
+# %3$S will be replaced by the name of the deferred-to account.
+# %4$S will be replaced by a comma separated list of names of accounts which are deferred to the deferred-to account.
+# %5$S will be replaced by a comma separated list of names of accounts which are going to get converted.
+# %6$S will be replaced by the format into which the accounts will be converted.
+# %7$S will be replaced by $BrandShortName.
+converterDialog.warningForDeferredAccount=%1$S ถูกเลื่อนไปยัง %2$S บัญชีถูกเลื่อนไปยัง %3$S: %4$S ข้อความในบัญชี %5$S จะถูกแปลงเป็นรูปแบบ %6$S %7$S จะเริ่มการทำงานใหม่หลังจากที่การแปลงเสร็จสมบูรณ์
+
+# LOCALIZATION NOTE (converterDialog.warningForDeferredToAccount):
+# %1$S will be replaced by the name of the deferred-to account for which migration is initiated by the user and to which other accounts are deferred.
+# %2$S will be replaced by a comma separated list of names of accounts which are deferred to the deferred-to account.
+# %3$S will be replaced by a comma separated list of names of accounts which are going to get converted.
+# %4$S will be replaced by the format into which the accounts will be converted.
+# %5$S will be replaced by $BrandShortName.
+converterDialog.warningForDeferredToAccount=บัญชีถูกเลื่อนไปยัง %1$S: %2$S ข้อความในบัญชี %3$S จะถูกแปลงเป็นรูปแบบ %4$S %5$S จะเริ่มการทำงานใหม่หลังจากที่การแปลงเสร็จสมบูรณ์
+
+# LOCALIZATION NOTE (converterDialog.messageForDeferredAccount):
+# %1$S will be replaced by a comma separated list of names of accounts which are being converted.
+# %2$S will be replaced by the format into which the accounts will be converted.
+converterDialog.messageForDeferredAccount=กำลังแปลงบัญชี %1$S เป็น %2$S…
+
+# LOCALIZATION NOTE (converterDialog.percentDone):
+# %1$S will be replaced by the percentage of conversion that is complete.
+converterDialog.percentDone=เสร็จสมบูรณ์ %1$S%%
diff --git a/l10n-th/mail/chrome/messenger/custom.properties b/l10n-th/mail/chrome/messenger/custom.properties
new file mode 100644
index 0000000000..ae02167308
--- /dev/null
+++ b/l10n-th/mail/chrome/messenger/custom.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/.
+
+colonInHeaderName=ส่วนหัวที่คุณป้อนมีอักขระที่ไม่ถูกต้อง เช่น '.', อักขระที่พิมพ์ไม่ได้, อักขระที่ไม่ใช่ ASCII, หรืออักขระ ASCII 8 บิต โปรดเอาอักขระที่ไม่ถูกต้องออกและลองอีกครั้ง
diff --git a/l10n-th/mail/chrome/messenger/customizeToolbar.dtd b/l10n-th/mail/chrome/messenger/customizeToolbar.dtd
new file mode 100644
index 0000000000..0a3a0ef2e1
--- /dev/null
+++ b/l10n-th/mail/chrome/messenger/customizeToolbar.dtd
@@ -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/. -->
+
+<!ENTITY dialog.title "ปรับแต่งแถบเครื่องมือ">
+<!ENTITY dialog.dimensions "width: 92ch; height: 36em;">
+<!ENTITY instructions.description "เพิ่มหรือลบรายการได้ โดยลากเข้าหรือออกจากแถบเครื่องมือ">
+<!ENTITY show.label "แสดง:">
+<!ENTITY iconsAndText.label "ไอคอนและข้อความ">
+<!ENTITY icons.label "ไอคอน">
+<!ENTITY text.label "ข้อความ">
+<!ENTITY iconsBesideText.label "ไอคอนข้างข้อความ">
+<!ENTITY useSmallIcons.label "ใช้ไอคอนเล็ก">
+<!ENTITY restoreDefaultSet.label "เรียกคืนค่าเริ่มต้น">
+<!ENTITY showTitlebar2.label "แถบชื่อเรื่อง">
+<!ENTITY extraDragSpace2.label "พื้นที่ลาก">
+<!ENTITY saveChanges.label "เสร็จสิ้น">
+<!ENTITY undoChanges.label "เลิกทำการเปลี่ยนแปลง">
diff --git a/l10n-th/mail/chrome/messenger/customizeToolbar.properties b/l10n-th/mail/chrome/messenger/customizeToolbar.properties
new file mode 100644
index 0000000000..8d42e1d12e
--- /dev/null
+++ b/l10n-th/mail/chrome/messenger/customizeToolbar.properties
@@ -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/.
+
+enterToolbarTitle=แถบเครื่องมือใหม่
+enterToolbarName=ป้อนชื่อสำหรับแถบเครื่องมือนี้:
+enterToolbarDup=มีแถบเครื่องมือที่ใช้ชื่อ “%S” อยู่ก่อนแล้ว โปรดป้อนชื่ออื่น
+enterToolbarBlank=คุณต้องป้อนชื่อเพื่อสร้างแถบเครื่องมือใหม่
+separatorTitle=ตัวแบ่ง
+springTitle=ช่องว่างแบบยืดหยุ่น
+spacerTitle=ช่องว่าง
diff --git a/l10n-th/mail/chrome/messenger/devtools/dbgserver.dtd b/l10n-th/mail/chrome/messenger/devtools/dbgserver.dtd
new file mode 100644
index 0000000000..efdb8c35e3
--- /dev/null
+++ b/l10n-th/mail/chrome/messenger/devtools/dbgserver.dtd
@@ -0,0 +1,4 @@
+<!ENTITY options.title "ตัวเลือกเครื่องมือนักพัฒนา">
+<!ENTITY options.status.label "สถานะ:">
+<!ENTITY options.port.label "พอร์ต:">
+<!ENTITY options.forcelocal.label "อนุญาตการเชื่อมต่อจากคอมพิวเตอร์เครื่องอื่น ๆ">
diff --git a/l10n-th/mail/chrome/messenger/devtools/dbgserver.properties b/l10n-th/mail/chrome/messenger/devtools/dbgserver.properties
new file mode 100644
index 0000000000..db00d6f1fa
--- /dev/null
+++ b/l10n-th/mail/chrome/messenger/devtools/dbgserver.properties
@@ -0,0 +1,11 @@
+options.stop.label=หยุดเซิร์ฟเวอร์เครื่องมือนักพัฒนา
+options.start.label=เริ่มเซิร์ฟเวอร์เครื่องมือนักพัฒนา
+
+options.connected.label=เชื่อมต่อ #1 ไคลเอนต์แล้ว
+options.connected.tooltip=เซิร์ฟเวอร์เครื่องมือนักพัฒนากำลังทำงานและมีไคลเอ็นต์เชื่อมต่ออยู่
+options.listening.label=กำลังฟัง
+options.listening.tooltip=เซิร์ฟเวอร์เครื่องมือนักพัฒนากำลังทำงานและกำลังรอการเชื่อมต่อ
+options.idle.label=ไม่ได้ทำงานอยู่
+options.idle.tooltip=เซิร์ฟเวอร์เครื่องมือนักพัฒนาไม่ได้ทำงานอยู่ คุณสามารถเริ่มการทำงานได้จากกล่องโต้ตอบนี้
+options.unsupported.label=ไม่รองรับ
+options.unsupported.tooltip=มีข้อผิดพลาดในการโหลดเซิร์ฟเวอร์เครื่องมือนักพัฒนาในตัว ตรวจสอบให้แน่ใจว่าถูกสร้างเป็นแพกเกจแล้วและตรวจสอบข้อความที่อยู่ในคอนโซลข้อผิดพลาด
diff --git a/l10n-th/mail/chrome/messenger/downloadheaders.dtd b/l10n-th/mail/chrome/messenger/downloadheaders.dtd
new file mode 100644
index 0000000000..8b668ec79e
--- /dev/null
+++ b/l10n-th/mail/chrome/messenger/downloadheaders.dtd
@@ -0,0 +1,20 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!ENTITY all.label "ดาวน์โหลดส่วนหัวทั้งหมด">
+<!ENTITY all.accesskey "ด">
+<!--LOCALIZATION NOTE (download.label):
+ consider the download.label and headers.label as a single sentence
+ with the number of headers to be downloaded inserted between them:
+ EXAMPLE: "Download" <some number> "headers"
+ Either label could be set to null ("") if required grammatically.
+-->
+
+<!ENTITY download.label "ดาวน์โหลด">
+<!ENTITY download.accesskey "ว">
+<!--LOCALIZATION NOTE (headers.label): see note for download.label -->
+<!ENTITY headers.label "ส่วนหัว">
+<!ENTITY headers.accesskey "ส">
+<!ENTITY mark.label "ทำเครื่องหมายส่วนหัวที่เหลือว่าอ่านแล้ว">
+<!ENTITY mark.accesskey "ท">
diff --git a/l10n-th/mail/chrome/messenger/editContactOverlay.dtd b/l10n-th/mail/chrome/messenger/editContactOverlay.dtd
new file mode 100644
index 0000000000..c9a4a3df94
--- /dev/null
+++ b/l10n-th/mail/chrome/messenger/editContactOverlay.dtd
@@ -0,0 +1,20 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!ENTITY editContactPanelDeleteContact.label "ลบ">
+<!ENTITY editContactPanelDeleteContact.accesskey "ล">
+
+<!ENTITY editContactName.label "ชื่อ:">
+<!ENTITY editContactName.accesskey "ช">
+
+<!ENTITY editContactEmail.label "อีเมล:">
+<!ENTITY editContactEmail.accesskey "อ">
+
+<!ENTITY editContactAddressBook.label "สมุดรายชื่อ:">
+<!ENTITY editContactAddressBook.accesskey "ส">
+
+<!ENTITY editContactPanelDone.label "เสร็จสิ้น">
+<!ENTITY editContactPanelDone.accesskey "ร">
+
+<!ENTITY contactMoveDisabledWarning.description "คุณไม่สามารถเปลี่ยนสมุดรายชื่อได้เนื่องจากผู้ติดต่ออยู่ในรายชื่อผู้รับจดหมาย">
diff --git a/l10n-th/mail/chrome/messenger/editContactOverlay.properties b/l10n-th/mail/chrome/messenger/editContactOverlay.properties
new file mode 100644
index 0000000000..913b4f0132
--- /dev/null
+++ b/l10n-th/mail/chrome/messenger/editContactOverlay.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/.
+
+editTitle=แก้ไขผู้ติดต่อ
+viewTitle=ดูผู้ติดต่อ
+
+editDetailsLabel=แก้ไขรายละเอียด
+editDetailsAccessKey=ก
+viewDetailsLabel=ดูรายละเอียด
+viewDetailsAccessKey=ด
+
+deleteContactTitle=ลบผู้ติดต่อ
+deleteContactMessage=คุณแน่ใจหรือไม่ว่าต้องการลบผู้ติดต่อนี้?
diff --git a/l10n-th/mail/chrome/messenger/fieldMapImport.dtd b/l10n-th/mail/chrome/messenger/fieldMapImport.dtd
new file mode 100644
index 0000000000..8128f90789
--- /dev/null
+++ b/l10n-th/mail/chrome/messenger/fieldMapImport.dtd
@@ -0,0 +1,20 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!ENTITY fieldMapImport.title "นำเข้าสมุดรายชื่อ">
+<!ENTITY fieldMapImport.size "width: 40em; height: 30em;">
+<!ENTITY fieldMapImport.recordNumber "ข้อมูลที่นำเข้าสำหรับอัดบันทึก: ">
+<!ENTITY fieldMapImport.next.label "ถัดไป">
+<!ENTITY fieldMapImport.next.accesskey "ถ">
+<!ENTITY fieldMapImport.previous.label "ก่อนหน้า">
+<!ENTITY fieldMapImport.previous.accesskey "ก">
+<!ENTITY fieldMapImport.text "กดปุ่ม ย้ายขึ้น และ ย้ายลง เพื่อจับคู่ช่องกรอกในสมุดรายชื่อที่อยู่ด้านซ้ายกับข้อมูลที่ถูกต้องสำหรับนำเข้าที่อยู่ด้านขวา ยกเลิกการกาเครื่องหมายรายการที่คุณไม่ต้องการนำเข้า">
+<!ENTITY fieldMapImport.up.label "ย้ายขึ้น">
+<!ENTITY fieldMapImport.up.accesskey "ย">
+<!ENTITY fieldMapImport.down.label "ย้ายลง">
+<!ENTITY fieldMapImport.down.accesskey "ล">
+<!ENTITY fieldMapImport.fieldListTitle "ช่องกรอกในสมุดรายชื่อ">
+<!ENTITY fieldMapImport.dataTitle "อัดบันทึกข้อมูลที่จะนำเข้า">
+<!ENTITY fieldMapImport.skipFirstRecord.label "เรกคอร์ดแรกประกอบด้วยชื่อช่องกรอก">
+<!ENTITY fieldMapImport.skipFirstRecord.accessKey "ร">
diff --git a/l10n-th/mail/chrome/messenger/filter.properties b/l10n-th/mail/chrome/messenger/filter.properties
new file mode 100644
index 0000000000..724fde21f1
--- /dev/null
+++ b/l10n-th/mail/chrome/messenger/filter.properties
@@ -0,0 +1,110 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+mustSelectFolder=คุณต้องเลือกโฟลเดอร์เป้าหมาย
+enterValidEmailAddress=ป้อนที่อยู่อีเมลที่ถูกต้องที่จะส่งต่อ
+pickTemplateToReplyWith=เลือกแม่แบบที่จะตอบกลับ
+mustEnterName=คุณต้องตั้งชื่อตัวกรองนี้
+cannotHaveDuplicateFilterTitle=ชื่อตัวกรองซ้ำกัน
+cannotHaveDuplicateFilterMessage=ชื่อตัวกรองที่คุณป้อนมีอยู่แล้ว โปรดป้อนชื่อตัวกรองอื่น
+mustHaveFilterTypeTitle=ไม่ได้เลือกเหตุการณ์ตัวกรอง
+mustHaveFilterTypeMessage=คุณต้องเลือกอย่างน้อยหนึ่งเหตุการณ์เมื่อใช้ตัวกรองนี้ หากคุณไม่ต้องการให้ตัวกรองทำงานในเหตุการณ์ใด ๆ ชั่วคราว ให้ยกเลิกการกาเครื่องหมายสถานะที่เปิดใช้งานจากกล่องโต้ตอบตัวกรองข้อความ
+deleteFilterConfirmation=คุณแน่ใจหรือไม่ว่าต้องการลบตัวกรองที่เลือก?
+untitledFilterName=ตัวกรองที่ไม่มีชื่อ
+matchAllFilterName=ตรงกับข้อความทั้งหมด
+filterListBackUpMsg=ตัวกรองของคุณไม่ทำงานเนื่องจากไฟล์ msgFilterRules.dat ซึ่งมีตัวกรองของคุณไม่สามารถอ่านได้ ไฟล์ msgFilterRules.dat ใหม่จะถูกสร้างขึ้นและข้อมูลสำรองของไฟล์เก่าที่เรียกว่า rulesbackup.dat จะถูกสร้างขึ้นในไดเรกทอรีเดียวกัน
+customHeaderOverflow=คุณมีส่วนหัวที่กำหนดเองเกินขีดจำกัดซึ่งกำหนดไว้ที่ 50 ส่วน โปรดเอาส่วนหัวที่กำหนดเองอย่างน้อยส่วนหนึ่งออกแล้วลองอีกครั้ง
+filterCustomHeaderOverflow=ตัวกรองของคุณมีส่วนหัวที่กำหนดเองเกินขีดจำกัดซึ่งกำหนดไว้ที่ 50 ส่วน โปรดแก้ไขไฟล์ msgFilterRules.dat ซึ่งมีตัวกรองของคุณให้ใช้ส่วนหัวที่กำหนดเองน้อยลง
+invalidCustomHeader=ตัวกรองตัวใดตัวหนึ่งของคุณใช้ส่วนหัวที่กำหนดเองที่มีอักขระที่ไม่ถูกต้อง เช่น ':', อักขระที่ไม่สามารถพิมพ์ได้, อักขระที่ไม่ใช่ ASCII, หรืออักขระ ASCII 8 บิต โปรดแก้ไขไฟล์ msgFilterRules.dat ซึ่งมีตัวกรองของคุณเพื่อเอาอักขระที่ไม่ถูกต้องออกจากส่วนหัวที่กำหนดเองของคุณ
+continueFilterExecution=การนำตัวกรอง %S ไปใช้ล้มเหลว คุณต้องการนำตัวกรองไปใช้ต่อไปหรือไม่?
+promptTitle=ตัวกรองที่กำลังทำงาน
+promptMsg=ขณะนี้คุณกำลังทำการกรองข้อความ\nคุณต้องการใช้ตัวกรองต่อไปหรือไม่?
+stopButtonLabel=หยุด
+continueButtonLabel=ดำเนินการต่อ
+# LOCALIZATION NOTE(cannotEnableIncompatFilter)
+# %S=the name of the application
+cannotEnableIncompatFilter=ตัวกรองนี้เป็นไปได้ว่าได้รับการสร้างโดยรุ่นที่ใหม่กว่าหรือรุ่นที่ไม่รองรับของ %S คุณไม่สามารถเปิดใช้งานตัวกรองนี้ได้ เพราะเราไม่รู้วิธีการใช้งานของมัน
+dontWarnAboutDeleteCheckbox=ไม่ต้องถามฉันอีก
+# LOCALIZATION NOTE(copyToNewFilterName)
+# %S=the name of the filter that is being copied
+copyToNewFilterName=สำเนาของ %S
+# LOCALIZATION NOTE(contextPeriodic.label): Semi-colon list of plural forms.
+# #1=the number of minutes
+contextPeriodic.label=เป็นระยะทุกๆ นาที; เป็นระยะทุกๆ #1 นาที
+
+# LOCALIZATION NOTE(filterFailureWarningPrefix)
+# %1$S=filter error action
+# %2$S=error code as hexadecimal string.
+filterFailureWarningPrefix=การกระทำตัวกรองล้มเหลว: "%1$S" ด้วยรหัสผิดพลาด=%2$S ขณะพยายาม:
+filterFailureSendingReplyError=เกิดข้อผิดพลาดในการส่งการตอบกลับ
+filterFailureSendingReplyAborted=การส่งการตอบกลับถูกยกเลิก
+filterFailureMoveFailed=การย้ายล้มเหลว
+filterFailureCopyFailed=การคัดลอกล้มเหลว
+
+filterFailureAction=เกิดความล้มเหลวในขณะที่กำลังนำการกระทำของตัวกรองไปใช้
+
+searchTermsInvalidTitle=คำค้นหาไม่ถูกต้อง
+# LOCALIZATION NOTE(searchTermsInvalidRule)
+# %1$S=search attribute name from the invalid rule
+# %2$S=search operator from the bad rule
+searchTermsInvalidRule=ไม่สามารถบันทึกตัวกรองนี้ได้เนื่องจากคำค้นหา "%1$S %2$S" ไม่ถูกต้องในบริบทปัจจุบัน
+# LOCALIZATION NOTE(filterActionOrderExplanation)
+# Keep the \n\n that mean 2 linebreaks.
+filterActionOrderExplanation=เมื่อมีข้อความที่ตรงกับตัวกรองนี้ จะเรียกใช้การกระทำตามลำดับนี้:\n\n
+filterActionOrderTitle=ลำดับการกระทำจริง
+## LOCALIZATION NOTE(filterActionItem):
+# %1$S=sequence number of the action, %2$S=action text, %3$S=action argument
+filterActionItem=%1$S. %2$S %3$S\n
+
+## LOCALIZATION NOTE(filterCountVisibleOfTotal):
+# %1$S=number of matching filters, %2$S=total number of filters
+filterCountVisibleOfTotal=%1$S จาก %2$S
+## LOCALIZATION NOTE(filterCountItems):
+## Semicolon-separated list of singular and plural forms.
+## See: https://developer.mozilla.org/en/docs/Localization_and_Plurals
+## #1 is the count of items in the list.
+filterCountItems=#1 รายการ
+# for junk mail logging / mail filter logging
+# LOCALIZATION NOTE(junkLogDetectStr)
+# %1$S=author, %2$S=subject, %3$S=date
+junkLogDetectStr=ตรวจพบข้อความขยะจาก %1$S - %2$S เมื่อ %3$S
+# LOCALIZATION NOTE(logMoveStr)
+# %1$S=message id, %2$S=folder URI
+logMoveStr=ย้าย id ข้อความแล้ว = %1$S ไปยัง %2$S
+# LOCALIZATION NOTE(logCopyStr)
+# %1$S=message id, %2$S=folder URI
+logCopyStr=คัดลอก id ข้อความแล้ว = %1$S ไปยัง %2$S
+# LOCALIZATION NOTE(filterLogLine):
+# %1$S=timestamp, %2$S=log message
+filterLogLine=[%1$S] %2$S
+# LOCALIZATION NOTE(filterMessage):
+# %1$S=filter name, %1$S=log message
+filterMessage=ข้อความจากตัวกรอง "%1$S": %2$S
+# LOCALIZATION NOTE(filterLogDetectStr)
+# %1$S=filter name %2$S=author, %3$S=subject, %4$S=date
+filterLogDetectStr=นำตัวกรอง "%1$S" ไปใช้กับข้อความจาก %2$S - %3$S เมื่อ %4$S แล้ว
+filterMissingCustomAction=การกระทำที่กำหนดเองขาดหายไป
+filterAction2=เปลี่ยนแปลงลำดับความสำคัญแล้ว
+filterAction3=ลบแล้ว
+filterAction4=ทำเครื่องหมายว่าอ่านแล้ว
+filterAction5=ทำลายเธรดแล้ว
+filterAction6=เฝ้าดูเธรดแล้ว
+filterAction7=ติดดาวแล้ว
+filterAction8=ติดป้ายกำกับแล้ว
+filterAction9=ตอบกลับแล้ว
+filterAction10=ส่งต่อแล้ว
+filterAction11=หยุดการดำเนินการแล้ว
+filterAction12=ลบจากเซิร์ฟเวอร์ POP3 แล้ว
+filterAction13=เหลืออยู่บนเซิร์ฟเวอร์ POP3
+filterAction14=คะแนนจดหมายขยะ
+filterAction15=ดึงเนื้อความจากเซิร์ฟเวอร์ POP3 แล้ว
+filterAction16=คัดลอกไปยังโฟลเดอร์แล้ว
+filterAction17=ติดแท็กแล้ว
+filterAction18=เพิกเฉยเธรดย่อยแล้ว
+filterAction19=ทำเครื่องหมายว่ายังไม่ได้อ่าน
+# LOCALIZATION NOTE(filterAutoNameStr)
+# %1$S=Header or item to match, e.g. "From", "Tag", "Age in days", etc.
+# %2$S=Operator, e.g. "Contains", "is", "is greater than", etc.
+# %3$S=Value, e.g. "Steve Jobs", "Important", "42", etc.
+filterAutoNameStr=%1$S %2$S: %3$S
diff --git a/l10n-th/mail/chrome/messenger/folderProps.dtd b/l10n-th/mail/chrome/messenger/folderProps.dtd
new file mode 100644
index 0000000000..8f8848843b
--- /dev/null
+++ b/l10n-th/mail/chrome/messenger/folderProps.dtd
@@ -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/. -->
+
+<!ENTITY folderProps.windowtitle.label "คุณสมบัติ">
+
+<!ENTITY generalInfo.label "ข้อมูลทั่วไป">
+<!ENTITY folderCharsetFallback2.label "รหัสอักขระตัวทางเลือก:">
+<!ENTITY folderCharsetFallback2.accesskey "ร">
+<!ENTITY folderCharsetEnforce2.label "ใช้รหัสอักขระกับข้อความทั้งหมดในโฟลเดอร์ (แต่ละการตั้งค่ารหัสอักขระเนื้อหาข้อความและการตรวจจับอัตโนมัติจะถูกเพิกเฉย)">
+<!ENTITY folderCharsetEnforce2.accesskey "ช">
+<!ENTITY folderRebuildSummaryFileTip2.label "สร้างดัชนีไฟล์ข้อมูลสรุปใหม่">
+<!ENTITY folderRebuildSummaryFile2.label "ซ่อมแซมโฟลเดอร์">
+<!ENTITY folderRebuildSummaryFile2.accesskey "ซ">
+<!ENTITY folderRebuildSummaryFile.explanation "บางครั้งไฟล์ดัชนีโฟลเดอร์ (.msf) อาจเสียหาย ส่งผลให้ข้อความอาจหายไปหรือข้อความที่ถูกลบแสดงขึ้น การซ่อมแซมโฟลเดอร์อาจซ่อมแซมปัญหาเหล่านี้ได้">
+<!ENTITY folderIncludeInGlobalSearch.label "รวมข้อความในโฟลเดอร์นี้ในผลการค้นหาส่วนกลาง">
+<!ENTITY folderIncludeInGlobalSearch.accesskey "ว">
+
+<!ENTITY retention.label "นโยบายการเก็บข้อมูล">
+<!ENTITY retentionUseAccount.label "ใช้การตั้งค่าบัญชีของฉัน">
+<!ENTITY retentionUseAccount.accesskey "ใ">
+<!ENTITY daysOld.label "วัน">
+<!ENTITY message.label "ข้อความ">
+<!ENTITY retentionCleanup.label "เพื่อกู้คืนเนื้อที่ดิสก์ สามารถลบข้อความเก่าอย่างถาวรได้">
+<!ENTITY retentionCleanupImap.label "เพื่อกู้คืนเนื้อที่ดิสก์ สามารถลบข้อความเก่าอย่างถาวรได้ทั้งสำเนาภายในและต้นฉบับที่อยู่บนเซิร์ฟเวอร์ระยะไกล">
+<!ENTITY retentionCleanupPop.label "เพื่อกู้คืนเนื้อที่ดิสก์ สามารถลบข้อความเก่าอย่างถาวรได้รวมถึงต้นฉบับที่อยู่บนเซิร์ฟเวอร์ระยะไกล">
+<!ENTITY retentionDeleteMsg.label "ลบข้อความที่เก่ากว่า">
+<!ENTITY retentionDeleteMsg.accesskey "ล">
+<!ENTITY retentionKeepAll.label "ไม่ต้องลบข้อความใด ๆ">
+<!ENTITY retentionKeepAll.accesskey "ม">
+<!ENTITY retentionKeepRecent.label "ลบทั้งหมดยกเว้นรายการล่าสุด">
+<!ENTITY retentionKeepRecent.accesskey "บ">
+<!ENTITY retentionApplyToFlagged.label "เก็บข้อความที่ติดดาวไว้เสมอ">
+<!ENTITY retentionApplyToFlagged.accesskey "ก">
+
+<!ENTITY folderSynchronizationTab.label "การประสานข้อมูล">
+<!ENTITY folderCheckForNewMessages2.label "เมื่อได้รับข้อความใหม่สำหรับบัญชีนี้ ให้ตรวจสอบโฟลเดอร์นี้เสมอ">
+<!ENTITY folderCheckForNewMessages2.accesskey "เ">
+
+<!ENTITY offlineFolder.check.label "เลือกโฟลเดอร์นี้สำหรับการใช้งานออฟไลน์">
+<!ENTITY offlineFolder.check.accesskey "โ">
+<!ENTITY offlineFolder.button.label "ดาวน์โหลดเดี๋ยวนี้">
+<!ENTITY offlineFolder.button.accesskey "ด">
+
+<!ENTITY selectofflineNewsgroup.check.label "เลือกกลุ่มข่าวนี้สำหรับการใช้งานออฟไลน์">
+<!ENTITY selectofflineNewsgroup.check.accesskey "ข">
+<!ENTITY offlineNewsgroup.button.label "ดาวน์โหลดเดี๋ยวนี้">
+<!ENTITY offlineNewsgroup.button.accesskey "ด">
+
+<!ENTITY folderProps.name.label "ชื่อ:">
+<!ENTITY folderProps.name.accesskey "ช">
+<!ENTITY folderProps.color.label "สีไอคอน:">
+<!ENTITY folderProps.color.accesskey "อ">
+<!ENTITY folderProps.reset.tooltip "เรียกคืนสีเริ่มต้น">
+<!ENTITY folderProps.location.label "ตำแหน่งที่ตั้ง:">
+<!ENTITY folderProps.location.accesskey "ต">
+
+<!ENTITY folderSharingTab.label "การแบ่งปัน">
+<!ENTITY privileges.button.label "สิทธิ์…">
+<!ENTITY privileges.button.accesskey "ส">
+<!ENTITY permissionsDesc.label "คุณมีสิทธิอนุญาตดังต่อไปนี้:">
+<!ENTITY folderOtherUsers.label "คนอื่น ๆ ที่มีสิทธิ์เข้าถึงโฟลเดอร์นี้:">
+<!ENTITY folderType.label "ชนิดโฟลเดอร์:">
+
+<!ENTITY folderQuotaTab.label "โควตา">
+<!ENTITY folderQuotaUsage.label "การใช้งาน:">
+<!ENTITY folderQuotaStatus.label "สถานะ:">
+
+<!ENTITY numberOfMessages.label "จำนวนข้อความ:">
+<!-- LOCALIZATION NOTE: When the number of messages can't be determined, this string is displayed as the number -->
+<!ENTITY numberUnknown.label "ไม่ทราบ">
+<!ENTITY sizeOnDisk.label "ขนาดบนดิสก์:">
+<!-- LOCALIZATION NOTE: When the size can't be determined, this string is displayed as the size -->
+<!ENTITY sizeUnknown.label "ไม่ทราบ">
diff --git a/l10n-th/mail/chrome/messenger/folderWidgets.properties b/l10n-th/mail/chrome/messenger/folderWidgets.properties
new file mode 100644
index 0000000000..81a1bf413a
--- /dev/null
+++ b/l10n-th/mail/chrome/messenger/folderWidgets.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(globalInbox)
+# %S=name of the Local folders account
+globalInbox=กล่องขาเข้าส่วนกลาง (%S)
+# LOCALIZATION NOTE(verboseFolderFormat): %1$S is folder name, %2$S is server name
+verboseFolderFormat=%1$S บน %2$S
+chooseFolder=เลือกโฟลเดอร์…
+chooseAccount=เลือกบัญชี…
+noFolders=ไม่มีโฟลเดอร์
diff --git a/l10n-th/mail/chrome/messenger/folderpane.dtd b/l10n-th/mail/chrome/messenger/folderpane.dtd
new file mode 100644
index 0000000000..ee05c2eebc
--- /dev/null
+++ b/l10n-th/mail/chrome/messenger/folderpane.dtd
@@ -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/. -->
+<!ENTITY nameColumn.label "ชื่อ">
+<!ENTITY unreadColumn.label "ยังไม่ได้อ่าน">
+<!ENTITY totalColumn.label "รวมทั้งหมด">
+<!ENTITY folderSizeColumn.label "ขนาด">
diff --git a/l10n-th/mail/chrome/messenger/gloda.properties b/l10n-th/mail/chrome/messenger/gloda.properties
new file mode 100644
index 0000000000..d3ebb16bdf
--- /dev/null
+++ b/l10n-th/mail/chrome/messenger/gloda.properties
@@ -0,0 +1,161 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.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 (*.facetNameLabel): These are the labels used to label the facet
+# displays in the global search facet display mechanism. They should be
+# compact descriptions of the facet type (e.g. "Folder", and don't need to
+# refer to the objects being faceted (e.g. "Message" or "Mail").
+
+# LOCALIZATION NOTE (*.includeLabel): The label to use for the included group
+# in the facet display. If not provided, we will fall back to
+# "glodaFacetView.facets.included.fallbackLabel".
+
+# LOCALIZATION NOTE (*.excludeLabel): The label to use for the excluded group
+# in the facet display. If not provided, we will fall back to
+# "glodaFacetView.facets.excluded.fallbackLabel".
+
+# LOCALIZATION NOTE (*.remainderLabel): The label to use for the remaining items
+# that are neither part of the included group or the excluded group in the
+# facet display. If not provided, we will fall back to
+# "glodaFacetView.facets.remainder.fallbackLabel".
+
+# LOCALIZATION NOTE (*.mustMatchLabel): The label to use for the popup menu
+# to indicate that the results should be restricted to messages which match
+# a particular value. If not provided, we will fall back to
+# "glodaFacetView.facets.mustMatch.fallbackLabel". #1, if present, is
+# replaced by the value of the facet (name, folder, mailing list, etc.)
+
+# LOCALIZATION NOTE (*.cantMatchLabel): The label to use for the popup menu
+# to indicate that the results should be restricted to messages which match
+# a particular value. If not provided, we will fall back to
+# "glodaFacetView.facets.cantMatch.fallbackLabel". #1, if present, is
+# replaced by the value of the facet (name, folder, mailing list, etc.)
+
+# LOCALIZATION NOTE (*.mayMatchLabel): The label to use for the popup menu
+# to indicate that the results should no longer be restricted relative to
+# this particular facet value. If not provided, we will fall back to
+# "glodaFacetView.facets.mayMatch.fallbackLabel". #1, if present, is
+# replaced by the value of the facet (name, folder, mailing list, etc.)
+
+# LOCALIZATION NOTE (*.mustMatchSomeLabel): The label to use for the popup menu
+# to indicate that the results should be restricted to messages which have
+# _some_ value (e.g. at least one tag is set). If not provided, we will fall
+# back to "glodaFacetView.facets.mustMatchSome.fallbackLabel". #1, if present,
+# is replaced by the value of the facet (name, folder, mailing list, etc.)
+
+# LOCALIZATION NOTE (*.mustMatchNoneLabel): The label to use for the popup menu
+# to indicate that the results should be restricted to messages which have _no_
+# value (e.g. no tags are set). If not provided, we will fall back to
+# "glodaFacetView.facets.mustMatchNoneLabel.fallbackLabel". #1, if present, is
+# replaced by the value of the facet (name, folder, mailing list, etc.)
+
+# LOCALIZATION NOTE (*.mayMatchAnyLabel): The label to use for the popup menu
+# to indicate that the results should not be restricted to messages which have
+# any or no value (e.g. no requirements on any tags are set). If not provided,
+# we will fall back to "glodaFacetView.facets.mayMatchAnyLabel.fallbackLabel".
+# #1, if present, is replaced by the value of the facet (name, folder, mailing
+# list, etc.)
+
+# LOCALIZATION NOTE (gloda.message.attr.account.*): Stores the account in which
+# a message's folder is located.
+gloda.message.attr.account.facetNameLabel=บัญชี
+gloda.message.attr.account.mustMatchLabel=ต้องอยู่ใน #1
+gloda.message.attr.account.cantMatchLabel=ต้องไม่อยู่ใน #1
+
+# LOCALIZATION NOTE (gloda.message.attr.folder.*): Stores the message folder in
+# which the message is stored.
+gloda.message.attr.folder.facetNameLabel=โฟลเดอร์
+gloda.message.attr.folder.mustMatchLabel=ต้องอยู่ใน #1
+gloda.message.attr.folder.cantMatchLabel=ต้องไม่อยู่ใน #1
+
+# LOCALIZATION NOTE (gloda.message.attr.fromMe.*): Stores everyone involved
+# with the message. This means from/to/cc/bcc.
+gloda.message.attr.fromMe.facetNameLabel=จากฉัน
+
+# LOCALIZATION NOTE (gloda.message.attr.toMe.*): Stores everyone involved
+# with the message. This means from/to/cc/bcc.
+gloda.message.attr.toMe.facetNameLabel=ถึงฉัน
+
+# LOCALIZATION NOTE (gloda.message.attr.involves.*): Stores everyone involved
+# with the message. This means from/to/cc/bcc.
+gloda.message.attr.involves.facetNameLabel=ผู้คน
+gloda.message.attr.involves.includeLabel=เกี่ยวข้องกับ:
+gloda.message.attr.involves.excludeLabel=ไม่เกี่ยวข้องกับ:
+gloda.message.attr.involves.remainderLabel=ผู้เข้าร่วมอื่น ๆ:
+gloda.message.attr.involves.mustMatchLabel=ต้องเกี่ยวข้องกับ #1
+gloda.message.attr.involves.cantMatchLabel=ต้องไม่เกี่ยวข้องกับ #1
+
+# LOCALIZATION NOTE (gloda.message.attr.date.*): Stores the date of the message.
+# Thunderbird normally stores the date the message claims it was composed
+# according to the "Date" header. This is not the same as when the message
+# was sent or when it was eventually received by the user. In the future we
+# may change this to be one of the other dates, but not anytime soon.
+gloda.message.attr.date.facetNameLabel=วันที่
+
+# LOCALIZATION NOTE (gloda.message.attr.attachmentTypes.*): Stores the list of
+# MIME types (ex: image/png, text/plain) of real attachments (not just part of
+# the message content but explicitly named attachments) on the message.
+# Although we hope to be able to provide localized human-readable explanations
+# of the MIME type (ex: "PowerPoint document"), I don't know if that is going
+# to happen.
+gloda.message.attr.attachmentTypes.facetNameLabel=ไฟล์แนบ
+
+# LOCALIZATION NOTE (gloda.message.attr.mailing-list.*): Stores the mailing
+# lists detected in the message. This will normally be the e-mail address of
+# the mailing list and only be detected in messages received from the mailing
+# list. Extensions may contribute additional detected mailing-list-like
+# things.
+gloda.message.attr.mailing-list.facetNameLabel=รายชื่อผู้รับจดหมาย
+gloda.message.attr.mailing-list.mustMatchLabel=ต้องอยู่ใน #1
+gloda.message.attr.mailing-list.cantMatchLabel=ต้องไม่อยู่ใน #1
+gloda.message.attr.mailing-list.mustMatchSomeLabel=ต้องอยู่ในรายชื่อผู้รับจดหมาย
+gloda.message.attr.mailing-list.mustMatchNoneLabel=ต้องไม่อยู่ในรายชื่อผู้รับจดหมาย
+
+# LOCALIZATION NOTE (gloda.message.attr.tag.*): Stores the tags applied to the
+# message. Notably, gmail's labels are not currently exposed via IMAP and we
+# do not do anything clever with gmail, so this is indepdendent of gmail
+# labels. This may change in the future, but it's a safe bet it's not
+# happening on Thunderbird's side prior to 3.0.
+gloda.message.attr.tag.facetNameLabel=ป้ายกำกับ
+gloda.message.attr.tag.mustMatchLabel=ต้องติดป้ายกำกับ #1
+gloda.message.attr.tag.cantMatchLabel=ต้องไม่ติดป้ายกำกับ #1
+gloda.message.attr.tag.mustMatchSomeLabel=ต้องติดป้ายกำกับ
+gloda.message.attr.tag.mustMatchNoneLabel=ต้องไม่ติดป้ายกำกับ
+
+# LOCALIZATION NOTE (gloda.message.attr.star.*): Stores whether the message is
+# starred or not, as indicated by a pretty star icon. In the past, the icon
+# used to be a flag. The IMAP terminology continues to be "flagged".
+gloda.message.attr.star.facetNameLabel=ติดดาวแล้ว
+
+# LOCALIZATION NOTE (gloda.message.attr.read.*): Stores whether the user has
+# read the message or not.
+gloda.message.attr.read.facetNameLabel=อ่านแล้ว
+
+# LOCALIZATION NOTE (gloda.message.attr.repliedTo.*): Stores whether we believe
+# the user has ever replied to the message. We normally show a little icon in
+# the thread pane when this is the case.
+gloda.message.attr.repliedTo.facetNameLabel=ตอบกลับแล้วถึง
+
+# LOCALIZATION NOTE (gloda.message.attr.forwarded.*): Stores whether we believe
+# the user has ever forwarded the message. We normally show a little icon in
+# the thread pane when this is the case.
+gloda.message.attr.forwarded.facetNameLabel=ส่งต่อแล้ว
+
+# LOCALIZATION NOTE (gloda.mimetype.category.*.label): Map categories of MIME
+# types defined in mimeTypeCategories.js to labels.
+# LOCALIZATION NOTE (gloda.mimetype.category.archives.label): Archive is
+# referring to things like zip files, tar files, tar.gz files, etc.
+gloda.mimetype.category.archives.label=การเก็บถาวร
+gloda.mimetype.category.documents.label=เอกสาร
+gloda.mimetype.category.images.label=ภาพ
+# LOCALIZATION NOTE (gloda.mimetype.category.media.label): Media is meant to
+# encompass both audio and video. This is because video and audio streams are
+# frequently stored in the same type of container and we cannot rely on the
+# sending e-mail client to have been clever enough to figure out what was
+# really in the file. So we group them together.
+gloda.mimetype.category.media.label=สื่อ (เสียง, วิดีโอ)
+gloda.mimetype.category.pdf.label=ไฟล์ PDF
+# LOCALIZATION NOTE (gloda.mimetype.category.other.label): Other is the category
+# for MIME types that we don't really know what it is.
+gloda.mimetype.category.other.label=อื่น ๆ
diff --git a/l10n-th/mail/chrome/messenger/glodaComplete.properties b/l10n-th/mail/chrome/messenger/glodaComplete.properties
new file mode 100644
index 0000000000..6de4e761fd
--- /dev/null
+++ b/l10n-th/mail/chrome/messenger/glodaComplete.properties
@@ -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/.
+
+# LOCALIZATION NOTE (glodaComplete.messagesTagged.label): The label used
+# in the autocomplete widget to refer to a query for all messages tagged
+# by a particular tag (replacing #1).
+glodaComplete.messagesTagged.label=ข้อความที่มีป้ายกำกับ: #1
+
+# LOCALIZATION NOTE (glodaComplete.messagesMentioning.label): The label used
+# in the autocomplete widget to refer to a search for all messages mentioning
+# a particular word (replacing #1).
+glodaComplete.messagesMentioning.label=ข้อความที่กล่าวถึง: #1
+
+# LOCALIZATION NOTE (glodaComplete.messagesWithMany.label): The label used
+# in the autocomplete widget to refer to a search for all messages mentioning
+# a set of words, or a phrase containing multiple words (e.g. "red pepper")
+# We use the same words in en-US, but maybe that's not always true.
+glodaComplete.messagesMentioningMany.label=ข้อความที่กล่าวถึง: #1
diff --git a/l10n-th/mail/chrome/messenger/glodaFacetView.dtd b/l10n-th/mail/chrome/messenger/glodaFacetView.dtd
new file mode 100644
index 0000000000..4c2828354a
--- /dev/null
+++ b/l10n-th/mail/chrome/messenger/glodaFacetView.dtd
@@ -0,0 +1,29 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!-- LOCALIZATION NOTE (glodaFacetView.filters.label): Label at the top of the
+ faceting sidebar. Serves as a header both for the checkboxes under it as
+ well for labeled facets with multiple options. -->
+<!ENTITY glodaFacetView.filters.label "ตัวกรอง">
+
+<!-- LOCALIZATION NOTE (glodaFacetView.loading.label): Label that appears when
+ the search results take a long time to appear. -->
+<!ENTITY glodaFacetView.loading.label "กำลังค้นหา&#8230;">
+
+<!-- LOCALIZATION NOTE (glodaFacetView.empty.label): Label that appears when
+ there are no results that match the search query. -->
+<!ENTITY glodaFacetView.empty.label "ไม่มีข้อความที่ตรงกับการค้นหาของคุณ">
+
+<!-- LOCALIZATION NOTE (glodaFacetView.pageMore.label): Label at the bottom
+ of the results list to show more hits. -->
+<!ENTITY glodaFacetView.pageMore.label "&#187; เพิ่มเติม">
+
+<!-- LOCALIZATION NOTE(glodaFacetView.results.message.openEmailAsList.label2): The
+ label for the button/link that causes us to display all of the emails in
+ the active set in a new thread pane display tab. -->
+<!ENTITY glodaFacetView.openEmailAsList.label "แสดงผลลัพธ์เป็นรายการ">
+
+<!-- LOCALIZATION NOTE(glodaFacetView.results.message.openEmailAsList.tooltip):
+ The tooltip to display when hovering over the openEmailAsList label. -->
+<!ENTITY glodaFacetView.openEmailAsList.tooltip "แสดงข้อความอีเมลที่เลือกทั้งหมดในแท็บใหม่">
diff --git a/l10n-th/mail/chrome/messenger/glodaFacetView.properties b/l10n-th/mail/chrome/messenger/glodaFacetView.properties
new file mode 100644
index 0000000000..9fc10f9382
--- /dev/null
+++ b/l10n-th/mail/chrome/messenger/glodaFacetView.properties
@@ -0,0 +1,171 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.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 (glodaFacetView.tab.query.label):
+# The tab title to display for tabs that are based on a gloda (global database)
+# query or collection rather than a user search. At some point we might try
+# and explain what the query/collection is in automatic fashion, but not today.
+glodaFacetView.tab.query.label=ค้นหา
+
+# LOCALIZATION NOTE (glodaFacetView.tab.search.label):
+# The tab title to display for tabs with a new gloda (global database)
+# user search (rather than a query or collection) without a search string.
+# After the search has been started, we just display the search string entered
+# by the user.
+glodaFacetView.tab.search.label=ค้นหา
+
+# LOCALIZATION NOTE(glodaFacetView.search.label2):
+# The heading for the search page.
+# A short description of user's search query will be appended.
+glodaFacetView.search.label2=ผลลัพธ์สำหรับ:
+
+# LOCALIZATION NOTE(glodaFacetView.constraints.query.fulltext.label):
+# The label to display to describe when our base query was a fulltext search
+# across messages. The value is displayed following the label.
+glodaFacetView.constraints.query.fulltext.label=กำลังค้นหา #1
+glodaFacetView.constraints.query.fulltext.andJoinWord=และ
+glodaFacetView.constraints.query.fulltext.orJoinWord=หรือ
+
+# LOCALIZATION NOTE(glodaFacetView.constraints.query.initial):
+# The label to display to describe when our base query is not a full-text
+# search. Additional labels are appended describing each constraint.
+glodaFacetView.constraints.query.initial=กำลังค้นหาข้อความ
+
+# LOCALIZATION NOTE(glodaFacetView.constraints.query.involves.label):
+# The label to display to describe when our base query was on messages
+# involving a given contact from the address book. The value is displayed
+# where the #1 is.
+glodaFacetView.constraints.query.involves.label=ที่เกี่ยวข้องกับ #1
+
+# LOCALIZATION NOTE(glodaFacetView.constraints.query.contact.label):
+# The label to display to describe when our base query was on messages
+# tagged with a specific tag. The tag is displayed following the label.
+glodaFacetView.constraints.query.tagged.label=ที่มีป้ายกำกับ:
+
+
+# LOCALIZATION NOTE (glodaFacetView.facets.mode.top.listAllLabel): The label to
+# use when we are only displaying the top entries for a facet. When the
+# label is clicked on, it results in us displaying all of the values for that
+# facet. The value "#1" (if present) is replaced with the total number of
+# values that will be displayed (rather than the number currently hidden).
+# This string supports pluralization. See
+# https://developer.mozilla.org/en/Localization_and_Plurals for details on
+# how this stuff works.
+glodaFacetView.facets.mode.top.listAllLabel=แสดงทั้งหมด #1 รายการ
+
+# LOCALIZATION NOTE (glodaFacetView.facets.included.fallbackLabel): The label to
+# use for groups in a facet that have been explicitly included by the user if
+# there is no explicit attribute "includeLabel" defined. (The explicit label
+# would be named "gloda.message.attr.ATTRIBUTE.includeLabel".)
+glodaFacetView.facets.included.fallbackLabel=รวมถึง:
+# LOCALIZATION NOTE (glodaFacetView.facets.excluded.fallbackLabel): The label to
+# use for groups in a facet that have been explicitly excluded by the user if
+# there is no explicit attribute "excludeLabel" defined. (The explicit label
+# would be named "gloda.message.attr.ATTRIBUTE.excludeLabel".)
+glodaFacetView.facets.excluded.fallbackLabel=ไม่รวม:
+# LOCALIZATION NOTE (glodaFacetView.facets.remainder.fallbackLabel): The label
+# to use for groups in a facet that are neither part of the included group or
+# the excluded group if there is no explicit attribute "remainderLabel"
+# defined. (The explicit label would be named
+# "gloda.message.attr.ATTRIBUTE.remainderLabel".)
+glodaFacetView.facets.remainder.fallbackLabel=อื่น ๆ:
+
+# LOCALIZATION NOTE (glodaFacetView.facets.mustMatchLabel.fallbackLabel): The label
+# to use to restrict a facet by a particular value if there is no explicit
+# attribute "mustMatchLabel" defined. (The explicit label would be named
+# "gloda.message.attr.ATTRIBUTE.mustMatchLabel".)
+glodaFacetView.facets.mustMatchLabel.fallbackLabel=ต้องตรงกับ #1
+glodaFacetView.facets.mustMatchNoneLabel.fallbackLabel=ห้ามมีค่า
+
+# LOCALIZATION NOTE (glodaFacetView.facets.cantMatchLabel.fallbackLabel): The label
+# to use to restrict a facet by the absence of a particular value if there is
+# no explicit attribute "cantMatchLabel" defined. (The explicit label would be
+# named "gloda.message.attr.ATTRIBUTE.cantMatchLabel".)
+glodaFacetView.facets.cantMatchLabel.fallbackLabel=ห้ามตรงกับ #1
+glodaFacetView.facets.mustMatchSomeLabel.fallbackLabel=ต้องมีค่า
+
+# LOCALIZATION NOTE (glodaFacetView.facets.mayMatchLabel.fallbackLabel): The label
+# to use to undo the restriction of a facet by a particular value if there is
+# no explicit attribute "mayMatchLabel" defined. (The explicit label would be
+# named "gloda.message.attr.ATTRIBUTE.mayMatchLabel".)
+glodaFacetView.facets.mayMatchLabel.fallbackLabel=เอาข้อจำกัดออก
+glodaFacetView.facets.mayMatchAnyLabel.fallbackLabel=เอาข้อจำกัดออก
+
+# LOCALIZATION NOTE (glodaFacetView.facets.noneLabel): The text to display when
+# a facet needs to indicate that an attribute omitted a value or was otherwise
+# empty.
+glodaFacetView.facets.noneLabel=ไม่มี
+
+# LOCALIZATION NOTE (glodaFacetView.facets.filter.attachmentTypes.allLabel):
+# The label to use when all types of attachments are being displayed.
+glodaFacetView.facets.filter.attachmentTypes.allLabel=ชนิดใด ๆ
+
+# LOCALIZATION NOTE (glodaFacetView.result.message.fromLabel): Used in the
+# faceted search message display to indicate the author of a message.
+# An example usage is "from: Bob".
+glodaFacetView.result.message.fromLabel=จาก:
+
+# LOCALIZATION NOTE (glodaFacetView.result.message.toLabel): Used in the
+# faceted search message display to indicate the recipients of a message.
+# An example usage is "to: Bob, Chuck, Don".
+glodaFacetView.result.message.toLabel=ถึง:
+
+# LOCALIZATION NOTE (glodaFacetView.result.message.noSubject): Used in the
+# faceted search message display to act as a click target for messages with
+# no subject.
+glodaFacetView.result.message.noSubject=(ไม่มีหัวเรื่อง)
+
+# LOCALIZATION NOTE(glodaFacetView.results.header.countLabel):
+# This label is displayed above the list of result messages; it tells the user
+# how many messages we are displaying in the list out of the total number of
+# messages in the active set (the set of messages remaining after the
+# application of the facet constraints.)
+# The goal of the various sub-parts here is to make a label along the lines of
+# "M of N". Because there are two numbers, this is split into two parts,
+# 'NMessages' for what in English is just the first number and 'ofN' for the
+# "of N" part. We then use 'grouping' to decide how to combine the two. This
+# was suggested by Rimas Kudelis.
+# LOCALIZATION NOTE(glodaFacetView.results.header.countLabel.NMessages):
+# The first part of the countLabel string (although you can change the order
+# in 'grouping'). This is pluralized using the mechanism described at
+# https://developer.mozilla.org/en/Localization_and_Plurals. We replace
+# "#1" with the number of messages being shown in the result list.
+glodaFacetView.results.header.countLabel.NMessages=#1
+# LOCALIZATION NOTE(glodaFacetView.results.header.countLabel.ofN):
+# The second part of the countLabel string (although you can change the order
+# in 'grouping'). This is pluralized using the mechanism described at
+# https://developer.mozilla.org/en/Localization_and_Plurals. We replace
+# "#1" with the total number of messagse in the active set.
+glodaFacetView.results.header.countLabel.ofN=จาก #1
+# LOCALIZATION NOTE(glodaFacetView.results.header.countLabel.grouping):
+# Combines the pluralized
+# "glodaFacetView.results.header.countLabel.NMessages" string (as #1) with
+# the pluralized "glodaFacetView.results.header.countLabel.ofN" (as #2)
+# to make a single label.
+glodaFacetView.results.header.countLabel.grouping=#1 #2
+
+glodaFacetView.results.message.timeline.label=เปิด/ปิดเส้นเวลา
+# LOCALIZATION NOTE(glodaFacetView.results.message.sort.relevance2):
+# a clickable label causing the sort to be done by most relevant messages first.
+glodaFacetView.results.message.sort.relevance2=เรียงตามความเกี่ยวข้อง
+# LOCALIZATION NOTE(glodaFacetView.results.message.sort.date2):
+# a clickable label causing the sort to be done by most recent messages first.
+glodaFacetView.results.message.sort.date2=เรียงตามวันที่
+
+# LOCALIZATION NOTE(glodaFacetView.results.message.recipientSeparator): This is
+# the string in between the names of recipients (see
+# glodaFacetView.results.message.andOthers for more information). The \u0020
+# character is a Unicode space character, which is needed as otherwise the
+# trailing whitespace is trimmed before it gets to the code.
+glodaFacetView.results.message.recipientSeparator=,\u0020
+
+# LOCALIZATION NOTE(glodaFacetView.results.message.andOthers):
+# When a message has too many recipients, we only show the first few and then
+# display this label to express how many are not displayed. So if a message
+# has 5 recipients, we might only show the first 3, and then use this label
+# to indicate that there are 2 that are not displayed. This string can be
+# pluralized; see https://developer.mozilla.org/en/Localization_and_Plurals
+# for details on how to do that. Note that in English, we use the "serial
+# comma", but other languages may not need a leading separator there.
+glodaFacetView.results.message.andOthers=, และอีก #1 คน
diff --git a/l10n-th/mail/chrome/messenger/imAccountWizard.dtd b/l10n-th/mail/chrome/messenger/imAccountWizard.dtd
new file mode 100644
index 0000000000..6d7b3b0826
--- /dev/null
+++ b/l10n-th/mail/chrome/messenger/imAccountWizard.dtd
@@ -0,0 +1,32 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!ENTITY windowTitle.label "ตัวช่วยบัญชีแชท">
+
+<!ENTITY accountProtocolTitle.label "เครือข่ายแชท">
+<!ENTITY accountProtocolInfo.label "โปรดเลือกเครือข่ายของบัญชีแชทของคุณ">
+<!ENTITY accountProtocolField.label "เครือข่าย:">
+<!ENTITY accountProtocolGetMore.label "รับเพิ่มเติม…">
+
+<!ENTITY accountUsernameTitle.label "ชื่อผู้ใช้">
+<!ENTITY accountUsernameDuplicate.label "บัญชีนี้ถูกกำหนดค่าแล้ว!">
+
+<!ENTITY accountPasswordTitle.label "รหัสผ่าน">
+<!ENTITY accountPasswordInfo.label "โปรดป้อนรหัสผ่านของคุณในช่องด้านล่าง">
+<!ENTITY accountPasswordField.label "รหัสผ่าน:">
+<!ENTITY accountPasswordManager.label "รหัสผ่านที่ป้อนที่นี่จะถูกเก็บไว้ในตัวจัดการรหัสผ่าน เว้นช่องนี้ว่างไว้หากคุณต้องการให้ป้อนรหัสผ่านทุกครั้งที่เชื่อมต่อบัญชีนี้">
+
+<!ENTITY accountAdvancedTitle.label "ตัวเลือกขั้นสูง">
+<!ENTITY accountAdvancedInfo.label "คุณสามารถข้ามขั้นตอนนี้ได้หากคุณต้องการ">
+<!ENTITY accountAdvanced.newMailNotification.label "แจ้งเตือนเมื่อมีจดหมายใหม่">
+<!ENTITY accountAliasGroupbox.caption "นามแฝงภายใน">
+<!ENTITY accountAliasField.label "นามแฝง:">
+<!ENTITY accountAliasInfo.label "สิ่งนี้จะปรากฏในการสนทนาของคุณเมื่อคุณพูดคุย ผู้ติดต่อระยะไกลจะไม่เห็น">
+<!ENTITY accountProxySettings.caption "การตั้งค่าพร็อกซี">
+<!ENTITY accountProxySettings.change.label "เปลี่ยน…">
+<!ENTITY accountProxySettings.change.accessKey "ป">
+
+<!ENTITY accountSummaryTitle.label "สรุป">
+<!ENTITY accountSummaryInfo.label "แสดงผลบทสรุปของข้อมูลที่คุณป้อนด้านล่าง โปรดตรวจสอบก่อนสร้างบัญชี">
+<!ENTITY accountSummary.connectNow.label "เชื่อมต่อบัญชีนี้เดี๋ยวนี้">
diff --git a/l10n-th/mail/chrome/messenger/imAccounts.properties b/l10n-th/mail/chrome/messenger/imAccounts.properties
new file mode 100644
index 0000000000..e46df0a9e2
--- /dev/null
+++ b/l10n-th/mail/chrome/messenger/imAccounts.properties
@@ -0,0 +1,63 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.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 (protoOptions):
+# %S is replaced by the name of a protocol
+protoOptions=ตัวเลือก %S
+accountUsername=ชื่อผู้ใช้:
+# LOCALIZATION NOTE (accountColon):
+# This string is used to append a colon after the label of each
+# option. It's localizable so that the typography can be adapted.
+accountColon=%S:
+# LOCALIZATION NOTE (accountUsernameInfo):
+# %S is replaced by the name of a protocol
+accountUsernameInfo=โปรดป้อนชื่อผู้ใช้สำหรับบัญชี %S ของคุณ
+# LOCALIZATION NOTE (accountUsernameInfoWithDescription):
+# %1$S is a hint for the expected format of the username
+# %2$S is the name of a protocol
+accountUsernameInfoWithDescription=โปรดป้อนชื่อผู้ใช้ (%1$S) สำหรับบัญชี %2$S ของคุณ
+
+# LOCALIZATION NOTE (account.connection.error):
+# %S is the error message.
+account.connection.error=ข้อผิดพลาด: %S
+# LOCALIZATION NOTE (account.connection.errorUnknownPrpl)
+# %S is the id (not very user friendly; hence the quotes) of the missing plugin.
+account.connection.errorUnknownPrpl=ไม่มีปลั๊กอินโปรโตคอล '%S'
+account.connection.errorEnteringPasswordRequired=ต้องป้อนรหัสผ่านเพื่อเชื่อมต่อบัญชีนี้
+account.connection.errorCrashedAccount=เกิดข้อผิดพลาดขณะเชื่อมต่อบัญชีนี้
+# LOCALIZATION NOTE (account.connection.progress):
+# %S is a message indicating progress of the connection process
+account.connection.progress=กำลังเชื่อมต่อ: %S…
+account.connecting=กำลังเชื่อมต่อ…
+account.connectedForSeconds=เชื่อมต่อแล้วเมื่อไม่กี่วินาที
+# LOCALIZATION NOTE (account.connectedFor{Double,Single},
+# account.reconnectIn{Double,Single}):
+# Each pair of %S is a number followed by a unit. The units are
+# already localized in a downloads.properties file of the toolkit.
+account.connectedForDouble=เชื่อมต่อแล้วเมื่อ %1$S %2$S และ %3$S %4$S
+account.connectedForSingle=เชื่อมต่อแล้วเมื่อประมาณ %1$S %2$S
+account.reconnectInDouble=การเชื่อมต่อใหม่ใน %1$S %2$S และ %3$S %4$S
+account.reconnectInSingle=การเชื่อมต่อใหม่ใน %1$S %2$S
+
+requestAuthorizeTitle=คำขอการรับรองความถูกต้อง
+# LOCALIZATION NOTE (requestAuthorizeAllow, requestAuthorizeDeny):
+# the & symbol indicates the position of the character that should be
+# used as the accesskey for this button.
+requestAuthorizeAllow=&อนุญาต
+requestAuthorizeDeny=&ปฏิเสธ
+# LOCALIZATION NOTE (requestAuthorizeText):
+# %S is a contact username.
+requestAuthorizeText=%S ได้เพิ่มคุณในรายการเพื่อนสนิทของเขา/เธอ คุณต้องการให้เขา/เธอเห็นคุณหรือไม่?
+
+accountsManager.notification.button.accessKey=ช
+accountsManager.notification.button.label=เชื่อมต่อเดี๋ยวนี้
+accountsManager.notification.userDisabled.label=คุณได้ปิดใช้งานการเชื่อมต่ออัตโนมัติ
+accountsManager.notification.safeMode.label=การตั้งค่าการเชื่อมต่ออัตโนมัติได้ถูกเพิกเฉยเนื่องจากตอนนี้แอปพลิเคชันกำลังทำงานในโหมดปลอดภัย
+accountsManager.notification.startOffline.label=การตั้งค่าการเชื่อมต่ออัตโนมัติได้ถูกเพิกเฉยเนื่องจากตอนนี้แอปพลิเคชันได้เริ่มทำงานในโหมดออฟไลน์
+accountsManager.notification.crash.label=การเรียกใช้ครั้งสุดท้ายออกโดยไม่คาดคิดขณะเชื่อมต่อ การเชื่อมต่ออัตโนมัติถูกปิดการใช้งานเพื่อให้คุณมีโอกาสแก้ไขการตั้งค่าของคุณ
+# LOCALIZATION NOTE (accountsManager.notification.singleCrash.label): Semi-colon list of plural forms.
+# See: https://developer.mozilla.org/en/docs/Localization_and_Plurals
+# #1 is the number of accounts that are suspected to have caused a crash.
+accountsManager.notification.singleCrash.label=การเรียกใช้ครั้งก่อนหน้าออกโดยไม่คาดคิดขณะเชื่อมต่อ #1 บัญชีใหม่หรือที่แก้ไข ซึ่งยังไม่ได้ถูกเชื่อมต่อเพื่อให้คุณสามารถแก้ไขการตั้งค่าของบัญชีดังกล่าวได้
+accountsManager.notification.other.label=ปิดใช้งานการเชื่อมต่ออัตโนมัติแล้ว
diff --git a/l10n-th/mail/chrome/messenger/imapMsgs.properties b/l10n-th/mail/chrome/messenger/imapMsgs.properties
new file mode 100644
index 0000000000..c4eeb9daf7
--- /dev/null
+++ b/l10n-th/mail/chrome/messenger/imapMsgs.properties
@@ -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/.
+
+#
+# The following are used by the imap code to display progress/status/error messages
+#
+
+#LOCALIZATION NOTE(imapAlertDialogTile): Do not translate the word "%S"
+# below. Place the word %S where the account name should appear.
+imapAlertDialogTitle=คำเตือนสำหรับบัญชี %S
+
+# Status - opening folder
+imapStatusSelectingMailbox=กำลังเปิดโฟลเดอร์ %S…
+
+# Status - create folder
+imapStatusCreatingMailbox=กำลังสร้างโฟลเดอร์…
+
+# Status - deleting a folder
+# LOCALIZATION NOTE (imapStatusDeletingMailbox): The "%S" below should not be translated.
+# Instead, insert "%S" in your translation where you wish to display the name
+# of the folder being deleted.
+imapStatusDeletingMailbox=กำลังลบโฟลเดอร์ %S…
+
+# Status - renaming mailbox
+# LOCALIZATION NOTE (imapStatusRenamingMailbox): The "%S" below should not be translated.
+# Instead, insert "%S" in your translation where you wish to display the name
+# of the folder being renamed.
+imapStatusRenamingMailbox=กำลังเปลี่ยนชื่อโฟลเดอร์ %S…
+
+# Status - looking for mailboxes
+imapStatusLookingForMailbox=กำลังมองหาโฟลเดอร์…
+
+# Status - subscribing to mailbox
+# LOCALIZATION NOTE (imapStatusSubscribeToMailbox): The "%S" below should not be translated.
+# Instead, insert "%S" in your translation where you wish to display the name
+# of the folder being subscribed to.
+imapStatusSubscribeToMailbox=กำลังบอกรับโฟลเดอร์ %S…
+
+# Status - unsubscribing from mailbox
+# LOCALIZATION NOTE (imapStatusUnsubscribeMailbox): The "%S" below should not be translated.
+# Instead, insert "%S" in your translation where you wish to display the name
+# of the folder being unsubscribed from.
+imapStatusUnsubscribeMailbox=กำลังเลิกบอกรับโฟลเดอร์ %S…
+
+# Status - searching imap folder
+imapStatusSearchMailbox=กำลังค้นหาโฟลเดอร์…
+
+# Status - closing a folder
+imapStatusCloseMailbox=กำลังปิดโฟลเดอร์…
+
+# Status - compacting a folder
+imapStatusExpungingMailbox=กำลังกระชับโฟลเดอร์…
+
+# Status - logging out
+imapStatusLoggingOut=กำลังออกจากระบบ…
+
+# Status - checking server capabilities
+imapStatusCheckCompat=กำลังตรวจสอบความสามารถของเซิร์ฟเวอร์อีเมล…
+
+# Status - logging on
+imapStatusSendingLogin=กำลังส่งข้อมูลการเข้าสู่ระบบ…
+
+# Status - auth logon
+imapStatusSendingAuthLogin=กำลังส่งข้อมูลการเข้าสู่ระบบ…
+
+imapDownloadingMessage=กำลังดาวน์โหลดข้อความ…
+
+# LOCALIZATION NOTE (imapGettingACLForFolder): Do not translate the word "ACL" below.
+imapGettingACLForFolder=กำลังรับโฟลเดอร์ ACL…
+
+imapGettingServerInfo=กำลังรับข้อมูลการกำหนดค่าเซิร์ฟเวอร์…
+
+imapGettingMailboxInfo=กำลังรับข้อมูลการกำหนดค่ากล่องจดหมาย…
+
+imapEmptyMimePart=ส่วนเนื้อความนี้จะถูกดาวน์โหลดเมื่อต้องการ
+
+# LOCALIZATION NOTE (imapReceivingMessageHeaders3): Do not translate the words "%1$S", "%2$S", and "%3$S" below.
+# Place the word %1$S in your translation where the number of the header being downloaded should appear.
+# Place the word %2$S in your translation where the total number of headers to be downloaded should appear.
+# Place the word %3$S in your translation where the name of the folder being processed should appear.
+# Note: The account name and separators (e.g. colon, space) are automatically added to the status message.
+# Example: "Joe's Account: Downloading message header 100 of 1000 in Drafts…"
+imapReceivingMessageHeaders3=กำลังดาวน์โหลดส่วนหัวข้อความ %1$S จาก %2$S ใน %3$S…
+
+# LOCALIZATION NOTE (imapReceivingMessageFlags3): Do not translate the words "%1$S", "%2$S", and "%3$S" below.
+# Place the word %1$S in your translation where the number of the flag being downloaded should appear.
+# Place the word %2$S in your translation where the total number of flags to be downloaded should appear.
+# Place the word %3$S in your translation where the name of the folder being processed should appear.
+# Note: The account name and separators (e.g. colon, space) are automatically added to the status message.
+# Example: "Jim's Account: Downloading message flag 100 of 1000 in INBOX…"
+imapReceivingMessageFlags3=กำลังดาวน์โหลดค่าสถานะข้อความ %1$S จาก %2$S ใน %3$S…
+
+imapDeletingMessages=กำลังลบข้อความ…
+
+imapDeletingMessage=กำลังลบข้อความ…
+
+# LOCALIZATION NOTE (imapMovingMessages): Do not translate the word "%S" below.
+# Place the word %S in your translation where the name of the folder should appear.
+imapMovingMessages=กำลังย้ายข้อความไปยัง %S…
+
+# LOCALIZATION NOTE (imapMovingMessage): Do not translate the word "%S" below.
+# Place the word %S in your translation where the name of the folder should appear.
+imapMovingMessage=กำลังย้ายข้อความไปยัง %S…
+
+# LOCALIZATION NOTE (imapCopyingMessages): Do not translate the word "%S" below.
+# Place the word %S in your translation where the name of the folder should appear.
+imapCopyingMessages=กำลังคัดลอกข้อความไปยัง %S…
+
+# LOCALIZATION NOTE (imapCopyingMessage): Do not translate the word "%S" below.
+# Place the word %S in your translation where the name of the folder should appear.
+imapCopyingMessage=กำลังคัดลอกข้อความไปยัง %S…
+
+# LOCALIZATION NOTE (imapFolderReceivingMessageOf3): Do not translate the words "%1$S", "%2$S", and "%3$S" below.
+# Place the word %1$S in your translation where the number of the message being downloaded should appear.
+# Place the word %2$S in your translation where the total number of messages to be downloaded should appear.
+# Place the word %3$S in your translation where the name of the folder being processed should appear.
+# Note: The account name and separators (e.g. colon, space) are automatically added to the status message.
+# Example: "Juan's Account: Downloading message 100 of 1000 in Sent…"
+imapFolderReceivingMessageOf3=กำลังดาวน์โหลดข้อความ %1$S จาก %2$S ใน %3$S…
+
+# LOCALIZATION NOTE (imapDiscoveringMailbox): Do not translate the word "%S" below.
+# Place the word %S in your translation where the name of the folder should appear.
+imapDiscoveringMailbox=พบโฟลเดอร์: %S
+
+# LOCALIZATION NOTE (imapEnterServerPasswordPrompt): Do not translate the words %1$S and %2$S below.
+# Place the word %1$S in your translation where the username should appear.
+# Place the word %2$S in your translation where the servername should appear.
+imapEnterServerPasswordPrompt=ป้อนรหัสผ่านของคุณสำหรับ %1$S บน %2$S:
+
+# LOCALIZATION NOTE (imapServerNotImap4): Do not translate the word "IMAP4" below.
+imapServerNotImap4=เซิร์ฟเวอร์จดหมาย %S ไม่ใช่เซิร์ฟเวอร์จดหมาย IMAP4
+
+# This is intentionally left blank.
+imapDone=
+
+# LOCALIZATION NOTE (imapEnterPasswordPromptTitleWithUsername): Do not translate the
+# word %1$S. Place the word %1$S where the user name should appear.
+imapEnterPasswordPromptTitleWithUsername=ป้อนรหัสผ่านของคุณสำหรับ %1$S
+
+imapUnknownHostError=ไม่สามารถเชื่อมต่อไปยังเซิร์ฟเวอร์ %S
+imapOAuth2Error=การรับรองความถูกต้องล้มเหลวขณะเชื่อมต่อไปยังเซิร์ฟเวอร์ %S
+
+imapConnectionRefusedError=ไม่สามารถเชื่อมต่อไปยังเซิร์ฟเวอร์จดหมาย %S เนื่องจากการเชื่อมต่อถูกปฏิเสธ
+
+imapNetTimeoutError=การเชื่อมต่อไปยังเซิร์ฟเวอร์ %S หมดเวลา
+
+# Status - no messages to download
+imapNoNewMessages=ไม่มีข้อความใหม่บนเซิร์ฟเวอร์
+
+imapDefaultAccountName=จดหมายสำหรับ %S
+
+imapSpecialChar2=อักขระ %S ถูกสงวนไว้บนเซิร์ฟเวอร์ IMAP นี้ โปรดเลือกชื่ออื่น
+
+imapPersonalSharedFolderTypeName=โฟลเดอร์ส่วนบุคคล
+
+imapPublicFolderTypeName=โฟลเดอร์สาธารณะ
+
+imapOtherUsersFolderTypeName=โฟลเดอร์ของผู้ใช้อื่น
+
+imapPersonalFolderTypeDescription=โฟลเดอร์นี้เป็นโฟลเดอร์จดหมายส่วนตัวซึ่งไม่ได้ถูกแบ่งปัน
+
+imapPersonalSharedFolderTypeDescription=โฟลเดอร์นี้เป็นโฟลเดอร์จดหมายส่วนตัวซึ่งได้ถูกแบ่งปันแล้ว
+
+imapPublicFolderTypeDescription=โฟลเดอร์นี้เป็นโฟลเดอร์สาธารณะ
+
+imapOtherUsersFolderTypeDescription=โฟลเดอร์นี้เป็นโฟลเดอร์จดหมายที่แบ่งปันโดยผู้ใช้ '%S'
+
+imapAclFullRights=การควบคุมทั้งหมด
+
+imapAclLookupRight=ค้นหา
+
+imapAclReadRight=อ่าน
+
+imapAclSeenRight=ตั้งค่าสถานะอ่านแล้ว/ยังไม่ได้อ่าน
+
+imapAclWriteRight=เขียน
+
+imapAclInsertRight=แทรก (คัดลอกลงใน)
+
+imapAclPostRight=โพสต์
+
+imapAclCreateRight=สร้างโฟลเดอร์ย่อย
+
+imapAclDeleteRight=ลบข้อความ
+
+imapAclAdministerRight=ดูแลโฟลเดอร์
+
+imapServerDoesntSupportAcl=เซิร์ฟเวอร์นี้ไม่รองรับโฟลเดอร์ที่แบ่งปัน
+
+imapAclExpungeRight=ลบล้าง
+
+imapServerDisconnected= เซิร์ฟเวอร์ %S ได้ตัดการเชื่อมต่อแล้ว เซิร์ฟเวอร์อาจล่มหรืออาจมีปัญหาเครือข่าย
+
+# LOCALIZATION NOTE (autoSubscribeText): %1$S is the imap folder.
+imapSubscribePrompt=คุณต้องการบอกรับ %1$S หรือไม่?
+
+imapServerDroppedConnection=ไม่สามารถเชื่อมต่อกับเซิร์ฟเวอร์ IMAP ของคุณ คุณอาจเชื่อมต่อไปยังเซิร์ฟเวอร์นี้ \
+เกินจำนวนสูงสุดแล้ว หากเป็นเช่นนั้น ให้ใช้กล่องโต้ตอบการตั้งค่าเซิร์ฟเวอร์ IMAP \
+ขั้นสูงเพื่อลดจำนวนการเชื่อมต่อที่แคช
+
+# This will occur when a folder that has never been imap selected or opened
+# (left-clicked) is first right-clicked to access quota properties.
+imapQuotaStatusFolderNotOpen=ไม่มีข้อมูลโควตาเนื่องจากโฟลเดอร์ไม่ได้เปิดอยู่
+
+# The imap capability response reports that QUOTA is not supported.
+imapQuotaStatusNotSupported=เซิร์ฟเวอร์นี้ไม่รองรับโควตา
+
+# The getqutaroot command succeeded but reported no quota information.
+imapQuotaStatusNoQuota2=โฟลเดอร์นี้ไม่มีการรายงานข้อมูลโควตา
+
+# Folder properties were requested by the user (right-click) before the getquotaroot
+# command was sent.
+imapQuotaStatusInProgress=ข้อมูลโควตายังไม่มีให้ใช้
+
+# Out of memory
+imapOutOfMemory=มีหน่วยความจำไม่เพียงพอสำหรับแอปพลิเคชัน
+
+# LOCALIZATION NOTE (imapCopyingMessageOf2): Do not translate the word "%S" below.
+# Place the word %3$S in your translation where the name of the destination folder should appear.
+# Place the word %1$S where the currently copying message should appear.
+# Place the word %2$S where the total number of messages should appear.
+imapCopyingMessageOf2=กำลังคัดลอกข้อความ %1$S จาก %2$S ไปยัง %3$S…
+
+# LOCALIZATION NOTE (imapMoveFolderToTrash): Do not translate the word %S below.
+# "%S" is the the name of the folder.
+imapMoveFolderToTrash=คุณแน่ใจหรือไม่ว่าต้องการลบโฟลเดอร์ '%S'?
+
+# LOCALIZATION NOTE (imapDeleteNoTrash): Do not translate the word %S below.
+# "%S" is the the name of the folder.
+imapDeleteNoTrash=การลบโฟลเดอร์นี้ไม่สามารถเลิกทำได้และจะลบข้อความที่มีอยู่และโฟลเดอร์ย่อยทั้งหมดที่อยู่ภายใน คุณแน่ใจหรือไม่ว่าต้องการลบโฟลเดอร์ '%S'?
+
+imapDeleteFolderDialogTitle=ลบโฟลเดอร์
+
+imapDeleteFolderButtonLabel=&ลบโฟลเดอร์
+
+# LOCALIZATION NOTE (imapAuthChangeEncryptToPlainSSL): %S is the server hostname
+imapAuthChangeEncryptToPlainSSL=เซิร์ฟเวอร์ IMAP %S ดูเหมือนจะไม่รองรับรหัสผ่านที่เข้ารหัส หากคุณเพิ่งตั้งค่าบัญชีนี้ โปรดลองเปลี่ยนเป็น 'รหัสผ่านปกติ' ใน 'วิธีการรับรองความถูกต้อง' ใน 'การตั้งค่าบัญชี | การตั้งค่าเซิร์ฟเวอร์ ' หากเคยใช้ได้ แต่ตอนนี้ใช้ไม่ได้ โปรดติดต่อผู้ดูแลหรือผู้ให้บริการอีเมลหรือของคุณ
+
+# LOCALIZATION NOTE (imapAuthChangePlainToEncrypt): %S is the server hostname
+imapAuthChangePlainToEncrypt=เซิร์ฟเวอร์ IMAP %S ไม่อนุญาตรหัสผ่านแบบข้อความธรรมดา โปรดลองเปลี่ยนเป็น 'รหัสผ่านที่เข้ารหัส' ใน 'วิธีการรับรองความถูกต้อง' ใน 'การตั้งค่าบัญชี | การตั้งค่าเซิร์ฟเวอร์'
+
+# LOCALIZATION NOTE (imapAuthChangeEncryptToPlainNoSSL): %S is the server hostname
+imapAuthChangeEncryptToPlainNoSSL=เซิร์ฟเวอร์ IMAP %S ดูเหมือนจะไม่รองรับรหัสผ่านที่เข้ารหัส หากคุณเพิ่งตั้งค่าบัญชีนี้ โปรดลองเปลี่ยนเป็น 'รหัสผ่านที่ส่งอย่างไม่ปลอดภัย' ใน 'วิธีการรับรองความถูกต้อง' ใน 'การตั้งค่าบัญชี | การตั้งค่าเซิร์ฟเวอร์ ' หากเคยใช้ได้ แต่ตอนนี้ใช้ไม่ได้ นี่อาจแสดงว่ามีใครบางคนชโมยรหัสผ่านของคุณ
+
+# LOCALIZATION NOTE (imapAuthMechNotSupported): %S is the server hostname
+imapAuthMechNotSupported=เซิร์ฟเวอร์ IMAP %S ไม่รองรับวิธีการรับรองความถูกต้องที่เลือก โปรดเปลี่ยน 'วิธีการรับรองความถูกต้อง' ใน 'การตั้งค่าบัญชี | การตั้งค่าเซิร์ฟเวอร์'
+
+# LOCALIZATION NOTE (imapAuthGssapiFailed): %S is the server hostname
+imapAuthGssapiFailed=เซิร์ฟเวอร์ IMAP %S ไม่ยอมรับตั๋ว Kerberos/GSSAPI โปรดตรวจสอบว่าคุณเข้าสู่ระบบของ Kerberos/GSSAPI
+
+# LOCALIZATION NOTE (imapServerCommandFailed):
+# Place the word %1$S in your translation where the name of the account name should appear.
+# Place the word %2$S in your translation where the server response should appear.
+imapServerCommandFailed=คำสั่งปัจจุบันไม่สำเร็จ เซิร์ฟเวอร์จดหมายสำหรับบัญชี %1$S ตอบกลับว่า: %2$S
+
+# LOCALIZATION NOTE (imapFolderCommandFailed): Do not translate the word %S below.
+# Place the word %1$S in your translation where the name of the account should appear.
+# Place the word %2$S in your translation where the name of the folder should appear.
+# Place the word %3$S in your translation where the server response should appear.
+imapFolderCommandFailed=การดำเนินการปัจจุบันบน '%2$S' ไม่สำเร็จ เซิร์ฟเวอร์จดหมายสำหรับบัญชี %1$S ตอบกลับว่า: %3$S
+
+# LOCALIZATION NOTE (imapServerAlert):
+# Place the word %1$S in your translation where the name of the account should appear.
+# Place the word %2$S in your translation where the alert from the server should appear.
+imapServerAlert=คำเตือนจากบัญชี %1$S: %2$S
diff --git a/l10n-th/mail/chrome/messenger/importDialog.dtd b/l10n-th/mail/chrome/messenger/importDialog.dtd
new file mode 100644
index 0000000000..0ba56f75e7
--- /dev/null
+++ b/l10n-th/mail/chrome/messenger/importDialog.dtd
@@ -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/. -->
+
+<!--
+LOCALIZATION NOTE : 'Communicator 4.x' is the used for previous versions of
+Netscape Communicator, Please translate using the brandname in respective
+languages for Netscape Communicator 4 releases.
+LOCALIZATION NOTE : Do not translate any of the occurrences of the word
+"&brandShortName;" below.
+-->
+
+<!ENTITY importDialog.windowTitle "นำเข้า">
+<!ENTITY importAll.label "นำเข้าทุกอย่าง">
+<!ENTITY importAll.accesskey "ท">
+<!ENTITY importMail.label "จดหมาย">
+<!ENTITY importMail.accesskey "จ">
+<!ENTITY importFeeds.label "การบอกรับฟีด">
+<!ENTITY importFeeds.accesskey "ฟ">
+<!ENTITY importAddressbook.label "สมุดรายชื่อ">
+<!ENTITY importAddressbook.accesskey "ส">
+<!ENTITY importSettings.label "การตั้งค่า">
+<!ENTITY importSettings.accesskey "ก">
+<!ENTITY importFilters.label "ตัวกรอง">
+<!ENTITY importFilters.accesskey "ต">
+
+<!ENTITY window.width "40em">
+<!ENTITY window.macWidth "45em">
+
+<!ENTITY importTitle.label "ตัวช่วยนำเข้าของ &brandShortName;">
+<!ENTITY importShortDesc.label "นำเข้าจดหมาย สมุดรายชื่อ การตั้งค่า และตัวกรองจากโปรแกรมอื่น">
+
+<!ENTITY importDescription1.label "ตัวช่วยนี้จะนำเข้าข้อความจดหมาย รายการสมุดรายชื่อ การบอกรับฟีด ค่ากำหนด และ/หรือตัวกรองจากโปรแกรมจดหมายอื่นและรูปแบบสมุดรายชื่อทั่วไปลงใน &brandShortName;">
+<!ENTITY importDescription2.label "เมื่อข้อมูลเหล่านั้นถูกนำเข้าแล้ว คุณจะสามารถเข้าถึงข้อมูลเหล่านั้นได้จากภายใน &brandShortName;">
+
+<!ENTITY selectDescription.label "โปรดเลือกชนิดของไฟล์ที่คุณต้องการนำเข้า:">
+<!ENTITY selectDescriptionB.label "โปรดเลือกบัญชีที่มีอยู่หรือสร้างบัญชีใหม่:">
+<!ENTITY selectDescription.accesskey "ป">
+<!ENTITY acctName.label "ชื่อ:">
+<!ENTITY acctName.accesskey "ช">
+<!ENTITY noModulesFound.label "ไม่พบแอปพลิเคชันหรือไฟล์ที่จะนำเข้าข้อมูล">
+
+<!ENTITY back.label "&lt; ย้อนกลับ">
+<!ENTITY forward.label "ถัดไป &gt;">
+<!ENTITY finish.label "เสร็จสิ้น">
+<!ENTITY cancel.label "ยกเลิก">
+
+<!ENTITY select.label "หรือเลือกชนิดของข้อมูลที่จะนำเข้า:">
+
+<!ENTITY title.label "ชื่อเรื่อง">
+<!ENTITY processing.label "กำลังนำเข้า…">
diff --git a/l10n-th/mail/chrome/messenger/importMsgs.properties b/l10n-th/mail/chrome/messenger/importMsgs.properties
new file mode 100644
index 0000000000..5b173c1690
--- /dev/null
+++ b/l10n-th/mail/chrome/messenger/importMsgs.properties
@@ -0,0 +1,304 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.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 are used by the import code to display status/error
+# and informational messages
+
+# Success message when no address books are found to import
+## @name IMPORT_NO_ADDRBOOKS
+## @loc None
+2000=ไม่พบสมุดรายชื่อที่จะนำเข้า
+
+# Error: Address book import not initialized
+## @name IMPORT_ERROR_AB_NOTINITIALIZED
+## @loc None
+2001=ไม่สามารถนำเข้าสมุดรายชื่อ: พบข้อผิดพลาดในการเตรียมใช้งาน
+
+# Error: Unable to create the import thread
+## @name IMPORT_ERROR_AB_NOTHREAD
+## @loc None
+2002=ไม่สามารถนำเข้าสมุดรายชื่อ: ไม่สามารถสร้างเธรดการนำเข้า
+
+# Error: Unable to create the import thread
+## @name IMPORT_ERROR_GETABOOK
+## @loc None
+# LOCALIZATION NOTE (Error 2003): Do not translate the word "%S" below.
+2003=ข้อผิดพลาดในการนำเข้า %S: ไม่สามารถสร้างสมุดรายชื่อ
+
+# Success message when no mailboxes are found to import
+## @name IMPORT_NO_MAILBOXES
+## @loc None
+2004=ไม่พบกล่องจดหมายที่จะนำเข้า
+
+# Error: Mailbox import not initialized
+## @name IMPORT_ERROR_MB_NOTINITIALIZED
+## @loc None
+2005=ไม่สามารถนำเข้ากล่องจดหมายเนื่องจากพบข้อผิดพลาดในการเตรียมใช้งาน
+
+# Error: Unable to create the import thread
+## @name IMPORT_ERROR_MB_NOTHREAD
+## @loc None
+2006=ไม่สามารถนำเข้ากล่องจดหมายเนื่องจากไม่สามารถสร้างเธรดการนำเข้า
+
+# Error: Unable to create the proxy object for importing mailboxes
+## @name IMPORT_ERROR_MB_NOPROXY
+## @loc None
+2007=ไม่สามารถนำเข้ากล่องจดหมายเนื่องจากไม่สามารถสร้างวัตถุพร็อกซีสำหรับกล่องจดหมายปลายทาง
+
+# Error: Error creating destination mailboxes
+## @name IMPORT_ERROR_MB_FINDCHILD
+## @loc None
+# LOCALIZATION NOTE (Error 2008): Do not translate the word "%S" below.
+# Place %S in your translation where the name of the mailbox should appear.
+2008=มีข้อผิดพลาดในการสร้างกล่องจดหมายปลายทางเนื่องจากไม่พบกล่องจดหมาย %S
+
+# Error: Error creating destination mailboxes
+## @name IMPORT_ERROR_MB_CREATE
+## @loc None
+# LOCALIZATION NOTE (Error 2009): Do not translate the word "%S" below.
+# Place %S in your translation where the name of the mailbox should appear.
+2009=มีข้อผิดพลาดในการนำเข้ากล่องจดหมาย %S เนื่องจากไม่สามารถสร้างกล่องจดหมายปลายทาง
+
+# Error: No destination folder to import mailboxes
+## @name IMPORT_ERROR_MB_NODESTFOLDER
+## @loc None
+2010=ไม่สามารถสร้างโฟลเดอร์ที่จะนำเข้าจดหมาย
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC_START
+## @loc None
+2100=ชื่อจริง
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2101=นามสกุล
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2102=ชื่อที่แสดงผล
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2103=ชื่อเล่น
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2104=อีเมลหลัก
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2105=อีเมลสำรอง
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2106=โทรศัพท์ที่ทำงาน
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2107=โทรศัพท์บ้าน
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2108=หมายเลขโทรสาร
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2109=หมายเลขเพจเจอร์
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2110=หมายเลขมือถือ
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2111=ที่อยู่ที่บ้าน
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2112=ที่อยู่ที่บ้าน 2
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2113=เมืองที่บ้าน
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2114=รัฐที่บ้าน
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2115=รหัสไปรษณีย์ที่บ้าน
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2116=ประเทศที่บ้าน
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2117=ที่อยู่ที่ทำงาน
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2118=ที่อยู่ที่ทำงาน 2
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2119=เมืองที่ทำงาน
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2120=รัฐที่ทำงาน
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2121=รหัสไปรษณีย์ที่ทำงาน
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2122=ประเทศที่ทำงาน
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2123=ตำแหน่งงาน
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2124=แผนก
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2125=องค์กร
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2126=หน้าเว็บ 1
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2127=หน้าเว็บ 2
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2128=ปีเกิด
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2129=เดือนเกิด
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2130=วันเกิด
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2131=กำหนดเอง 1
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2132=กำหนดเอง 2
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2133=กำหนดเอง 3
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2134=กำหนดเอง 4
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2135=หมายเหตุ
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC_END
+## @loc None
+2136=ชื่อหน้าจอ
+
+#Error strings
+ImportAlreadyInProgress=การดำเนินการนำเข้าอยู่ในระหว่างดำเนินการ ลองอีกครั้งเมื่อการนำเข้าปัจจุบันเสร็จสิ้นแล้ว
+
+#Error strings for settings import
+ImportSettingsBadModule=ไม่สามารถโหลดโมดูลการตั้งค่า
+ImportSettingsNotFound=ไม่พบการตั้งค่า ตรวจสอบให้แน่ใจว่าติดตั้งแอปพลิเคชันบนเครื่องนี้แล้ว
+ImportSettingsFailed=เกิดข้อผิดพลาดขณะนำเข้าการตั้งค่า การตั้งค่าบางอย่างหรือทั้งหมดอาจไม่ได้ถูกนำเข้า
+# LOCALIZATION NOTE : Do not translate the word "%S" below.
+ImportSettingsSuccess=การตั้งค่าถูกนำเข้าจาก %S
+
+#Error string for mail import
+ImportMailBadModule=ไม่สามารถโหลดโมดูลการนำเข้าจดหมาย
+ImportMailNotFound=ไม่พบจดหมายที่จะนำเข้า ตรวจสอบให้แน่ใจว่าได้ติดตั้งแอปพลิเคชันจดหมายบนเครื่องนี้อย่างถูกต้องแล้ว
+ImportEmptyAddressBook=ไม่สามารถนำเข้าสมุดรายชื่อที่ว่างเปล่า %S
+# LOCALIZATION NOTE: Do not translate the word "%S" below.
+ImportMailFailed=เกิดข้อผิดพลาดในการนำเข้าจดหมายจาก %S
+# LOCALIZATION NOTE: Do not translate the word "%S" below.
+ImportMailSuccess=นำเข้าจดหมายจาก %S สำเร็จแล้ว
+
+# Error string for address import
+ImportAddressBadModule=ไม่สามารถโหลดโมดูลการนำเข้าสมุดรายชื่อ
+ImportAddressNotFound=ไม่พบสมุดรายชื่อใด ๆ ที่จะนำเข้า ตรวจสอบให้แน่ใจว่าได้ติดตั้งแอปพลิเคชันหรือรูปแบบที่เลือกบนเครื่องนี้อย่างถูกต้องแล้ว
+# LOCALIZATION NOTE : Do not translate the word "%S" below.
+ImportAddressFailed=เกิดข้อผิดพลาดในการนำเข้ารายชื่อจาก %S
+# LOCALIZATION NOTE : Do not translate the word "%S" below.
+ImportAddressSuccess=นำเข้ารายชื่อจาก %S สำเร็จแล้ว
+
+# Error string for filters import
+ImportFiltersBadModule=ไม่สามารถโหลดโมดูลการนำเข้าตัวกรอง
+# LOCALIZATION NOTE : The %S will get replaced by the name of the import module.
+ImportFiltersFailed=เกิดข้อผิดพลาดในการนำเข้าตัวกรองจาก %S
+# LOCALIZATION NOTE : The %S will get replaced by the name of the import module.
+ImportFiltersSuccess=นำเข้าตัวกรองจาก %S สำเร็จแล้ว
+# LOCALIZATION NOTE : The %S will get replaced by the name of the import module.
+ImportFiltersPartial=ตัวกรองบางส่วนได้ถูกนำเข้าจาก %S คำเตือนด้านล่าง:
+
+#Progress strings
+# LOCALIZATION NOTE : Do not translate the word "%S" below.
+MailProgressMeterText=กำลังแปลงกล่องจดหมายจาก %S
+# LOCALIZATION NOTE : Do not translate the word "%S" below.
+AddrProgressMeterText=กำลังแปลงสมุดรายชื่อจาก %S
+
+#Import file dialog strings
+ImportSelectSettings=เลือกไฟล์การตั้งค่า
+ImportSelectMailDir=เลือกไดเรกทอรีจดหมาย
+ImportSelectAddrDir=เลือกไดเรกทอรีสมุดรายชื่อ
+ImportSelectAddrFile=เลือกไฟล์สมุดรายชื่อ
+
+# Folder Names for imported Mail
+DefaultFolderName=จดหมายที่นำเข้า
+# LOCALIZATION NOTE: Do not translate the word "%S" below.
+ImportModuleFolderName=การนำเข้า %S
diff --git a/l10n-th/mail/chrome/messenger/joinChat.dtd b/l10n-th/mail/chrome/messenger/joinChat.dtd
new file mode 100644
index 0000000000..25fb4a733c
--- /dev/null
+++ b/l10n-th/mail/chrome/messenger/joinChat.dtd
@@ -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/. -->
+
+<!ENTITY joinChatWindow.title "เข้าร่วมแชท">
+<!ENTITY name.label "ห้อง">
+<!ENTITY optional.label "(ไม่บังคับ)">
+<!ENTITY account.label "บัญชี">
+<!ENTITY autojoin.label "เข้าร่วมห้องแชทนี้โดยอัตโนมัติ">
+<!ENTITY autojoin.accesskey "อ">
diff --git a/l10n-th/mail/chrome/messenger/junkLog.dtd b/l10n-th/mail/chrome/messenger/junkLog.dtd
new file mode 100644
index 0000000000..715c11a2e3
--- /dev/null
+++ b/l10n-th/mail/chrome/messenger/junkLog.dtd
@@ -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/. -->
+
+<!ENTITY adaptiveJunkLog.title "รายการบันทึกจดหมายขยะแบบปรับเปลี่ยนได้">
+<!ENTITY adaptiveJunkLogInfo.label "รายการบันทึกกิจกรรมการควบคุมจดหมายขยะแบบปรับเปลี่ยนได้">
+<!ENTITY clearLog.label "ล้างรายการบันทึก">
+<!ENTITY clearLog.accesskey "ล">
+<!ENTITY closeLog.label "ปิด">
+<!ENTITY closeLog.accesskey "ป">
diff --git a/l10n-th/mail/chrome/messenger/junkMailInfo.dtd b/l10n-th/mail/chrome/messenger/junkMailInfo.dtd
new file mode 100644
index 0000000000..8e6b0cd544
--- /dev/null
+++ b/l10n-th/mail/chrome/messenger/junkMailInfo.dtd
@@ -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/. -->
+
+<!ENTITY window.title "เกี่ยวกับจดหมายขยะ">
+<!ENTITY window.width "450">
+<!ENTITY info1a.label "&brandShortName; ตรวจจับข้อความที่เข้ามาซึ่งดูเหมือนจะเป็นจดหมายขยะ (หรือที่รู้จักกันว่าสแปม) โดยอัตโนมัติ ข้อความที่ &brandShortName; คิดว่าเป็นขยะจะแสดงไอคอนขยะ">
+<!ENTITY info1b.label "">
+<!ENTITY info2.label "ในตอนแรก คุณจะต้องสอนให้ &brandShortName; ระบุจดหมายขยะโดยกดปุ่มแถบเครื่องมือขยะเพื่อทำเครื่องหมายข้อความว่าเป็นขยะหรือไม่เป็นขยะ">
+<!ENTITY info3.label "เมื่อ &brandShortName; สามารถระบุจดหมายขยะได้อย่างถูกต้องแล้ว คุณสามารถใช้การควบคุมจดหมายขยะเพื่อย้ายจดหมายขยะที่เข้ามาไปยังโฟลเดอร์ขยะโดยอัตโนมัติได้">
+<!ENTITY info4.label "สำหรับข้อมูลเพิ่มเติม คลิก ช่วยเหลือ">
diff --git a/l10n-th/mail/chrome/messenger/localMsgs.properties b/l10n-th/mail/chrome/messenger/localMsgs.properties
new file mode 100644
index 0000000000..9d642199e0
--- /dev/null
+++ b/l10n-th/mail/chrome/messenger/localMsgs.properties
@@ -0,0 +1,149 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+#
+# The following are used by the local mail code to display progress/status/error messages
+#
+
+# LOCALIZATION NOTE(pop3ErrorDialogTitle): Do not translate the word "%S"
+# below. Place the word %S where the account name should appear.
+pop3ErrorDialogTitle=เกิดข้อผิดพลาดกับบัญชี %S
+
+# LOCALIZATION NOTE (pop3EnterPasswordPromptTitleWithUsername): Do not translate the
+# word %1$S. Place the word %1$S where the user name should appear.
+pop3EnterPasswordPromptTitleWithUsername=ป้อนรหัสผ่านของคุณสำหรับ %1$S
+
+# LOCALIZATION NOTE(pop3EnterPasswordPrompt): Do not translate the words "%1$S"
+# and "%2$S" below. Place the word %1$S where the user name should appear, and
+# %2$S where the host name should appear.
+pop3EnterPasswordPrompt=ป้อนรหัสผ่านของคุณสำหรับ %1$S บน %2$S:
+
+# LOCALIZATION NOTE(pop3PreviouslyEnteredPasswordIsInvalidPrompt): Do not
+# translate the words "%1$S" and "%2$S" below. Place the word %1$S where the
+# user name should appear, and %2$S where the host name should appear.
+pop3PreviouslyEnteredPasswordIsInvalidPrompt=โปรดป้อนรหัสผ่านใหม่สำหรับผู้ใช้ %1$S บน %2$S:
+
+# Status - Downloading message n of m
+# LOCALIZATION NOTE (receivingMessages): Do not translate %1$S or %2$S in the following lines.
+# Place the word %1$S where the number of messages downloaded so far should appear.
+# Place the word %2$S where the total number of messages to receive should appear;
+receivingMessages=กำลังดาวน์โหลดข้อความ %1$S จาก %2$S…
+
+# Status - connecting to host
+hostContact=ติดต่อโอสต์แล้ว กำลังส่งข้อมูลการเข้าสู่ระบบ…
+
+# Status - no messages to download
+noNewMessages=ไม่มีข้อความใหม่
+
+# Status - messages received after the download
+#LOCALIZATION NOTE : Do not translate %1$S or %2$S in the following line.
+# %1$S will receive the number of messages received
+# %2$S will receive the total number of messages
+receivedMsgs=ได้รับแล้ว %1$S จาก %2$S ข้อความ
+
+# Status - parsing folder
+#LOCALIZATION NOTE (buildingSummary): Do not translate %S in the following line.
+# Place the word %S where the name of the mailbox should appear
+buildingSummary=กำลังสร้างไฟล์บทสรุปสำหรับ %S…
+
+# Status - parsing folder
+localStatusDocumentDone=เสร็จสิ้น
+
+# Status - pop3 server error
+#LOCALIZATION NOTE (pop3ServerError): Do not translate POP3 in the following line.
+pop3ServerError=เกิดข้อผิดพลาดกับเซิร์ฟเวอร์อีเมล POP3
+
+# Status - pop3 user name failed
+pop3UsernameFailure=การส่งชื่อผู้ใช้ไม่สำเร็จ
+
+# Status - password failed
+#LOCALIZATION NOTE (pop3PasswordFailed): Do not translate "%1$S" below.
+# Place the word %1$S where the user name should appear.
+pop3PasswordFailed=การส่งรหัสผ่านสำหรับผู้ใช้ %1$S ไม่สำเร็จ
+
+# Status - write error occurred
+pop3MessageWriteError=ไม่สามารถเขียนอีเมลไปยังกล่องจดหมายได้ ตรวจสอบให้แน่ใจว่าระบบไฟล์อนุญาตสิทธิ์การเขียนให้คุณ และคุณมีเนื้อที่ในดิสก์ไม่เพียพอที่จะคัดลอกกล่องจดหมาย
+
+# Status - retr failure from the server
+pop3RetrFailure=คำสั่ง RETR ไม่สำเร็จ เกิดข้อผิดพลาดในการเรียกข้อมูลข้อความ
+
+# Status - password undefined
+pop3PasswordUndefined=เกิดข้อผิดพลาดในการรับรหัสผ่านจดหมาย
+
+# Status - username undefined
+pop3UsernameUndefined=คุณไม่ได้ระบุชื่อผู้ใช้สำหรับเซิร์ฟเวอร์นี้ โปรดระบุชื่อผู้ใช้ในเมนูการตั้งค่าบัญชีแล้วลองอีกครั้ง
+
+# Status - list failure
+pop3ListFailure=คำสั่ง LIST ไม่สำเร็จ เกิดข้อผิดพลาดในการรับข้อมูล ID และขนาดของข้อความ
+
+# Status - delete error
+pop3DeleFailure=คำสั่ง DELE ไม่สำเร็จ เกิดข้อผิดพลาดในการทำเครื่องหมายข้อความว่าลบแล้ว
+
+# Status - stat failed
+pop3StatFail=คำสั่ง STAT ไม่สำเร็จ เกิดข้อผิดพลาดในการรับข้อมูลเกี่ยวกับจำนวนและขนาดข้อความ
+
+#LOCALIZATION NOTE (pop3ServerSaid): Do not remove the leading space during translation.
+pop3ServerSaid= เซิร์ฟเวอร์จดหมาย %S ตอบว่า:
+
+copyingMessagesStatus=กำลังคัดลอก %S จาก %S ข้อความไปยัง %S
+
+movingMessagesStatus=กำลังย้าย %S จาก %S ข้อความไปยัง %S
+
+# Status - pop3 server or folder busy
+# LOCALIZATION NOTE (pop3ServerBusy): Do not translate the word "%S" below.
+# Place %S where the account name should appear.
+pop3ServerBusy=บัญชี %S กำลังถูกประมวลผล โปรดรอจนกว่าการประมวลผลจะเสร็จสมบูรณ์เพื่อรับข้อความ
+
+movemailCantOpenSpoolFile=ไม่สามารถเปิดไฟล์สปูลจดหมาย %S ได้
+
+movemailCantCreateLock=ไม่สามารถสร้างไฟล์ล็อก %S เพื่อให้สามารถย้ายจดหมายได้ จำเป็นต้องสร้างไฟล์ล็อกในไดเรกทอรีสปูล บนหลายระบบ สิ่งนี้สามารถทำได้ดีที่สุดโดยทำให้ไดเรกทอรีสปูลเป็นโหมด 01777
+
+movemailCantDeleteLock=ไม่สามารถลบไฟล์ล็อก %S ได้
+
+movemailCantTruncateSpoolFile=ไม่สามารถตัดทอนไฟล์สปูล %S ได้
+
+movemailSpoolFileNotFound=ไม่สามารถระบุตำแหน่งที่ตั้งของไฟล์สปูลจดหมายได้
+
+#LOCALIZATION NOTE (movemailCantParseSpool): %S is file name
+movemailCantParseSpool=ไม่สามารถแยกวิเคราะห์ไฟล์สปูล %S ได้ ไฟล์อาจเสียหายหรือไม่ถูกต้อง
+
+pop3TmpDownloadError=มีข้อผิดพลาดในการดาวน์โหลดข้อความดังต่อไปนี้: \nจาก: %S\n หัวเรื่อง: %S\n อาจเป็นเนื่องจากข้อความนี้อาจมีไวรัสหรือมีเนื้อที่ว่างดิสก์ไม่เพียงพอ ต้องการข้ามข้อความนี้หรือไม่?
+
+# Status - the server doesn't support UIDL…
+# LOCALIZATION NOTE(pop3ServerDoesNotSupportUidlEtc): The following sentence should be translated in this way:
+# Do not translate "POP3"
+# Do not translate "%S". Place %S in your translation where the name of the server should appear.
+# Do not translate "UIDL"
+pop3ServerDoesNotSupportUidlEtc=เซิร์ฟเวอร์จดหมาย POP3 (%S) ไม่รองรับ UIDL หรือ XTND XLST ซึ่งจำเป็นต้องใช้ตัวเลือก ``ทิ้งไว้บนเซิร์ฟเวอร์'', ``ขนาดข้อความสูงสุด'' หรือ ``ดึงข้อมูลส่วนหัวเท่านั้น'' หากต้องการดาวน์โหลดจดหมายของคุณ ให้ปิดตัวเลือกเหล่านี้ใน การตั้งค่าเซิร์ฟเวอร์ สำหรับเซิร์ฟเวอร์จดหมายของคุณในหน้าต่าง การตั้งค่าบัญชี
+
+# Status - the server doesn't support the top command
+# LOCALIZATION NOTE(pop3ServerDoesNotSupportTopCommand): The following sentence should be translated in this way:
+# Do not translate "POP3"
+# Do not translate "%S". Place %S in your translation where the name of the server should appear.
+# Do not translate "TOP"
+pop3ServerDoesNotSupportTopCommand=เซิร์ฟเวอร์จดหมาย POP3 (%S) ไม่รองรับคำสั่ง TOP เราไม่สามารถปรับใช้ค่ากำหนด ``ขนาดข้อความสูงสุด'' 'หรือ ``ดึงข้อมูลส่วนหัวเท่านั้น'' ได้ ตัวเลือกนี้ได้ถูกปิดใช้งานและข้อความจะถูกดาวน์โหลดโดยไม่คำนึงถึงขนาด
+
+nsErrorCouldNotConnectViaTls=ไม่สามารถสร้างการเชื่อมต่อ TLS กับเซิร์ฟเวอร์ POP3 ได้ เซิร์ฟเวอร์อาจไม่ทำงานหรืออาจถูกกำหนดค่าอย่างไม่ถูกต้อง โปรดตรวจสอบการกำหนดค่าที่ถูกต้องใน การตั้งค่าเซิร์ฟเวอร์ สำหรับเซิร์ฟเวอร์จดหมายของคุณในหน้าต่าง การตังค่าบัญชี แล้วลองอีกครั้ง
+
+# LOCALIZATION NOTE (pop3MoveFolderToTrash): Do not translate the word %S below.
+# "%S" is the the name of the folder.
+pop3MoveFolderToTrash=คุณแน่ใจหรือไม่ว่าต้องการลบโฟลเดอร์ '%S'?
+
+pop3DeleteFolderDialogTitle=ลบโฟลเดอร์
+
+pop3DeleteFolderButtonLabel=&ลบโฟลเดอร์
+
+pop3AuthInternalError=เกิดข้อผิดพลาดสถานะภายในระหว่างการรับรองความถูกต้องเซิร์ฟเวอร์ POP3 นี่เป็นข้อผิดพลาดภายในที่ไม่คาดคิดในแอปพลิเคชัน โปรดรายงานว่าเป็นข้อบกพร่อง
+
+pop3AuthChangeEncryptToPlainNoSSL=เซิร์ฟเวอร์ POP3 นี้ดูเหมือนจะไม่รองรับรหัสผ่านที่เข้ารหัส หากคุณเพิ่งตั้งค่าบัญชีนี้ โปรดลองเปลี่ยนเป็น 'รหัสผ่านที่ส่งอย่างไม่ปลอดภัย' ใน 'วิธีการรับรองความถูกต้อง' ใน 'การตั้งค่าบัญชี | การตั้งค่าเซิร์ฟเวอร์ ' หากเคยใช้ได้ แต่ตอนนี้ใช้ไม่ได้ นี่อาจแสดงว่ามีใครบางคนขโมยรหัสผ่านของคุณ
+
+pop3AuthChangeEncryptToPlainSSL=เซิร์ฟเวอร์ POP3 นี้ดูเหมือนจะไม่รองรับรหัสผ่านที่เข้ารหัส หากคุณเพิ่งตั้งค่าบัญชีนี้ โปรดลองเปลี่ยนเป็น 'รหัสผ่านปกติ' ใน 'วิธีการรับรองความถูกต้อง' ใน 'การตั้งค่าบัญชี | การตั้งค่าเซิร์ฟเวอร์ ' หากเคยใช้ได้ แต่ตอนนี้ใช้ไม่ได้ โปรดติดต่อผู้ดูแลหรือผู้ให้บริการอีเมลหรือของคุณ
+
+pop3AuthChangePlainToEncrypt=เซิร์ฟเวอร์ POP3 นี้ไม่อนุญาตรหัสผ่านแบบข้อความธรรมดา โปรดลองเปลี่ยนเป็น 'รหัสผ่านที่เข้ารหัส' ใน 'วิธีการรับรองความถูกต้อง' ใน 'การตั้งค่าบัญชี | การตั้งค่าเซิร์ฟเวอร์'
+
+# Authentication server caps and pref don't match
+pop3AuthMechNotSupported=เซิร์ฟเวอร์ไม่รองรับวิธีการรับรองความถูกต้องที่เลือก โปรดเปลี่ยน 'วิธีการรับรองความถูกต้อง' ใน 'การตั้งค่าบัญชี | การตั้งค่าเซิร์ฟเวอร์'
+
+# Status - Could not log in to GSSAPI, and it was the only method
+pop3GssapiFailure=เซิร์ฟเวอร์ POP ไม่ยอมรับตั๋ว Kerberos/GSSAPI โปรดตรวจสอบว่าคุณเข้าสู่ระบบของ Kerberos/GSSAPI
diff --git a/l10n-th/mail/chrome/messenger/mailEditorOverlay.dtd b/l10n-th/mail/chrome/messenger/mailEditorOverlay.dtd
new file mode 100644
index 0000000000..84d9422212
--- /dev/null
+++ b/l10n-th/mail/chrome/messenger/mailEditorOverlay.dtd
@@ -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/. -->
+
+<!ENTITY sendPage.label "ส่งหน้า…">
+<!ENTITY sendPage.accesskey "ส">
diff --git a/l10n-th/mail/chrome/messenger/mailOverlay.dtd b/l10n-th/mail/chrome/messenger/mailOverlay.dtd
new file mode 100644
index 0000000000..b865a4e956
--- /dev/null
+++ b/l10n-th/mail/chrome/messenger/mailOverlay.dtd
@@ -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/. -->
+
+<!ENTITY newMessageCmd2.key "N">
+<!ENTITY newMessageCmd.key "M">
+<!ENTITY newMessageCmd.label "ข้อความ">
+<!ENTITY newMessageCmd.accesskey "ข">
+
+<!ENTITY newContactCmd.label "ผู้ติดต่อของสมุดรายชื่อ…">
+<!ENTITY newContactCmd.accesskey "ผ">
diff --git a/l10n-th/mail/chrome/messenger/mailViewList.dtd b/l10n-th/mail/chrome/messenger/mailViewList.dtd
new file mode 100644
index 0000000000..dfc240fb59
--- /dev/null
+++ b/l10n-th/mail/chrome/messenger/mailViewList.dtd
@@ -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 msgViewPickerOverlay.dtd UI for showing various views on a folder -->
+
+<!ENTITY mailViewListTitle.label "ปรับแต่งมุมมองข้อความ">
diff --git a/l10n-th/mail/chrome/messenger/mailViewSetup.dtd b/l10n-th/mail/chrome/messenger/mailViewSetup.dtd
new file mode 100644
index 0000000000..ef166978cb
--- /dev/null
+++ b/l10n-th/mail/chrome/messenger/mailViewSetup.dtd
@@ -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 msgViewPickerOverlay.dtd UI for showing various views on a folder -->
+
+<!ENTITY mailViewSetupTitle.label "การตั้งค่ามุมมองข้อความ">
+<!ENTITY mailViewHeading.label "ชื่อมุมมองข้อความ:">
+<!ENTITY mailViewHeading.accesskey "ช">
+<!ENTITY searchTermCaption.label "เมื่อเลือกมุมมองนี้แล้ว ให้แสดงเฉพาะข้อความที่:">
diff --git a/l10n-th/mail/chrome/messenger/mailviews.properties b/l10n-th/mail/chrome/messenger/mailviews.properties
new file mode 100644
index 0000000000..9a87084c07
--- /dev/null
+++ b/l10n-th/mail/chrome/messenger/mailviews.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/.
+
+#
+# Mail Views
+#
+
+mailViewPeopleIKnow=คนที่ฉันรู้จัก
+mailViewRecentMail=จดหมายล่าสุด
+mailViewLastFiveDays=5 วันที่ผ่านมา
+mailViewNotJunk=ไม่ใช่ขยะ
+mailViewHasAttachments=มีไฟล์แนบ
diff --git a/l10n-th/mail/chrome/messenger/markByDate.dtd b/l10n-th/mail/chrome/messenger/markByDate.dtd
new file mode 100644
index 0000000000..3308dc40a6
--- /dev/null
+++ b/l10n-th/mail/chrome/messenger/markByDate.dtd
@@ -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/. -->
+
+<!ENTITY messageMarkByDate.label "ทำเครื่องหมายข้อความว่าอ่านแล้วโดยวันที่">
+<!ENTITY markByDateLower.label "ทำเครื่องหมายข้อความว่าอ่านแล้วจาก:">
+<!ENTITY markByDateLower.accesskey "ท">
+<!ENTITY markByDateUpper.label "ถึง:">
+<!ENTITY markByDateUpper.accesskey "ถ">
diff --git a/l10n-th/mail/chrome/messenger/messenger.dtd b/l10n-th/mail/chrome/messenger/messenger.dtd
new file mode 100644
index 0000000000..2694f3dcf6
--- /dev/null
+++ b/l10n-th/mail/chrome/messenger/messenger.dtd
@@ -0,0 +1,973 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!ENTITY titledefault.label "&brandFullName;">
+<!ENTITY titleSeparator.label " - ">
+
+<!-- File Menu -->
+<!ENTITY newFolderCmd.label "โฟลเดอร์…">
+<!ENTITY newFolderCmd.accesskey "ฟ">
+<!ENTITY closeTabCmd2.label "ปิดแท็บ">
+<!ENTITY closeTabCmd2.accesskey "ป">
+<!ENTITY closeOtherTabsCmd2.label "ปิดแท็บอื่น ๆ">
+<!ENTITY closeOtherTabsCmd2.accesskey "ด">
+<!ENTITY recentlyClosedTabsCmd.label "แท็บที่ปิดล่าสุด">
+<!ENTITY recentlyClosedTabsCmd.accesskey "ท">
+
+<!ENTITY undoCloseTabCmd.commandkey "T">
+<!-- LOCALIZATION NOTE (moveToNewWindow.label):
+ Menu option to cause the current tab to be migrated to a new Thunderbird
+ window.
+ -->
+<!ENTITY moveToNewWindow.label "ย้ายไปยังหน้าต่างใหม่">
+<!ENTITY moveToNewWindow.accesskey "ย">
+<!ENTITY newVirtualFolderCmd.label "การค้นหาที่บันทึกไว้…">
+<!ENTITY newVirtualFolderCmd.accesskey "ก">
+<!ENTITY newOtherAccountsCmd.label "บัญชีอื่น ๆ…">
+<!ENTITY newOtherAccountsCmd.accesskey "บ">
+<!ENTITY newCreateEmailAccountCmd.label "รับบัญชีจดหมายใหม่…">
+<!ENTITY newCreateEmailAccountCmd.accesskey "ร">
+<!ENTITY newExistingEmailAccountCmd.label "บัญชีจดหมายที่มีอยู่…">
+<!ENTITY newExistingEmailAccountCmd.accesskey "ญ">
+<!ENTITY newIMAccountCmd.label "บัญชีแชท…">
+<!ENTITY newIMAccountCmd.accesskey "บ">
+<!ENTITY newFeedAccountCmd.label "บัญชีฟีด…">
+<!ENTITY newFeedAccountCmd.accesskey "ช">
+<!ENTITY newIMContactCmd.label "ผู้ติดต่อแชท…">
+<!ENTITY newIMContactCmd.accesskey "ผ">
+<!ENTITY newMessageCmd2.key "N">
+<!ENTITY newMessageCmd.key "M">
+<!ENTITY newMessageCmd.label "ข้อความ">
+<!ENTITY newMessageCmd.accesskey "ข">
+<!ENTITY newContactCmd.label "ผู้ติดต่อของสมุดรายชื่อ…">
+<!ENTITY newContactCmd.accesskey "ผ">
+<!ENTITY openMenuCmd.label "เปิด">
+<!ENTITY openMenuCmd.accesskey "ป">
+<!ENTITY openMessageFileCmd.label "เปิดข้อความที่บันทึกไว้…">
+<!ENTITY openMessageFileCmd.accesskey "ป">
+<!ENTITY saveAsMenu.label "บันทึกเป็น">
+<!ENTITY saveAsMenu.accesskey "บ">
+<!ENTITY saveAsFileCmd.label "ไฟล์">
+<!ENTITY saveAsFileCmd.accesskey "ฟ">
+<!ENTITY saveAsFileCmd.key "s">
+<!ENTITY saveAsTemplateCmd.label "แม่แบบ">
+<!ENTITY saveAsTemplateCmd.accesskey "ม">
+<!ENTITY getNewMsgForCmd.label "รับข้อความใหม่สำหรับ">
+<!ENTITY getNewMsgForCmd.accesskey "ร">
+<!ENTITY getAllNewMsgCmdPopupMenu.label "บัญชีทั้งหมด">
+<!ENTITY getAllNewMsgCmdPopupMenu.accesskey "ท">
+<!ENTITY getNewMsgCurrentAccountCmdPopupMenu.label "บัญชีปัจจุบัน">
+<!ENTITY getNewMsgCurrentAccountCmdPopupMenu.accesskey "ป">
+<!ENTITY getNextNMsgCmd2.label "รับข้อความข่าวถัดไป">
+<!ENTITY getNextNMsgCmd2.accesskey "บ">
+<!ENTITY sendUnsentCmd.label "ส่งข้อความที่ไม่ได้ส่ง">
+<!ENTITY sendUnsentCmd.accesskey "ส">
+<!ENTITY subscribeCmd.label "บอกรับ…">
+<!ENTITY subscribeCmd.accesskey "อ">
+<!ENTITY deleteFolder.label "ลบโฟลเดอร์">
+<!ENTITY deleteFolder.accesskey "ล">
+<!ENTITY renameFolder.label "เปลี่ยนชื่อโฟลเดอร์…">
+<!ENTITY renameFolder.accesskey "เ">
+<!ENTITY renameFolder.key "VK_F2">
+<!ENTITY compactFolders.label "กระชับโฟลเดอร์">
+<!ENTITY compactFolders.accesskey "ก">
+<!ENTITY emptyTrashCmd.label "ล้างข้อมูลในถังขยะ">
+<!ENTITY emptyTrashCmd.accesskey "า">
+<!ENTITY offlineMenu.label "ออฟไลน์">
+<!ENTITY offlineMenu.accesskey "ฟ">
+<!ENTITY offlineGoOfflineCmd.label "ทำงานออฟไลน์">
+<!ENTITY offlineGoOfflineCmd.accesskey "ท">
+<!ENTITY synchronizeOfflineCmd.label "ดาวน์โหลด/ซิงค์เดี๋ยวนี้…">
+<!ENTITY synchronizeOfflineCmd.accesskey "ซ">
+<!ENTITY settingsOfflineCmd2.label "การตั้งค่าออฟไลน์">
+<!ENTITY settingsOfflineCmd2.accesskey "ก">
+<!ENTITY downloadSelectedCmd.label "รับข้อความที่เลือก">
+<!ENTITY downloadSelectedCmd.accesskey "ล">
+<!ENTITY downloadStarredCmd.label "รับข้อความที่ติดดาว">
+<!ENTITY downloadStarredCmd.accesskey "ต">
+<!ENTITY printCmd.label "พิมพ์…">
+<!ENTITY printCmd.accesskey "พ">
+<!ENTITY printCmd.key "p">
+<!ENTITY printPreviewCmd.label "ตัวอย่างก่อนพิมพ์">
+<!ENTITY printPreviewCmd.accesskey "ว">
+<!ENTITY printSetupCmd.label "ตั้งค่าหน้ากระดาษ…">
+<!ENTITY printSetupCmd.accesskey "ง">
+
+<!-- Edit Menu -->
+<!ENTITY deleteMsgCmd.label "ลบข้อความ">
+<!ENTITY deleteMsgCmd.accesskey "ล">
+<!ENTITY undeleteMsgCmd.label "เลิกลบข้อความ">
+<!ENTITY undeleteMsgCmd.accesskey "เ">
+<!ENTITY deleteMsgsCmd.label "ลบข้อความที่เลือก">
+<!ENTITY deleteMsgsCmd.accesskey "ล">
+<!ENTITY undeleteMsgsCmd.label "เลิกลบข้อความที่เลือก">
+<!ENTITY undeleteMsgsCmd.accesskey "เ">
+<!ENTITY deleteFolderCmd.label "ลบโฟลเดอร์">
+<!ENTITY deleteFolderCmd.accesskey "ล">
+<!ENTITY unsubscribeNewsgroupCmd.label "เลิกบอกรับ">
+<!ENTITY unsubscribeNewsgroupCmd.accesskey "เ">
+<!ENTITY selectMenu.label "เลือก">
+<!ENTITY selectMenu.accesskey "อ">
+<!ENTITY all.label "ทั้งหมด">
+<!ENTITY all.accesskey "ท">
+<!ENTITY selectThreadCmd.label "เธรด">
+<!ENTITY selectThreadCmd.accesskey "ธ">
+<!ENTITY selectThreadCmd.key "a">
+<!ENTITY selectFlaggedCmd.label "ข้อความที่ติดดาว">
+<!ENTITY selectFlaggedCmd.accesskey "ต">
+<!ENTITY menuFavoriteFolder.label "โฟลเดอร์โปรด">
+<!ENTITY menuFavoriteFolder.accesskey "ฟ">
+<!ENTITY folderPropsCmd2.label "คุณสมบัติ">
+<!ENTITY folderPropsFolderCmd2.label "คุณสมบัติโฟลเดอร์">
+<!ENTITY folderPropsNewsgroupCmd2.label "คุณสมบัติกลุ่มข่าว">
+<!ENTITY folderPropsCmd.accesskey "ค">
+<!ENTITY undoDeleteMsgCmd.label "เลิกทำการลบข้อความ">
+<!ENTITY redoDeleteMsgCmd.label "ทำซ้ำการลบข้อความ">
+<!ENTITY undoMoveMsgCmd.label "เลิกทำการย้ายข้อความ">
+<!ENTITY redoMoveMsgCmd.label "ทำซ้ำการย้ายข้อความ">
+<!ENTITY undoCopyMsgCmd.label "เลิกทำการคัดลอกข้อความ">
+<!ENTITY redoCopyMsgCmd.label "ทำซ้ำการคัดลอกข้อความ">
+<!ENTITY undoMarkAllCmd.label "เลิกทำการทำเครื่องหมายทั้งหมดว่าอ่านแล้ว">
+<!ENTITY redoMarkAllCmd.label "ทำซ้ำการทำเครื่องหมายทั้งหมดว่าอ่านแล้ว">
+<!ENTITY undoDefaultCmd.label "เลิกทำ">
+<!ENTITY undoDefaultCmd.accesskey "เ">
+<!ENTITY redoDefaultCmd.label "ทำซ้ำ">
+<!ENTITY redoDefaultCmd.accesskey "ท">
+
+<!-- View Menu -->
+<!ENTITY menubarCmd.label "แถบเมนู">
+<!ENTITY menubarCmd.accesskey "ถ">
+<!ENTITY showMessengerToolbarCmd.label "แถบเครื่องมือจดหมาย">
+<!ENTITY showMessengerToolbarCmd.accesskey "ถ">
+<!ENTITY customizeToolbar.label "ปรับแต่ง…">
+<!ENTITY customizeToolbar.accesskey "ป">
+
+<!ENTITY messagePaneLayoutStyle.label "เค้าโครง">
+<!ENTITY messagePaneLayoutStyle.accesskey "ค">
+<!ENTITY messagePaneClassic.label "มุมมองคลาสสิก">
+<!ENTITY messagePaneClassic.accesskey "า">
+<!ENTITY messagePaneWide.label "มุมมองกว้าง">
+<!ENTITY messagePaneWide.accesskey "ก">
+<!ENTITY messagePaneVertical.label "มุมมองแนวตั้ง">
+<!ENTITY messagePaneVertical.accesskey "แ">
+<!ENTITY showFolderPaneCmd.label "บานหน้าต่างโฟลเดอร์">
+<!ENTITY showFolderPaneCmd.accesskey "บ">
+<!ENTITY showFolderPaneColsCmd.label "คอลัมน์บานหน้าต่างโฟลเดอร์">
+<!ENTITY showFolderPaneColsCmd.accesskey "ค">
+<!ENTITY showMessageCmd.label "บานหน้าต่างข้อความ">
+<!ENTITY showMessageCmd.accesskey "ข">
+
+<!ENTITY folderView.label "โฟลเดอร์">
+<!ENTITY folderView.accesskey "โ">
+<!ENTITY unifiedFolders.label "แบบรวม">
+<!ENTITY unifiedFolders.accesskey "ร">
+<!ENTITY allFolders.label "ทั้งหมด">
+<!ENTITY allFolders.accesskey "ท">
+<!ENTITY unreadFolders.label "ยังไม่ได้อ่าน">
+<!ENTITY unreadFolders.accesskey "ย">
+<!ENTITY favoriteFolders.label "รายการโปรด">
+<!ENTITY favoriteFolders.accesskey "โ">
+<!ENTITY recentFolders.label "ล่าสุด">
+<!ENTITY recentFolders.accesskey "ล">
+<!ENTITY compactVersion.label "มุมมองแบบกะทัดรัด">
+<!ENTITY compactVersion.accesskey "ก">
+<!ENTITY folderPaneBar.label "แถบเครื่องมือบานหน้าต่างโฟลเดอร์">
+<!ENTITY folderPaneBar.accesskey "โ">
+
+<!-- Sort Menu -->
+<!ENTITY sortMenu.label "เรียงตาม">
+<!ENTITY sortMenu.accesskey "ร">
+<!ENTITY sortByDateCmd.label "วันที่">
+<!ENTITY sortByDateCmd.accesskey "ว">
+<!ENTITY sortByReceivedCmd.label "วันที่ได้รับ">
+<!ENTITY sortByReceivedCmd.accesskey "ไ">
+<!ENTITY sortByStarCmd.label "ดาว">
+<!ENTITY sortByStarCmd.accesskey "ด">
+<!ENTITY sortByAttachmentsCmd.label "ไฟล์แนบ">
+<!ENTITY sortByAttachmentsCmd.accesskey "แ">
+<!ENTITY sortByPriorityCmd.label "ความสำคัญ">
+<!ENTITY sortByPriorityCmd.accesskey "ค">
+<!ENTITY sortBySizeCmd.label "ขนาด">
+<!ENTITY sortBySizeCmd.accesskey "ข">
+<!ENTITY sortByStatusCmd.label "สถานะ">
+<!ENTITY sortByStatusCmd.accesskey "ส">
+<!ENTITY sortByTagsCmd.label "ป้ายกำกับ">
+<!ENTITY sortByTagsCmd.accesskey "ป">
+<!ENTITY sortByJunkStatusCmd.label "สถานะขยะ">
+<!ENTITY sortByJunkStatusCmd.accesskey "ย">
+<!ENTITY sortBySubjectCmd.label "หัวเรื่อง">
+<!ENTITY sortBySubjectCmd.accesskey "b">
+<!ENTITY sortByFromCmd.label "จาก">
+<!ENTITY sortByFromCmd.accesskey "F">
+<!ENTITY sortByRecipientCmd.label "ผู้รับ">
+<!ENTITY sortByRecipientCmd.accesskey "c">
+<!ENTITY sortByCorrespondentCmd.label "ผู้สื่อสาร">
+<!ENTITY sortByCorrespondentCmd.accesskey "ส">
+<!ENTITY sortByUnreadCmd.label "อ่านแล้ว">
+<!ENTITY sortByUnreadCmd.accesskey "อ">
+<!ENTITY sortByOrderReceivedCmd.label "ลำดับที่ได้รับ">
+<!ENTITY sortByOrderReceivedCmd.accesskey "ล">
+<!ENTITY sortAscending.label "จากน้อยไปมาก">
+<!ENTITY sortAscending.accesskey "น">
+<!ENTITY sortDescending.label "จากมากไปน้อย">
+<!ENTITY sortDescending.accesskey "ม">
+<!ENTITY sortThreaded.label "มีเธรด">
+<!ENTITY sortThreaded.accesskey "ธ">
+<!ENTITY sortUnthreaded.label "ไม่มีเธรด">
+<!ENTITY sortUnthreaded.accesskey "ไ">
+<!ENTITY groupBySort.label "จัดกลุ่มตามการเรียง">
+<!ENTITY groupBySort.accesskey "จ">
+<!ENTITY msgsMenu.label "ข้อความ">
+<!ENTITY msgsMenu.accesskey "ข">
+<!ENTITY threads.label "เธรด">
+<!ENTITY threads.accesskey "ธ">
+<!ENTITY allMsgsCmd.label "ทั้งหมด">
+<!ENTITY allMsgsCmd.accesskey "ท">
+<!ENTITY expandAllThreadsCmd.label "ขยายเธรดทั้งหมด">
+<!ENTITY expandAllThreadsCmd.accesskey "า">
+<!ENTITY expandAllThreadsCmd.key "*">
+<!ENTITY collapseAllThreadsCmd.label "ยุบเธรดทั้งหมด">
+<!ENTITY collapseAllThreadsCmd.accesskey "ย">
+<!ENTITY collapseAllThreadsCmd.key "\">
+<!ENTITY unreadMsgsCmd.label "ยังไม่ได้อ่าน">
+<!ENTITY unreadMsgsCmd.accesskey "U">
+<!ENTITY threadsWithUnreadCmd.label "เธรดที่มีข้อความที่ยังไม่ได้อ่าน">
+<!ENTITY threadsWithUnreadCmd.accesskey "เ">
+<!ENTITY watchedThreadsWithUnreadCmd.label "เธรดที่เฝ้าดูที่มีข้อความที่ยังไม่ได้อ่าน">
+<!ENTITY watchedThreadsWithUnreadCmd.accesskey "ฝ">
+<!ENTITY ignoredThreadsCmd.label "เธรดหัวข้อที่เพิกเฉย">
+<!ENTITY ignoredThreadsCmd.accesskey "ฉ">
+
+<!ENTITY headersMenu.label "ส่วนหัว">
+<!ENTITY headersMenu.accesskey "ส">
+<!ENTITY headersAllCmd.label "ทั้งหมด">
+<!ENTITY headersAllCmd.accesskey "ท">
+<!ENTITY headersNormalCmd.label "ปกติ">
+<!ENTITY headersNormalCmd.accesskey "ป">
+<!ENTITY bodyMenu.label "เนื้อความของข้อความเป็น">
+<!ENTITY bodyMenu.accesskey "น">
+<!ENTITY bodyAllowHTML.label "HTML ดั้งเดิม">
+<!ENTITY bodyAllowHTML.accesskey "ด">
+<!ENTITY bodySanitized.label "HTML แบบง่าย">
+<!ENTITY bodySanitized.accesskey "ง">
+<!ENTITY bodyAsPlaintext.label "ข้อความธรรมดา">
+<!ENTITY bodyAsPlaintext.accesskey "ธ">
+<!ENTITY bodyAllParts.label "ส่วนเนื้อความทั้งหมด">
+<!ENTITY bodyAllParts.accesskey "ท">
+
+<!ENTITY bodyMenuFeed.label "เนื้อความของข้อความฟีดเป็น">
+<!ENTITY bodyMenuFeed.accesskey "น">
+<!ENTITY viewFeedWebPage.label "หน้าเว็บ">
+<!ENTITY viewFeedWebPage.accesskey "ว">
+<!ENTITY viewFeedSummary.label "สรุป">
+<!ENTITY viewFeedSummary.accesskey "ร">
+<!ENTITY viewFeedSummaryFeedPropsPref.label "รูปแบบเริ่มต้น">
+<!ENTITY viewFeedSummaryFeedPropsPref.accesskey "เ">
+
+<!ENTITY viewAttachmentsInlineCmd.label "แสดงไฟล์แนบแบบอินไลน์">
+<!ENTITY viewAttachmentsInlineCmd.accesskey "ฟ">
+
+<!ENTITY pageSourceCmd.label "ซอร์สข้อความ">
+<!ENTITY pageSourceCmd.accesskey "ซ">
+<!ENTITY pageSourceCmd.key "u">
+<!ENTITY getNewMessagesCmd.key "y">
+<!ENTITY getAllNewMessagesCmd.key "Y">
+
+<!-- Search Menu -->
+<!ENTITY findMenu.label "ค้นหา">
+<!ENTITY findMenu.accesskey "ค">
+<!ENTITY findCmd.label "ค้นหาในข้อความนี้…">
+<!ENTITY findCmd.accesskey "ค">
+<!ENTITY findCmd.key "f">
+<!ENTITY findAgainCmd.label "ค้นหาอีกครั้ง">
+<!ENTITY findAgainCmd.accesskey "อ">
+<!ENTITY findAgainCmd.key "g">
+<!ENTITY findAgainCmd.key2 "VK_F3">
+<!ENTITY findPrevCmd.key "g">
+<!ENTITY findPrevCmd.key2 "VK_F3">
+<!ENTITY searchMailCmd.label "ค้นหาข้อความ…">
+<!ENTITY searchMailCmd.accesskey "M">
+<!ENTITY searchMailCmd.key "f">
+<!ENTITY glodaSearchCmd.label "การค้นหาส่วนกลาง…">
+<!ENTITY glodaSearchCmd.accesskey "า">
+<!ENTITY searchAddressesCmd.label "ค้นหาที่อยู่…">
+<!ENTITY searchAddressesCmd.accesskey "ค">
+
+<!-- Go Menu -->
+<!ENTITY goMenu.label "ไป">
+<!ENTITY goMenu.accesskey "ป">
+<!ENTITY nextMenu.label "ถัดไป">
+<!ENTITY nextMenu.accesskey "ถ">
+<!ENTITY nextMsgCmd.label "ข้อความ">
+<!ENTITY nextMsgCmd.accesskey "ข">
+<!ENTITY nextMsgCmd.key "f">
+<!ENTITY nextUnreadMsgCmd.label "ข้อความที่ยังไม่ได้อ่าน">
+<!ENTITY nextUnreadMsgCmd.accesskey "ม">
+<!ENTITY nextUnreadMsgCmd.key "n">
+<!ENTITY nextStarredMsgCmd.label "ข้อความที่ติดดาว">
+<!ENTITY nextStarredMsgCmd.accesskey "ต">
+<!ENTITY nextUnreadThread.label "เธรดที่ยังไม่ได้อ่าน">
+<!ENTITY nextUnreadThread.accesskey "ธ">
+<!ENTITY nextUnreadThread.key "t">
+<!ENTITY prevMenu.label "ก่อนหน้า">
+<!ENTITY prevMenu.accesskey "ก">
+<!ENTITY prevMsgCmd.label "ข้อความ">
+<!ENTITY prevMsgCmd.accesskey "ข">
+<!ENTITY prevMsgCmd.key "b">
+<!ENTITY prevUnreadMsgCmd.label "ข้อความที่ยังไม่ได้อ่าน">
+<!ENTITY prevUnreadMsgCmd.accesskey "ม">
+<!ENTITY prevUnreadMsgCmd.key "p">
+<!ENTITY goForwardCmd.label "เดินหน้า">
+<!ENTITY goForwardCmd.accesskey "ด">
+<!ENTITY goForwardCmd.commandKey "]">
+<!ENTITY goBackCmd.label "ย้อนกลับ">
+<!ENTITY goBackCmd.accesskey "ย">
+<!ENTITY goBackCmd.commandKey "[">
+<!ENTITY goChatCmd.label "แชท">
+<!ENTITY goChatCmd.accesskey "ช">
+<!ENTITY goChatCmd2.key "H">
+<!ENTITY prevStarredMsgCmd.label "ข้อความที่ติดดาว">
+<!ENTITY prevStarredMsgCmd.accesskey "ต">
+<!ENTITY folderMenu.label "โฟลเดอร์">
+<!ENTITY folderMenu.accesskey "ฟ">
+<!ENTITY goRecentlyClosedTabs.label "แท็บที่เพิ่งปิด">
+<!ENTITY goRecentlyClosedTabs.accesskey "พ">
+<!ENTITY startPageCmd.label "หน้าเริ่มต้นจดหมาย">
+<!ENTITY startPageCmd.accesskey "ร">
+
+<!-- Message Menu -->
+<!ENTITY msgMenu.label "ข้อความ">
+<!ENTITY msgMenu.accesskey "ข">
+<!ENTITY newMsgCmd.label "ข้อความใหม่">
+<!ENTITY newMsgCmd.accesskey "ม">
+<!ENTITY newNewMsgCmd.label "ข้อความ">
+<!ENTITY newNewMsgCmd.accesskey "ข">
+<!ENTITY archiveMsgCmd.label "เก็บถาวร">
+<!ENTITY archiveMsgCmd.accesskey "ก">
+<!ENTITY archiveMsgCmd.key "a">
+<!ENTITY cancelNewsMsgCmd.label "ยกเลิกข้อความ">
+<!ENTITY cancelNewsMsgCmd.accesskey "ย">
+<!ENTITY replyMsgCmd.label "ตอบกลับ">
+<!ENTITY replyMsgCmd.accesskey "ต">
+<!ENTITY replyMsgCmd.key "r">
+<!ENTITY replySenderCmd.label "ตอบกลับถึงผู้ส่งเท่านั้น">
+<!ENTITY replySenderCmd.accesskey "ต">
+<!ENTITY replyNewsgroupCmd2.label "ติดตามถึงกลุ่มข่าว">
+<!ENTITY replyNewsgroupCmd2.accesskey "า">
+<!ENTITY replyToAllMsgCmd.label "ตอบกลับถึงทั้งหมด">
+<!ENTITY replyToAllMsgCmd.accesskey "อ">
+<!ENTITY replyToAllMsgCmd.key "r">
+<!ENTITY replyToListMsgCmd.label "ตอบกลับถึงรายการ">
+<!ENTITY replyToListMsgCmd.accesskey "ง">
+<!ENTITY replyToListMsgCmd.key "l">
+<!ENTITY forwardMsgCmd.label "ส่งต่อ">
+<!ENTITY forwardMsgCmd.accesskey "ส">
+<!ENTITY forwardMsgCmd.key "l">
+<!ENTITY forwardAsMenu.label "ส่งต่อเป็น">
+<!ENTITY forwardAsMenu.accesskey "เ">
+<!ENTITY forwardAsInline.label "อินไลน์">
+<!ENTITY forwardAsInline.accesskey "อ">
+<!ENTITY forwardAsAttachmentCmd.label "ไฟล์แนบ">
+<!ENTITY forwardAsAttachmentCmd.accesskey "ฟ">
+<!ENTITY editAsNewMsgCmd.label "แก้ไขเป็นข้อความใหม่">
+<!ENTITY editAsNewMsgCmd.accesskey "ก">
+<!ENTITY editAsNewMsgCmd.key "e">
+<!ENTITY editDraftMsgCmd.label "แก้ไขข้อความฉบับร่าง">
+<!ENTITY editDraftMsgCmd.accesskey "ร">
+<!ENTITY editTemplateMsgCmd.label "แก้ไขแม่แบบ">
+<!ENTITY editTemplateMsgCmd.accesskey "ม">
+<!ENTITY newMsgFromTemplateCmd.label "ข้อความใหม่จากแม่แบบ">
+<!ENTITY newMsgFromTemplateCmd.keycode "VK_RETURN"><!-- do not change "VK_RETURN" -->
+<!ENTITY createFilter.label "สร้างตัวกรองจากข้อความ…">
+<!ENTITY createFilter.accesskey "ส">
+<!ENTITY moveMsgToMenu.label "ย้ายไปยัง">
+<!ENTITY moveMsgToMenu.accesskey "ย">
+<!ENTITY moveCopyMsgRecentMenu.label "ล่าสุด">
+<!ENTITY moveCopyMsgRecentMenu.accesskey "ล">
+<!ENTITY copyMessageLocation.label "คัดลอกตำแหน่งที่ตั้งข้อความ">
+<!ENTITY copyMessageLocation.accesskey "ข">
+<!ENTITY copyMsgToMenu.label "คัดลอกไปยัง">
+<!ENTITY copyMsgToMenu.accesskey "ค">
+<!ENTITY moveToFolderAgain.label "ย้ายอีกครั้ง">
+<!ENTITY moveToFolderAgain.accesskey "อ">
+<!ENTITY moveToFolderAgainCmd.key "m">
+<!ENTITY killThreadMenu.label "เพิกเฉยเธรด">
+<!ENTITY killThreadMenu.accesskey "พ">
+<!ENTITY killThreadMenu.key "k">
+<!ENTITY killSubthreadMenu.label "เพิกเฉยเธรดย่อย">
+<!ENTITY killSubthreadMenu.accesskey "ย">
+<!ENTITY killSubthreadMenu.key "k">
+<!ENTITY watchThreadMenu.label "เฝ้าดูเธรด">
+<!ENTITY watchThreadMenu.accesskey "ฝ">
+<!ENTITY watchThreadMenu.key "w">
+<!ENTITY tagMenu.label "ป้ายกำกับ">
+<!ENTITY tagMenu.accesskey "ป">
+<!ENTITY tagCmd0.key "0">
+<!ENTITY tagCmd1.key "1">
+<!ENTITY tagCmd2.key "2">
+<!ENTITY tagCmd3.key "3">
+<!ENTITY tagCmd4.key "4">
+<!ENTITY tagCmd5.key "5">
+<!ENTITY tagCmd6.key "6">
+<!ENTITY tagCmd7.key "7">
+<!ENTITY tagCmd8.key "8">
+<!ENTITY tagCmd9.key "9">
+<!ENTITY markMenu.label "ทำเครื่องหมาย">
+<!ENTITY markMenu.accesskey "ท">
+<!ENTITY toggleReadCmd.key "m">
+<!ENTITY markAsReadCmd.label "ว่าอ่านแล้ว">
+<!ENTITY markAsReadCmd.accesskey "แ">
+<!ENTITY markAsUnreadCmd.label "ว่ายังไม่ได้อ่าน">
+<!ENTITY markAsUnreadCmd.accesskey "ม">
+<!ENTITY markThreadAsReadCmd.label "ทำเครื่องหมายเธรดว่าอ่านแล้ว">
+<!ENTITY markThreadAsReadCmd.accesskey "ท">
+<!ENTITY markThreadAsReadCmd.key "ค">
+<!ENTITY markReadByDateCmd.label "ว่าอ่านแล้วตามวันที่…">
+<!ENTITY markReadByDateCmd.accesskey "ว">
+<!ENTITY markReadByDateCmd.key "c">
+<!ENTITY markAllReadCmd.label "ทั้งหมดว่าอ่านแล้ว">
+<!ENTITY markAllReadCmd.accesskey "ท">
+<!ENTITY markAllReadCmd.key "c">
+<!ENTITY markStarredCmd.label "เพิ่มดาว">
+<!ENTITY markStarredCmd.accesskey "ด">
+<!ENTITY markStarredCmd.key "S">
+<!ENTITY markAsJunkCmd.label "ว่าเป็นขยะ">
+<!ENTITY markAsJunkCmd.accesskey "ข">
+<!ENTITY markAsJunkCmd.key "j">
+<!ENTITY markAsNotJunkCmd.label "ว่าไม่เป็นขยะ">
+<!ENTITY markAsNotJunkCmd.accesskey "ม">
+<!ENTITY markAsNotJunkCmd.key "j">
+<!ENTITY recalculateJunkScoreCmd.label "เรียกใช้การควบคุมจดหมายขยะ">
+<!ENTITY recalculateJunkScoreCmd.accesskey "ค">
+<!ENTITY openMessageWindowCmd.label "เปิดข้อความ">
+<!ENTITY openMessageWindowCmd.accesskey "ป">
+<!ENTITY openMessageWindowCmd.key "o">
+<!ENTITY openInConversationCmd.label "เปิดในการสนทนา">
+<!ENTITY openInConversationCmd.accesskey "ส">
+<!ENTITY openInConversationCmd.key "o">
+<!ENTITY openAttachmentListCmd.label "ไฟล์แนบ">
+<!ENTITY openAttachmentListCmd.accesskey "ฟ">
+<!ENTITY openFeedMessage1.label "เมื่อเปิดข้อความฟีด">
+<!ENTITY openFeedMessage1.accesskey "ป">
+<!ENTITY openFeedWebPage.label "เปิดเป็นหน้าเว็บ">
+<!ENTITY openFeedWebPage.accesskey "ว">
+<!ENTITY openFeedSummary.label "เปิดเป็นบทสรุป">
+<!ENTITY openFeedSummary.accesskey "ส">
+<!ENTITY openFeedWebPageInMP.label "เปิด/ปิดหน้าเว็บและบทสรุปในบานหน้าต่างข้อความ">
+<!ENTITY openFeedWebPageInMP.accesskey "เ">
+
+<!-- Windows Menu -->
+<!ENTITY windowMenu.label "หน้าต่าง">
+
+<!-- Tools Menu -->
+<!ENTITY tasksMenu.label "เครื่องมือ">
+<!ENTITY tasksMenu.accesskey "ค">
+<!ENTITY messengerCmd.label "จดหมายและกลุ่มข่าว">
+<!ENTITY messengerCmd.accesskey "ก">
+<!ENTITY addressBookCmd.label "สมุดรายชื่อ">
+<!ENTITY addressBookCmd.accesskey "ม">
+<!ENTITY addressBookCmd.key "B">
+<!ENTITY addons.label "ส่วนเสริม">
+<!ENTITY addons.accesskey "ว">
+<!ENTITY addonPrefs.label "ตัวเลือกส่วนเสริม">
+<!ENTITY addonPrefs.accesskey "ต">
+<!ENTITY addonPrefsUnix.label "ค่ากำหนดส่วนเสริม">
+<!ENTITY addonPrefsUnix.accesskey "ค">
+<!ENTITY addonNoPrefs.label "ไม่พบการตั้งค่าส่วนเสริม">
+<!ENTITY activitymanager.label "ตัวจัดการกิจกรรม">
+<!ENTITY activitymanager.accesskey "ก">
+<!ENTITY imAccountsStatus.label "สถานะการแชท">
+<!ENTITY imAccountsStatus.accesskey "ช">
+<!ENTITY imStatus.available "พร้อมใช้งาน">
+<!ENTITY imStatus.unavailable "ไม่พร้อมใช้งาน">
+<!ENTITY imStatus.offline "ออฟไลน์">
+<!ENTITY imStatus.showAccounts "แสดงบัญชี…">
+<!ENTITY joinChatCmd.label "เข้าร่วมแชท…">
+<!ENTITY joinChatCmd.accesskey "ช">
+<!ENTITY savedFiles.label "ไฟล์ที่บันทึกไว้">
+<!ENTITY savedFiles.accesskey "ฟ">
+<!ENTITY savedFiles.key "j">
+<!ENTITY filtersCmd2.label "ตัวกรองข้อความ">
+<!ENTITY filtersCmd2.accesskey "ต">
+<!ENTITY filtersApply.label "เรียกใช้ตัวกรองกับโฟลเดอร์">
+<!ENTITY filtersApply.accesskey "ร">
+<!ENTITY filtersApplyToSelection.label "เรียกใช้ตัวกรองกับข้อความที่เลือก">
+<!ENTITY filtersApplyToSelection.accesskey "เ">
+<!ENTITY filtersApplyToMessage.label "เรียกใช้ตัวกรองกับข้อความ">
+<!ENTITY filtersApplyToMessage.accesskey "เ">
+<!ENTITY runJunkControls.label "เรียกใช้การควบคุมจดหมายขยะกับโฟลเดอร์">
+<!ENTITY runJunkControls.accesskey "ค">
+<!ENTITY deleteJunk.label "ลบจดหมายที่ถูกทำเครื่องหมายว่าเป็นขยะในโฟลเดอร์">
+<!ENTITY deleteJunk.accesskey "ล">
+<!ENTITY importCmd.label "นำเข้า…">
+<!ENTITY importCmd.accesskey "น">
+<!ENTITY clearRecentHistory.label "ล้างประวัติล่าสุด…">
+<!ENTITY clearRecentHistory.accesskey "ป">
+<!ENTITY accountManagerCmd2.label "การตั้งค่าบัญชี">
+<!ENTITY accountManagerCmd2.accesskey "ก">
+<!-- LOCALIZATION NOTE (accountManagerCmdUnix.accesskey):
+ Belongs to accountManagerCmd.label, which is placed under the Edit menu
+ on Unix systems
+ -->
+<!ENTITY accountManagerCmdUnix2.accesskey "บ">
+
+<!-- Developer Tools Submenu -->
+<!ENTITY devtoolsMenu.label "เครื่องมือนักพัฒนา">
+<!ENTITY devtoolsMenu.accesskey "พ">
+<!ENTITY devToolboxCmd.label "กล่องเครื่องมือนักพัฒนา">
+<!ENTITY devToolboxCmd.accesskey "ก">
+<!ENTITY devToolboxCmd.commandkey "i">
+<!ENTITY debugAddonsCmd.label "ดีบั๊กส่วนเสริม">
+<!ENTITY debugAddonsCmd.accesskey "ส">
+<!ENTITY tabsDebugCmd.label "ตัวดีบั๊กเฟรมเนื้อหา">
+<!ENTITY tabsDebugCmd.accesskey "น">
+<!ENTITY errorConsoleCmd.label "คอนโซลข้อผิดพลาด">
+<!ENTITY errorConsoleCmd.accesskey "ข">
+<!ENTITY errorConsoleCmd.commandkey "j">
+
+<!-- Mail Toolbar -->
+<!ENTITY getMsgButton1.label "รับข้อความ">
+<!ENTITY newMsgButton.label "เขียน">
+<!ENTITY replyButton.label "ตอบกลับ">
+<!ENTITY replyAllButton.label "ตอบกลับทั้งหมด">
+<!ENTITY replyListButton.label "ตอบกลับถึงรายการ">
+<!ENTITY forwardButton.label "ส่งต่อ">
+<!ENTITY fileButton.label "ไฟล์">
+<!ENTITY archiveButton.label "เก็บถาวร">
+<!ENTITY openConversationButton.label "การสนทนา">
+<!ENTITY nextButton.label "ถัดไป">
+<!ENTITY nextButtonToolbarItem.label "ถัดไปที่ยังไม่ได้อ่าน">
+<!ENTITY nextMsgButton.label "ถัดไป">
+<!ENTITY previousButton.label "ก่อนหน้า">
+<!ENTITY previousButtonToolbarItem.label "ก่อนหน้าที่ยังไม่ได้อ่าน">
+<!ENTITY previousMsgButton.label "ก่อนหน้า">
+<!ENTITY backButton1.label "ย้อนกลับ">
+<!ENTITY goForwardButton1.label "เดินหน้า">
+<!ENTITY deleteItem.title "ลบ">
+<!ENTITY deleteButton.label "ลบ">
+<!ENTITY undeleteButton.label "เลิกลบ">
+<!ENTITY markButton.label "ทำเครื่องหมาย">
+<!ENTITY printButton.label "พิมพ์">
+<!ENTITY stopButton.label "หยุด">
+<!ENTITY throbberItem.title "ตัวบ่งชี้กิจกรรม">
+<!ENTITY junkItem.title "ขยะ">
+<!ENTITY junkButton.label "ขยะ">
+<!ENTITY notJunkButton.label "ไม่ใช่ขยะ">
+<!ENTITY addressBookButton.label "สมุดรายชื่อ">
+<!ENTITY chatButton.label "แชท">
+<!ENTITY glodaSearch.title "การค้นหาส่วนกลาง">
+<!ENTITY searchItem.title "การค้นหาด่วน">
+<!ENTITY mailViewsToolbarItem.title "มุมมองจดหมาย">
+<!ENTITY folderLocationToolbarItem.title "ตำแหน่งที่ตั้งโฟลเดอร์">
+<!ENTITY tagButton.label "ป้ายกำกับ">
+<!ENTITY compactButton.label "กระชับ">
+<!ENTITY appmenuButton.label "เมนูแอป">
+
+<!-- Mail Toolbar Tooltips-->
+<!ENTITY advancedButton.tooltip "การค้นหาข้อความขั้นสูง">
+<!ENTITY getMsgButton.tooltip "รับข้อความใหม่">
+<!ENTITY getAllNewMsgCmd.label "รับข้อความใหม่ทั้งหมด">
+<!ENTITY getAllNewMsgCmd.accesskey "ร">
+<!ENTITY newMsgButton.tooltip "สร้างข้อความใหม่">
+<!ENTITY replyButton.tooltip "ตอบกลับถึงข้อความ">
+<!ENTITY replyAllButton.tooltip "ตอบกลับถึงผู้ส่งและผู้รับทั้งหมด">
+<!ENTITY replyListButton.tooltip "ตอบกลับถึงรายชื่อผู้รับจดหมาย">
+<!ENTITY forwardButton.tooltip "ส่งต่อข้อความที่เลือก">
+<!ENTITY forwardAsInline.tooltip "ส่งต่อข้อความที่เลือกเป็นข้อความแบบอินไลน์">
+<!ENTITY forwardAsAttachment.tooltip "ส่งต่อข้อความที่เลือกเป็นไฟล์แนบ">
+<!ENTITY fileButton.tooltip "นำข้อความที่เลือกไปยังจุดอื่น">
+<!ENTITY archiveButton.tooltip "เก็บถาวรข้อความที่เลือก">
+<!ENTITY openMsgConversationButton.tooltip "แสดงการสนทนาของข้อความที่เลือก">
+<!ENTITY nextButton.tooltip "ย้ายไปยังข้อความที่ยังไม่ได้อ่านถัดไป">
+<!ENTITY nextMsgButton.tooltip "ย้ายไปยังข้อความถัดไป">
+<!ENTITY previousButton.tooltip "ย้ายไปยังข้อความที่ยังไม่ได้อ่านก่อนหน้า">
+<!ENTITY previousMsgButton.tooltip "ย้ายไปยังข้อความก่อนหน้า">
+<!ENTITY goForwardButton.tooltip "เดินหน้าไปหนึ่งข้อความ">
+<!ENTITY goBackButton.tooltip "ย้อนกลับไปหนึ่งข้อความ">
+<!ENTITY deleteButton.tooltip "ลบข้อความหรือโฟลเดอร์ที่เลือก">
+<!ENTITY undeleteButton.tooltip "เลิกลบข้อความที่เลือก">
+<!ENTITY markButton.tooltip "ทำเครื่องหมายข้อความ">
+<!ENTITY printButton.tooltip "พิมพ์ข้อความนี้">
+<!ENTITY stopButton.tooltip "หยุดการถ่ายโอนปัจจุบัน">
+<!ENTITY junkButton.tooltip "ทำเครื่องหมายข้อความที่เลือกว่าเป็นขยะ">
+<!ENTITY notJunkButton.tooltip "ทำเครื่องหมายข้อความที่เลือกว่าไม่เป็นขยะ">
+<!ENTITY addressBookButton.tooltip "ไปยังสมุดรายชื่อ">
+<!ENTITY chatButton.tooltip "แสดงแท็บแชท">
+<!ENTITY tagButton.tooltip "ติดป้ายกำกับข้อความ">
+<!ENTITY compactButton.tooltip "เอาข้อความที่ถูกลบออกจากโฟลเดอร์ที่เลือก">
+<!ENTITY appmenuButton1.tooltip "แสดงเมนู &brandShortName;">
+<!ENTITY addonsButton.tooltip "จัดการส่วนเสริมของคุณ">
+
+<!-- Toolbar Button Popup -->
+<!ENTITY buttonMenuForwardAsInline.label "ส่งต่อแบบอินไลน์">
+<!ENTITY buttonMenuForwardAsAttachment.label "ส่งต่อเป็นไฟล์แนบ">
+
+<!-- Remote Content Button Popup -->
+<!ENTITY remoteContentOptionsAllowForMsg.label "แสดงเนื้อหาระยะไกลในข้อความนี้">
+<!ENTITY remoteContentOptionsAllowForMsg.accesskey "ส">
+<!ENTITY editRemoteContentSettings.label "แก้ไขตัวเลือกเนื้อหาระยะไกล…">
+<!ENTITY editRemoteContentSettings.accesskey "ก">
+<!ENTITY editRemoteContentSettingsUnix.label "แก้ไขค่ากำหนดเนื้อหาระยะไกล…">
+<!ENTITY editRemoteContentSettingsUnix.accesskey "ก">
+
+<!-- Phishing Button Popup -->
+<!ENTITY phishingOptionIgnore.label "เพิกเฉยคำเตือนสำหรับข้อความนี้">
+<!ENTITY phishingOptionIgnore.accesskey "พ">
+<!ENTITY phishingOptionSettings.label "แก้ไขตัวเลือกการตรวจหาการหลอกลวง…">
+<!ENTITY phishingOptionSettings.accesskey "แ">
+<!ENTITY phishingOptionSettingsUnix.label "แก้ไขค่ากำหนดการตรวจหาการหลอกลวง…">
+<!ENTITY phishingOptionSettingsUnix.accesskey "แ">
+
+<!-- AppMenu Popup -->
+<!ENTITY appmenuNewMsgCmd.label "ข้อความใหม่">
+<!ENTITY appmenuNewContactCmd.label "ผู้ติดต่อของสมุดรายชื่อ…">
+<!ENTITY appmenuEditMenu.label "แก้ไข">
+<!ENTITY appmenuToolbarLayout.label "เค้าโครงแถบเครื่องมือ…">
+<!ENTITY appmenuSelectThread.label "เลือกเธรด">
+<!ENTITY appmenuSelectFlagged.label "เลือกข้อความที่ติดดาว">
+
+<!-- Tags Menu Popup -->
+<!ENTITY addNewTag.label "ป้ายกำกับใหม่…">
+<!ENTITY addNewTag.accesskey "ม">
+<!ENTITY manageTags.label "จัดการป้ายกำกับ…">
+<!ENTITY manageTags.accesskey "จ">
+
+<!-- Folder Pane -->
+<!ENTITY folderNameColumn.label "ชื่อ">
+<!ENTITY folderUnreadColumn.label "ยังไม่ได้อ่าน">
+<!ENTITY folderTotalColumn.label "รวมทั้งหมด">
+<!ENTITY folderSizeColumn.label "ขนาด">
+
+<!-- Folder Pane Context Menu -->
+<!ENTITY folderContextGetMessages.label "รับข้อความ">
+<!ENTITY folderContextGetMessages.accesskey "ร">
+<!ENTITY folderContextMarkAllFoldersRead.label "ทำเครื่องหมายโฟลเดอร์ทั้งหมดว่าอ่านแล้ว">
+<!ENTITY folderContextPauseAllUpdates.label "หยุดการอัปเดตทั้งหมดชั่วคราว">
+<!ENTITY folderContextPauseUpdates.label "หยุดการอัปเดตชั่วคราว">
+<!ENTITY folderContextPauseUpdates.accesskey "ห">
+<!ENTITY folderContextOpenInNewWindow.label "เปิดในหน้าต่างใหม่">
+<!ENTITY folderContextOpenInNewWindow.accesskey "ป">
+<!ENTITY folderContextOpenNewTab.label "เปิดในแท็บใหม่">
+<!ENTITY folderContextOpenNewTab.accesskey "ท">
+<!ENTITY folderContextNew.label "โฟลเดอร์ย่อยใหม่…">
+<!ENTITY folderContextNew.accesskey "ม">
+<!ENTITY folderContextRename.label "เปลี่ยนชื่อ">
+<!ENTITY folderContextRename.accesskey "ป">
+<!ENTITY folderContextRemove.label "ลบ">
+<!ENTITY folderContextRemove.accesskey "ล">
+<!ENTITY folderContextCompact.label "กระชับ">
+<!ENTITY folderContextCompact.accesskey "ก">
+<!ENTITY folderContextEmptyTrash.label "ล้างข้อมูลในถังขยะ">
+<!ENTITY folderContextEmptyTrash.accesskey "า">
+<!ENTITY folderContextEmptyJunk.label "ล้างขยะ">
+<!ENTITY folderContextEmptyJunk.accesskey "ข">
+<!ENTITY folderContextSendUnsentMessages.label "ส่งข้อความที่ไม่ได้ส่ง">
+<!ENTITY folderContextSendUnsentMessages.accesskey "ส">
+<!ENTITY folderContextUnsubscribe.label "เลิกบอกรับ">
+<!ENTITY folderContextUnsubscribe.accesskey "เ">
+<!ENTITY folderContextMarkNewsgroupRead.label "ทำเครื่องหมายกลุ่มข่าวว่าอ่านแล้ว">
+<!ENTITY folderContextMarkNewsgroupRead.accesskey "ง">
+<!ENTITY folderContextMarkMailFolderRead.label "ทำเครื่องหมายโฟลเดอร์ว่าอ่านแล้ว">
+<!ENTITY folderContextMarkMailFolderRead.accesskey "ง">
+<!ENTITY folderContextSubscribe.label "บอกรับ…">
+<!ENTITY folderContextSubscribe.accesskey "บ">
+<!ENTITY folderContextSearchForMessages.label "ค้นหาข้อความ…">
+<!ENTITY folderContextSearchForMessages.accesskey "ค">
+<!ENTITY folderContextProperties2.label "คุณสมบัติ">
+<!ENTITY folderContextProperties2.accesskey "ณ">
+<!ENTITY folderContextFavoriteFolder.label "โฟลเดอร์โปรด">
+<!ENTITY folderContextFavoriteFolder.accesskey "ฟ">
+<!ENTITY folderContextSettings2.label "การตั้งค่า">
+<!ENTITY folderContextSettings2.accesskey "ก">
+
+<!-- Search Bar -->
+<!ENTITY SearchNameOrEmail.label "ชื่อหรืออีเมลมี:">
+<!ENTITY SearchNameOrEmail.accesskey "ช">
+
+<!-- Gloda Search Bar -->
+<!ENTITY glodaSearchBar.placeholder "ค้นหาข้อความ…">
+
+<!-- Quick Search Menu Bar -->
+<!ENTITY searchSubjectMenu.label "หัวเรื่อง">
+<!ENTITY searchFromMenu.label "จาก">
+<!ENTITY searchSubjectOrFromMenu.label "หัวเรื่องหรือจาก">
+<!ENTITY searchRecipient.label "ถึงหรือสำเนาถึง">
+<!ENTITY searchSubjectOrRecipientMenu.label "หัวเรื่อง ถึงหรือสำเนาถึง">
+<!ENTITY searchMessageBody.label "ทั้งข้อความ">
+<!ENTITY saveAsVirtualFolderMenu.label "บันทึกการค้นหาเป็นโฟลเดอร์…">
+
+<!-- Thread Pane -->
+<!ENTITY selectColumn.label "เลือกข้อความ">
+<!ENTITY threadColumn.label "เธรด">
+<!ENTITY fromColumn.label "จาก">
+<!ENTITY recipientColumn.label "ผู้รับ">
+<!ENTITY correspondentColumn.label "ผู้สื่อสาร">
+<!ENTITY subjectColumn.label "หัวเรื่อง">
+<!ENTITY dateColumn.label "วันที่">
+<!ENTITY priorityColumn.label "ความสำคัญ">
+<!ENTITY tagsColumn.label "ป้ายกำกับ">
+<!ENTITY accountColumn.label "บัญชี">
+<!ENTITY statusColumn.label "สถานะ">
+<!ENTITY sizeColumn.label "ขนาด">
+<!ENTITY junkStatusColumn.label "สถานะขยะ">
+<!ENTITY unreadColumn.label "ยังไม่ได้อ่าน">
+<!ENTITY totalColumn.label "รวมทั้งหมด">
+<!ENTITY readColumn.label "อ่านแล้ว">
+<!ENTITY receivedColumn.label "วันที่ได้รับ">
+<!ENTITY starredColumn.label "ที่ติดดาว">
+<!ENTITY locationColumn.label "ตำแหน่งที่ตั้ง">
+<!ENTITY idColumn.label "ลำดับที่ได้รับ">
+<!ENTITY attachmentColumn.label "ไฟล์แนบ">
+
+<!ENTITY deleteColumn.label "ลบ">
+
+<!-- Thread Pane Tooltips -->
+<!ENTITY columnChooser2.tooltip "เลือกคอลัมน์ที่จะแสดง">
+<!ENTITY selectColumn.tooltip "สลับการเลือกข้อความทั้งหมด">
+<!ENTITY threadColumn2.tooltip "แสดงเธรดช้อความ">
+<!ENTITY fromColumn2.tooltip "เรียงตามผู้ส่ง">
+<!ENTITY recipientColumn2.tooltip "เรียงตามผู้รับ">
+<!ENTITY correspondentColumn2.tooltip "เรียงตามผู้สื่อสาร">
+<!ENTITY subjectColumn2.tooltip "เรียงตามหัวเรื่อง">
+<!ENTITY dateColumn2.tooltip "เรียงตามวันที่">
+<!ENTITY priorityColumn2.tooltip "เรียงตามความสำคัญ">
+<!ENTITY tagsColumn2.tooltip "เรียงตามป้ายกำกับ">
+<!ENTITY accountColumn2.tooltip "เรียงตามบัญชี">
+<!ENTITY statusColumn2.tooltip "เรียงตามสถานะ">
+<!ENTITY sizeColumn2.tooltip "เรียงตามขนาด">
+<!ENTITY junkStatusColumn2.tooltip "เรียงตามสถานะขยะ">
+<!ENTITY unreadColumn2.tooltip "จำนวนข้อความที่ยังไม่ได้อ่านในเธรด">
+<!ENTITY totalColumn2.tooltip "จำนวนข้อความทั้งหมดในเธรด">
+<!ENTITY readColumn2.tooltip "เรียงตามที่อ่านแล้ว">
+<!ENTITY receivedColumn2.tooltip "เรียงตามวันที่ได้รับ">
+<!ENTITY starredColumn2.tooltip "เรียงตามดาว">
+<!ENTITY locationColumn2.tooltip "เรียงตามตำแหน่งที่ตั้ง">
+<!ENTITY idColumn2.tooltip "เรียงตามลำดับที่ได้รับ">
+<!ENTITY attachmentColumn2.tooltip "เรียงตามไฟล์แนบ">
+
+<!ENTITY deleteColumn.tooltip "ลบข้อความ">
+
+<!-- Thread Pane Context Menu -->
+<!ENTITY contextNewMsgFromTemplate.label "ข้อความใหม่จากแม่แบบ">
+<!ENTITY contextOpenNewWindow.label "เปิดข้อความในหน้าต่างใหม่">
+<!ENTITY contextOpenNewWindow.accesskey "น">
+<!-- The contextOpenNewTab.accesskey ("T") potentially conflicts with
+ cutCmd.accessKey which is defined in textcontext.dtd from toolkit. Right
+ now, both menu items can't be visible at the same time, but should someone
+ enable copy/paste of message, this key would probably need to be changed. -->
+<!ENTITY contextOpenNewTab.label "เปิดข้อความในแท็บใหม่">
+<!ENTITY contextOpenNewTab.accesskey "ท">
+<!ENTITY contextOpenConversation.label "เปิดข้อความในการสนทนา">
+<!ENTITY contextOpenConversation.accesskey "ส">
+<!ENTITY contextOpenContainingFolder.label "เปิดข้อความในโฟลเดอร์ที่บรรจุ">
+<!ENTITY contextOpenContainingFolder.accesskey "บ">
+<!ENTITY contextEditMsgAsNew.label "แก้ไขเป็นข้อความใหม่">
+<!ENTITY contextEditMsgAsNew.accesskey "ก">
+<!ENTITY contextEditDraftMsg.label "แก้ไขข้อความฉบับร่าง">
+<!ENTITY contextEditTemplate.label "แก้ไขแม่แบบ">
+<!ENTITY contextEditTemplate.accesskey "ม">
+<!ENTITY contextArchive.label "เก็บถาวร">
+<!ENTITY contextArchive.accesskey "ก">
+<!ENTITY contextReplySender.label "ตอบกลับถึงผู้ส่งเท่านั้น">
+<!ENTITY contextReplySender.accesskey "ต">
+<!ENTITY contextReplyNewsgroup2.label "ติดตามถึงกลุ่มข่าว">
+<!ENTITY contextReplyNewsgroup2.accesskey "ถ">
+<!ENTITY contextReplyAll.label "ตอบกลับถึงทั้งหมด">
+<!ENTITY contextReplyAll.accesskey "ท">
+<!ENTITY contextReplyList.label "ตอบกลับถึงรายการ">
+<!ENTITY contextReplyList.accesskey "ร">
+<!ENTITY contextForward.label "ส่งต่อ">
+<!ENTITY contextForward.accesskey "ง">
+<!ENTITY contextForwardAsMenu.label "ส่งต่อเป็น">
+<!ENTITY contextForwardAsMenu.accesskey "ต">
+<!ENTITY contextForwardAsInline.label "อินไลน์">
+<!ENTITY contextForwardAsInline.accesskey "อ">
+<!ENTITY contextForwardAsAttachmentItem.label "ไฟล์แนบ">
+<!ENTITY contextForwardAsAttachmentItem.accesskey "ฟ">
+<!ENTITY contextMultiForwardAsAttachment.label "ส่งต่อเป็นไฟล์แนบ">
+<!ENTITY contextMultiForwardAsAttachment.accesskey "เ">
+<!ENTITY contextMoveMsgMenu.label "ย้ายไปยัง">
+<!ENTITY contextMoveMsgMenu.accesskey "ย">
+<!ENTITY contextMoveCopyMsgRecentMenu.label "ล่าสุด">
+<!ENTITY contextMoveCopyMsgRecentMenu.accesskey "ล">
+<!ENTITY contextMoveCopyMsgFavoritesMenu.label "รายการโปรด">
+<!ENTITY contextMoveCopyMsgFavoritesMenu.accesskey "ร">
+<!ENTITY contextCopyMsgMenu.label "คัดลอกไปยัง">
+<!ENTITY contextCopyMsgMenu.accesskey "ค">
+<!ENTITY contextKillThreadMenu.label "เพิกเฉยเธรด">
+<!ENTITY contextKillSubthreadMenu.accesskey "ย">
+<!ENTITY contextKillThreadMenu.accesskey "ว">
+<!ENTITY contextKillSubthreadMenu.label "เพิกเฉยเธรดย่อย">
+<!ENTITY contextWatchThreadMenu.label "เฝ้าดูเธรด">
+<!-- LOCALIZATION NOTE (contextWatchThreadMenu.accesskey):
+ In the en-US locale we ran out of access keys, so there is an empty access key for
+ Watch Thread. Localizers can pick a suitable key
+ -->
+<!ENTITY contextWatchThreadMenu.accesskey "">
+<!ENTITY contextSaveAs.label "บันทึกเป็น…">
+<!ENTITY contextSaveAs.accesskey "บ">
+<!ENTITY contextPrint.label "พิมพ์…">
+<!ENTITY contextPrint.accesskey "พ">
+<!ENTITY contextPrintPreview.label "ตัวอย่างก่อนพิมพ์">
+<!ENTITY contextPrintPreview.accesskey "ว">
+
+<!-- LOCALIZATION NOTE (columnPicker.applyTo.label):
+ This option in the thread pane column picker pops up a sub-menu containing
+ the "columnPicker.applyToFolder.label" and
+ "columnPicker.applyToFolderAndChildren.label" options. This item indicates
+ a desire to apply the currently displayed set of columns to some other
+ folder(s). The sub-menu items indicate whether we want to apply it to just
+ a folder or also its children.
+ -->
+<!ENTITY columnPicker.applyTo.label "นำคอลัมน์ไปใช้กับ…">
+<!-- LOCALIZATION NOTE (columnPicker.applyToFolder.label):
+ This option in the thread pane column picker is found on a sub-menu beneath
+ the "columnPicker.applyTo.label" alongside
+ "columnPicker.applyToFolderAndChildren.label". It indicates a desire to
+ apply the currently display thread pane column settings to a single folder
+ that the user selects using the same widget as the move to/copy to
+ mechanism (via a series of popups).
+ -->
+<!ENTITY columnPicker.applyToFolder.label "โฟลเดอร์…">
+<!-- LOCALIZATION NOTE (columnPicker.applyToFolderAndChildren.label):
+ This option in the thread pane column picker is found on a sub-menu beneath
+ the "columnPicker.applyTo.label" alongside
+ "columnPicker.applyToFolder.label". It indicates a desire to
+ apply the currently display thread pane column settings to a folder and all
+ of its descendents. The user selects the folder using the same widget as the
+ move to/copy to mechanism (via a series of popups).
+ -->
+<!ENTITY columnPicker.applyToFolderAndChildren.label "โฟลเดอร์และโฟลเดอร์รองที่อยู่ภายใน…">
+<!-- LOCALIZATION NOTE (columnPicker.thisFolder.label):
+ This is used in the folder selection widget for the
+ "columnPicker.applyToFolder.label" and
+ "columnPicker.applyToFolderAndChildren.label" menu options. Whenever
+ a folder has children, it results in a menu popup; the first menu item
+ in that popup is given this label to indicate that that folder should be
+ selected. For example, if folder "A" has two children, "B" and "C", then
+ when the user hovers over "A", a new popup menu will be displayed whose
+ items are "This folder", "B", and "C". This is the equivalent of the
+ "File here" option for the move to/copy to widget.
+ -->
+<!ENTITY columnPicker.thisFolder.label "โฟลเดอร์นี้">
+
+<!-- Media (video/audio) controls -->
+<!ENTITY contextPlay.label "เล่น">
+<!ENTITY contextPlay.accesskey "ล">
+<!ENTITY contextPause.label "หยุดชั่วคราว">
+<!ENTITY contextPause.accesskey "ย">
+<!ENTITY contextMute.label "ปิดเสียง">
+<!ENTITY contextMute.accesskey "ป">
+<!ENTITY contextUnmute.label "เลิกปิดเสียง">
+<!ENTITY contextUnmute.accesskey "ป">
+
+<!-- Quick Search Bar -->
+<!-- LOCALIZATION NOTE (quickSearchCmd.key):
+ This is actually the key used for the global message search box; we have
+ not changed
+ -->
+<!ENTITY quickSearchCmd.key "k">
+<!-- LOCALIZATION NOTE (search.label.base1):
+ This is the base of the empty text for the global search box. We replace
+ #1 with the contents of the appropriate search.keyLabel.* value for the
+ platform.
+ The goal is to convey to the user that typing in the box will allow them
+ to search for messages globally and that there is a hotkey they can press
+ to get to the box faster. If the global indexer is disabled, the search
+ box will be collapsed and the user will never see this message.
+ -->
+<!ENTITY search.label.base1 "ค้นหา #1">
+<!-- LOCALIZATION NOTE (search.keyLabel.nonmac):
+ The description of the key-binding to get into the global search box on
+ windows and linux (which use the control key). We use the key defined in
+ the quickSearchCmd.key entity defined above, the letter should match it.
+ -->
+<!ENTITY search.keyLabel.nonmac "&lt;Ctrl+K&gt;">
+<!-- LOCALIZATION NOTE (search.keyLabel.mac):
+ The description of the key-binding to get into the global search box on mac
+ systems. We use the key defined in the quickSearchCmd.key entity defined
+ above, the letter should match it.
+ -->
+<!ENTITY search.keyLabel.mac "&lt;&#x2318;K&gt;">
+
+<!-- Message Header Context Menu -->
+<!ENTITY AddToAddressBook.label "เพิ่มไปยังสมุดรายชื่อ…">
+<!ENTITY AddToAddressBook.accesskey "ส">
+<!ENTITY AddDirectlyToAddressBook.label "เพิ่มไปยังสมุดรายชื่อ">
+<!ENTITY AddDirectlyToAddressBook.accesskey "ส">
+<!ENTITY EditContact1.label "แก้ไขผู้ติดต่อ">
+<!ENTITY EditContact1.accesskey "ก">
+<!ENTITY ViewContact.label "ดูผู้ติดต่อ">
+<!ENTITY ViewContact.accesskey "ด">
+<!ENTITY SubscribeToNewsgroup.label "บอกรับกลุ่มข่าว">
+<!ENTITY SubscribeToNewsgroup.accesskey "า">
+<!ENTITY SendMessageTo.label "เขียนข้อความไปยัง">
+<!ENTITY SendMessageTo.accesskey "เ">
+<!ENTITY CopyEmailAddress.label "คัดลอกที่อยู่อีเมล">
+<!ENTITY CopyEmailAddress.accesskey "ค">
+<!ENTITY CopyNameAndEmailAddress.label "คัดลอกชื่อและที่อยู่อีเมล">
+<!ENTITY CopyNameAndEmailAddress.accesskey "ช">
+<!ENTITY CopyNewsgroupName.label "คัดลอกชื่อกลุ่มข่าว">
+<!ENTITY CopyNewsgroupName.accesskey "ค">
+<!ENTITY CopyNewsgroupURL.label "คัดลอก URL กลุ่มข่าว">
+<!ENTITY CopyNewsgroupURL.accesskey "ด">
+<!ENTITY CreateFilterFrom.label "สร้างตัวกรองจาก…">
+<!ENTITY CreateFilterFrom.accesskey "จ">
+<!ENTITY reportPhishingURL.label "รายงานการหลอกลวงอีเมล">
+<!ENTITY reportPhishingURL.accesskey "ร">
+
+<!-- Spell checker context menu items -->
+<!ENTITY spellAddDictionaries.label "เพิ่มพจนานุกรม…">
+<!ENTITY spellAddDictionaries.accesskey "พ">
+
+<!-- Content Pane Context Menu -->
+<!ENTITY saveLinkAsCmd.label "บันทึกลิงก์เป็น…">
+<!ENTITY saveLinkAsCmd.accesskey "ง">
+<!ENTITY saveImageAsCmd.label "บันทึกภาพเป็น…">
+<!ENTITY saveImageAsCmd.accesskey "บ">
+<!ENTITY copyLinkCmd.label "คัดลอกตำแหน่งที่ตั้งลิงก์">
+<!ENTITY copyLinkCmd.accesskey "ล">
+<!ENTITY copyImageAllCmd.label "คัดลอกภาพ">
+<!ENTITY copyImageAllCmd.accesskey "ภ">
+<!ENTITY copyEmailCmd.label "คัดลอกที่อยู่อีเมล">
+<!ENTITY copyEmailCmd.accesskey "อ">
+<!ENTITY stopCmd.label "หยุด">
+<!ENTITY stopCmd.accesskey "ห">
+<!ENTITY reloadCmd.label "โหลดใหม่">
+<!ENTITY reloadCmd.accesskey "ใ">
+<!ENTITY openInBrowser.label "เปิดในเบราว์เซอร์">
+<!ENTITY openInBrowser.accesskey "ป">
+<!ENTITY openLinkInBrowser.label "เปิดลิงก์ในเบราว์เซอร์">
+<!ENTITY openLinkInBrowser.accesskey "ป">
+
+<!-- Statusbar -->
+<!ENTITY statusText.label "เสร็จสิ้น">
+
+<!-- Mac OS X Window Menu -->
+<!ENTITY minimizeWindow.label "ย่อ">
+<!ENTITY minimizeWindow.key "m">
+<!ENTITY bringAllToFront.label "นำทั้งหมดมาข้างหน้า">
+<!ENTITY zoomWindow.label "ซูม">
+
+<!-- Mac OS X Application Menu (Cocoa widgets) -->
+<!ENTITY preferencesCmdMac2.label "ค่ากำหนด">
+<!ENTITY preferencesCmdMac.commandkey ",">
+<!ENTITY preferencesCmdMac.modifiers "accel">
+<!ENTITY servicesMenuMac.label "บริการ">
+<!ENTITY hideThisAppCmdMac.label "ซ่อน &brandShortName;">
+<!ENTITY hideThisAppCmdMac.commandkey "H">
+<!ENTITY hideThisAppCmdMac.modifiers "accel">
+<!ENTITY hideOtherAppsCmdMac.label "ซ่อนอื่น ๆ">
+<!ENTITY hideOtherAppsCmdMac.commandkey "H">
+<!ENTITY hideOtherAppsCmdMac.modifiers "accel,alt">
+<!ENTITY showAllAppsCmdMac.label "แสดงทั้งหมด">
+
+<!-- Mac OS X Dock Icon pop-up menu -->
+<!ENTITY dockOptions.label "ตัวเลือกไอคอนแอป…">
+<!ENTITY writeNewMessageDock.label "เขียนข้อความใหม่">
+<!ENTITY openAddressBookDock.label "เปิดสมุดรายชื่อ">
+
+<!-- Content tab Navigation buttons -->
+<!ENTITY browseBackButton.tooltip "ย้อนกลับไปหนึ่งหน้า">
+<!ENTITY browseForwardButton.tooltip "เดินหน้าไปหนึ่งหน้า">
diff --git a/l10n-th/mail/chrome/messenger/messenger.properties b/l10n-th/mail/chrome/messenger/messenger.properties
new file mode 100644
index 0000000000..b399630a00
--- /dev/null
+++ b/l10n-th/mail/chrome/messenger/messenger.properties
@@ -0,0 +1,804 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.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 are used by the messenger application
+#
+
+# LOCALIZATION NOTE(statusMessage):
+# Do not translate the words %1$S and %2$S below. Place the word %1$S where the
+# account name should appear and %2$S where the status message should appear.
+# EXAMPLE: Jim's Account: Downloading messages...
+statusMessage=%1$S: %2$S
+
+removeAccount=ลบบัญชี…
+newFolderMenuItem=โฟลเดอร์…
+newSubfolderMenuItem=โฟลเดอร์ย่อย…
+newFolder=โฟลเดอร์ใหม่…
+newSubfolder=โฟลเดอร์ย่อยใหม่…
+markFolderRead=ทำเครื่องหมายโฟลเดอร์ว่าอ่านแล้ว
+markNewsgroupRead=ทำเครื่องหมายกลุ่มข่าวว่าอ่านแล้ว
+folderProperties=คุณสมบัติโฟลเดอร์
+newTag=ป้ายกำกับใหม่…
+# LOCALIZATION NOTE (getNextNewsMessages): Semi-colon list of plural forms.
+# #1 is the number of news messages to get.
+getNextNewsMessages=รับ #1 ข้อความข่าวถัดไป
+advanceNextPrompt=ไปยังข้อความที่ยังไม่ได้อ่านถัดไปใน %S หรือไม่?
+titleNewsPreHost=บน
+replyToSender=ตอบกลับถึงผู้ส่ง
+reply=ตอบกลับ
+EMLFiles=ไฟล์จดหมาย
+OpenEMLFiles=เปิดข้อความ
+# LOCALIZATION NOTE(defaultSaveMessageAsFileName): Do not translate ".eml"
+# in the line below. Also, the complete file name should be 8.3.
+defaultSaveMessageAsFileName=message.eml
+# LOCALIZATION NOTE(longMsgSubjectTruncator): A suffix string appended to the filename
+# (created from message subject) if it needed to be truncated due to length.
+longMsgSubjectTruncator=...
+SaveMailAs=บันทึกข้อความเป็น
+SaveAttachment=บันทึกไฟล์แนบ
+SaveAllAttachments=บันทึกไฟล์แนบทั้งหมด
+DetachAttachment=แยกไฟล์แนบออก
+DetachAllAttachments=แยกไฟล์แนบทั้งหมดออก
+ChooseFolder=เลือกโฟลเดอร์
+LoadingMessageToPrint=กำลังโหลดข้อความที่จะพิมพ์…
+MessageLoaded=โหลดข้อความแล้ว…
+PrintingMessage=กำลังพิมพ์ข้อความ…
+PrintPreviewMessage=กำลังแสดงตัวอย่างข้อความก่อนพิมพ์…
+PrintingContact=กำลังพิมพ์ผู้ติดต่อ…
+PrintPreviewContact=กำลังแสดงตัวอย่างผู้ติดต่อก่อนพิมพ์…
+PrintingAddrBook=กำลังพิมพ์สมุดรายชื่อ…
+PrintPreviewAddrBook=กำลังแสดงตัวอย่างสมุดรายชื่อก่อนพิมพ์…
+PrintingComplete=เสร็จสิ้น
+PreviewTitle=%S - %S
+LoadingMailMsgForPrint=(กำลังโหลดเนื้อหาสำหรับการพิมพ์)
+LoadingMailMsgForPrintPreview=(กำลังโหลดเนื้อหาสำหรับตัวอย่างก่อนพิมพ์)
+saveAttachmentFailed=ไม่สามารถบันทึกไฟล์แนบ โปรดตรวจสอบชื่อไฟล์ของคุณแล้วลองอีกครั้งในภายหลัง
+saveMessageFailed=ไม่สามารถบันทึกข้อความ โปรดตรวจสอบชื่อไฟล์ของคุณแล้วลองอีกครั้งในภายหลัง
+fileExists=%S มีอยู่แล้ว คุณต้องการแทนที่หรือไม่?
+# LOCALIZATION NOTE(failedToReadFile): %1$S is replaced by the file name, %2$S is replaced by the reason the file load failed.
+failedToReadFile=ไม่สามารถอ่านไฟล์: %1$S เหตุผล: %2$S
+
+downloadingNewsgroups=กำลังดาวน์โหลดกลุ่มข่าวสำหรับการใช้งานออฟไลน์
+downloadingMail=กำลังดาวน์โหลดจดหมายสำหรับการใช้งานออฟไลน์
+sendingUnsent=กำลังส่งข้อความที่ไม่ได้ส่ง
+
+folderExists=โฟลเดอร์ที่มีชื่อนั้นมีอยู่แล้ว โปรดเลือกชื่ออื่น
+# LOCALIZATION NOTE(confirmDuplicateFolderRename): %1$S is name of folder being moved, %2$S is parent folder name, %3$S is proposed new folder name
+confirmDuplicateFolderRename=โฟลเดอร์ย่อยที่มีชื่อ '%1$S' มีอยู่แล้วในโฟลเดอร์ '%2$S' คุณต้องการย้ายโฟลเดอร์นี้โดยใช้ชื่อใหม่ '%3$S' หรือไม่?
+folderCreationFailed=ไม่สามารถสร้างโฟลเดอร์ได้เนื่องจากชื่อโฟลเดอร์ที่คุณระบุมีอักขระที่ไม่รู้จัก โปรดป้อนชื่ออื่นแล้วลองอีกครั้ง
+
+compactingFolder=กำลังกระชับโฟลเดอร์ %S…
+# LOCALIZATION NOTE(compactingDone): %1$S is the compaction gain.
+compactingDone=การบีบอัดเสร็จสมบูรณ์ (ประหยัดไปประมาณ %1$S)
+autoCompactAllFoldersTitle=กระชับโฟลเดอร์
+
+# LOCALIZATION NOTE(autoCompactAllFoldersMsg): %1$S will be replaced by size gain of the compaction (including the unit), %2$S will be replaced by application name
+autoCompactAllFoldersMsg=คุณสามารถล้างข้อมูลของข้อความที่คุณลบออกจากดิสก์ได้ การดำเนินการนี้จะประหยัดพื้นที่ดิสก์ประมาณ %1$S เลือกตัวเลือกด้านล่างเพื่อให้ %2$S ดำเนินการนี้โดยอัตโนมัติโดยไม่ถามคุณ
+autoCompactNeverAskCheckbox=เอาข้อมูลการลบข้อความออกโดยอัตโนมัติโดยไม่ต้องถามฉัน
+proceedButton=&ดำเนินการต่อ
+
+confirmFolderDeletionForFilter=การลบโฟลเดอร์ '%S' จะลบตัวกรองที่เชื่อมโยงทั้งหมด คุณแน่ใจหรือไม่ว่าต้องการลบโฟลเดอร์?
+alertFilterChanged=ตัวกรองที่เชื่อมโยงกับโฟลเดอร์นี้จะถูกอัปเดต
+filterDisabled=ไม่พบโฟลเดอร์ '%S' ดังนั้นตัวกรองที่เชื่อมโยงกับโฟลเดอร์นี้จะถูกปิดใช้งาน ตรวจสอบว่ามีโฟลเดอร์ดังกล่าวอยู่ และตัวกรองนั้นชี้ไปยังโฟลเดอร์ปลายทางที่ถูกต้อง
+filterFolderDeniedLocked=ไม่สามารถกรองข้อความไปยังโฟลเดอร์ '%S' เนื่องจากกำลังดำเนินการอื่นอยู่
+parsingFolderFailed=ไม่สามารถเปิดโฟลเดอร์ %S เนื่องจากถูกใช้งานโดยการดำเนินการอื่น โปรดรอให้การดำเนินการนั้นเสร็จสิ้นแล้วเลือกโฟลเดอร์อีกครั้ง
+deletingMsgsFailed=ไม่สามารถลบข้อความในโฟลเดอร์ %S เนื่องจากถูกใช้งานโดยการดำเนินการอื่น โปรดรอให้การดำเนินการนั้นเสร็จสิ้นแล้วลองอีกครั้ง
+alertFilterCheckbox=ไม่ต้องเตือนฉันอีก
+compactFolderDeniedLock=ไม่สามารถกระชับโฟลเดอร์ '%S' ได้เนื่องจากกำลังดำเนินการอื่นอยู่ โปรดลองใหม่อีกครั้งในภายหลัง
+compactFolderWriteFailed=ไม่สามารถกระชับโฟลเดอร์ '%S' ได้เนื่องจากการเขียนไปยังโฟลเดอร์ล้มเหลว ตรวจสอบว่าคุณมีเนื้อที่ดิสก์เพียงพอ และคุณมีสิทธิ์เขียนไปยังระบบไฟล์ แล้วลองอีกครั้ง
+compactFolderInsufficientSpace=ไม่สามารถกระชับบางโฟลเดอร์ (เช่น '%S') ได้เนื่องจากมีเนื้อที่ว่างในดิสก์ไม่เพียงพอ โปรดลบบางไฟล์แล้วลองอีกครั้ง
+filterFolderHdrAddFailed=ไม่สามารถกรองข้อความไปยังโฟลเดอร์ '%S' ได้เนื่องจากการเพิ่มข้อความล้มเหลว ตรวจสอบว่าโฟลเดอร์แสดงอย่างถูกต้องหรือพยายามซ่อมแซมจากคุณสมบัติโฟลเดอร์
+filterFolderWriteFailed=ไม่สามารถกรองข้อความไปยังโฟลเดอร์ '%S' ได้เนื่องจากการเขียนไปยังโฟลเดอร์ล้มเหลว ตรวจสอบว่าคุณมีพื้นที่ว่างในดิสก์เพียงพอ และคุณมีสิทธิ์ในการเขียนไปยังระบบไฟล์ แล้วลองอีกครั้ง
+copyMsgWriteFailed=ไม่สามารถย้ายหรือคัดลอกข้อความไปยังโฟลเดอร์ '%S' ได้เนื่องจากการเขียนไปยังโฟลเดอร์ล้มเหลว หากต้องการเพิ่มพื้นที่ดิสก์ ก่อนอื่นให้เลือก ล้างถังขยะ จากเมนู ไฟล์ แล้วเลือก กระชับโฟลเดอร์ จากนั้นลองอีกครั้ง
+cantMoveMsgWOBodyOffline=ในขณะที่ทำงานแบบออฟไลน์ คุณจะไม่สามารถย้ายหรือคัดลอกข้อความที่ไม่ได้ดาวน์โหลดเพื่อใช้งานแบบออฟไลน์ได้ จากหน้าต่าง จดหมาย เปิดเมนู ไฟล์ เลือก ออฟไลน์ จากนั้นยกเลิกการกาเครื่องหมาย ทำงานออฟไลน์ แล้วลองอีกครั้ง
+operationFailedFolderBusy=การดำเนินการล้มเหลวเนื่องจากการดำเนินการอื่นกำลังใช้โฟลเดอร์ดังกล่าว โปรดรอให้การดำเนินการนั้นเสร็จสิ้นแล้วลองอีกครั้ง
+folderRenameFailed=ไม่สามารถเปลี่ยนชื่อโฟลเดอร์ได้ อาจเป็นเนื่องจากโฟลเดอร์กำลังถูกแยกวิเคราะห์ใหม่ หรือชื่อใหม่ไม่ใช่ชื่อโฟลเดอร์ที่ถูกต้อง
+# LOCALIZATION NOTE(verboseFolderFormat): %1$S is folder name, %2$S is server name
+verboseFolderFormat=%1$S บน %2$S
+# LOCALIZATION NOTE(filterFolderTruncateFailed): %1$S is replaced by the folder name, %2$S is replaced by the brandShortName
+filterFolderTruncateFailed=มีข้อผิดพลาดในการตัดทอนกล่องจดหมายหลังจากกรองข้อความไปยังโฟลเดอร์ '%1$S' คุณอาจต้องปิดการทำงานของ %2$S และลบ INBOX.msf
+
+mailboxTooLarge=โฟลเดอร %S เต็มและไม่สามารถเก็บข้อความได้อีกต่อไป เพื่อให้มีที่ว่างสำหรับข้อความเพิ่มเติม ให้ลบจดหมายเก่าหรือจดหมายที่ไม่ต้องการใด ๆ และกระชับโฟลเดอร์
+outOfDiskSpace=มีเนื้อที่ในดิสก์ไม่เพียงพอที่จะดาวน์โหลดข้อความใหม่ ลองลบจดหมายเก่า, ล้างข้อมูลในโฟลเดอร์ถังขยะ, และกระชับโฟลเดอร์จดหมายของคุณ แล้วลองอีกครั้ง
+errorGettingDB=ไม่สามารถเปิดไฟล์ข้อมูลสรุปสำหรับ %S เนื่องจากอาจมีข้อผิดพลาดบนดิสก์หรือเส้นทางแบบเต็มยาวเกินไป
+defaultServerTag=(ค่าเริ่มต้น)
+
+# Used in message database list view to provide a text value for graphic based cells.
+messageUnread=ยังไม่ได้อ่าน
+messageHasFlag=ที่ติดดาว
+messageHasAttachment=มีไฟล์แนบ
+messageJunk=ขยะ
+messageExpanded=ขยาย
+messageCollapsed=ยุบ
+
+# Used in the SMTP Account Settings panel when a server value has no properties
+smtpServerList-NotSpecified=<ไม่ได้ระบุ>
+smtpServer-ConnectionSecurityType-0=ไม่มี
+smtpServer-ConnectionSecurityType-1=STARTTLS หากพร้อมใช้งาน
+smtpServer-ConnectionSecurityType-2=STARTTLS
+smtpServer-ConnectionSecurityType-3=SSL/TLS
+smtpServers-confirmServerDeletionTitle=ลบเซิร์ฟเวอร์
+smtpServers-confirmServerDeletion=คุณแน่ใจหรือไม่ว่าต้องการลบเซิร์ฟเวอร์: \n %S?
+
+# Account Settings - Both Incoming and SMTP server
+authNo=ไม่มีการรับรองความถูกต้อง
+authOld=รหัสผ่านแบบวิธีดั้งเดิม (ไม่ปลอดภัย)
+authPasswordCleartextInsecurely=รหัสผ่านที่ส่งอย่างไม่ปลอดภัย
+authPasswordCleartextViaSSL=รหัสผ่านปกติ
+authPasswordEncrypted=รหัสผ่านที่เข้ารหัส
+authKerberos=Kerberos / GSSAPI
+authExternal=ใบรับรอง TLS
+authNTLM=NTLM
+authOAuth2=OAuth2
+authAnySecure=วิธีรักษาความปลอดภัยใด ๆ (ไม่รองรับ)
+authAny=วิธีใด ๆ (ไม่ปลอดภัย)
+
+# OAuth2 window title
+# LOCALIZATION NOTE(oauth2WindowTitle):
+# %1$S is the username (or full email address) used for authentication.
+# %2$S is the hostname of the account being authenticated.
+oauth2WindowTitle=ป้อนข้อมูลประจำตัวสำหรับ %1$S บน %2$S
+
+# LOCALIZATION NOTE(serverType-nntp): Do not translate "NNTP" in the line below
+serverType-nntp=เซิร์ฟเวอร์ข่าว (NNTP)
+# LOCALIZATION NOTE(serverType-pop3): Do not translate "POP" in the line below
+serverType-pop3=เซิร์ฟเวอร์จดหมาย POP
+# LOCALIZATION NOTE(serverType-imap): Do not translate "IMAP" in the line below
+serverType-imap=เซิร์ฟเวอร์จดหมาย IMAP
+serverType-none=ที่เก็บจดหมายในเครื่อง
+# LOCALIZATION NOTE(serverType-movemail): DONT_TRANSLATE
+serverType-movemail=Unix Movemail
+
+sizeColumnTooltip2=เรียงตามขนาด
+sizeColumnHeader=ขนาด
+linesColumnTooltip2=เรียงตามจำนวนบรรทัด
+linesColumnHeader=จำนวนบรรทัด
+
+# LOCALIZATION NOTE (getMsgButtonTooltip): Do not translate the word "%S" below.
+# Place the word "%S" in your translation where the name of the comma separated accounts should appear.
+getMsgButtonTooltip=รับข้อความใหม่สำหรับ %S
+# Used to separate email addresses in a list. Note the trailing space ', '
+getMsgButtonTooltip.listSeparator=,\u0020
+
+# status feedback stuff
+documentDone=
+documentLoading=กำลังโหลดข้อความ…
+
+# LOCALIZATION NOTE (autosyncProgress): Do not translate the word "%1$S" or "%2$S" below.
+# Place the word %1$S in your translation where the name of the comma separated folders should appear.
+# Place the word %2$S in your translation where the name of the comma separated accounts should appear.
+autosyncProgress=กำลังประสานข้อความใน %1$S จาก %2$S…
+
+unreadMsgStatus=ยังไม่ได้อ่าน: %S
+selectedMsgStatus=ถูกเลือก: %S
+totalMsgStatus=รวมทั้งหมด: %S
+
+# localized folder names
+
+localFolders=โฟลเดอร์ภายในเครื่อง
+
+# LOCALIZATION NOTE (inboxFolderName): OK to translate all foldernames, bugzilla #57440 & bugzilla #23625 fixed
+inboxFolderName=กล่องขาเข้า
+trashFolderName=ถังขยะ
+sentFolderName=ที่ส่งแล้ว
+draftsFolderName=ฉบับร่าง
+templatesFolderName=แม่แบบ
+outboxFolderName=กล่องขาออก
+junkFolderName=ขยะ
+archivesFolderName=การเก็บถาวร
+
+# "Normal" priority is often blank,
+# depending on the consumers of these strings
+priorityLowest=ต่ำสุด
+priorityLow=ต่ำ
+priorityNormal=ปกติ
+priorityHigh=สูง
+priorityHighest=สูงสุด
+
+#Group by date thread pane titles
+today=วันนี้
+yesterday=เมื่อวานนี้
+lastWeek=สัปดาห์ที่แล้ว
+last7Days=7 วันที่แล้ว
+twoWeeksAgo=2 สัปดาห์ที่แล้ว
+last14Days=14 วันที่แล้ว
+older=เก่ากว่า
+futureDate=อนาคต
+
+#Grouped By Tags
+untaggedMessages=ข้อความที่ยังไม่ได้ติดป้ายกำกับ
+
+# Grouped by status
+messagesWithNoStatus=ไม่มีสถานะ
+
+#Grouped by priority
+noPriority=ไม่มีความสำคัญ
+
+#Grouped by has attachments
+noAttachments=ไม่มีไฟล์แนบ
+attachments=ไฟล์แนบ
+
+#Grouped by starred
+notFlagged=ยังไม่ได้ติดดาว
+groupFlagged=ติดดาวแล้ว
+
+# defaults descriptions for tag prefs listed in mailnews.js
+# (we keep the .labels. names for backwards compatibility)
+mailnews.tags.remove=เอาป้ายกำกับทั้งหมดออก
+mailnews.labels.description.1=สำคัญ
+mailnews.labels.description.2=ที่ทำงาน
+mailnews.labels.description.3=ส่วนบุคคล
+mailnews.labels.description.4=สิ่งที่ต้องทำ
+mailnews.labels.description.5=ภายหลัง
+
+# Format definition tag menu texts.
+# This is necessary in order to get the accesskeys to be the on the first
+# character of the menu text instead of after the menu text.
+# If a key definition exists for the tag at index n, that key's key will be
+# taken as the accesskey, eg.
+# <key id="key_tag3" key="&tagCmd3.key;" oncommand="ToggleMessageTagKey(3);"/>
+# makes the third tag have the accesskey &tagCmd3.key;.
+# In the menuitem's label, this accesskey appears at %1$S below; %2$S will be
+# replaced by the tag label.
+mailnews.tags.format=%1$S %2$S
+
+replied=ตอบกลับแล้ว
+forwarded=ส่งต่อแล้ว
+new=ใหม่
+read=อ่านแล้ว
+flagged=ติดดาวแล้ว
+
+# for junk status picker in search and mail views
+junk=ขยะ
+
+# for junk score origin picker in search and mail views
+junkScoreOriginPlugin=ปลั๊กอิน
+junkScoreOriginFilter=ตัวกรอง
+junkScoreOriginWhitelist=รายการที่อนุญาต
+junkScoreOriginUser=ผู้ใช้
+junkScoreOriginImapFlag=ค่าสถานะ IMAP
+
+# for the has attachment picker in search and mail views
+hasAttachments=มีไฟล์แนบ
+
+# for the Tag picker in search and mail views.
+tag=ป้ายกำกับ
+
+# LOCALIZATION NOTE(andOthers):
+# for multiple authors, add this abbreviation to the first author to indicate
+# there are more; for the From column in the threadpane message list.
+andOthers=ฯลฯ
+
+# mailnews.js
+mailnews.send_default_charset=UTF-8
+mailnews.view_default_charset=ISO-8859-1
+
+# whether to generate display names in last first order
+# LOCALIZATION NOTE(mail.addr_book.displayName.lastnamefirst):
+# the only valid values are: true OR false (choose from the untranslated English words)
+mail.addr_book.displayName.lastnamefirst=false
+
+# whether to also show phonetic fields in the addressbook
+# LOCALIZATION NOTE(mail.addr_book.show_phonetic_fields):
+# the only valid values are: true OR false (choose from the untranslated English words)
+mail.addr_book.show_phonetic_fields=false
+
+# valid format options are:
+# 1: yyyy/mm/dd
+# 2: yyyy/dd/mm
+# 3: mm/dd/yyyy
+# 4: mm/yyyy/dd
+# 5: dd/mm/yyyy
+# 6: dd/yyyy/mm
+#
+# 0: auto-detect the current locale format
+# a separator has to be either '/', '-', '.' and the year in Christian year
+# otherwise mm/dd/yyyy (option 3) is used
+#
+mailnews.search_date_format=0
+# separator for search date (e.g. "/", "-"), or empty when search_date_format is zero
+mailnews.search_date_separator=
+# leading zeros for day and month values, not used if mailnews.search_date_format is not zero
+mailnews.search_date_leading_zeros=true
+
+# offline msg
+nocachedbodybody2=เนื้อความของข้อความนี้ไม่ได้รับการดาวน์โหลดจาก \
+เซิร์ฟเวอร์สำหรับอ่านออฟไลน์ หากต้องการอ่านข้อความนี้ \
+คุณต้องเชื่อมต่อกับเครือข่ายอีกครั้ง เลือก ออฟไลน์ จาก \
+เมนู ไฟล์ แล้วยกเลิกการกาเครื่องหมาย ทำงานออฟไลน์ \
+ในอนาคต คุณสามารถเลือกข้อความหรือโฟลเดอร์ที่จะอ่านแบบออฟไลน์ หากต้องการ \
+ดำเนินการนี้ ให้เลือก ออฟไลน์ จากเมนูไฟล์แล้วเลือก ดาวน์โหลด/ประสานทันที \
+คุณสามารถปรับค่ากำหนด เนื้อที่ว่างดิสก์ เพื่อป้องกันไม่ให้ดาวน์โหลดข้อความ \
+ที่มีขนาดใหญ่ได้
+
+# LOCALIZATION NOTE(acctCentralTitleFormat): %1$S is brand, %2$S is account type, %3$S is account name
+acctCentralTitleFormat=%2$S %1$S - %3$S
+mailAcctType=จดหมาย
+newsAcctType=ข่าว
+feedsAcctType=ฟีด
+
+# LOCALIZATION NOTE(nocachedbodytitle): Do not translate "<TITLE>" or "</TITLE>" in the line below
+nocachedbodytitle=<TITLE>ไปดูข้อความนี้ออนไลน์</TITLE>\n
+
+# mailWindowOverlay.js
+confirmUnsubscribeTitle=ยืนยันการเลิกบอกรับ
+confirmUnsubscribeText=คุณแน่ใจหรือไม่ว่าต้องการเลิกบอกรับ %S?
+confirmUnsubscribeManyText=คุณแน่ใจหรือไม่ว่าต้องการเลิกบอกรับกลุ่มข่าวเหล่านี้?
+restoreAllTabs=เรียกคืนแท็บทั้งหมด
+
+confirmMarkAllFoldersReadTitle=ทำเครื่องหมายโฟลเดอร์ทั้งหมดว่าอ่านแล้ว
+confirmMarkAllFoldersReadMessage=คุณแน่ใจหรือไม่ว่าต้องการทำเครื่องหมายข้อความทั้งหมดในโฟลเดอร์ทั้งหมดของบัญชีนี้ว่าอ่านแล้ว?
+
+# LOCALIZATION NOTE(junkBarMessage): %S is brand
+junkBarMessage=%S คิดว่าข้อความนี้เป็นจดหมายขยะ
+junkBarButton=ไม่ใช่ขยะ
+junkBarButtonKey=ม
+junkBarInfoButton=เรียนรู้เพิ่มเติม
+junkBarInfoButtonKey=ร
+
+# LOCALIZATION NOTE(remoteContentBarMessage): %S is brand
+remoteContentBarMessage=เพื่อปกป้องความเป็นส่วนตัวของคุณ %S ได้ปิดกั้นเนื้อหาระยะไกลในข้อความนี้
+remoteContentPrefLabel=ตัวเลือก
+remoteContentPrefAccesskey=ต
+remoteContentPrefLabelUnix=ค่ากำหนด
+remoteContentPrefAccesskeyUnix=ค
+
+# LOCALIZATION NOTE(remoteAllowResource): %S is origin
+remoteAllowResource=อนุญาตเนื้อหาระยะไกลจาก %S
+# LOCALIZATION NOTE(remoteAllowAll): Semi-colon list of plural forms.
+# See: https://developer.mozilla.org/en/Localization_and_Plurals
+# #1 is the number of origins
+remoteAllowAll=อนุญาตเนื้อหาระยะไกลจาก #1 ที่มาที่ระบุไว้ด้านบน
+
+phishingBarMessage=ข้อความนี้อาจเป็นการหลอกลวง
+phishingBarPrefLabel=ตัวเลือก
+phishingBarPrefAccesskey=ต
+phishingBarPrefLabelUnix=ค่ากำหนด
+phishingBarPrefAccesskeyUnix=ค
+
+mdnBarIgnoreButton=เพิกเฉยคำขอ
+mdnBarIgnoreButtonKey=พ
+mdnBarSendReqButton=ส่งการแจ้งเตือนการเปิดอ่าน
+mdnBarSendReqButtonKey=ส
+
+draftMessageMsg=นี่เป็นข้อความฉบับร่าง
+draftMessageButton=แก้ไข
+draftMessageButtonKey=ก
+
+# msgHdrViewOverlay.js
+openLabel=เปิด
+openLabelAccesskey=ป
+saveLabel=บันทึกเป็น…
+saveLabelAccesskey=เ
+detachLabel=แยกออก…
+detachLabelAccesskey=ย
+deleteLabel=ลบ
+deleteLabelAccesskey=ล
+openFolderLabel=เปิดโฟลเดอร์ที่บรรจุ
+openFolderLabelAccesskey=ด
+deleteAttachments=ไฟล์แนบดังต่อไปนี้จะถูกลบจากข้อความนี้อย่างถาวร:\n%S\nการกระทำนี้ไม่สามารถเลิกทำได้ คุณต้องการดำเนินการต่อหรือไม่?
+detachAttachments=ไฟล์แนบดังต่อไปนี้ได้ถูกบันทึกสำเร็จแล้วและจะถูกลบจากข้อความนี้อย่างถาวร:\n%S\nการกระทำนี้ไม่สามารถเลิกทำได้ คุณต้องการดำเนินการต่อหรือไม่?
+deleteAttachmentFailure=ไม่สามารถลบไฟล์แนบที่เลือก
+emptyAttachment=ไฟล์แนบนี้ดูเหมือนจะว่างเปล่า\nโปรดตรวจสอบกับผู้ที่ส่งไฟล์แนบนี้\nไฟร์วอลล์ของบริษัทหรือโปรแกรมป้องกันไวรัสมักจะทำลายไฟล์แนบ
+externalAttachmentNotFound=ไม่พบไฟล์ที่แยกออกหรือไฟล์แนบลิงก์นี้หรือไม่สามารถเข้าถึงได้ที่ตำแหน่งที่ตั้งนี้อีกต่อไป
+
+# LOCALIZATION NOTE (attachmentCount): Semi-colon list of plural forms.
+# See: https://developer.mozilla.org/en/Localization_and_Plurals
+# #1 number of attachments
+attachmentCount=#1 ไฟล์แนบ
+
+# LOCALIZATION NOTE (attachmentCountSingle): This is the format for the
+# attachment header when a message has only one attachment. This is separate
+# from attachmentCount above, since attachmentCountSingle typically ends with a
+# colon.
+attachmentCountSingle=1 ไฟล์แนบ:
+
+# LOCALIZATION NOTE (attachmentSizeUnknown): The string to show for the total
+# size of all attachments when none of the attachments' sizes can be detected.
+attachmentSizeUnknown=ไม่ทราบขนาด
+
+# LOCALIZATION NOTE (attachmentSizeAtLeast): The string to show for the total
+# size of all attachments when at least one (but not all) of the attachments'
+# sizes can't be detected. %1$S is the formatted size.
+attachmentSizeAtLeast=อย่างน้อย %1$S
+
+# This is the format for prepending accesskeys to the
+# each of the attachments in the file|attachments menu:
+# ie: 1 file.txt
+# 2 another file.txt
+attachmentDisplayNameFormat=%S %S
+
+# This is the heading for the attachment summary when printing an email
+attachmentsPrintHeader=ไฟล์แนบ:
+
+# Connection Error Messages
+# LOCALIZATION NOTE(unknownHostError): %S is the server name
+unknownHostError=ไม่สามารถเชื่อมต่อไปยังเซิร์ฟเวอร์ %S
+# LOCALIZATION NOTE(connectionRefusedError): %S is the server name
+connectionRefusedError=ไม่สามารถเชื่อมต่อไปยังเซิร์ฟเวอร์ %S เนื่องจากการเชื่อมต่อถูกปฏิเสธ
+# LOCALIZATION NOTE(netTimeoutError): %S is the server name
+netTimeoutError=การเชื่อมต่อไปยังเซิร์ฟเวอร์ %S หมดเวลา
+# LOCALIZATION NOTE(netResetError): %S is the server name
+netResetError=การเชื่อมต่อไปยังเซิร์ฟเวอร์ %S ถูกรีเซ็ต
+# LOCALIZATION NOTE(netInterruptError): %S is the server name
+netInterruptError=การเชื่อมต่อไปยังเซิร์ฟเวอร์ %S ถูกขัดจังหวะ
+
+recipientSearchCriteria=หัวเรื่องหรือผู้รับมี:
+fromSearchCriteria=หัวเรื่องหรือจากมี:
+
+# LOCALIZATION NOTE(biffNotification): %1$S is the number of new messages
+biffNotification_message=มี %1$S ข้อความใหม่
+biffNotification_messages=มี %1$S ข้อความใหม่
+
+# LOCALIZATION NOTE(newMailNotification_message): %1$S is the name of the account %2$S is the number of new messages
+newMailNotification_message=%1$S ได้รับ %2$S ข้อความใหม่
+
+# LOCALIZATION NOTE(newMailNotification_messages): %1$S is the name of the account %2$S is the number of new messages
+newMailNotification_messages=%1$S ได้รับ %2$S ข้อความใหม่
+
+# LOCALIZATION NOTE(newMailNotification_messagetitle): %1$S is subject of new message and %2$S is sender of new message.
+# This is UNIX only
+newMailNotification_messagetitle=%1$S จาก %2$S
+
+# LOCALIZATION NOTE(newMailAlert_message):
+# Semi-colon list of plural forms. See:
+# https://developer.mozilla.org/en/docs/Localization_and_Plurals
+# #1 is the name of the account, #2 is the number of new messages
+newMailAlert_message=#1 ได้รับ #2 ข้อความใหม่
+
+# LOCALIZATION NOTE(macBiffNotification is Mac only):
+# %1$S is the number of new messages
+# %2$S is a list of names and/or email addresses separated by biffNotification_separator
+# %3$S is the number of new messages not displayed in the biff alert
+macBiffNotification_message=%1$S ข้อความใหม่จาก %2$S
+macBiffNotification_messages=%1$S ข้อความใหม่จาก %2$S
+macBiffNotification_messages_extra=%1$S ข้อความใหม่จาก %2$S และเพิ่มเติมอีก %3$S
+# Used to separate names/email addresses in a list. Note the trailing space ', '
+macBiffNotification_separator=,\u0020
+
+# For the Quota tab in the mail folder properties dialog
+quotaPercentUsed=เต็มแล้ว %S%%
+# for quota in main window (commandglue.js)
+percent=%S%%
+
+quotaTooltip2=โควตา IMAP: ใช้ไป %S จากทั้งหมด %S คลิกเพื่อดูรายละเอียด
+
+# for message views
+confirmViewDeleteTitle=ยืนยัน
+confirmViewDeleteMessage=คุณแน่ใจหรือไม่ว่าต้องการจะลบมุมมองนี้?
+
+# for virtual folders
+confirmSavedSearchTitle=ยืนยันการลบ
+confirmSavedSearchDeleteMessage=คุณแน่ใจหรือไม่ว่าต้องการจะลบการค้นหาที่บันทึกไว้นี้?
+
+## @name ENTER_PASSWORD_PROMPT
+## @loc None
+# LOCALIZATION NOTE (passwordPrompt): Do not translate the word %S below.
+# Place the word "%S" in your translation where the email address
+# or the username should appear
+passwordPrompt=ป้อนรหัสผ่านของคุณสำหรับ %1$S บน %2$S:
+
+## @name ENTER_PASSWORD_PROMPT_TITLE
+## @loc None
+passwordTitle=จำเป็นต้องกรอกรหัสผ่านเซิร์ฟเวอร์จดหมาย
+
+# for checking if the user really wants to open lots of messages in separate windows.
+openWindowWarningTitle=ยืนยัน
+# LOCALIZATION NOTE (openWindowWarningConfirmation): Semi-colon list of plural forms.
+# #1 is the number of messages the user is attempting to open.
+openWindowWarningConfirmation=การเปิด #1 ข้อความอาจช้า ดำเนินการต่อหรือไม่?
+
+# for checking if the user really wants to open lots of messages in tabs.
+openTabWarningTitle=ยืนยัน
+# LOCALIZATION NOTE (openTabWarningConfirmation): Semi-colon list of plural forms.
+# #1 is the number of messages the user is attempting to open.
+openTabWarningConfirmation=การเปิด #1 ข้อความอาจช้า ดำเนินการต่อหรือไม่?
+
+# for warning the user that a tag they're trying to create already exists
+tagExists=มีป้ายกำกับชื่อนี้แล้ว
+
+# title of the edit tag dialog
+editTagTitle=แก้ไขป้ายกำกับ
+
+# for the virtual folder list dialog title
+# %S is the name of the saved search folder
+editVirtualFolderPropertiesTitle=แก้ไขคุณสมบัติการค้นหาที่บันทึกไว้สำหรับ %S
+# LOCALIZATION NOTE (foldersChosen): #1 number of chosen folders
+virtualFolderSourcesChosen=เลือกแล้ว #1 โฟลเดอร์
+
+#alert to inform the user to choose one or more folders to search for a saved search folder
+alertNoSearchFoldersSelected=คุณต้องเลือกอย่างน้อยหนึ่งโฟลเดอร์เพื่อค้นหาโฟลเดอร์การค้นหาที่บันทึกไว้
+
+# These are displayed in the message and folder pane windows
+# LOCALIZATION NOTE %.*f is the abbreviated size in the appropriate units
+byteAbbreviation2=%.*f ไบต์
+kiloByteAbbreviation2=%.*f KB
+megaByteAbbreviation2=%.*f MB
+gigaByteAbbreviation2=%.*f GB
+
+teraByteAbbreviation2=%.*f TB
+petaByteAbbreviation2=%.*f PB
+
+## LOCALIZATION NOTE(folderWithAccount):
+## This is used to show folder name together with an account name.
+## %1$S = folder name
+## %2$S = account name
+folderWithAccount=%1$S - %2$S
+## LOCALIZATION NOTE(folderWithUnreadMsgs):
+## This is a concatenation of two strings to compose a folder label with unread messages.
+## %1$S = folder name
+## %2$S = count of unread messages
+folderWithUnreadMsgs=%1$S (%2$S)
+## LOCALIZATION NOTE(summarizedValue):
+## This string shows an indication that the value shown is actually a summary
+## accumulated from all subfolders.
+## %S = summarized value from all subfolders
+folderSummarizedSymbolValue=▾%S
+## LOCALIZATION NOTE(subfoldersExplanation):
+## This is a tooltip message shown on the values in the numeric folder pane columns.
+## %1$S = is the count of messages having the respective property, found in the folder under mouse cursor
+## %2$S = is the count of messages having the respective property, found in subfolders of the folder under mouse cursor
+subfoldersExplanation=%1$S ในโฟลเดอร์นี้, %2$S ในโฟลเดอร์ย่อย
+
+# Error message if message for a message id wasn't found
+errorOpenMessageForMessageIdTitle=มีข้อผิดพลาดในการเปิด message-id
+errorOpenMessageForMessageIdMessage=ไม่พบข้อความสำหรับ message-id %S
+
+# Warnings to alert users about phishing urls
+confirmPhishingTitle=คำเตือนการหลอกลวงอีเมล
+linkMismatchTitle=ตรวจพบลิงก์ที่ไม่ตรงกัน
+#LOCALIZATION NOTE %1$S is the brand name, %2$S is the host name of the url being visited
+confirmPhishingUrl=%1$S คิดว่าข้อความนี้เป็นการหลอกลวง ลิงก์ในข้อความอาจพยายามเลียนแบบหน้าเว็บที่คุณต้องการเข้าชม คุณแน่ใจหรือไม่ว่าต้องการเยี่ยมชม %2$S?
+#LOCALIZATION NOTE %1$S is the host name of indicated host, %2$S is the host name of the actual host.
+confirmPhishingUrlAlternate=ลิงก์ที่คุณเพิ่งคลิกดูเหมือนจะนำไปสู่เว็บไซต์อื่นนอกเหนือจากที่ระบุไว้ในข้อความลิงก์ บางครั้งสิ่งนี้ใช้สำหรับการติดตามว่าคุณคลิกลิงก์ แต่อาจเป็นการหลอกลวงเช่นกัน\n\nข้อความลิงก์ระบุว่าลิงก์จะนำไปยัง %1$S แต่นำไปยัง %2$S
+#LOCALIZATION NOTE $1$S is the host name of the indicated host.
+confirmPhishingGoAhead=ไปยัง %1$S ต่อไป
+#LOCALIZATION NOTE %1$S is the host name that was displayed to the user.
+confirmPhishingGoDirect=ไปยัง %S
+
+# Check for Updates
+# LOCALIZATION NOTE (updatesItem_*): these are alternative labels for Check for Update item in Help menu.
+# Which one is used depends on Update process state.
+updatesItem_default=ตรวจสอบการอัปเดต…
+updatesItem_defaultFallback=ตรวจสอบการอัปเดต…
+updatesItem_default.accesskey=ต
+updatesItem_downloading=กำลังดาวน์โหลด %S…
+updatesItem_downloadingFallback=กำลังดาวน์โหลดการอัปเดต…
+updatesItem_downloading.accesskey=ด
+updatesItem_resume=ดาวน์โหลด %S ต่อ…
+updatesItem_resumeFallback=ดาวน์โหลดการอัปเดตต่อ…
+updatesItem_resume.accesskey=ด
+updatesItem_pending=นำการอัปเดตที่ดาวน์โหลดแล้วไปใช้ตอนนี้…
+updatesItem_pendingFallback=นำการอัปเดตที่ดาวน์โหลดแล้วไปใช้ตอนนี้…
+updatesItem_pending.accesskey=น
+
+# Folder Pane Header Title Strings
+folderPaneModeHeader_all=โฟลเดอร์ทั้งหมด
+folderPaneModeHeader_unread=โฟลเดอร์ที่ยังไม่ได้อ่าน
+folderPaneModeHeader_unread_compact=โฟลเดอร์ที่ยังไม่ได้อ่าน - มุมมองแบบกะทัดรัด
+folderPaneModeHeader_favorite=โฟลเดอร์โปรด
+folderPaneModeHeader_favorite_compact=โฟลเดอร์โปรด - มุมมองแบบกะทัดรัด
+folderPaneModeHeader_recent=โฟลเดอร์ล่าสุด
+folderPaneModeHeader_recent_compact=โฟลเดอร์ล่าสุด - มุมมองแบบกะทัดรัด
+folderPaneModeHeader_smart=โฟลเดอร์แบบรวม
+unifiedAccountName=โฟลเดอร์แบบรวม
+
+# Copy / Move to Folder Again
+#LOCALIZATION NOTE %1$S is the name of the folder we will move to. moveToFolderAgainAccessKey
+# should have the same value as copyToFolderAgainAccessKey as they are the same menu item in the UI
+# moveToFolderAgainAccessKey should also be a letter that occurs before %1$S
+moveToFolderAgain=ย้ายไปยัง "%1$S" อีกครั้ง
+moveToFolderAgainAccessKey=ป
+#LOCALIZATION NOTE %1$S is the name of the folder we will copy to
+# copyToFolderAgainAccessKey
+# should have the same value as moveToFolderAgainAccessKey as they are the same menu item in the UI
+# copyToFolderAgainAccessKey should also be a letter that occurs before %1$S
+copyToFolderAgain=คัดลอกไปยัง "%1$S" อีกครั้ง
+copyToFolderAgainAccessKey=ป
+
+#LOCALIZATION NOTE(mdnBarMessageNormal) %1$S is the name of the sender
+mdnBarMessageNormal=%1$S ได้ขอให้แจ้งเตือนเมื่อคุณอ่านข้อความนี้แล้ว
+#LOCALIZATION NOTE(mdnBarMessageAddressDiffers) %1$S is the name of the sender, %2$S is the address(es) to send return receipt to
+mdnBarMessageAddressDiffers=%1$S ได้ขอให้แจ้งเตือน (บน %2$S) เมื่อคุณอ่านข้อความนี้แล้ว
+
+# mailCommands.js
+emptyJunkFolderTitle=ล้างข้อมูลใน "%S"
+emptyJunkFolderMessage=ลบข้อความและโฟลเดอร์ย่อยทั้งหมดในโฟลเดอร์ขยะหรือไม่?
+emptyJunkDontAsk=ไม่ต้องถามฉันอีก
+emptyTrashFolderTitle=ล้างข้อมูลใน "%S"
+emptyTrashFolderMessage=ลบข้อความและโฟลเดอร์ย่อยทั้งหมดในโฟลเดอร์ถังขยะหรือไม่?
+emptyTrashDontAsk=ไม่ต้องถามฉันอีก
+
+# junkCommands.js
+junkAnalysisPercentComplete=การวิเคราะห์ขยะเสร็จสมบูรณ์ %S
+processingJunkMessages=กำลังประมวลผลข้อความขยะ
+
+# Messenger bootstrapping messages
+fileNotFoundTitle = ไม่พบไฟล์
+#LOCALIZATION NOTE(fileNotFoundMsg): %S is the filename
+fileNotFoundMsg = ไม่มีไฟล์ %S อยู่
+
+fileEmptyTitle = ไฟล์ว่างเปล่า
+#LOCALIZATION NOTE(fileEmptyMsg): %S is the filename
+fileEmptyMsg = ไฟล์ %S ว่างเปล่า
+
+# LOCALIZATION NOTE (headerMoreAddrs): semicolon separated list of plural
+# forms of the word "more" as used after the number of addresses
+# currently hidden while displaying a header such as "to", "cc", or "bcc"
+# in the message header box. English has two identical forms here, so it will
+# construct strings that look like (for example) "1 more" or "20 more".
+# <https://developer.mozilla.org/en/Localization_and_Plurals> has details
+# on this mechanism.
+headerMoreAddrs=#1 เพิ่มเติม
+
+# LOCALIZATION NOTE (headerMoreAddrsTooltip): semicolon separated list of
+# plural forms of the phrase ", and #1 more" as used in the tooltip text
+# of the more widget displayed in the header pane (see headerMoreAddrs).
+# English has two identical forms here, so it will construct strings that
+# look like (for example) ", and 1 more" or ", and 20 more".
+# <https://developer.mozilla.org/en/Localization_and_Plurals> has details
+# on this mechanism.
+headerMoreAddrsTooltip=, และเพิ่มเติมอีก #1
+
+# LOCALIZATION NOTE (headertoFieldMe): first person prepositional object
+# pronoun used in the "to" header of the message header pane. This is also
+# used for the fallback case if a header-specific localization is not
+# available.
+headertoFieldMe=ฉัน
+
+# LOCALIZATION NOTE (headerfromFieldMe): first person prepositional object
+# pronoun used in the "from" header of the message header pane.
+headerfromFieldMe=ฉัน
+
+# LOCALIZATION NOTE (headerreply-toFieldMe): first person prepositional
+# object pronoun used in the "reply-to" header of the message header pane.
+headerreply-toFieldMe=ฉัน
+
+# LOCALIZATION NOTE (headerccFieldMe): first person prepositional object
+# pronoun used in the "cc" header of the message header pane.
+headerccFieldMe=ฉัน
+
+# LOCALIZATION NOTE (headerbccFieldMe): first person prepositional object
+# pronoun used in the "bcc" header of the message header pane.
+headerbccFieldMe=ฉัน
+
+expandAttachmentPaneTooltip=แสดงบานหน้าต่างไฟล์แนบ
+collapseAttachmentPaneTooltip=ซ่อนบานหน้าต่างไฟล์แนบ
+
+# Shown when content tabs are being loaded.
+loadingTab=กำลังโหลด…
+
+confirmMsgDelete.title=ยืนยันการลบ
+confirmMsgDelete.collapsed.desc=การดำเนินการนี้จะลบข้อความในเธรดที่ยุบ คุณแน่ใจหรือไม่ว่าต้องการดำเนินการต่อ?
+confirmMsgDelete.deleteNoTrash.desc=การดำเนินการนี้จะลบข้อความทันทีโดยไม่บันทึกสำเนาลงในถังขยะ คุณแน่ใจหรือไม่ว่าต้องการดำเนินการต่อ?
+confirmMsgDelete.deleteFromTrash.desc=การดำเนินการนี้จะลบข้อความออกจากถังขยะอย่างถาวร คุณแน่ใจหรือไม่ว่าต้องการดำเนินการต่อ?
+confirmMsgDelete.dontAsk.label=ไม่ต้องถามฉันอีก
+confirmMsgDelete.delete.label=ลบ
+
+mailServerLoginFailedTitle=การเข้าสู่ระบบล้มเหลว
+# LOCALIZATION NOTE (mailServerLoginFailedTitleWithAccount):
+# "%S" is the account name.
+mailServerLoginFailedTitleWithAccount=การเข้าสู่ระบบบัญชี "%S" ล้มเหลว
+# LOCALIZATION NOTE (mailServerLoginFailed2):
+# %1$S is the host name of the server, %2$S is the user name.
+mailServerLoginFailed2=การเข้าสู่ระบบเซิร์ฟเวอร์ %1$S ด้วยชื่อผู้ใช้ %2$S ล้มเหลว
+mailServerLoginFailedRetryButton=&ลองใหม่
+mailServerLoginFailedEnterNewPasswordButton=&ป้อนรหัสผ่านใหม่
+
+# LOCALIZATION NOTE (threadPane.columnPicker.confirmFolder.noChildren.title):
+# When the user selects a folder to apply the currently displayed columns to
+# via the "columnPicker.applyToFolder.label" menu option, this is the title of
+# the confirmation dialog used to verify they selected the correct folder. This
+# is the case in which we apply the columns only to the folder and not to any of
+# its children.
+threadPane.columnPicker.confirmFolder.noChildren.title=นำการเปลี่ยนแปลงไปใช้หรือไม่?
+# LOCALIZATION NOTE (threadPane.columnPicker.confirmFolder.noChildren.message):
+# When the user selects a folder to apply the currently displayed columns to
+# via the "columnPicker.applyToFolder.label" menu option, this is the text of
+# the confirmation dialog used to verify they selected the correct folder. The
+# string '%S' is replaced with the name of the folder the user selected in
+# order to help them confirm they picked what they thought they picked. This
+# is the case in which we apply the columns only to the folder and not to any of
+# its children.
+threadPane.columnPicker.confirmFolder.noChildren.message=นำคอลัมน์ของโฟลเดอร์ปัจจุบันไปใช้กับ %S หรือไม่?
+
+# LOCALIZATION NOTE (threadPane.columnPicker.confirmFolder.withChildren.title):
+# When the user selects a folder to apply the currently displayed columns to via
+# the "columnPicker.applyToFolderAndChildren.label" menu option, this is the
+# title of the confirmation dialog used to verify they selected the correct
+# folder. This is the case in which we apply the columns to the folder and all
+# of its children.
+threadPane.columnPicker.confirmFolder.withChildren.title=นำการเปลี่ยนแปลงไปใช้หรือไม่?
+# LOCALIZATION NOTE (threadPane.columnPicker.confirmFolder.withChildren.message):
+# When the user selects a folder to apply the currently displayed columns to via
+# the "columnPicker.applyToFolderAndChildren.label" menu option, this is the
+# text of the confirmation dialog used to verify they selected the correct
+# folder. The string '%S' is replaced with the name of the folder the user
+# selected in order to help them confirm they picked what they thought they
+# picked. This is the case in which we apply the columns to the folder and all
+# of its children.
+threadPane.columnPicker.confirmFolder.withChildren.message=นำคอลัมน์ของโฟลเดอร์ปัจจุบันไปใช้กับ %S และโฟลเดอร์รองที่อยู่ภายในหรือไม่?
+
+# LOCALIZATION NOTE (lwthemeInstallRequest.message): %S will be replaced with
+# the host name of the site.
+lwthemeInstallRequest.message=ไซต์นี้ (%S) พยายามจะติดตั้งชุดตกแต่ง
+lwthemeInstallRequest.allowButton=อนุญาต
+lwthemeInstallRequest.allowButton.accesskey=อ
+
+lwthemePostInstallNotification.message=ติดตั้งชุดตกแต่งใหม่แล้ว
+lwthemePostInstallNotification.undoButton=เลิกทำ
+lwthemePostInstallNotification.undoButton.accesskey=เ
+lwthemePostInstallNotification.manageButton=จัดการชุดตกแต่ง…
+lwthemePostInstallNotification.manageButton.accesskey=จ
+
+# safeModeRestart
+safeModeRestartPromptTitle=เริ่มการทำงานใหม่และปิดใช้งานส่วนเสริม
+safeModeRestartPromptMessage=คุณแน่ใจหรือไม่ว่าต้องการปิดใช้งานส่วนเสริมทั้งหมดและเริ่มการทำงานใหม่?
+safeModeRestartButton=เริ่มการทำงานใหม่
+
+# LOCALIZATION NOTE (downloadAndInstallButton.label): %S is replaced by the
+# version of the update: "Update to 28.0".
+update.downloadAndInstallButton.label=อัปเดตเป็น %S
+update.downloadAndInstallButton.accesskey=อ
+
+# Sanitize
+# LOCALIZATION NOTE (sanitizeDialog2.everything.title): When "Time range to
+# clear" is set to "Everything", the Clear Recent History dialog's title is
+# changed to this. See UI mockup and comment 11 at bug 480169 -->
+sanitizeDialog2.everything.title=ล้างประวัติทั้งหมด
+sanitizeButtonOK=ล้างตอนนี้
+# LOCALIZATION NOTE (sanitizeEverythingWarning2): 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.
+sanitizeEverythingWarning2=ประวัติทั้งหมดจะถูกล้าง
+# LOCALIZATION NOTE (sanitizeSelectedWarning): 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.
+sanitizeSelectedWarning=รายการที่เลือกทั้งหมดจะถูกล้าง
+
+learnMoreAboutIgnoreThread=เรียนรู้เพิ่มเติม…
+learnMoreAboutIgnoreThreadAccessKey = ร
+undoIgnoreThread=เลิกทำการเพิกเฉยเธรด
+undoIgnoreThreadAccessKey=เ
+undoIgnoreSubthread=เลิกทำการเพิกเฉยเธรดย่อย
+undoIgnoreSubthreadAccessKey=เ
+# LOCALIZATION NOTE (ignoredThreadFeedback): #1 is the message thread title
+ignoredThreadFeedback=การตอบกลับถึงเธรด "#1" จะไม่ถูกแสดง
+# LOCALIZATION NOTE (ignoredSubthreadFeedback): #1 is the message subthread title
+ignoredSubthreadFeedback=การตอบกลับถึงเธรดย่อย "#1" จะไม่ถูกแสดง
+# LOCALIZATION NOTE (ignoredThreadsFeedback): Semi-colon list of plural forms.
+# #1 is the number of threads
+ignoredThreadsFeedback=การตอบกลับถึง #1 เธรดที่เลือกจะไม่ถูกแสดง
+# LOCALIZATION NOTE (ignoredSubthreadsFeedback): Semi-colon list of plural forms.
+# #1 is number of subthreads
+ignoredSubthreadsFeedback=การตอบกลับถึง #1 เธรดย่อยที่เลือกจะไม่ถูกแสดง
+# LOCALIZATION NOTE (saveAsType): replace %S with the extension of the file to be saved.
+saveAsType=ไฟล์ %S
+
+# LOCALIZATION NOTE (openSearch.label): The label used in the autocomplete
+# widget to refer to a search on the web for a short string containing at most
+# 15 characters. %1$S is the search provider to use. %2$S is the string to
+# search for.
+openSearch.label=ค้นหา %1$S สำหรับ "%2$S"
+
+# LOCALIZATION NOTE (openSearch.label.truncated): The label used in the
+# autocomplete widget to refer to a search on the web for a short string
+# containing more than 15 characters. %1$S is the search provider to use. %2$S
+# is the string to search for, truncated to 15 characters.
+openSearch.label.truncated=ค้นหา %1$S สำหรับ "%2$S…"
+
+# LOCALIZATION NOTE (aboutDialog.architecture.*):
+# The sixtyFourBit and thirtyTwoBit strings describe the architecture of the
+# current Thunderbird build: 32-bit or 64-bit. These strings are used in parentheses
+# after the Thunderbird version 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 บิต
+
+errorConsoleTitle = คอนโซลข้อผิดพลาด
+
+# 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 appmenu.
+panel.back = ย้อนกลับ
diff --git a/l10n-th/mail/chrome/messenger/messengercompose/EdAdvancedEdit.dtd b/l10n-th/mail/chrome/messenger/messengercompose/EdAdvancedEdit.dtd
new file mode 100644
index 0000000000..62c46b8498
--- /dev/null
+++ b/l10n-th/mail/chrome/messenger/messengercompose/EdAdvancedEdit.dtd
@@ -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/. -->
+
+<!ENTITY WindowTitle.label "ตัวแก้ไขคุณสมบัติขั้นสูง">
+<!ENTITY AttName.label "แอตทริบิวต์: ">
+<!ENTITY AttValue.label "ค่า: ">
+<!ENTITY PropertyName.label "คุณสมบัติ: ">
+<!ENTITY currentattributesfor.label "แอตทริบิวต์ปัจจุบันสำหรับ: ">
+<!ENTITY tree.attributeHeader.label "แอตทริบิวต์">
+<!ENTITY tree.propertyHeader.label "คุณสมบัติ">
+<!ENTITY tree.valueHeader.label "ค่า">
+<!ENTITY tabHTML.label "แอตทริบิวต์ HTML">
+<!ENTITY tabCSS.label "ลักษณะแบบอินไลน์">
+<!ENTITY tabJSE.label "เหตุการณ์ JavaScript">
+
+<!ENTITY editAttribute.label "คลิกที่รายการด้านบนเพื่อแก้ไขค่า">
+<!ENTITY removeAttribute.label "เอาออก">
diff --git a/l10n-th/mail/chrome/messenger/messengercompose/EdColorPicker.dtd b/l10n-th/mail/chrome/messenger/messengercompose/EdColorPicker.dtd
new file mode 100644
index 0000000000..fb1d10a0d9
--- /dev/null
+++ b/l10n-th/mail/chrome/messenger/messengercompose/EdColorPicker.dtd
@@ -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/. -->
+
+<!ENTITY windowTitle.label "สี">
+<!ENTITY lastPickedColor.label "สีที่เลือกล่าสุด">
+<!ENTITY lastPickedColor.accessKey "ส">
+<!ENTITY chooseColor1.label "เลือกสี:">
+<!ENTITY chooseColor2.label "ป้อนสตริงสี HTML">
+<!ENTITY chooseColor2.accessKey "ป">
+<!ENTITY setColorExample.label "(เช่น: &quot;#0000ff&quot; หรือ &quot;blue&quot;):">
+<!ENTITY default.label "ค่าเริ่มต้น">
+<!ENTITY default.accessKey "ค">
+<!ENTITY palette.label "ชุดแบบสี:">
+<!ENTITY standardPalette.label "มาตรฐาน">
+<!ENTITY webPalette.label "สีเว็บทั้งหมด">
+<!ENTITY background.label "พื้นหลังสำหรับ:">
+<!ENTITY background.accessKey "พ">
+<!ENTITY table.label "ตาราง">
+<!ENTITY table.accessKey "ต">
+<!ENTITY cell.label "เซลล์">
+<!ENTITY cell.accessKey "ซ">
diff --git a/l10n-th/mail/chrome/messenger/messengercompose/EdConvertToTable.dtd b/l10n-th/mail/chrome/messenger/messengercompose/EdConvertToTable.dtd
new file mode 100644
index 0000000000..23ea3f3791
--- /dev/null
+++ b/l10n-th/mail/chrome/messenger/messengercompose/EdConvertToTable.dtd
@@ -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/. -->
+
+
+<!-- Window title -->
+<!ENTITY windowTitle.label "แปลงเป็นตาราง">
+<!ENTITY instructions1.label "ตัวเขียนจะสร้างแถวตารางใหม่สำหรับแต่ละย่อหน้าในส่วนที่เลือก">
+<!ENTITY instructions2.label "เลือกอักขระที่จะใช้คั่นส่วนที่เลือกเป็นคอลัมน์:">
+<!ENTITY commaRadio.label "จุลภาค">
+<!ENTITY spaceRadio.label "ช่องว่าง">
+<!ENTITY otherRadio.label "อักขระอื่น:">
+<!ENTITY deleteCharCheck.label "ลบอักขระคั่น">
+<!ENTITY collapseSpaces.label "เพิกเฉยช่องว่างเพิ่มเติม">
+<!ENTITY collapseSpaces.tooltip "แปลงช่องว่างที่อยู่ติดกันเป็นตัวคั่น">
diff --git a/l10n-th/mail/chrome/messenger/messengercompose/EdDialogOverlay.dtd b/l10n-th/mail/chrome/messenger/messengercompose/EdDialogOverlay.dtd
new file mode 100644
index 0000000000..901ec1182f
--- /dev/null
+++ b/l10n-th/mail/chrome/messenger/messengercompose/EdDialogOverlay.dtd
@@ -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/. -->
+
+<!ENTITY AdvancedEditButton.label "การแก้ไขขั้นสูง…">
+<!ENTITY AdvancedEditButton.accessKey "ก">
+<!ENTITY AdvancedEditButton.tooltip "เพิ่มหรือเปลี่ยนแปลงแอตทริบิวต์ HTML, แอตทริบิวต์ลักษณะ และ JavaScript">
+<!ENTITY chooseFileButton.label "เลือกไฟล์...">
+<!ENTITY chooseFileButton.accessKey "ล">
+<!ENTITY chooseFileLinkButton.label "เลือกไฟล์...">
+<!ENTITY chooseFileLinkButton.accessKey "อ">
+<!ENTITY makeUrlRelative.label "URL สัมพันธ์กับตำแหน่งที่ตั้งของหน้า">
+<!ENTITY makeUrlRelative.accessKey "ส">
+<!ENTITY makeUrlRelative.tooltip "เปลี่ยนระหว่าง URL แบบย่อและแบบเต็ม โดยคุณจะต้องบันทึกหน้าก่อนจึงจะสามารถเปลี่ยนแปลงตัวเลือกนี้ได้">
+
+<!-- Shared by Link and Image dialogs -->
+<!ENTITY LinkURLEditField2.label "ป้อนตำแหน่งที่ตั้งของเว็บ ไฟล์ภายในเครื่อง หรือเลือกจุดยึดที่มีชื่อหรือหัวเรื่องจากเมนูบริบทของช่องกรอก:">
+<!ENTITY LinkURLEditField2.accessKey "ว">
diff --git a/l10n-th/mail/chrome/messenger/messengercompose/EdNamedAnchorProperties.dtd b/l10n-th/mail/chrome/messenger/messengercompose/EdNamedAnchorProperties.dtd
new file mode 100644
index 0000000000..15e0164c7a
--- /dev/null
+++ b/l10n-th/mail/chrome/messenger/messengercompose/EdNamedAnchorProperties.dtd
@@ -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/. -->
+
+<!ENTITY windowTitle.label "คุณสมบัติจุดยึดที่มีชื่อ">
+<!ENTITY anchorNameEditField.label "ชื่อจุดยึด:">
+<!ENTITY anchorNameEditField.accessKey "ช">
+<!ENTITY nameInput.tooltip "ป้อนชื่อที่ไม่ซ้ำกันสำหรับจุดยึดที่มีชื่อนี้ (เป้าหมาย)">
diff --git a/l10n-th/mail/chrome/messenger/messengercompose/EditorColorProperties.dtd b/l10n-th/mail/chrome/messenger/messengercompose/EditorColorProperties.dtd
new file mode 100644
index 0000000000..fe0d671a43
--- /dev/null
+++ b/l10n-th/mail/chrome/messenger/messengercompose/EditorColorProperties.dtd
@@ -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/. -->
+
+<!-- Window title -->
+<!ENTITY windowTitle.label "สีและพื้นหลังของหน้า">
+<!ENTITY pageColors.label "สีของหน้า">
+<!ENTITY defaultColorsRadio.label "สีเริ่มต้นของตัวอ่าน (ไม่ตั้งค่าสีในหน้า)">
+<!ENTITY defaultColorsRadio.accessKey "ร">
+<!ENTITY defaultColorsRadio.tooltip "ใช้การตั้งค่าสีจากเบราว์เซอร์ของตัวดู (ตัวอ่าน) เท่านั้น">
+<!ENTITY customColorsRadio.label "ใช้สีที่กำหนดเอง:">
+<!ENTITY customColorsRadio.accessKey "ส">
+<!ENTITY customColorsRadio.tooltip "การตั้งค่าสีเหล่านี้จะแทนที่การตั้งค่าเบราว์เซอร์ของตัวดู">
+
+<!ENTITY normalText.label "ข้อความปกติ">
+<!ENTITY normalText.accessKey "ป">
+<!ENTITY linkText.label "ข้อความลิงก์">
+<!ENTITY linkText.accessKey "ล">
+<!ENTITY activeLinkText.label "ข้อความลิงก์ที่ใช้งานอยู่">
+<!ENTITY activeLinkText.accessKey "ช">
+<!ENTITY visitedLinkText.label "ข้อความลิงก์ที่เยี่ยมชมแล้ว">
+<!ENTITY visitedLinkText.accessKey "ย">
+<!ENTITY background.label "พื้นหลัง:">
+<!ENTITY background.accessKey "พ">
+<!ENTITY colon.character ":">
+<!ENTITY backgroundImage.label "ภาพพื้นหลัง:">
+<!ENTITY backgroundImage.accessKey "ภ">
+<!ENTITY backgroundImage.tooltip "ใช้ไฟล์ภาพเป็นพื้นหลังสำหรับหน้าของคุณ">
+<!ENTITY backgroundImage.shortenedDataURI "URI ข้อมูลที่สั้นลง (การคัดลอกจะวาง URI แบบเต็มลงในคลิปบอร์ด)">
diff --git a/l10n-th/mail/chrome/messenger/messengercompose/EditorHLineProperties.dtd b/l10n-th/mail/chrome/messenger/messengercompose/EditorHLineProperties.dtd
new file mode 100644
index 0000000000..66d768c33b
--- /dev/null
+++ b/l10n-th/mail/chrome/messenger/messengercompose/EditorHLineProperties.dtd
@@ -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/. -->
+
+
+<!-- Window title -->
+<!ENTITY windowTitle.label "คุณสมบัติเส้นแนวนอน">
+
+<!ENTITY dimensionsBox.label "มิติ">
+<!ENTITY heightEditField.label "ความสูง:">
+<!ENTITY heightEditField.accessKey "ส">
+<!ENTITY widthEditField.label "ความกว้าง:">
+<!ENTITY widthEditField.accessKey "ก">
+<!ENTITY pixelsPopup.value "พิกเซล">
+<!ENTITY alignmentBox.label "การจัดชิดแนว">
+<!ENTITY leftRadio.label "ซ้าย">
+<!ENTITY leftRadio.accessKey "ซ">
+<!ENTITY centerRadio.label "กึ่งกลาง">
+<!ENTITY centerRadio.accessKey "ง">
+<!ENTITY rightRadio.label "ขวา">
+<!ENTITY rightRadio.accessKey "ข">
+
+<!ENTITY threeDShading.label "การแรเงา 3 มิติ">
+<!ENTITY threeDShading.accessKey "ร">
+<!ENTITY saveSettings.label "ใช้เป็นค่าเริ่มต้น">
+<!ENTITY saveSettings.accessKey "ค">
+<!ENTITY saveSettings.tooltip "บันทึกการตั้งค่าเหล่านี้เพื่อใช้เมื่อแทรกเส้นแนวนอนใหม่">
diff --git a/l10n-th/mail/chrome/messenger/messengercompose/EditorImageProperties.dtd b/l10n-th/mail/chrome/messenger/messengercompose/EditorImageProperties.dtd
new file mode 100644
index 0000000000..b4bf540a07
--- /dev/null
+++ b/l10n-th/mail/chrome/messenger/messengercompose/EditorImageProperties.dtd
@@ -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 for use specifically in the editor's image and form image dialogs. -->
+
+<!-- Window title -->
+<!ENTITY windowTitle.label "คุณสมบัติภาพ">
+
+<!ENTITY pixelsPopup.value "พิกเซล">
+
+<!-- These are in the Location tab panel -->
+<!ENTITY locationEditField.label "ตำแหน่งที่ตั้งภาพ:">
+<!ENTITY locationEditField.accessKey "ต">
+<!ENTITY locationEditField.tooltip "พิมพ์ชื่อไฟล์หรือตำแหน่งที่ตั้งของภาพ">
+<!ENTITY locationEditField.shortenedDataURI "URI ข้อมูลที่สั้นลง (การคัดลอกจะวาง URI แบบเต็มลงในคลิปบอร์ด)">
+<!ENTITY title.label "เคล็ดลับเครื่องมือ:">
+<!ENTITY title.accessKey "ค">
+<!ENTITY title.tooltip "แอตทริบิวต์ HTML 'title' ที่แสดงเป็นเคล็ดลับเครื่องมือ">
+<!ENTITY altText.label "ข้อความแทนภาพ:">
+<!ENTITY altText.accessKey "ข">
+<!ENTITY altTextEditField.tooltip "พิมพ์ข้อความที่จะใช้แสดงแทนภาพ">
+<!ENTITY noAltText.label "ไม่ต้องใช้ข้อความแทนภาพ">
+<!ENTITY noAltText.accessKey "ม">
+
+<!ENTITY previewBox.label "ตัวอย่างภาพ">
+
+<!-- These controls are in the Dimensions tab panel -->
+<!-- actualSize.label should be same as actualSizeRadio.label + ":" -->
+<!ENTITY actualSize.label "ขนาดจริง:">
+<!ENTITY actualSizeRadio.label "ขนาดจริง">
+<!ENTITY actualSizeRadio.accessKey "จ">
+<!ENTITY actualSizeRadio.tooltip "เปลี่ยนกลับเป็นขนาดจริงของภาพ">
+<!ENTITY customSizeRadio.label "กำหนดขนาดเอง">
+<!ENTITY customSizeRadio.accessKey "ห">
+<!ENTITY customSizeRadio.tooltip "เปลี่ยนขนาดของภาพตามที่แสดงในหน้า">
+<!ENTITY heightEditField.label "ความสูง:">
+<!ENTITY heightEditField.accessKey "ส">
+<!ENTITY widthEditField.label "ความกว้าง:">
+<!ENTITY widthEditField.accessKey "ก">
+<!ENTITY constrainCheckbox.label "จำกัดอัตราส่วน">
+<!ENTITY constrainCheckbox.accessKey "ด">
+<!ENTITY constrainCheckbox.tooltip "คงอัตราส่วนเดิมของภาพไว้">
+
+<!-- These controls are in the Image Map box of the expanded area -->
+<!ENTITY imagemapBox.label "แผนที่ภาพ">
+<!ENTITY removeImageMapButton.label "เอาออก">
+<!ENTITY removeImageMapButton.accessKey "อ">
+
+<!-- These are the options for image alignment -->
+<!ENTITY alignment.label "จัดแนวข้อความให้พอดีกับภาพ">
+<!ENTITY bottomPopup.value "ด้านล่าง">
+<!ENTITY topPopup.value "ด้านบน">
+<!ENTITY centerPopup.value "กึ่งกลาง">
+<!ENTITY wrapRightPopup.value "ตัดไปทางขวา">
+<!ENTITY wrapLeftPopup.value "ตัดไปทางซ้าย">
+
+<!-- These controls are in the Spacing Box -->
+<!ENTITY spacingBox.label "ระยะห่าง">
+<!ENTITY leftRightEditField.label "ซ้ายและขวา:">
+<!ENTITY leftRightEditField.accessKey "ซ">
+<!ENTITY topBottomEditField.label "บนและล่าง:">
+<!ENTITY topBottomEditField.accessKey "บ">
+<!ENTITY borderEditField.label "เส้นขอบทึบ:">
+<!ENTITY borderEditField.accessKey "เ">
+
+<!-- These controls are in the Link Box -->
+<!ENTITY showImageLinkBorder.label "แสดงเส้นขอบรอบภาพที่ถูกเชื่อมโยง">
+<!ENTITY showImageLinkBorder.accessKey "แ">
+<!ENTITY LinkAdvancedEditButton.label "เชื่อมโยงการแก้ไขขั้นสูง…">
+<!ENTITY LinkAdvancedEditButton.accessKey "ช">
+<!ENTITY LinkAdvancedEditButton.tooltip "เพิ่มหรือเปลี่ยนแปลงแอตทริบิวต์ HTML, แอตทริบิวต์ลักษณะ และ JavaScript">
+
+<!-- These tabs are currently used in the image input dialog -->
+<!ENTITY imageInputTab.label "แบบฟอร์ม">
+<!ENTITY imageLocationTab.label "ตำแหน่งที่ตั้ง">
+<!ENTITY imageDimensionsTab.label "มิติ">
+<!ENTITY imageAppearanceTab.label "ลักษณะที่ปรากฏ">
+<!ENTITY imageLinkTab.label "ลิงก์">
diff --git a/l10n-th/mail/chrome/messenger/messengercompose/EditorInsertChars.dtd b/l10n-th/mail/chrome/messenger/messengercompose/EditorInsertChars.dtd
new file mode 100644
index 0000000000..509d2e2fec
--- /dev/null
+++ b/l10n-th/mail/chrome/messenger/messengercompose/EditorInsertChars.dtd
@@ -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/. -->
+
+
+<!-- Window title -->
+<!ENTITY windowTitle.label "แทรกอักขระ">
+<!ENTITY category.label "หมวดหมู่">
+<!ENTITY letter.label "ตัวอักษร:">
+<!ENTITY letter.accessKey "ต">
+<!ENTITY character.label "อักขระ:">
+<!ENTITY character.accessKey "อ">
+<!ENTITY accentUpper.label "อักษรตัวพิมพ์ใหญ่ที่มีเครื่องหมายกำกับการออกเสียง">
+<!ENTITY accentLower.label "อักษรตัวพิมพ์เล็กที่มีเครื่องหมายกำกับการออกเสียง">
+<!ENTITY otherUpper.label "อักษรตัวพิมพ์ใหญ่อื่น ๆ">
+<!ENTITY otherLower.label "อักษรตัวพิมพ์เล็กอื่น ๆ">
+<!ENTITY commonSymbols.label "สัญลักษณ์ทั่วไป">
+<!ENTITY insertButton.label "แทรก">
+<!ENTITY closeButton.label "ปิด">
diff --git a/l10n-th/mail/chrome/messenger/messengercompose/EditorInsertMath.dtd b/l10n-th/mail/chrome/messenger/messengercompose/EditorInsertMath.dtd
new file mode 100644
index 0000000000..f801b660ef
--- /dev/null
+++ b/l10n-th/mail/chrome/messenger/messengercompose/EditorInsertMath.dtd
@@ -0,0 +1,21 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!-- Window title -->
+<!ENTITY windowTitle.label "แทรกสมการ">
+
+<!ENTITY sourceEditField.label "ป้อนซอร์สโค้ด LaTeX:">
+
+<!ENTITY options.label "ตัวเลือก">
+<!ENTITY optionInline.label "โหมดอินไลน์">
+<!ENTITY optionInline.accesskey "อ">
+<!ENTITY optionDisplay.label "โหมดแสดงผล">
+<!ENTITY optionDisplay.accesskey "ส">
+<!ENTITY optionLTR.label "ทิศทางจากซ้ายไปขวา">
+<!ENTITY optionLTR.accesskey "ซ">
+<!ENTITY optionRTL.label "ทิศทางจากขวาไปซ้าย">
+<!ENTITY optionRTL.accesskey "ข">
+
+<!ENTITY insertButton.label "แทรก">
+<!ENTITY insertButton.accesskey "ท">
diff --git a/l10n-th/mail/chrome/messenger/messengercompose/EditorInsertSource.dtd b/l10n-th/mail/chrome/messenger/messengercompose/EditorInsertSource.dtd
new file mode 100644
index 0000000000..6883838023
--- /dev/null
+++ b/l10n-th/mail/chrome/messenger/messengercompose/EditorInsertSource.dtd
@@ -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/. -->
+
+<!-- Window title -->
+<!ENTITY windowTitle.label "แทรก HTML">
+<!ENTITY sourceEditField.label "ป้อนแท็ก HTML และข้อความ:">
+<!ENTITY example.label "ตัวอย่าง: ">
+<!-- LOCALIZATION NOTE (exampleOpenTag.label): DONT_TRANSLATE: they are text for HTML tagnames: "<i>" and "</i>" -->
+<!ENTITY exampleOpenTag.label "&lt;i&gt;">
+<!-- LOCALIZATION NOTE (exampleCloseTag.label): DONT_TRANSLATE: they are text for HTML tagnames: "<i>" and "</i>" -->
+<!ENTITY exampleCloseTag.label "&lt;/i&gt;">
+<!ENTITY exampleText.label "สวัสดีชาวโลก!">
+<!ENTITY insertButton.label "แทรก">
+<!ENTITY insertButton.accesskey "ท">
diff --git a/l10n-th/mail/chrome/messenger/messengercompose/EditorInsertTOC.dtd b/l10n-th/mail/chrome/messenger/messengercompose/EditorInsertTOC.dtd
new file mode 100644
index 0000000000..d43f353c77
--- /dev/null
+++ b/l10n-th/mail/chrome/messenger/messengercompose/EditorInsertTOC.dtd
@@ -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/. -->
+
+<!ENTITY Window.title "สารบัญ">
+<!ENTITY buildToc.label "สร้างสารบัญจาก:">
+<!ENTITY tag.label "ป้ายกำกับ:">
+<!ENTITY class.label "คลาส:">
+<!ENTITY header1.label "ระดับ 1">
+<!ENTITY header2.label "ระดับ 2">
+<!ENTITY header3.label "ระดับ 3">
+<!ENTITY header4.label "ระดับ 4">
+<!ENTITY header5.label "ระดับ 5">
+<!ENTITY header6.label "ระดับ 6">
+<!ENTITY makeReadOnly.label "ทำให้สารบัญเป็นแบบอ่านอย่างเดียว">
+<!ENTITY orderedList.label "เรียงรายการทั้งหมดในสารบัญตามลำดับเลข">
diff --git a/l10n-th/mail/chrome/messenger/messengercompose/EditorInsertTable.dtd b/l10n-th/mail/chrome/messenger/messengercompose/EditorInsertTable.dtd
new file mode 100644
index 0000000000..ebcc438741
--- /dev/null
+++ b/l10n-th/mail/chrome/messenger/messengercompose/EditorInsertTable.dtd
@@ -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/. -->
+
+<!-- Window title -->
+<!ENTITY windowTitle.label "แทรกตาราง">
+
+<!ENTITY size.label "ขนาด">
+<!ENTITY numRowsEditField.label "แถว:">
+<!ENTITY numRowsEditField.accessKey "ถ">
+<!ENTITY numColumnsEditField.label "คอลัมน์:">
+<!ENTITY numColumnsEditField.accessKey "ค">
+<!ENTITY widthEditField.label "ความกว้าง:">
+<!ENTITY widthEditField.accessKey "ก">
+<!ENTITY borderEditField.label "เส้นขอบ:">
+<!ENTITY borderEditField.accessKey "ข">
+<!ENTITY borderEditField.tooltip "พิมพ์จำนวนเส้นขอบของตาราง หรือพิมพ์เลขศูนย์ (0) หากไม่ต้องการเส้นขอบ">
+<!ENTITY pixels.label "พิกเซล">
diff --git a/l10n-th/mail/chrome/messenger/messengercompose/EditorLinkProperties.dtd b/l10n-th/mail/chrome/messenger/messengercompose/EditorLinkProperties.dtd
new file mode 100644
index 0000000000..edf6699238
--- /dev/null
+++ b/l10n-th/mail/chrome/messenger/messengercompose/EditorLinkProperties.dtd
@@ -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/. -->
+
+<!ENTITY windowTitle.label "คุณสมบัติลิงก์">
+<!ENTITY LinkURLBox.label "ตำแหน่งที่ตั้งลิงก์">
diff --git a/l10n-th/mail/chrome/messenger/messengercompose/EditorListProperties.dtd b/l10n-th/mail/chrome/messenger/messengercompose/EditorListProperties.dtd
new file mode 100644
index 0000000000..bee0e11649
--- /dev/null
+++ b/l10n-th/mail/chrome/messenger/messengercompose/EditorListProperties.dtd
@@ -0,0 +1,20 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+
+<!-- Window title -->
+<!ENTITY windowTitle.label "คุณสมบัติรายการ">
+
+<!ENTITY ListType.label "ชนิดรายการ">
+<!ENTITY bulletStyle.label "ลักษณะของสัญลักษณ์แสดงหัวข้อย่อย:">
+<!ENTITY startingNumber.label "เริ่มที่:">
+<!ENTITY startingNumber.accessKey "ร">
+<!ENTITY none.value "ไม่มี">
+<!ENTITY bulletList.value "รายการที่มีสัญลักษณ์แสดงหัวข้อย่อย (ไม่มีลำดับเลข)">
+<!ENTITY numberList.value "รายการที่มีลำดับเลข">
+<!ENTITY definitionList.value "รายการข้อกำหนด">
+<!ENTITY changeEntireListRadio.label "เปลี่ยนทั้งรายการ">
+<!ENTITY changeEntireListRadio.accessKey "ป">
+<!ENTITY changeSelectedRadio.label "เปลี่ยนเฉพาะส่วนที่เลือก">
+<!ENTITY changeSelectedRadio.accessKey "ล">
diff --git a/l10n-th/mail/chrome/messenger/messengercompose/EditorPersonalDictionary.dtd b/l10n-th/mail/chrome/messenger/messengercompose/EditorPersonalDictionary.dtd
new file mode 100644
index 0000000000..dbdd58a6f5
--- /dev/null
+++ b/l10n-th/mail/chrome/messenger/messengercompose/EditorPersonalDictionary.dtd
@@ -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/. -->
+
+<!-- Window title -->
+<!ENTITY windowTitle.label "พจนานุกรมส่วนบุคคล">
+
+<!ENTITY wordEditField.label "คำใหม่:">
+<!ENTITY wordEditField.accessKey "ค">
+<!ENTITY AddButton.label "เพิ่ม">
+<!ENTITY AddButton.accessKey "พ">
+<!ENTITY DictionaryList.label "คำในพจนานุกรม">
+<!ENTITY DictionaryList.accessKey "น">
+<!ENTITY RemoveButton.label "เอาออก">
+<!ENTITY RemoveButton.accessKey "อ">
+
+<!ENTITY CloseButton.label "ปิด">
+<!ENTITY CloseButton.accessKey "ป">
diff --git a/l10n-th/mail/chrome/messenger/messengercompose/EditorReplace.dtd b/l10n-th/mail/chrome/messenger/messengercompose/EditorReplace.dtd
new file mode 100644
index 0000000000..c2c2ce546a
--- /dev/null
+++ b/l10n-th/mail/chrome/messenger/messengercompose/EditorReplace.dtd
@@ -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/. -->
+
+<!-- extracted from EdReplace.xul -->
+
+<!-- extracted from EdReplace.xhtml -->
+
+<!ENTITY replaceDialog.title "ค้นหาแล้วแทนที่">
+<!ENTITY findField.label "ค้นหาข้อความ:">
+<!ENTITY findField.accesskey "ค">
+<!ENTITY replaceField.label "แทนที่ด้วย:">
+<!ENTITY replaceField.accesskey "ท">
+<!ENTITY caseSensitiveCheckbox.label "ตรงตามตัวพิมพ์ใหญ่-เล็ก">
+<!ENTITY caseSensitiveCheckbox.accesskey "ต">
+<!ENTITY wrapCheckbox.label "ครอบคลุมให้ทั่ว">
+<!ENTITY wrapCheckbox.accesskey "ห">
+<!ENTITY backwardsCheckbox.label "ค้นหาแบบย้อนกลับ">
+<!ENTITY backwardsCheckbox.accesskey "ย">
+<!ENTITY findNextButton.label "ค้นหาต่อไป">
+<!ENTITY findNextButton.accesskey "ไ">
+<!ENTITY replaceButton.label "แทนที่">
+<!ENTITY replaceButton.accesskey "แ">
+<!ENTITY replaceAndFindButton.label "แทนที่แล้วค้นหา">
+<!ENTITY replaceAndFindButton.accesskey "า">
+<!ENTITY replaceAllButton.label "แทนที่ทั้งหมด">
+<!ENTITY replaceAllButton.accesskey "ม">
+<!ENTITY closeButton.label "ปิด">
+<!ENTITY closeButton.accesskey "ป">
diff --git a/l10n-th/mail/chrome/messenger/messengercompose/EditorSpellCheck.dtd b/l10n-th/mail/chrome/messenger/messengercompose/EditorSpellCheck.dtd
new file mode 100644
index 0000000000..5ebc0bcf76
--- /dev/null
+++ b/l10n-th/mail/chrome/messenger/messengercompose/EditorSpellCheck.dtd
@@ -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/. -->
+
+<!-- Window title -->
+<!ENTITY windowTitle.label "ตรวจสอบการสะกดคำ">
+
+<!ENTITY misspelledWord.label "คำที่สะกดผิด:">
+<!ENTITY wordEditField.label "แทนที่ด้วย:">
+<!ENTITY wordEditField.accessKey "ย">
+<!ENTITY checkwordButton.label "ตรวจสอบคำ">
+<!ENTITY checkwordButton.accessKey "ต">
+<!ENTITY suggestions.label "คำแนะนำ:">
+<!ENTITY suggestions.accessKey "น">
+<!ENTITY ignoreButton.label "เพิกเฉย">
+<!ENTITY ignoreButton.accessKey "พ">
+<!ENTITY ignoreAllButton.label "เพิกเฉยทั้งหมด">
+<!ENTITY ignoreAllButton.accessKey "ม">
+<!ENTITY replaceButton.label "แทนที่">
+<!ENTITY replaceButton.accessKey "ท">
+<!ENTITY replaceAllButton.label "แทนที่ทั้งหมด">
+<!ENTITY replaceAllButton.accessKey "ด">
+<!ENTITY stopButton.label "หยุด">
+<!ENTITY stopButton.accessKey "ห">
+<!ENTITY userDictionary.label "พจนานุกรมส่วนบุคคล:">
+<!ENTITY moreDictionaries.label "ดาวน์โหลดพจนานุกรมเพิ่มเติม…">
+<!ENTITY addToUserDictionaryButton.label "เพิ่มคำ">
+<!ENTITY addToUserDictionaryButton.accessKey "ม">
+<!ENTITY editUserDictionaryButton.label "แก้ไข…">
+<!ENTITY editUserDictionaryButton.accessKey "ก">
+<!ENTITY recheckButton2.label "ตรวจสอบข้อความใหม่">
+<!ENTITY recheckButton2.accessKey "ข">
+<!ENTITY closeButton.label "ปิด">
+<!ENTITY closeButton.accessKey "ป">
+<!ENTITY sendButton.label "ส่ง">
+<!ENTITY sendButton.accessKey "ส">
+<!ENTITY languagePopup.label "ภาษา:">
+<!ENTITY languagePopup.accessKey "ภ">
diff --git a/l10n-th/mail/chrome/messenger/messengercompose/EditorTableProperties.dtd b/l10n-th/mail/chrome/messenger/messengercompose/EditorTableProperties.dtd
new file mode 100644
index 0000000000..2a9624bcdd
--- /dev/null
+++ b/l10n-th/mail/chrome/messenger/messengercompose/EditorTableProperties.dtd
@@ -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/. -->
+
+<!ENTITY tableWindow.title "คุณสมบัติตาราง">
+<!ENTITY applyButton.label "นำไปใช้">
+<!ENTITY applyButton.accesskey "ช">
+<!ENTITY closeButton.label "ปิด">
+<!ENTITY tableTab.label "ตาราง">
+<!ENTITY cellTab.label "เซลล์">
+<!ENTITY tableRows.label "แถว:">
+<!ENTITY tableRows.accessKey "ถ">
+<!ENTITY tableColumns.label "คอลัมน์:">
+<!ENTITY tableColumns.accessKey "ค">
+<!ENTITY tableHeight.label "ความสูง:">
+<!ENTITY tableHeight.accessKey "ส">
+<!ENTITY tableWidth.label "ความกว้าง:">
+<!ENTITY tableWidth.accessKey "ก">
+<!ENTITY tableBorderSpacing.label "เส้นขอบและระยะห่าง">
+<!ENTITY tableBorderWidth.label "เส้นขอบ:">
+<!ENTITY tableBorderWidth.accessKey "ข">
+<!ENTITY tableSpacing.label "ระยะห่าง:">
+<!ENTITY tableSpacing.accessKey "ห">
+<!ENTITY tablePadding.label "ช่องว่างภายใน:">
+<!ENTITY tablePadding.accessKey "ว">
+<!ENTITY tablePxBetwCells.label "พิกเซลระหว่างเซลล์">
+<!ENTITY tablePxBetwBrdrCellContent.label "พิกเซลระหว่างเส้นขอบและเนื้อหาภายในเซลล์">
+<!ENTITY tableAlignment.label "การจัดแนวตาราง:">
+<!ENTITY tableAlignment.accessKey "จ">
+<!ENTITY tableCaption.label "คำบรรยาย:">
+<!ENTITY tableCaption.accessKey "บ">
+<!ENTITY tableCaptionAbove.label "ด้านบนของตาราง">
+<!ENTITY tableCaptionBelow.label "ด้านล่างของตาราง">
+<!ENTITY tableCaptionLeft.label "ด้านซ้ายของตาราง">
+<!ENTITY tableCaptionRight.label "ด้านขวาของตาราง">
+<!ENTITY tableCaptionNone.label "ไม่มี">
+<!ENTITY tableInheritColor.label "(ให้สีของหน้าแสดงผ่าน)">
+
+<!ENTITY cellSelection.label "ส่วนที่เลือก">
+<!ENTITY cellSelectCell.label "เซลล์">
+<!ENTITY cellSelectRow.label "แถว">
+<!ENTITY cellSelectColumn.label "คอลัมน์">
+<!ENTITY cellSelectNext.label "ถัดไป">
+<!ENTITY cellSelectNext.accessKey "ถ">
+<!ENTITY cellSelectPrevious.label "ก่อนหน้า">
+<!ENTITY cellSelectPrevious.accessKey "ก">
+<!ENTITY applyBeforeChange.label "การเปลี่ยนแปลงปัจจุบันจะถูกนำไปใช้ก่อนที่จะเปลี่ยนแปลงส่วนที่เลือก">
+<!ENTITY cellContentAlignment.label "การจัดชิดแนวเนื้อหา">
+<!ENTITY cellHorizontal.label "แนวนอน:">
+<!ENTITY cellHorizontal.accessKey "น">
+<!ENTITY cellVertical.label "แนวตั้ง:">
+<!ENTITY cellVertical.accessKey "ต">
+<!ENTITY cellStyle.label "ลักษณะเซลล์:">
+<!ENTITY cellStyle.accessKey "ล">
+<!ENTITY cellNormal.label "ปกติ">
+<!ENTITY cellHeader.label "ส่วนหัว">
+<!ENTITY cellTextWrap.label "การตัดข้อความ:">
+<!ENTITY cellTextWrap.accessKey "ต">
+<!ENTITY cellWrap.label "ตัด">
+<!ENTITY cellNoWrap.label "ไม่ต้องตัด">
+<!ENTITY cellAlignTop.label "ด้านบน">
+<!ENTITY cellAlignMiddle.label "ตรงกลาง">
+<!ENTITY cellAlignBottom.label "ด้านล่าง">
+<!ENTITY cellAlignJustify.label "จัดเต็มแนว">
+<!ENTITY cellInheritColor.label "(ให้สีของตารางแสดงผ่าน)">
+<!ENTITY cellUseCheckboxHelp.label "ใช้กล่องกาเครื่องหมายเพื่อกำหนดคุณสมบัติที่จะใช้กับเซลล์ที่เลือกทั้งหมด">
+
+<!-- Used in both Table and Cell panels -->
+<!ENTITY size.label "ขนาด">
+<!ENTITY pixels.label "พิกเซล">
+<!ENTITY backgroundColor.label "สีพื้นหลัง:">
+<!ENTITY backgroundColor.accessKey "พ">
+<!ENTITY AlignLeft.label "ซ้าย">
+<!ENTITY AlignCenter.label "กึ่งกลาง">
+<!ENTITY AlignRight.label "ขวา">
diff --git a/l10n-th/mail/chrome/messenger/messengercompose/askSendFormat.dtd b/l10n-th/mail/chrome/messenger/messengercompose/askSendFormat.dtd
new file mode 100644
index 0000000000..9e3a2d1d6b
--- /dev/null
+++ b/l10n-th/mail/chrome/messenger/messengercompose/askSendFormat.dtd
@@ -0,0 +1,20 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!--LOCALIZATION NOTE askSendFormat.dtd UI for dialog that asks the user, which format to use for sending a message -->
+<!ENTITY windowTitle.label "คำถามจดหมาย HTML">
+
+<!ENTITY recipient.label "ผู้รับบางคนไม่ได้อยู่ในรายชื่อที่สามารถรับจดหมาย HTML ได้">
+
+<!ENTITY question.label "คุณต้องการแปลงข้อความเป็นข้อความธรรมดาหรือส่งเป็น HTML ต่อไป?">
+
+<!ENTITY plainTextAndHtml.label "ส่งเป็นข้อความธรรมดาและ HTML">
+<!ENTITY plainTextAndHtml.accesskey "ล">
+<!ENTITY plainTextOnly.label "ส่งเป็นข้อความธรรมดาเท่านั้น">
+<!ENTITY plainTextOnly.accesskey "ข">
+<!ENTITY htmlOnly.label "ส่งเป็น HTML เท่านั้น">
+<!ENTITY htmlOnly.accesskey "ป">
+
+<!ENTITY send.label "ส่ง">
+<!ENTITY send.accesskey "ส">
diff --git a/l10n-th/mail/chrome/messenger/messengercompose/askSendFormat.properties b/l10n-th/mail/chrome/messenger/messengercompose/askSendFormat.properties
new file mode 100644
index 0000000000..bc212ecee9
--- /dev/null
+++ b/l10n-th/mail/chrome/messenger/messengercompose/askSendFormat.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/.
+
+convertibleYes=ข้อความของคุณสามารถแปลงเป็นข้อความธรรมดาโดยไม่ทำให้ข้อมูลสูญหาย
+convertibleAltering=ข้อความของคุณสามารถแปลงเป็นข้อความธรรมดาโดยไม่ทำให้ข้อมูลสำคัญสูญหาย อย่างไรก็ตาม รุ่นข้อความธรรมดาอาจดูแตกต่างจากที่คุณเห็นในตัวเขียน
+convertibleNo=อย่างไรก็ตาม คุณใช้การจัดรูปแบบ (เช่น สี) ที่จะไม่ถูกแปลงเป็นข้อความธรรมดา
+recommended=(แนะนำ)
diff --git a/l10n-th/mail/chrome/messenger/messengercompose/composeMsgs.properties b/l10n-th/mail/chrome/messenger/messengercompose/composeMsgs.properties
new file mode 100644
index 0000000000..ca5ae871e3
--- /dev/null
+++ b/l10n-th/mail/chrome/messenger/messengercompose/composeMsgs.properties
@@ -0,0 +1,491 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.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 are used by the compose back end
+#
+## LOCALIZATION NOTE (unableToOpenFile, unableToOpenTmpFile):
+## %S will be replaced with the name of file that could not be opened
+unableToOpenFile=ไม่สามารถเปิดไฟล์ %S
+unableToOpenTmpFile=ไม่สามารถเปิดไฟล์ชั่วคราว %S ตรวจสอการตั้งค่า 'ไดเรกทอรีชั่วคราว' ของคุณ
+unableToSaveTemplate=ไม่สามารถบันทึกข้อความของคุณเป็นแม่แบบ
+unableToSaveDraft=ไม่สามารถบันทึกข้อความของคุณเป็นฉบับร่าง
+couldntOpenFccFolder=ไม่สามารถเปิดโฟลเดอร์จดหมายที่ส่งแล้ว โปรดยืนยันว่าการตั้งค่าบัญชีของคุณถูกต้อง
+noSender=ไม่ได้ระบุผู้ส่ง โปรดเพิ่มที่อยู่อีเมลของคุณในการตั้งค่าบัญชี
+noRecipients=ไม่ได้ระบุผู้รับ โปรดป้อนผู้รับหรือกลุ่มข่าวในพื้นที่การกำหนดที่อยู่
+errorWritingFile=เกิดข้อผิดพลาดในการเขียนไฟล์ชั่วคราว
+
+## LOCALIZATION NOTE (errorSendingFromCommand): argument %s is the Outgoing server (SMTP) response
+errorSendingFromCommand=เกิดข้อผิดพลาดขณะส่งจดหมาย เซิร์ฟเวอร์จดหมายตอบกลับว่า: %s โปรดยืนยันว่าที่อยู่อีเมลของคุณถูกต้องในการตั้งค่าบัญชีของคุณแล้วลองอีกครั้ง
+
+## LOCALIZATION NOTE (errorSendingDataCommand): argument %s is the Outgoing server (SMTP) response
+errorSendingDataCommand=เกิดข้อผิดพลาดของเซิร์ฟเวอร์ขาออก (SMTP) ขณะส่งจดหมาย เซิร์ฟเวอร์ตอบกลับว่า: %s
+
+## LOCALIZATION NOTE (errorSendingMessage): argument %s is the Outgoing server (SMTP) response
+errorSendingMessage=เกิดข้อผิดพลาดขณะส่งจดหมาย เซิร์ฟเวอร์อีเมลตอบกลับว่า: %s โปรดตรวจสอบข้อความแล้วลองอีกครั้ง
+postFailed=ไม่สามารถโพสต์ข้อความเนื่องจากการเชื่อมต่อกับเซิร์ฟเวอร์ข่าวล้มเหลว เซิร์ฟเวอร์อาจไม่พร้อมใช้งานหรือปฏิเสธการเชื่อมต่อ โปรดยืนยันว่าการตั้งค่าเซิร์ฟเวอร์ข่าวของคุณถูกต้องแล้วลองอีกครั้ง
+errorQueuedDeliveryFailed=เกิดข้อผิดพลาดขณะส่งข้อความที่ยังไม่ได้ส่ง
+sendFailed=การส่งข้อความล้มเหลว
+
+## LOCALIZATION NOTE (sendFailedUnexpected): argument %X is a hex error code value
+sendFailedUnexpected=ล้มเหลวเนื่องจากพบข้อผิดพลาดที่ไม่คาดคิด %X ไม่มีคำอธิบาย
+
+## LOCALIZATION NOTE (smtpSecurityIssue): argument %S is the Outgoing server (SMTP) response
+smtpSecurityIssue=การกำหนดค่าที่เกี่ยวข้องกับ %S ต้องได้รับการแก้ไข
+
+## LOCALIZATION NOTE (smtpServerError): argument %s is the Outgoing server (SMTP) response
+smtpServerError=เกิดข้อผิดพลาดขณะส่งจดหมาย: ข้อผิดพลาดของเซิร์ฟเวอร์ขาออก (SMTP) เซิร์ฟเวอร์ตอบกลับว่า: %s
+unableToSendLater=ขออภัย เราไม่สามารถบันทึกข้อความของคุณไว้ส่งภายหลัง
+
+## LOCALIZATION NOTE (communicationsError): argument %d is the error code
+communicationsError=เกิดข้อผิดพลาดในการสื่อสาร: %d โปรดลองอีกครั้ง
+dontShowAlert=นี่เป็นเพียงตัวยึด คุณไม่ควรเห็นสตริงนี้
+
+couldNotGetUsersMailAddress2=เกิดข้อผิดพลาดชณะส่งจดหมาย: ที่อยู่ของผู้ส่ง (จาก:) ไม่ถูกต้อง โปรดยืนยันว่าที่อยู่อีเมลนี้ถูกต้องแล้วลองอีกครั้ง
+couldNotGetSendersIdentity=เกิดข้อผิดพลาดชณะส่งจดหมาย: ข้อมูลประจำตัวของผู้ส่งไม่ถูกต้อง โปรดยืนยันการกำหนดค่าของข้อมูลประจำตัวของคุณแล้วลองอีกครั้ง
+
+mimeMpartAttachmentError=ข้อผิดพลาดของไฟล์แนบ
+failedCopyOperation=ข้อความถูกส่งเรียบร้อยแล้ว แต่ไม่สามารถคัดลอกไปยังโฟลเดอร์ส่งของคุณ
+nntpNoCrossPosting=คุณสามารถส่งข้อความไปยังเซิร์ฟเวอร์ข่าวได้ครั้งละหนึ่งเครื่องเท่านั้น
+msgCancelling=กำลังยกเลิก…
+sendFailedButNntpOk=ข้อความของคุณถูกโพสต์ไปยังกลุ่มข่าว แต่ยังไม่ได้ส่งไปยังผู้รับอื่น
+errorReadingFile=เกิดข้อผิดพลาดในการอ่านไฟล์
+followupToSenderMessage=ผู้เขียนข้อความนี้ได้ขอให้ส่งการตอบกลับไปยังผู้เขียนเท่านั้น หากคุณต้องการตอบกลับกลุ่มข่าวด้วย ให้เพิ่มแถวใหม่ในพื้นที่การกำหนดที่อยู่ เลือกกลุ่มข่าวจากรายชื่อผู้รับ แล้วป้อนชื่อกลุ่มข่าว
+
+## LOCALIZATION NOTE (errorAttachingFile): argument %S is the file name/URI of the object to be attached
+errorAttachingFile=มีข้อผิดพลาดในการแนบ %S โปรดตรวจสอบว่าคุณสามารถเข้าถึงไฟล์ได้
+
+## LOCALIZATION NOTE (incorrectSmtpGreeting): argument %s is the Outgoing server (SMTP) greeting
+incorrectSmtpGreeting=เกิดข้อผิดพลาดขณะส่งจดหมาย: เซิร์ฟเวอร์จดหมายส่งคำทักทายที่ไม่ถูกต้อง: %s
+
+## LOCALIZATION NOTE (errorSendingRcptCommand): argument %1$S is the Outgoing server (SMTP) response, argument %2$S is the intended message recipient.
+errorSendingRcptCommand=เกิดข้อผิดพลาดขณะส่งจดหมาย เซิร์ฟเวอร์อีเมลตอบกลับว่า:\n%1$S\nโปรดตรวจสอบผู้รับข้อความ "%2$S" แล้วลองอีกครั้ง
+
+## LOCALIZATION NOTE (startTlsFailed): argument %S is the Outgoing server (SMTP)
+startTlsFailed=เกิดข้อผิดพลาดขณะส่งจดหมาย: ไม่สามารถสร้างลิงก์ที่ปลอดภัยกับเซิร์ฟเวอร์ขาออก (SMTP) %S โดยใช้ STARTTLS เนื่องจากไม่ได้โฆษณาคุณลักษณะนั้น ปิด STARTTLS สำหรับเซิร์ฟเวอร์นั้นหรือติดต่อผู้ให้บริการของคุณ
+
+## LOCALIZATION NOTE (smtpPasswordUndefined): argument %S is the Outgoing server (SMTP) account
+smtpPasswordUndefined=เกิดข้อผิดพลาดขณะส่งจดหมาย: ไม่สามารถรับรหัสผ่านสำหรับ %S ข้อความไม่ถูกส่ง
+
+## LOCALIZATION NOTE (smtpSendNotAllowed): argument %s is the Outgoing server (SMTP) response
+smtpSendNotAllowed=เกิดข้อผิดพลาดขณะส่งจดหมาย เซิร์ฟเวอร์จดหมายตอบกลับว่า:\n%s\nโปรดตรวจสอบให้แน่ใจว่าคุณกำลังใช้ข้อมูลประจำตัวที่ถูกต้องในการส่งและใช้วิธีการรับรองความถูกต้องที่ถูกต้อง ตรวจสอบว่าคุณได้รับอนุญาตให้ส่งผ่านเซิร์ฟเวอร์ SMTP นี้ด้วยข้อมูลประจำตัวของคุณจากเครือข่ายปัจจุบันของคุณ
+
+## LOCALIZATION NOTE (smtpTempSizeExceeded): argument %s is the Outgoing server (SMTP) response
+smtpTempSizeExceeded=ขนาดของข้อความที่คุณพยายามส่งเกินขีดจำกัดขนาดชั่วคราวของเซิร์ฟเวอร์ ข้อความไม่ถูกส่ง ลองลดขนาดข้อความหรือรอสักครู่แล้วลองอีกครั้ง เซิร์ฟเวอร์ตอบกลับว่า: %s
+
+## LOCALIZATION NOTE (smtpClientid): argument %s is the Outgoing server (SMTP) response
+smtpClientid=เซิร์ฟเวอร์ขาออก (SMTP) ตรวจพบข้อผิดพลาดในคำสั่ง CLIENTID ข้อความไม่ถูกส่ง เซิร์ฟเวอร์ตอบกลับว่า: %s
+
+## LOCALIZATION NOTE (smtpClientidPermission): argument %s is the Outgoing server (SMTP) response
+smtpClientidPermission=การตอบกลับของเซิร์ฟเวอร์ขาออก (SMTP) ต่อคำสั่ง CLIENTID ระบุว่าอุปกรณ์ของคุณไม่ได้รับอนุญาตให้ส่งจดหมาย เซิร์ฟเวอร์ตอบกลับว่า: %s
+
+## LOCALIZATION NOTE (smtpPermSizeExceeded1): argument %d is the Outgoing server (SMTP) size limit
+smtpPermSizeExceeded1=ขนาดของข้อความที่คุณพยายามส่งเกินขีดจำกัดขนาดส่วนกลาง (%d ไบต์) ของเซิร์ฟเวอร์ ข้อความไม่ถูกส่ง ลดขนาดข้อความและลองอีกครั้ง
+
+## LOCALIZATION NOTE (smtpPermSizeExceeded2): argument %s is the Outgoing server (SMTP) response
+smtpPermSizeExceeded2=ขนาดของข้อความที่คุณพยายามส่งเกินขีดจำกัดขนาดส่วนกลางของเซิร์ฟเวอร์ ข้อความไม่ถูกส่ง ลดขนาดข้อความและลองอีกครั้ง เซิร์ฟเวอร์ตอบกลับว่า: %s
+
+## LOCALIZATION NOTE (smtpSendFailedUnknownServer): argument %S is the Outgoing server (SMTP)
+smtpSendFailedUnknownServer=เกิดข้อผิดพลาดขณะส่งจดหมาย: ไม่รู้จักเซิร์ฟเวอร์ขาออก (SMTP) %S เซิร์ฟเวอร์อาจถูกกำหนดค่าอย่างไม่ถูกต้อง โปรดตรวจสอบว่าการตั้งค่าเซิร์ฟเวอร์ขาออก (SMTP) ของคุณถูกต้องแล้วลองอีกครั้ง
+
+## LOCALIZATION NOTE (smtpSendRequestRefused): argument %S is the Outgoing server (SMTP)
+smtpSendRequestRefused=ไม่สามารถส่งข้อความเนื่องจากการเชื่อมต่อกับเซิร์ฟเวอร์ขาออก (SMTP) %S ล้มเหลว เซิร์ฟเวอร์อาจไม่พร้อมใช้งานหรือปฏิเสธการเชื่อมต่อ SMTP โปรดยืนยันว่าการตั้งค่าเซิร์ฟเวอร์รอเกิด (SMTP) ของคุณถูกต้องแล้วลองอีกครั้ง
+
+## LOCALIZATION NOTE (smtpSendInterrupted): argument %S is the Outgoing server (SMTP)
+smtpSendInterrupted=ไม่สามารถส่งข้อความได้เนื่องจากการเชื่อมต่อกับเซิร์ฟเวอร์ขาออก (SMTP) %S หายไประหว่างการทำธุรกรรม ลองอีกครั้ง
+
+## LOCALIZATION NOTE (smtpSendTimeout): argument %S is the Outgoing server (SMTP)
+smtpSendTimeout=ไม่สามารถส่งข้อความได้เนื่องจากการเชื่อมต่อกับเซิร์ฟเวอร์ขาออก (SMTP) %S หมดเวลา ลองอีกครั้ง
+
+## LOCALIZATION NOTE (smtpSendFailedUnknownReason): argument %S is the Outgoing server (SMTP)
+smtpSendFailedUnknownReason=ไม่สามารถส่งข้อความโดยใช้เซิร์ฟเวอร์ขาออก (SMTP) %S โดยไม่ทราบสาเหตุ โปรดตรวจสอบว่าการตั้งค่าเซิร์ฟเวอร์ขาออก (SMTP) ของคุณถูกต้องแล้วลองอีกครั้ง
+
+# LOCALIZATION NOTE (smtpHintAuthEncryptToPlainNoSsl): %S is the server hostname
+smtpHintAuthEncryptToPlainNoSsl=ดูเหมือนว่าเซิร์ฟเวอร์ขาออก (SMTP) %S จะไม่รองรับรหัสผ่านที่เข้ารหัส หากคุณเพิ่งตั้งค่าบัญชี ให้ลองเปลี่ยน 'วิธีการรับรองความถูกต้อง' ใน 'การตั้งค่าบัญชี | เซิร์ฟเวอร์ขาออก (SMTP)' เป็น 'รหัสผ่าน ส่งอย่างไม่ปลอดภัย' ถ้าเคยทำได้ แต่ตอนนี้ทำไม่ได้ รหัสผ่านของคุณอาจถูกขโมยได้
+
+# LOCALIZATION NOTE (smtpHintAuthEncryptToPlainSsl): %S is the server hostname
+smtpHintAuthEncryptToPlainSsl=เซิร์ฟเวอร์ขาออก (SMTP) %S ไม่รองรับรหัสผ่านที่เข้ารหัส หากคุณเพิ่งตั้งค่าบัญชีนี้ ให้ลองเปลี่ยน 'วิธีการรับรองความถูกต้อง' ใน 'การตั้งค่าบัญชี | เซิร์ฟเวอร์ขาออก (SMTP)' เป็น 'รหัสผ่านปกติ'
+
+# LOCALIZATION NOTE (smtpHintAuthPlainToEncrypt): %S is the server hostname
+smtpHintAuthPlainToEncrypt=เซิร์ฟเวอร์ขาออก (SMTP) %S ไม่อนุญาตรหัสผ่านที่เป็นข้อความธรรมดา โปรดลองเปลี่ยน 'วิธีการรับรองความถูกต้อง' ใน 'การตั้งค่าบัญชี | เซิร์ฟเวอร์ขาออก (SMTP)' เป็น 'รหัสผ่านที่เข้ารหัส'
+
+# LOCALIZATION NOTE (smtpAuthFailure): %S is the server hostname
+smtpAuthFailure=ไม่สามารถรับรองความถูกต้องกับเซิร์ฟเวอร์ขาออก (SMTP) %S ได้ โปรดตรวจสอบรหัสผ่านและยืนยัน 'วิธีการรับรองความถูกต้อง' ใน 'การตั้งค่าบัญชี | เซิร์ฟเวอร์ขาออก (SMTP)'
+
+# LOCALIZATION NOTE (smtpAuthGssapi): %S is the server hostname
+smtpAuthGssapi=เซิร์ฟเวอร์ขาออก (SMTP) %S ไม่ยอมรับตั๋ว Kerberos/GSSAPI โปรดตรวจสอบว่าคุณเข้าสู่ระบบของ Kerberos/GSSAPI
+
+# LOCALIZATION NOTE (smtpAuthMechNotSupported): %S is the server hostname
+smtpAuthMechNotSupported=เซิร์ฟเวอร์ขาออก (SMTP) %S ไม่รองรับวิธีการรับรองความถูกต้องที่เลือก โปรดเปลี่ยน 'วิธีการรับรองความถูกต้อง' ใน 'การตั้งค่าบัญชี | เซิร์ฟเวอร์ขาออก (SMTP)'
+
+# LOCALIZATION NOTE (errorIllegalLocalPart): %s is an email address with an illegal localpart
+errorIllegalLocalPart=มีอักขระที่ไม่ใช่ ASCII ในส่วนภายในของที่อยู่ผู้รับ %s ซึ่งยังไม่รองรับ โปรดเปลี่ยนที่อยู่นี้แล้วลองอีกครั้ง
+
+## Strings used for the save message dialog shown when the user closes a message compose window
+saveDlogTitle=บันทึกข้อความ
+
+## LOCALIZATION NOTE (saveDlogMessages3): Do not translate the words %1$S and \n.
+## %1$S is replaced by the folder name configured for saving drafts (typically the "Drafts" folder).
+## Translate "Write" to match the translation of item "windowTitleWrite" below.
+saveDlogMessages3=บันทึกข้อความนี้ไปยังโฟลเดอร์ฉบับร่างของคุณ (%1$S) แล้วปิดหน้าต่างเขียนหรือไม่?
+discardButtonLabel=&ละทิ้งการเปลี่ยนแปลง
+
+## generics string
+defaultSubject=(ไม่มีหัวเรื่อง)
+chooseFileToAttach=แนบไฟล์
+genericFailureExplanation=โปรดยืนยันว่าการตั้งค่าบัญชีของคุณถูกต้องแล้วลองอีกครั้ง
+
+## LOCALIZATION NOTE (undisclosedRecipients): this string must use only US_ASCII characters
+undisclosedRecipients=undisclosed-recipients
+
+# LOCALIZATION NOTE (chooseFileToAttachViaCloud): %1$S is the cloud
+# provider to save the file to.
+chooseFileToAttachViaCloud=แนบไฟล์ผ่านทาง %1$S
+
+## Window titles
+# LOCALIZATION NOTE (windowTitleWrite):
+# %1$S is the message subject.
+# %2$S is the application name.
+# Example: Write: Re: Invitation - Thunderbird
+windowTitleWrite=เขียน: %1$S - %2$S
+# LOCALIZATION NOTE (windowTitlePrintPreview):
+# %1$S is the message subject.
+# %2$S is the application name.
+# Example: Print Preview: Re: Invitation - Thunderbird
+windowTitlePrintPreview=ตัวอย่างก่อนพิมพ์: %1$S - %2$S
+
+## From field
+msgIdentityPlaceholder=ป้อนที่อยู่ จาก ที่กำหนดเองที่จะใช้แทน %S
+customizeFromAddressTitle=ปรับแต่งที่อยู่ จาก
+customizeFromAddressWarning=หากผู้ให้บริการอีเมลของคุณรองรับการกำหนดค่าจากที่อยู่ให้คุณทำการเปลี่ยนแปลงเล็กน้อยแบบครั้งเดียวกับที่อยู่ จาก ของคุณโดยไม่ต้องสร้างข้อมูลประจำตัวใหม่ในการตั้งค่าบัญชี ตัวอย่างเช่นหากที่อยู่ จาก ของคุณคือ John Doe <john@example.com> คุณอาจต้องการเปลี่ยนเป็น John Doe <john+doe@example.com> หรือ John <john@example.com>
+customizeFromAddressIgnore=ไม่ต้องแสดงคำเตือนนี้ให้ฉันเห็นอีก
+
+## Strings used by the empty subject dialog
+subjectEmptyTitle=คำเตือนหัวเรื่อง
+subjectEmptyMessage=ข้อความของคุณไม่มีหัวเรื่อง
+sendWithEmptySubjectButton=&ส่งโดยไม่มีหัวเรื่อง
+cancelSendingButton=&ยกเลิกการส่ง
+
+## Strings used by the dialog that informs about the lack of newsgroup support.
+noNewsgroupSupportTitle=ไม่รองรับกลุ่มข่าว
+recipientDlogMessage=บัญชีนี้รองรับผู้รับอีเมลเท่านั้น การดำเนินการต่อจะเป็นการเพิกเฉยกลุ่มข่าว
+
+## Strings used by the alert that tells the user that an e-mail address is invalid.
+addressInvalidTitle=ที่อยู่ผู้รับไม่ถูกต้อง
+addressInvalid=%1$S ไม่ใช่ที่อยู่อีเมลที่ถูกต้องเพราะไม่ได้อยู่ในรูปแบบ user@host คุณต้องแก้ไขให้ถูกต้องก่อนส่งอีเมล
+
+## String used by the dialog that asks the user to attach a web page
+attachPageDlogTitle=โปรดระบุตำแหน่งที่ตั้งที่จะแนบ
+attachPageDlogMessage=หน้าเว็บ (URL):
+
+## String used for attachment pretty name, when the attachment is a message
+messageAttachmentSafeName=ข้อความที่แนบ
+
+## String used for attachment pretty name, when the attachment is a message part
+partAttachmentSafeName=ส่วนข้อความที่แนบ
+
+# LOCALIZATION NOTE (attachmentBucketAttachFilesTooltip):
+# This tooltip should be same as attachFile.label in messengercompose.dtd,
+# but without ellipsis (…).
+attachmentBucketAttachFilesTooltip=แนบไฟล์
+attachmentBucketClearSelectionTooltip=ล้างที่เลือก
+attachmentBucketHeaderShowTooltip=แสดงบานหน้าต่างไฟล์แนบ
+attachmentBucketHeaderMinimizeTooltip=ย่อบานหน้าต่างไฟล์แนบ
+attachmentBucketHeaderRestoreTooltip=เรียกคืนบานหน้าต่างไฟล์แนบ
+
+## String used by the Initialization Error dialog
+initErrorDlogTitle=การเขียนข้อความ
+initErrorDlgMessage=เกิดข้อผิดพลาดขณะสร้างหน้าต่างการเขียนข้อความ โปรดลองอีกครั้ง
+
+## String used if a file to attach does not exist when passed as
+## a command line argument
+errorFileAttachTitle=การแนบไฟล์
+
+## LOCALIZATION NOTE (errorFileAttachMessage): %1$S will be replaced by the non-existent file name.
+errorFileAttachMessage=ไม่มีไฟล์ %1$S อยู่ จึงไม่สามารถแนบไปยังข้อความ
+
+## String used if a file to serve as message body does not exist or cannot be loaded when passed
+## as a command line argument
+errorFileMessageTitle=ไฟล์ข้อความ
+
+## LOCALIZATION NOTE (errorFileMessageMessage): %1$S will be replaced by the non-existent file name.
+errorFileMessageMessage=ไม่มีไฟล์ %1$S อยู่ จึงไม่สามารถใช้เป็นเนื้อความของข้อความ
+
+## LOCALIZATION NOTE (errorLoadFileMessageMessage): %1$S will be replaced by the name of the file that can't be loaded.
+errorLoadFileMessageMessage=ไฟล์ %1$S ไม่สามารถโหลดเป็นเนื้อความของข้อความ
+
+## Strings used by the Save as Draft/Template dialog
+SaveDialogTitle=บันทึกข้อความ
+
+## LOCALIZATION NOTE (SaveDialogMsg): %1$S is the folder name, %2$S is the host name
+SaveDialogMsg=ข้อความของคุณได้ถูกบันทึกไปยังโฟลเดอร์ %1$S ภายใต้ %2$S
+CheckMsg=ไม่ต้องแสดงกล่องโต้ตอบนี้ให้ฉันเห็นอีก
+
+## Strings used by the prompt when Quitting while in progress
+quitComposeWindowTitle=กำลังส่งข้อความ
+
+## LOCALIZATION NOTE (quitComposeWindowMessage2): don't translate \n
+quitComposeWindowMessage2=ตอนนี้ %1$S กำลังอยู่ในกระบวนการส่งข้อความ\nคุณต้องการรอจนกว่าข้อความจะถูกส่งก่อนออกหรือออกตอนนี้?
+quitComposeWindowQuitButtonLabel2=&ออก
+quitComposeWindowWaitButtonLabel2=&รอ
+quitComposeWindowSaveTitle=กำลังบันทึกข้อความ
+
+## LOCALIZATION NOTE (quitComposeWindowSaveMessage): don't translate \n
+quitComposeWindowSaveMessage=ตอนนี้ %1$S กำลังอยู่ในกระบวนการบันทึกข้อความ\nคุณต้องการรอจนกว่าข้อความจะถูกบันทึกก่อนออกหรือออกตอนนี้?
+
+## Strings used by the prompt for Ctrl-Enter check before sending message
+sendMessageCheckWindowTitle=ส่งข้อความ
+sendMessageCheckLabel=คุณแน่ใจหรือไม่ว่าพร้อมที่จะส่งข้อความนี้?
+sendMessageCheckSendButtonLabel=ส่ง
+assemblingMessageDone=กำลังรวบรวมจดหมาย…เสร็จสิ้น
+assemblingMessage=กำลังรวบรวมจดหมาย…
+smtpDeliveringMail=กำลังส่งจดหมาย…
+smtpMailSent=ส่งจดหมายสำเร็จแล้ว
+assemblingMailInformation=กำลังรวบรวมข้อมูลจดหมาย…
+
+## LOCALIZATION NOTE (gatheringAttachment): argument %S is the file name/URI of attachment
+gatheringAttachment=กำลังแนบ %S…
+creatingMailMessage=กำลังสร้างข้อความจดหมาย…
+
+## LOCALIZATION NOTE (copyMessageStart): argument %S is the folder name
+copyMessageStart=กำลังคัดลอกข้อความไปยังโฟลเดอร์ %S…
+copyMessageComplete=การคัดลอกเสร็จสมบูรณ์
+copyMessageFailed=การคัดลอกล้มเหลว
+filterMessageComplete=การกรองเสร็จสมบูรณ์
+filterMessageFailed=การกรองล้มเหลว
+
+## LOCALIZATION NOTE (largeMessageSendWarning):
+## Do not translate %S. It is the size of the message in user-friendly notation.
+largeMessageSendWarning=คำเตือน! คุณกำลังจะส่งข้อความที่มีขนาด %S คุณแน่ใจหรือไม่ว่าต้องการทำเช่นนี้?
+sendingMessage=กำลังส่งข้อความ…
+sendMessageErrorTitle=ข้อผิดพลาดในการส่งข้อความ
+postingMessage=กำลังโพสต์ข้อความ…
+sendLaterErrorTitle=ข้อผิดพลาดในการส่งภายหลัง
+saveDraftErrorTitle=ข้อผิดพลาดในการบันทึกฉบับร่าง
+saveTemplateErrorTitle=ข้อผิดพลาดในการบันทึกแม่แบบ
+
+## LOCALIZATION NOTE (failureOnObjectEmbeddingWhileSaving): argument %.200S is the file name/URI of object to be embedded
+failureOnObjectEmbeddingWhileSaving=มีปัญหาในการรวมไฟล์ %.200S ในข้อความ คุณต้องการดำเนินการส่งข้อความต่อโดยไม่มีไฟล์นี้หรือไม่?
+
+## LOCALIZATION NOTE (failureOnObjectEmbeddingWhileSending): argument %.200S is the file name/URI of object to be embedded
+failureOnObjectEmbeddingWhileSending=มีปัญหาในการรวมไฟล์ %.200S ในข้อความ คุณต้องการดำเนินการบันทึกข้อความต่อโดยไม่มีไฟล์นี้หรือไม่?
+returnToComposeWindowQuestion=คุณต้องการกลับไปยังหน้าต่างการเขียนหรือไม่?
+
+## reply header in composeMsg
+## LOCALIZATION NOTE (mailnews.reply_header_authorwrotesingle): #1 is the author (name of the person replying to)
+mailnews.reply_header_authorwrotesingle=#1 เขียนว่า:
+
+## LOCALIZATION NOTE (mailnews.reply_header_ondateauthorwrote): #1 is the author, #2 is the date, #3 is the time
+mailnews.reply_header_ondateauthorwrote=เมื่อ #2 เวลา #3 #1 เขียนว่า:
+
+## LOCALIZATION NOTE (mailnews.reply_header_authorwroteondate): #1 is the author, #2 is the date, #3 is the time
+mailnews.reply_header_authorwroteondate=#1 เขียนเมื่อ #2 เวลา #3 ว่า:
+
+## reply header in composeMsg
+## user specified
+mailnews.reply_header_originalmessage=-------- ข้อความต้นฉบับ --------
+
+## forwarded header in composeMsg
+## user specified
+mailnews.forward_header_originalmessage=-------- ข้อความที่ส่งต่อ --------
+
+## Strings used by the rename attachment dialog
+renameAttachmentTitle=เปลี่ยนชื่อไฟล์แนบ
+renameAttachmentMessage=ชื่อไฟล์แนบใหม่:
+
+## Attachment Reminder
+## LOCALIZATION NOTE (mail.compose.attachment_reminder_keywords): comma separated
+## words that should trigger an attachment reminder.
+mail.compose.attachment_reminder_keywords=.doc,.pdf,.xls,.ppt,.rtf,.pps,attachment,attach,attached,attaching,enclosed,CV,cover letter,ไฟล์แนบ
+
+addAttachmentButton=เพิ่มไฟล์แนบ…
+addAttachmentButton.accesskey=พ
+remindLaterButton=เตือนฉันภายหลัง
+remindLaterButton.accesskey=ต
+disableAttachmentReminderButton=ปิดใช้งานการเตือนความจำไฟล์แนบสำหรับข้อความปัจจุบัน
+attachmentReminderTitle=การเตือนความจำไฟล์แนบ
+attachmentReminderMsg=คุณลืมเพิ่มไฟล์แนบหรือเปล่า?
+
+# LOCALIZATION NOTE (attachmentReminderKeywordsMsgs): Semi-colon list of plural forms.
+# See: https://developer.mozilla.org/en/Localization_and_Plurals
+# #1 number of keywords
+attachmentReminderKeywordsMsgs=พบ #1 คำสำคัญไฟล์แนบ:
+attachmentReminderOptionsMsg=สามารถกำหนดคำที่ใช้เตือนความจำไฟล์แนบได้ในค่ากำหนดของคุณ
+attachmentReminderYesIForgot=โอ้ ฉันลืมไป!
+attachmentReminderFalseAlarm=ไม่ ส่งเดี๋ยวนี้
+
+# Strings used by the Filelink offer notification bar.
+learnMore.label=เรียนรู้เพิ่มเติม…
+learnMore.accesskey=ร
+
+# LOCALIZATION NOTE (bigFileDescription): Semi-colon list of plural forms.
+# See: https://developer.mozilla.org/en/Localization_and_Plurals
+# #1 number of big attached files
+bigFileDescription=ไฟล์เหล่านี้มีขนาดใหญ่ จะดีกว่าหากใช้ Filelink แทน
+bigFileShare.label=เชื่อมโยง
+bigFileShare.accesskey=ช
+bigFileAttach.label=เพิกเฉย
+bigFileAttach.accesskey=พ
+bigFileChooseAccount.title=เลือกบัญชี
+bigFileChooseAccount.text=เลือกบัญชีระบบคลาวด์ที่จะอัปโหลดไฟล์แนบ
+bigFileHideNotification.title=ไม่ต้องอัปโหลดไฟล์ของฉัน
+bigFileHideNotification.text=คุณจะไม่ได้รับการแจ้งเตือนหากคุณแนบไฟล์ขนาดใหญ่เข้ากับข้อความนี้
+bigFileHideNotification.check=ไม่ต้องแสดงคำเตือนนี้ให้ฉันเห็นอีก
+
+# LOCALIZATION NOTE(cloudFileUploadingTooltip): Do not translate the string
+# %S. %S is the display name for the cloud account the attachment is being
+# uploaded to.
+cloudFileUploadingTooltip=กำลังอัปโหลดไปยัง %S…
+
+# LOCALIZATION NOTE(cloudFileUploadedTooltip): Do not translate the string
+# %S. %S is the display name for the cloud account the attachment was uploaded
+# to.
+cloudFileUploadedTooltip=อัปโหลดไปยัง %S แล้ว
+cloudFileUploadingNotification=ไฟล์ของคุณกำลังถูกเชื่อมโยง ซึ่งจะปรากฏในเนื้อความของข้อความเมื่อเสร็จสมบูรณ์
+cloudFileUploadingCancel.label=ยกเลิก
+cloudFileUploadingCancel.accesskey=ย
+cloudFilePrivacyNotification=การเชื่อมโยงเสร็จสมบูรณ์ โปรดสังเกตว่าไฟล์แนบที่ถูกเชื่อมโยงอาจสามารถเข้าถึงได้โดยผู้ที่สามารถเห็นหรือเดาลิงก์
+
+## LOCALIZATION NOTE(smtpEnterPasswordPrompt): Do not translate the
+## word %S. Place the word %S where the host name should appear.
+smtpEnterPasswordPrompt=ป้อนรหัสผ่านของคุณสำหรับ %S:
+
+## LOCALIZATION NOTE(smtpEnterPasswordPromptWithUsername): Do not translate the
+## words %1$S and %2$S. Place the word %1$S where the host name should appear,
+## and %2$S where the user name should appear.
+smtpEnterPasswordPromptWithUsername=ป้อนรหัสผ่านของคุณสำหรับ %2$S บน %1$S:
+
+## LOCALIZATION NOTE(smtpEnterPasswordPromptTitleWithHostname): Do not translate the
+## word %1$S. Place the word %1$S where the server host name should appear.
+smtpEnterPasswordPromptTitleWithHostname=จำเป็นต้องใช้รหัสผ่านสำหรับเซิร์ฟเวอร์ขาออก (SMTP) %1$S
+
+# LOCALIZATION NOTE (removeAttachmentMsgs): Semi-colon list of plural forms.
+# See: https://developer.mozilla.org/en/Localization_and_Plurals
+removeAttachmentMsgs=เอาไฟล์แนบออก
+
+## LOCALIZATION NOTE(promptToSaveSentLocally2): Do not translate the strings %1$S, %2$S, %3$S and \n.
+## %2$S will be replaced with the account name. $1$S will be replaced by the folder name
+## configured to contain saved sent messages (typically the "Sent" folder).
+## %3$S will be replaced with the local folders account name (typically "Local Folders").
+## Translate "Write" to match the translation of item "windowTitleWrite" above.
+promptToSaveSentLocally2=ข้อความของคุณถูกส่งแล้ว แต่สำเนาไม่ได้ถูกวางไว้ในโฟลเดอร์ที่ส่งแล้วของคุณ (%1$S) เนื่องจากมีข้อผิดพลาดในการเข้าถึงเครือข่ายหรือไฟล์\nคุณสามารถลองอีกครั้งหรือบันทึกข้อความลงในเครื่องไปยัง %3$S/%1$S-%2$S ได้
+errorFilteringMsg=ข้อความของคุณถูกส่งและบันทึกแล้ว แต่มีข้อผิดพลาดขณะเรียกใช้ตัวกรองข้อความ
+errorCloudFileAuth.title=ข้อผิดพลาดการรับรองความถูกต้อง
+
+## LOCALIZATION NOTE(promptToSaveDraftLocally2): Do not translate the strings %1$S, %2$S, %3$S and \n.
+## %2$S will be replaced with the account name. $1$S will be replaced by the folder name
+## configured to contain saved draft messages (typically the "Drafts" folder).
+## %3$S will be replaced with the local folders account name (typically "Local Folders").
+promptToSaveDraftLocally2=ข้อความร่างของคุณไม่ได้ถูกคัดลอกไปยังโฟลเดอร์ฉบับร่างของคุณ (%1$S) เนื่องจากข้อผิดพลาดในการเข้าถึงเครือข่ายหรือไฟล์\nคุณสามารถลองอีกครั้งหรือบันทึกฉบับร่างลงในเครื่องไปยัง %3$S/%1$S-%2$S ได้
+buttonLabelRetry2=&ลองใหม่
+
+## LOCALIZATION NOTE(promptToSaveTemplateLocally2): Do not translate the strings %1$S, %2$S, %3$S and \n.
+## %2$S will be replaced with the account name. $1$S will be replaced by the folder name
+## configured to contain saved templates (typically the "Templates" folder).
+## %3$S will be replaced with the local folders account name (typically "Local Folders").
+promptToSaveTemplateLocally2=แม่แบบของคุณไม่ได้ถูกคัดลอกไปยังโฟลเดอร์แม่แบบ (%1$S) เนื่องจากข้อผิดพลาดเครือข่ายหรือไฟล์\nคุณสามารถลองอีกครั้งหรือบันทึกแม่แบบลงในเครื่องไปยัง %3$S/%1$S-%2$S ได้
+
+## LOCALIZATION NOTE(saveToLocalFoldersFailed): Message appears after normal
+## save fails (e.g., to Sent) and save to Local Folders also fails. This could
+## occur if network is down and filesystem problems are present such as disk
+## full, permission issues or hardware failure.
+saveToLocalFoldersFailed=ไม่สามารถบันทึกข้อความของคุณไปยังโฟลเดอร์ในเครื่อง อาจเป็นเพราะพื้นที่จัดเก็บไฟล์ไม่เพียงพอ
+
+## LOCALIZATION NOTE(errorCloudFileAuth.message):
+## %1$S is the name of the online storage service against which the authentication failed.
+errorCloudFileAuth.message=ไม่สามารถรับรองความถูกต้องกับ %1$S
+errorCloudFileUpload.title=ข้อผิดพลาดการอัปโหลด
+
+## LOCALIZATION NOTE(errorCloudFileUpload.message):
+## %1$S is the name of the online storage service against which the uploading failed.
+## %2$S is the name of the file that failed to upload.
+errorCloudFileUpload.message=ไม่สามารถอัปโหลด %2$S ไปยัง %1$S
+errorCloudFileQuota.title=ข้อผิดพลาดโควตา
+
+## LOCALIZATION NOTE(errorCloudFileQuota.message):
+## %1$S is the name of the online storage service being uploaded to.
+## %2$S is the name of the file that could not be uploaded due to exceeding the storage limit.
+errorCloudFileQuota.message=การอัปโหลด %2$S ไปยัง %1$S จะเกินโควตาเนื้อที่ของคุณ
+errorCloudFileNameLimit.title=ข้อผิดพลาดชื่อไฟล์
+
+## LOCALIZATION NOTE(errorCloudFileNameLimit.message):
+## %1$S is the name of the online storage service being uploaded to.
+## %2$S is the name of the file that could not be uploaded due to the excess file name length
+errorCloudFileNameLimit.message=ชื่อของ %2$S มีอักขระมากกว่า 120 ตัวซึ่งมากกว่าความยาวชื่อไฟล์สูงสุดสำหรับ %1$S โปรดเปลี่ยนชื่อไฟล์ดังกล่าวให้มีความยาวไม่เกิน 120 อักขระแล้วอัปโหลดอีกครั้ง
+errorCloudFileLimit.title=ข้อผิดพลาดขนาดไฟล์
+
+## LOCALIZATION NOTE(errorCloudFileLimit.message):
+## %1$S is the name of the online storage service being uploaded to.
+## %2$S is the name of the file that could not be uploaded due to size restrictions.
+errorCloudFileLimit.message=%2$S เกินขนาดสูงสุดสำหรับ %1$S
+errorCloudFileOther.title=ข้อผิดพลาดที่ไม่รู้จัก
+
+## LOCALIZATION NOTE(errorCloudFileOther.message):
+## %1$S is the name of the online storage service that cannot be communicated with.
+errorCloudFileOther.message=เกิดข้อผิดพลาดที่ไม่รู้จักเมื่อสื่อสารกับ %1$S
+errorCloudFileDeletion.title=ข้อผิดพลาดการลบ
+
+## LOCALIZATION NOTE(errorCloudFileDeletion.message):
+## %1$S is the name of the online storage service that the file is to be deleted from.
+## %2$S is the name of the file that failed to be deleted.
+errorCloudFileDeletion.message=มีปัญหาในการลบ %2$S จาก %1$S
+errorCloudFileUpgrade.label=อัปเกรด
+
+## LOCALIZATION NOTE(cloudAttachmentCountHeader): A line of text describing how
+## many uploaded files have been appended to this message. Emphasis should be
+## on sharing as opposed to attaching. This item is used as a header to a list,
+## hence the colon. This header is only displayed in HTML emails.
+## Using PluralForm (so don't replace the #1).
+cloudAttachmentCountHeader=ฉันได้เชื่อมโยง #1 ไฟล์ไปยังอีเมลนี้:
+
+## LOCALIZATION NOTE(cloudAttachmentListFooter): %1$S is a link, whose text
+## contents are the brandFullName of this application.
+cloudAttachmentListFooter=%1$S ทำให้การแบ่งปันไฟล์ใหญ่บนอีเมลเป็นเรื่องง่าย
+
+## LOCALIZATION NOTE(cloudAttachmentListItem): A line of text describing a cloud
+## attachment to be inserted into the message body. Do not translate the words
+## %1$S, %2$S, %3$S, or %4$S. %1$S is the attachment name, %2$S is its size,
+## %3$S is the name of the cloud storage service, and %4$S is the link to the
+## attachment.
+cloudAttachmentListItem=* %1$S (%2$S) โฮสต์บน %3$S: %4$S
+
+## LOCALIZATION NOTE(stopShowingUploadingNotification): This string is used in the Filelink
+## upload notification bar to allow the user to dismiss the notification permanently.
+stopShowingUploadingNotification.accesskey=ม
+stopShowingUploadingNotification.label=ไม่ต้องแสดงสิ่งนี้อีก
+replaceButton.label=แทนที่…
+replaceButton.accesskey=ท
+replaceButton.tooltip=แสดงกล่องโต้ตอบ ค้นหาและแทนที่
+
+## LOCALIZATION NOTE(blockedAllowResource): %S is the URL to load.
+blockedAllowResource=เลิกบล็อก %S
+## LOCALIZATION NOTE (blockedContentMessage): Semi-colon list of plural forms.
+## See: https://developer.mozilla.org/en/docs/Localization_and_Plurals
+## %S will be replaced by brandShortName.
+## Files must be unblocked individually, therefore the plural form reads:
+## Unblocking a file (one of several) will include it (that one file) in your sent message.
+## In other words:
+## Unblocking one/several file(s) will include it/them in your message.
+blockedContentMessage=%S ได้ปิดกั้นบางไฟล์ไม่ให้โหลดไปยังข้อความนี้ การเลิกปิดกั้นไฟล์จะรวมไฟล์ดังกล่าวในข้อความที่ส่งแล้วของคุณ
+
+blockedContentPrefLabel=ตัวเลือก
+blockedContentPrefAccesskey=ต
+
+blockedContentPrefLabelUnix=ค่ากำหนด
+blockedContentPrefAccesskeyUnix=ค
+
+## Identity matching warning notification bar.
+## LOCALIZATION NOTE(identityWarning): %S will be replaced with the identity name.
+identityWarning=ไม่พบข้อมูลประจำตัวที่ไม่ซ้ำกันที่ตรงกับที่อยู่ จาก ข้อความจะถูกส่งโดยใช้ข้อมูลที่ป้อนในช่อง จาก และการตั้งค่าจากข้อมูลประจำตัว %S ปัจจุบัน
+
+## Recipient pills fields.
+## LOCALIZATION NOTE(confirmRemoveRecipientRowTitle2): %S will be replaced with the field name.
+confirmRemoveRecipientRowTitle2=เอาที่อยู่ %S ออก
+## LOCALIZATION NOTE(confirmRemoveRecipientRowBody2): %S will be replaced with the field name.
+confirmRemoveRecipientRowBody2=คุณแน่ใจหรือไม่ว่าต้องการเอาที่อยู่ %S ออก?
+confirmRemoveRecipientRowButton=เอาออก
+
+## LOCALIZATION NOTE headersSpaceStyle is for aligning label of a newly create recipient row.
+## It should be larger than the largest Header label and identical to &headersSpace2.style;
+headersSpaceStyle=width: 8em
diff --git a/l10n-th/mail/chrome/messenger/messengercompose/editor.properties b/l10n-th/mail/chrome/messenger/messengercompose/editor.properties
new file mode 100644
index 0000000000..41c6c149d6
--- /dev/null
+++ b/l10n-th/mail/chrome/messenger/messengercompose/editor.properties
@@ -0,0 +1,208 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.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: embedded "\n" represent HTML breaks (<br>)
+# Don't translate embedded "\n".
+# Don't translate strings like this: %variable%
+# as they will be replaced using JavaScript
+#
+No=ไม่
+Save=บันทึก
+More=เพิ่มเติม
+Less=น้อยลง
+MoreProperties=คุณสมบัติเพิ่มเติม
+FewerProperties=คุณสมบัติน้อยลง
+PropertiesAccessKey=ค
+None=ไม่มี
+none=ไม่มี
+OpenHTMLFile=เปิดไฟล์ HTML
+OpenTextFile=เปิดไฟล์ข้อความ
+SelectImageFile=เลือกไฟล์ภาพ
+SaveDocument=บันทึกหน้า
+SaveDocumentAs=บันทึกหน้าเป็น
+SaveTextAs=บันทึกข้อความเป็น
+EditMode=โหมดแก้ไข
+Preview=แสดงตัวอย่าง
+Publish=เผยแพร่
+PublishPage=เผยแพร่หน้า
+DontPublish=ไม่เผยแพร่
+SavePassword=ใช้ตัวจัดการรหัสผ่านเพื่อบันทึกรหัสผ่านนี้
+CorrectSpelling=(การสะกดที่ถูกต้อง)
+NoSuggestedWords=(ไม่มีคำที่แนะนำ)
+NoMisspelledWord=ไม่มีคำที่สะกดผิด
+CheckSpellingDone=ตรวจสอบการสะกดเสร็จสมบูรณ์
+CheckSpelling=ตรวจสอบการสะกดคำ
+InputError=ข้อผิดพลาด
+Alert=คำเตือน
+CantEditFramesetMsg=ตัวเขียนไม่สามารถแก้ไขเฟรมเซต HTML หรือหน้าที่มีเฟรมแบบอินไลน์ได้ สำหรับเฟรมเซต ให้ลองแก้ไขหน้าสำหรับแต่ละเฟรมต่างหาก สำหรับหน้าที่มีเฟรมแบบอินไลน์ ให้บันทึกสำเนาของหน้าและเอาแท็ก <iframe> ออก
+CantEditMimeTypeMsg=ไม่สามารถแก้ไขหน้าชนิดนี้ได้
+CantEditDocumentMsg=ไม่สามารถแก้ไขหน้านี้ได้เนื่องจากเหตุผลที่ไม่ทราบ
+BeforeClosing=ก่อนปิด
+BeforePreview=ก่อนดูในเบราว์เซอร์
+BeforeValidate=ก่อนตรวจสอบเอกสาร
+# LOCALIZATION NOTE (SaveFilePrompt, PublishPrompt): Don't translate %title% and %reason% (this is the reason for asking user to close, such as "before closing")
+SaveFilePrompt=บันทึกการเปลี่ยนแปลงไปยัง "%title%" %reason%หรือไม่?
+PublishPrompt=บันทึกการเปลี่ยนแปลงไปยัง "%title%" %reason%หรือไม่?
+SaveFileFailed=การบันทึกไฟล์ล้มเหลว!
+
+# Publishing error strings:
+# LOCALIZATION NOTE Don't translate %dir% or %file% in the Publishing error strings:
+FileNotFound=ไม่พบ %file%
+SubdirDoesNotExist=ไดเรกทอรีย่อย "%dir%" ไม่มีอยู่บนไซต์นี้หรือชื่อไฟล์ "%file%" ถูกใช้แล้วโดยไดเรกทอรีย่อยอื่น
+FilenameIsSubdir=ชื่อไฟล์ "%file%" ถูกใช้แล้วโดยไดเรกทอรีย่อยอื่น
+ServerNotAvailable=เซิรฟ์เวอร์ไม่พร้อมใช้งาน ตรวจสอบการเชื่อมต่อของคุณแล้วลองอีกครั้งในภายหลัง
+Offline=คุณออฟไลน์อยู่ในขณะนี้ คลิกไอคอนที่อยู่บริเวณมุมขวาล่างของหน้าต่างใดก็ได้เพื่อเริ่มออนไลน์
+DiskFull=มีเนื้อที่ดิสก์ไม่เพียงพอที่จะบันทึกไฟล์ "%file%"
+NameTooLong=ฃื่อไฟล์หรือชื่อไดเรกทอรีย่อยยาวเกินไป
+AccessDenied=คุณไม่ได้รับอนุญาตให้เผยแพร่ไปยังตำแหน่งที่ตั้งนี้
+UnknownPublishError=เกิดข้อผิดพลาดในการเผยแพร่ที่ไม่รู้จัก
+PublishFailed=การเผยแพร่ล้มเหลว
+PublishCompleted=การเผยแพร่เสร็จสมบูรณ์
+AllFilesPublished=เผยแพร่ไฟล์ทั้งหมดแล้ว
+# LOCALIZATION NOTE Don't translate %x% or %total%
+FailedFileMsg=ไม่สามารถเผยแพร่ %x% จาก %total% ไฟล์
+# End-Publishing error strings
+Prompt=พร้อมท์
+# LOCALIZATION NOTE (PromptFTPUsernamePassword): Don't translate %host%
+PromptFTPUsernamePassword=ป้อนชื่อผู้ใช้และรหัสผ่านสำหรับเซิร์ฟเวอร์ FTP ที่ %host%
+RevertCaption=เปลี่ยนกลับเป็นที่บันทึกล่าสุด
+Revert=เปลี่ยนกลับ
+SendPageReason=ก่อนส่งหน้านี้
+Send=ส่ง
+## LOCALIZATION NOTE (PublishProgressCaption, PublishToSite, AbandonChanges): Don't translate %title%
+PublishProgressCaption=กำลังเผยแพร่: %title%
+PublishToSite=กำลังเผยแพร่ไปยังไซต์: %title%
+AbandonChanges=ละทิ้งการเปลี่ยนแปลงที่ยังไม่ได้บันทึกที่ทำกับ "%title%" และโหลดหน้าใหม่หรือไม่?
+DocumentTitle=ชื่อเรื่องหน้า
+NeedDocTitle=โปรดป้อนชื่อเรื่องสำหรับหน้าปัจจุบัน
+DocTitleHelp=สิ่งนี้จะระบุหน้าในชื่อเรื่องหน้าต่างและที่คั่นหน้า
+CancelPublishTitle=ยกเลิกการเผยแพร่?
+## LOCALIZATION NOTE: "Continue" in this sentence must match the text for
+## the CancelPublishContinue key below
+CancelPublishMessage=การยกเลิกระหว่างที่กำลังเผยแพร่อยู่อาจส่งผลให้ไฟล์ของคุณถูกถ่ายโอนอย่างไม่สมบูรณ์ คุณต้องการที่จะดำเนินการต่อหรือยกเลิก?
+CancelPublishContinue=ดำเนินการต่อ
+MissingImageError=โปรดป้อนหรือเลือกภาพชนิด gif, jpg หรือ png
+EmptyHREFError=โปรดเลือกตำแหน่งที่ตั้งที่จะสร้างลิงก์ใหม่
+LinkText=ลิงก์ข้อความ
+LinkImage=ลิงก์ภาพ
+MixedSelection=[การเลือกแบบผสม]
+Mixed=(แบบผสม)
+# LOCALIZATION NOTE (NotInstalled): %S is the name of the font
+NotInstalled=%S (ไม่ได้ติดตั้ง)
+EnterLinkText=ป้อนข้อความที่จะแสดงสำหรับลิงก์:
+EnterLinkTextAccessKey=ป
+EmptyLinkTextError=โปรดป้อนข้อความสำหรับลิงก์นี้
+EditTextWarning=การดำเนินการนี้จะแทนที่เนื้อหาที่มีอยู่
+#LOCALIZATION NOTE (ValidateNumber):Don't translate: %n% %min% %max%
+ValidateRangeMsg=ตัวเลขที่คุณป้อน (%n%) อยู่นอกช่วงที่อนุญาต
+ValidateNumberMsg=โปรดป้อนตัวเลขระหว่าง %min% และ %max%
+MissingAnchorNameError=โปรดป้อนชื่อสำหรับจุดยึดนี้
+#LOCALIZATION NOTE (DuplicateAnchorNameError): Don't translate %name%
+DuplicateAnchorNameError=มี "%name%" อยู่ในหน้านี้แล้ว โปรดป้อนชื่ออื่น
+BulletStyle=ลักษณะของสัญลักษณ์แสดงหัวข้อย่อย
+SolidCircle=วงกลมทึบ
+OpenCircle=วงกลมเปิด
+SolidSquare=สี่เหลี่ยมทึบ
+NumberStyle=ลักษณะของตัวเลข
+Automatic=อัตโนมัติ
+Style_1=1, 2, 3…
+Style_I=I, II, III…
+Style_i=i, ii, iii…
+Style_A=A, B, C…
+Style_a=a, b, c…
+Pixels=พิกเซล
+Percent=เปอร์เซ็นต์
+PercentOfCell=% ของเซลล์
+PercentOfWindow=% ของหน้าต่าง
+PercentOfTable=% ของตาราง
+#LOCALIZATION NOTE (untitledTitle): %S is the window #. No plural handling needed.
+untitledTitle=ไม่มีชื่อ-%S
+untitledDefaultFilename=ไม่มีชื่อ
+ShowToolbar=แสดงแถบเครื่องมือ
+HideToolbar=ซ่อนแถบเครื่องมือ
+ImapError=ไม่สามารถโหลดภาพ
+ImapCheck=\nโปรดเลือกตำแหน่งที่ตั้ง (URL) ใหม่แล้วลองอีกครั้ง
+SaveToUseRelativeUrl=สามารถใช้ URL แบบย่อบนหน้าที่ได้ถูกบันทึกแล้วเท่านั้น
+NoNamedAnchorsOrHeadings=(ไม่มีจุดยึดที่มีชื่อหรือหัวเรื่องในหน้านี้)
+TextColor=สีข้อความ
+HighlightColor=สีเน้น
+PageColor=สีพื้นหลังหน้า
+BlockColor=สีพื้นหลังบล็อก
+TableColor=สีพื้นหลังตาราง
+CellColor=สีพื้นหลังเซลล์
+TableOrCellColor=สีตารางหรือเซลล์
+LinkColor=สีข้อความลิงก์
+ActiveLinkColor=สีลิงก์ที่ใช้งานอยู่
+VisitedLinkColor=สีลิงก์ที่เยี่ยมชมแล้ว
+NoColorError=คลิกที่สีหรือป้อนสตริงสี HTML ที่ถูกต้อง
+Table=ตาราง
+TableCell=เซลล์ตาราง
+NestedTable=ตารางที่ซ้อนกัน
+HLine=เส้นแนวนอน
+Link=ลิงก์
+Image=ภาพ
+ImageAndLink=ภาพและลิงก์
+NamedAnchor=จุดยึดที่มีชื่อ
+List=รายการ
+ListItem=รายการในรายการ
+Form=แบบฟอร์ม
+InputTag=ช่องกรอกแบบฟอร์ม
+InputImage=ภาพแบบฟอร์ม
+TextArea=พื้นที่ข้อความ
+Select=รายการเลือก
+Button=ปุ่ม
+Label=ป้ายชื่อ
+FieldSet=ชุดช่องกรอก
+Tag=ป้ายกำกับ
+MissingSiteNameError=โปรดป้อนชื่อสำหรับไซต์ที่จะเผยแพร่นี้
+MissingPublishUrlError=โปรดป้อนตำแหน่งที่ตั้งสำหรับการเผยแพร่หน้านี้
+MissingPublishFilename=โปรดป้อนชื่อไฟล์สำหรับหน้าปัจจุบัน
+#LOCALIZATION NOTE (DuplicateSiteNameError): Don't translate %name%
+DuplicateSiteNameError=มี "%name%" อยู่แล้ว โปรดป้อนชื่อไซต์อื่น
+AdvancedProperties=คุณสมบัติขั้นสูง…
+AdvancedEditForCellMsg=การแก้ไขขั้นสูงจะไม่พร้อมใช้งานเมื่อเลือกหลายเซลล์
+# LOCALIZATION NOTE (ObjectProperties):Don't translate "%obj%" it will be replaced with one of above object nouns
+ObjectProperties=คุณสมบัติ %obj%…
+# LOCALIZATION NOTE This character must be in the above string and not conflict with other accesskeys in Format menu
+ObjectPropertiesAccessKey=ค
+# LOCALIZATION NOTE (JoinSelectedCells): This variable should contain the "tableJoinCells.accesskey"
+# letter as defined in editorOverlay.dtd
+JoinSelectedCells=ผสานเซลล์ที่เลือก
+# LOCALIZATION NOTE (JoinCellToRight): This variable should contain the "tableJoinCells.accesskey"
+# letter as defined in editorOverlay.dtd
+JoinCellToRight=ผสานกับเซลล์ทางขวา
+JoinCellAccesskey=ผ
+# LOCALIZATION NOTE (TableSelectKey): Ctrl key on a keyboard
+TableSelectKey=Ctrl+
+# LOCALIZATION NOTE (XulKeyMac): Command key on a Mac keyboard
+XulKeyMac=Cmd+
+# LOCALIZATION NOTE (Del): Del key on a keyboard
+Del=Del
+Delete=ลบ
+DeleteCells=ลบเซลล์
+DeleteTableTitle=ลบแถวหรือคอลัมน์
+DeleteTableMsg=การลดจำนวนแถวหรือคอลัมน์จะเป็นการลบเซลล์ตารางและเนื้อหาที่อยู่ภายใน คุณต้องการดำเนินการนี้หรือไม่?
+Clear=ล้าง
+#Mouse actions
+Click=คลิก
+Drag=ลาก
+Unknown=ไม่ทราบ
+#
+# LOCALIZATION NOTE "RemoveTextStylesAccesskey" is used for both
+# menu items: "RemoveTextStyles" and "StopTextStyles"
+RemoveTextStylesAccesskey=ข
+RemoveTextStyles=เอาลักษณะข้อความทั้งหมดออก
+StopTextStyles=ยกเลิกลักษณะข้อความ
+#
+# LOCALIZATION NOTE "RemoveLinksAccesskey" is used for both
+# menu items: "RemoveLinks" and "StopLinks"
+RemoveLinksAccesskey=ล
+RemoveLinks=เอาลิงก์ออก
+StopLinks=ยกเลิกลิงก์
+#
+NoFormAction=แนะนำให้คุณป้อนการกระทำสำหรับแบบฟอร์มนี้ แบบฟอร์มการโพสต์ด้วยตนเองเป็นเทคนิคขั้นสูงที่อาจไม่ทำงานอย่างสม่ำเสมอในเบราว์เซอร์ทั้งหมด
+NoAltText=หากภาพเกี่ยวข้องกับเนื้อหาของเอกสาร คุณจะต้องระบุข้อความสำรองที่จะปรากฏในเบราว์เซอร์แบบข้อความเท่านั้น และที่จะปรากฏในเบราว์เซอร์อื่นเมื่อภาพโหลดหรือปิดใช้งานการโหลดภาพ
+#
+Malformed=ไม่สามารถแปลงซอร์สเป็นเอกสารได้เนื่องจาก XHTML ไม่ถูกต้อง
+NoLinksToCheck=ไม่มีองค์ประกอบของลิงก์ที่จะตรวจสอบ
diff --git a/l10n-th/mail/chrome/messenger/messengercompose/editorOverlay.dtd b/l10n-th/mail/chrome/messenger/messengercompose/editorOverlay.dtd
new file mode 100644
index 0000000000..cced94b9d9
--- /dev/null
+++ b/l10n-th/mail/chrome/messenger/messengercompose/editorOverlay.dtd
@@ -0,0 +1,303 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!-- Attn: Localization - some of the menus in this dialog directly affect mail also. -->
+
+<!-- Edit menu items -->
+<!ENTITY pasteNoFormatting.label "วางโดยไม่มีการจัดรูปแบบ">
+<!ENTITY pasteNoFormatting.accesskey "ว">
+<!ENTITY pasteNoFormatting.key "V">
+<!ENTITY pasteAsQuotationCmd.label "วางเป็นถ้อยคำอ้างอิง">
+<!ENTITY pasteAsQuotationCmd.accesskey "ป">
+
+<!-- Insert menu items -->
+<!ENTITY insertMenu.label "แทรก">
+<!ENTITY insertMenu.accesskey "ท">
+<!ENTITY insertLinkCmd2.label "ลิงก์…">
+<!ENTITY insertLinkCmd2.accesskey "ล">
+<!ENTITY insertLinkCmd2.key "K">
+<!ENTITY insertAnchorCmd.label "จุดยึดที่มีชื่อ…">
+<!ENTITY insertAnchorCmd.accesskey "จ">
+<!ENTITY insertImageCmd.label "ภาพ…">
+<!ENTITY insertImageCmd.accesskey "ภ">
+<!ENTITY insertHLineCmd.label "เส้นแนวนอน">
+<!ENTITY insertHLineCmd.accesskey "ส">
+<!ENTITY insertTableCmd.label "ตาราง…">
+<!ENTITY insertTableCmd.accesskey "ต">
+<!ENTITY insertHTMLCmd.label "HTML…">
+<!ENTITY insertHTMLCmd.accesskey "H">
+<!ENTITY insertMathCmd.label "คณิตศาสตร์…">
+<!ENTITY insertMathCmd.accesskey "ค">
+<!ENTITY insertCharsCmd.label "อักขระและสัญลักษณ์…">
+<!ENTITY insertCharsCmd.accesskey "อ">
+<!ENTITY insertBreakAllCmd.label "แบ่งภาพที่อยู่ด้านล่าง">
+<!ENTITY insertBreakAllCmd.accesskey "แ">
+
+<!-- Used just in context popup. -->
+<!ENTITY createLinkCmd.label "สร้างลิงก์…">
+<!ENTITY createLinkCmd.accesskey "ส">
+<!ENTITY editLinkCmd.label "แก้ไขลิงก์ในตัวเขียนใหม่">
+<!ENTITY editLinkCmd.accesskey "ก">
+
+<!-- Font Face SubMenu -->
+<!ENTITY FontFaceSelect.tooltip "เลือกแบบอักษร">
+<!ENTITY fontfaceMenu.label "แบบอักษร">
+<!ENTITY fontfaceMenu.accesskey "บ">
+<!ENTITY fontVarWidth.label "ความกว้างแปรผัน">
+<!ENTITY fontVarWidth.accesskey "ค">
+<!ENTITY fontFixedWidth.label "ความกว้างคงที่">
+<!ENTITY fontFixedWidth.accesskey "ว">
+<!ENTITY fontFixedWidth.key "T">
+<!ENTITY fontHelvetica.label "Helvetica, Arial">
+<!ENTITY fontHelvetica.accesskey "l">
+<!ENTITY fontTimes.label "Times">
+<!ENTITY fontTimes.accesskey "T">
+<!ENTITY fontCourier.label "Courier">
+<!ENTITY fontCourier.accesskey "C">
+
+<!-- Font Size SubMenu -->
+<!ENTITY FontSizeSelect.tooltip "เลือกขนาดแบบอักษร">
+<!ENTITY decreaseFontSize.label "เล็กลง">
+<!ENTITY decreaseFontSize.accesskey "ล">
+<!ENTITY decrementFontSize.key "&lt;">
+<!ENTITY decrementFontSize.key2 ","> <!-- < is above this key on many keyboards -->
+<!ENTITY increaseFontSize.label "ใหญ่ขึ้น">
+<!ENTITY increaseFontSize.accesskey "ห">
+<!ENTITY incrementFontSize.key "&gt;">
+<!ENTITY incrementFontSize.key2 "."> <!-- > is above this key on many keyboards -->
+
+<!ENTITY fontSizeMenu.label "ขนาด">
+<!ENTITY fontSizeMenu.accesskey "ข">
+<!ENTITY size-tinyCmd.label "เล็กมาก">
+<!ENTITY size-tinyCmd.accesskey "ล">
+<!ENTITY size-smallCmd.label "เล็ก">
+<!ENTITY size-smallCmd.accesskey "ก">
+<!ENTITY size-mediumCmd.label "ปานกลาง">
+<!ENTITY size-mediumCmd.accesskey "ป">
+<!ENTITY size-largeCmd.label "ใหญ่">
+<!ENTITY size-largeCmd.accesskey "ห">
+<!ENTITY size-extraLargeCmd.label "ใหญ่มาก">
+<!ENTITY size-extraLargeCmd.accesskey "ม">
+<!ENTITY size-hugeCmd.label "มหึมา">
+<!ENTITY size-hugeCmd.accesskey "ห">
+
+<!-- Font Style SubMenu -->
+<!ENTITY fontStyleMenu.label "ลักษณะข้อความ">
+<!ENTITY fontStyleMenu.accesskey "ก">
+<!ENTITY styleBoldCmd.label "ตัวหนา">
+<!ENTITY styleBoldCmd.accesskey "ต">
+<!ENTITY styleBoldCmd.key "B">
+<!ENTITY styleItalicCmd.label "ตัวเอียง">
+<!ENTITY styleItalicCmd.accesskey "ว">
+<!ENTITY styleItalicCmd.key "I">
+<!ENTITY styleUnderlineCmd.label "ขีดเส้นใต้">
+<!ENTITY styleUnderlineCmd.accesskey "ข">
+<!ENTITY styleUnderlineCmd.key "U">
+<!ENTITY styleStrikeThruCmd.label "ขีดทับ">
+<!ENTITY styleStrikeThruCmd.accesskey "ท">
+<!ENTITY styleSuperscriptCmd.label "ตัวยก">
+<!ENTITY styleSuperscriptCmd.accesskey "ย">
+<!ENTITY styleSubscriptCmd.label "ตัวห้อย">
+<!ENTITY styleSubscriptCmd.accesskey "ห">
+<!ENTITY styleNonbreakingCmd.label "ช่องว่างแบบไม่แบ่งบรรทัด">
+<!ENTITY styleNonbreakingCmd.accesskey "ม">
+<!ENTITY styleEm.label "ตัวเน้น">
+<!ENTITY styleEm.accesskey "น">
+<!ENTITY styleStrong.label "ตัวเน้นแบบเข้ม">
+<!ENTITY styleStrong.accesskey "ต">
+<!ENTITY styleCite.label "การกล่าวถึง">
+<!ENTITY styleCite.accesskey "ก">
+<!ENTITY styleAbbr.label "ตัวย่อ">
+<!ENTITY styleAbbr.accesskey "ว">
+<!ENTITY styleAcronym.label "อักษรย่อ">
+<!ENTITY styleAcronym.accesskey "อ">
+<!ENTITY styleCode.label "โค้ด">
+<!ENTITY styleCode.accesskey "ค">
+<!ENTITY styleSamp.label "ส่งออกตัวอย่าง">
+<!ENTITY styleSamp.accesskey "ส">
+<!ENTITY styleVar.label "ตัวแปร">
+<!ENTITY styleVar.accesskey "ป">
+
+<!ENTITY formatFontColor.label "สีข้อความ…">
+<!ENTITY formatFontColor.accesskey "ส">
+<!ENTITY tableOrCellColor.label "สีพื้นหลังของตารางหรือเซลล์…">
+<!ENTITY tableOrCellColor.accesskey "พ">
+
+<!ENTITY formatRemoveStyles.key "Y">
+<!ENTITY formatRemoveLinks.key "K">
+<!ENTITY formatRemoveNamedAnchors.label "เอาจุดยึดที่มีชื่อออก">
+<!ENTITY formatRemoveNamedAnchors.accesskey "อ">
+<!ENTITY formatRemoveNamedAnchors2.key "R">
+
+<!ENTITY paragraphMenu.label "ย่อหน้า">
+<!ENTITY paragraphMenu.accesskey "ย">
+<!ENTITY paragraphParagraphCmd.label "ย่อหน้า">
+<!ENTITY paragraphParagraphCmd.accesskey "ย">
+<!ENTITY heading1Cmd.label "หัวเรื่อง 1">
+<!ENTITY heading1Cmd.accesskey "1">
+<!ENTITY heading2Cmd.label "หัวเรื่อง 2">
+<!ENTITY heading2Cmd.accesskey "2">
+<!ENTITY heading3Cmd.label "หัวเรื่อง 3">
+<!ENTITY heading3Cmd.accesskey "3">
+<!ENTITY heading4Cmd.label "หัวเรื่อง 4">
+<!ENTITY heading4Cmd.accesskey "4">
+<!ENTITY heading5Cmd.label "หัวเรื่อง 5">
+<!ENTITY heading5Cmd.accesskey "5">
+<!ENTITY heading6Cmd.label "หัวเรื่อง 6">
+<!ENTITY heading6Cmd.accesskey "6">
+<!ENTITY paragraphAddressCmd.label "ที่อยู่">
+<!ENTITY paragraphAddressCmd.accesskey "ท">
+<!ENTITY paragraphPreformatCmd.label "ย่อหน้าที่จัดรูปแบบไว้ล่วงหน้า">
+<!ENTITY paragraphPreformatCmd.accesskey "ย">
+
+<!-- List menu items -->
+<!ENTITY formatlistMenu.label "รายการ">
+<!ENTITY formatlistMenu.accesskey "ร">
+<!ENTITY noneCmd.label "ไม่มี">
+<!ENTITY noneCmd.accesskey "ม">
+<!ENTITY listBulletCmd.label "มีสัญลักษณ์แสดงหัวข้อย่อย">
+<!ENTITY listBulletCmd.accesskey "ส">
+<!ENTITY listNumberedCmd.label "มีลำดับเลข">
+<!ENTITY listNumberedCmd.accesskey "ล">
+<!ENTITY listTermCmd.label "คำ">
+<!ENTITY listTermCmd.accesskey "ค">
+<!ENTITY listDefinitionCmd.label "นิยาม">
+<!ENTITY listDefinitionCmd.accesskey "น">
+<!ENTITY listPropsCmd.label "คุณสมบัติรายการ…">
+<!ENTITY listPropsCmd.accesskey "ค">
+
+<!ENTITY ParagraphSelect.tooltip "เลือกรูปแบบย่อหน้า">
+<!-- Shared in Paragraph, and Toolbar menulist -->
+<!ENTITY bodyTextCmd.label "เนื้อความ">
+<!ENTITY bodyTextCmd.accesskey "น">
+
+<!-- Align menu items -->
+<!ENTITY alignMenu.label "จัดชิดแนว">
+<!ENTITY alignMenu.accesskey "จ">
+<!ENTITY alignLeft.label "ซ้าย">
+<!ENTITY alignLeft.accesskey "ซ">
+<!ENTITY alignLeft.tooltip "จัดชิดแนวซ้าย">
+<!ENTITY alignCenter.label "กึ่งกลาง">
+<!ENTITY alignCenter.accesskey "ง">
+<!ENTITY alignCenter.tooltip "จัดชิดแนวกลาง">
+<!ENTITY alignRight.label "ขวา">
+<!ENTITY alignRight.accesskey "ข">
+<!ENTITY alignRight.tooltip "จัดชิดแนวขวา">
+<!ENTITY alignJustify.label "เต็มแนว">
+<!ENTITY alignJustify.accesskey "ต">
+<!ENTITY alignJustify.tooltip "จัดเต็มแนว">
+
+<!ENTITY increaseIndent.label "เพิ่มการเยื้อง">
+<!ENTITY increaseIndent.accesskey "พ">
+<!ENTITY increaseIndent.key "]">
+<!ENTITY decreaseIndent.label "ลดการเยื้อง">
+<!ENTITY decreaseIndent.accesskey "ล">
+<!ENTITY decreaseIndent.key "[">
+
+<!ENTITY colorsAndBackground.label "สีและพื้นหลังของหน้า…">
+<!ENTITY colorsAndBackground.accesskey "ส">
+
+<!-- Table Menu -->
+<!ENTITY tableMenu.label "ตาราง">
+<!ENTITY tableMenu.accesskey "ต">
+
+<!-- Select Submenu -->
+<!ENTITY tableSelectMenu.label "เลือก">
+<!ENTITY tableSelectMenu.accesskey "เ">
+
+<!ENTITY tableSelectMenu2.label "เลือกตาราง">
+<!ENTITY tableSelectMenu2.accesskey "เ">
+<!ENTITY tableInsertMenu2.label "แทรกตาราง">
+<!ENTITY tableInsertMenu2.accesskey "ท">
+<!ENTITY tableDeleteMenu2.label "ลบตาราง">
+<!ENTITY tableDeleteMenu2.accesskey "บ">
+
+<!-- Insert SubMenu -->
+<!ENTITY tableInsertMenu.label "แทรก">
+<!ENTITY tableInsertMenu.accesskey "ท">
+<!ENTITY tableTable.label "ตาราง">
+<!ENTITY tableTable.accesskey "ต">
+<!ENTITY tableRow.label "แถว">
+<!ENTITY tableRows.label "แถว">
+<!ENTITY tableRow.accesskey "ถ">
+<!ENTITY tableRowAbove.label "แถวจากด้านบน">
+<!ENTITY tableRowAbove.accesskey "บ">
+<!ENTITY tableRowBelow.label "แถวจากด้านล่าง">
+<!ENTITY tableRowBelow.accesskey "ล">
+<!ENTITY tableColumn.label "คอลัมน์">
+<!ENTITY tableColumns.label "คอลัมน์">
+<!ENTITY tableColumn.accesskey "ค">
+<!ENTITY tableColumnBefore.label "คอลัมน์จากด้านซ้าย">
+<!ENTITY tableColumnBefore.accesskey "ซ">
+<!ENTITY tableColumnAfter.label "คอลัมน์จากด้านขวา">
+<!ENTITY tableColumnAfter.accesskey "ข">
+<!ENTITY tableCell.label "เซลล์">
+<!ENTITY tableCells.label "เซลล์">
+<!ENTITY tableCell.accesskey "ซ">
+<!ENTITY tableCellContents.label "เนื้อหาเซลล์">
+<!ENTITY tableCellContents.accesskey "น">
+<!ENTITY tableAllCells.label "เซลล์ทั้งหมด">
+<!ENTITY tableAllCells.accesskey "ท">
+<!ENTITY tableCellBefore.label "เซลล์จากด้านซ้าย">
+<!ENTITY tableCellBefore.accesskey "ซ">
+<!ENTITY tableCellAfter.label "เซลล์จากด้านขวา">
+<!ENTITY tableCellAfter.accesskey "ข">
+<!-- Delete SubMenu -->
+<!ENTITY tableDeleteMenu.label "ลบ">
+<!ENTITY tableDeleteMenu.accesskey "ล">
+
+<!-- text for "Join Cells" is in editor.properties
+ ("JoinSelectedCells" and "JoinCellToRight")
+ the access key must exist in both of those strings
+ But value must be set here for accesskey to draw properly
+-->
+<!ENTITY tableJoinCells.label "ผ">
+<!ENTITY tableJoinCells.accesskey "ผ">
+<!ENTITY tableSplitCell.label "แยกเซลล์">
+<!ENTITY tableSplitCell.accesskey "ย">
+<!ENTITY convertToTable.label "สร้างตารางจากส่วนที่เลือก">
+<!ENTITY convertToTable.accesskey "ส">
+<!ENTITY tableProperties.label "คุณสมบัติตาราง…">
+<!ENTITY tableProperties.accesskey "ค">
+
+<!ENTITY imageToolbarCmd.label "ภาพ">
+<!ENTITY imageToolbarCmd.tooltip "แทรกภาพใหม่หรือแก้ไขคุณสมบัติของภาพที่เลือก">
+<!ENTITY hruleToolbarCmd.label "เส้นแนวนอน">
+<!ENTITY hruleToolbarCmd.tooltip "แทรกเส้นแนวนอนใหม่หรือแก้ไขคุณสมบัติของเส้นที่เลือก">
+<!ENTITY tableToolbarCmd.label "ตาราง">
+<!ENTITY tableToolbarCmd.tooltip "แทรกตารางใหม่หรือแก้ไขคุณสมบัติของตารางที่เลือก">
+<!ENTITY linkToolbarCmd.label "ลิงก์">
+<!ENTITY linkToolbarCmd.tooltip "แทรกลิงก์ใหม่หรือแก้ไขคุณสมบัติของลิงก์ที่เลือก">
+<!ENTITY anchorToolbarCmd.label "จุดยึด">
+<!ENTITY anchorToolbarCmd.tooltip "แทรกจุดยึดที่มีชื่อใหม่หรือแก้ไขคุณสมบัติของจุดยึดที่เลือก">
+<!ENTITY TextColorButton.tooltip "เลือกสีสำหรับข้อความ">
+<!ENTITY BackgroundColorButton.tooltip "เลือกสีสำหรับพื้นหลัง">
+
+<!-- Editor toolbar -->
+<!ENTITY absoluteFontSizeToolbarCmd.tooltip "ตั้งขนาดแบบอักษร">
+<!ENTITY decreaseFontSizeToolbarCmd.tooltip "ขนาดแบบอักษรเล็กลง">
+<!ENTITY increaseFontSizeToolbarCmd.tooltip "ขนาดแบบอักษรใหญ่ขึ้น">
+<!ENTITY boldToolbarCmd.tooltip "ตัวหนา">
+<!ENTITY italicToolbarCmd.tooltip "ตัวเอียง">
+<!ENTITY underlineToolbarCmd.tooltip "ขีดเส้นใต้">
+<!ENTITY bulletListToolbarCmd.tooltip "นำไปใช้หรือเอารายการที่มีสัญลักษณ์แสดงหัวข้อย่อยออก">
+<!ENTITY numberListToolbarCmd.tooltip "นำไปใช้หรือเอารายการที่มีลำดับเลขออก">
+<!ENTITY outdentToolbarCmd.tooltip "เยื้องข้อความออก (ย้ายไปทางซ้าย)">
+<!ENTITY indentToolbarCmd.tooltip "เยื้องข้อความเข้า (ย้ายไปทางขวา)">
+<!ENTITY AlignPopupButton.tooltip "เลือกการจัดข้อความชิดแนว">
+<!ENTITY InsertPopupButton.tooltip "แทรกลิงก์, จุดยึด, ภาพ, เส้นแนวนอน, หรือตาราง">
+<!ENTITY alignLeftButton.tooltip "จัดข้อความชิดขอบซ้าย">
+<!ENTITY alignCenterButton.tooltip "จัดข้อความอยู่กึ่งกลาง">
+<!ENTITY alignRightButton.tooltip "จัดข้อความชิดขอบขวา">
+<!ENTITY alignJustifyButton.tooltip "จัดข้อความชิดขอบซ้ายและขวา">
+
+<!-- TOC manipulation -->
+<!ENTITY insertTOC.label "แทรก">
+<!ENTITY insertTOC.accesskey "ท">
+<!ENTITY updateTOC.label "อัปเดต">
+<!ENTITY updateTOC.accesskey "เ">
+<!ENTITY removeTOC.label "เอาออก">
+<!ENTITY removeTOC.accesskey "า">
+<!ENTITY tocMenu.label "สารบัญ…">
+<!ENTITY tocMenu.accesskey "ส">
diff --git a/l10n-th/mail/chrome/messenger/messengercompose/mailComposeEditorOverlay.dtd b/l10n-th/mail/chrome/messenger/messengercompose/mailComposeEditorOverlay.dtd
new file mode 100644
index 0000000000..3c0752922f
--- /dev/null
+++ b/l10n-th/mail/chrome/messenger/messengercompose/mailComposeEditorOverlay.dtd
@@ -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/. -->
+
+<!ENTITY attachImageSource.label "แนบภาพนี้ไปยังข้อความ">
+<!ENTITY attachImageSource.accesskey "น">
+
+<!ENTITY attachLinkSource.label "แนบซอร์สของลิงก์นี้ไปยังข้อความ">
+<!ENTITY attachLinkSource.accesskey "น">
diff --git a/l10n-th/mail/chrome/messenger/messengercompose/messengercompose.dtd b/l10n-th/mail/chrome/messenger/messengercompose/messengercompose.dtd
new file mode 100644
index 0000000000..295d23f80b
--- /dev/null
+++ b/l10n-th/mail/chrome/messenger/messengercompose/messengercompose.dtd
@@ -0,0 +1,348 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.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 messengercompose.dtd Main UI for message composition -->
+<!ENTITY msgComposeWindow.title "เขียน: (ไม่มีหัวเรื่อง)">
+
+<!-- File Menu -->
+<!ENTITY fileMenu.label "ไฟล์">
+<!ENTITY fileMenu.accesskey "ฟ">
+<!ENTITY newMenu.label "ใหม่">
+<!ENTITY newMenu.accesskey "ห">
+<!ENTITY newMessage.label "ข้อความ">
+<!ENTITY newMessage.key "M">
+<!ENTITY newMessageCmd2.key "N">
+<!ENTITY newMessage.accesskey "ข">
+<!ENTITY newContact.label "ผู้ติดต่อของสมุดรายชื่อ…">
+<!ENTITY newContact.accesskey "ผ">
+<!ENTITY attachMenu.label "แนบ">
+<!ENTITY attachMenu.accesskey "น">
+<!ENTITY attachFileCmd.label "ไฟล์…">
+<!ENTITY attachFileCmd.accesskey "ฟ">
+<!ENTITY attachFileCmd.key "A">
+<!ENTITY attachCloudCmd.label "ลิงก์ไฟล์">
+<!ENTITY attachCloudCmd.accesskey "ล">
+<!ENTITY attachPageCmd.label "หน้าเว็บ…">
+<!ENTITY attachPageCmd.accesskey "ห">
+<!--LOCALIZATION NOTE attachVCardCmd.label Don't translate the term 'vCard' -->
+<!ENTITY attachVCardCmd.label "บัตรส่วนบุคคล (vCard)">
+<!ENTITY attachVCardCmd.accesskey "บ">
+<!ENTITY remindLater.label "เตือนฉันภายหลัง">
+<!ENTITY remindLater.accesskey "ต">
+<!ENTITY closeCmd.label "ปิด">
+<!ENTITY closeCmd.key "W">
+<!ENTITY closeCmd.accesskey "ป">
+<!ENTITY saveCmd.label "บันทึก">
+<!ENTITY saveCmd.key "S">
+<!ENTITY saveCmd.accesskey "บ">
+<!ENTITY saveAsCmd.label "บันทึกเป็น">
+<!ENTITY saveAsCmd.accesskey "น">
+<!ENTITY saveAsFileCmd.label "ไฟล์…">
+<!ENTITY saveAsFileCmd.accesskey "ฟ">
+<!ENTITY saveAsDraftCmd.label "แบบร่าง">
+<!ENTITY saveAsDraftCmd.accesskey "บ">
+<!ENTITY saveAsTemplateCmd.label "แม่แบบ">
+<!ENTITY saveAsTemplateCmd.accesskey "ม">
+<!ENTITY sendNowCmd.label "ส่งเดี๋ยวนี้">
+<!ENTITY sendCmd.keycode "VK_RETURN">
+<!ENTITY sendNowCmd.accesskey "ด">
+<!ENTITY sendLaterCmd.label "ส่งภายหลัง">
+<!ENTITY sendLaterCmd.keycode "VK_RETURN">
+<!ENTITY sendLaterCmd.accesskey "ภ">
+<!ENTITY printSetupCmd.label "ตั้งค่าหน้ากระดาษ…">
+<!ENTITY printSetupCmd.accesskey "ต">
+<!ENTITY printPreviewCmd.label "ตัวอย่างก่อนพิมพ์">
+<!ENTITY printPreviewCmd.accesskey "ย">
+<!ENTITY printCmd.label "พิมพ์…">
+<!ENTITY printCmd.key "P">
+<!ENTITY printCmd.accesskey "พ">
+
+<!-- Edit Menu -->
+<!ENTITY editMenu.label "แก้ไข">
+<!ENTITY editMenu.accesskey "ก">
+<!ENTITY undoCmd.label "เลิกทำ">
+<!ENTITY undoCmd.key "Z">
+<!ENTITY undoCmd.accesskey "เ">
+<!ENTITY redoCmd.label "ทำซ้ำ">
+<!ENTITY redoCmd.key "Y">
+<!ENTITY redoCmd.accesskey "ท">
+<!ENTITY cutCmd.key "X">
+<!ENTITY copyCmd.key "C">
+<!ENTITY pasteCmd.key "V">
+<!ENTITY pasteNoFormattingCmd.key "V">
+<!ENTITY pasteAsQuotationCmd.key "o">
+<!ENTITY editRewrapCmd.accesskey "บ">
+<!ENTITY deleteCmd.label "ลบ">
+<!ENTITY deleteCmd.accesskey "ล">
+<!ENTITY editRewrapCmd.label "ตัดบรรทัดใหม่">
+<!ENTITY editRewrapCmd.key "R">
+<!ENTITY renameAttachmentCmd.label "เปลี่ยนชื่อไฟล์แนบ…">
+<!ENTITY renameAttachmentCmd.accesskey "ป">
+<!ENTITY reorderAttachmentsCmd.label "จัดลำดับไฟล์แนบใหม่…">
+<!ENTITY reorderAttachmentsCmd.accesskey "จ">
+<!ENTITY reorderAttachmentsCmd.key "x">
+<!ENTITY toggleAttachmentPaneCmd.label "บานหน้าต่างไฟล์แนบ">
+<!-- LOCALIZATION NOTE (toggleAttachmentPaneCmd.accesskey):
+ For better mnemonics, toggleAttachmentPaneCmd.accesskey should be the same
+ as attachments.accesskey. -->
+<!ENTITY toggleAttachmentPaneCmd.accesskey "า">
+<!ENTITY selectAllCmd.accesskey "ล">
+<!ENTITY findBarCmd.label "ค้นหา…">
+<!ENTITY findBarCmd.accesskey "ค">
+<!ENTITY findBarCmd.key "F">
+<!ENTITY findReplaceCmd.label "ค้นหาแล้วแทนที่…">
+<!ENTITY findReplaceCmd.accesskey "ท">
+<!ENTITY findReplaceCmd.key "H">
+<!ENTITY findAgainCmd.label "ค้นหาอีกครั้ง">
+<!ENTITY findAgainCmd.accesskey "อ">
+<!ENTITY findAgainCmd.key "G">
+<!ENTITY findAgainCmd.key2 "VK_F3">
+<!ENTITY findPrevCmd.label "ค้นหาก่อนหน้า">
+<!ENTITY findPrevCmd.accesskey "ก">
+<!ENTITY findPrevCmd.key "G">
+<!ENTITY findPrevCmd.key2 "VK_F3">
+
+<!-- Reorder Attachment Panel -->
+<!ENTITY reorderAttachmentsPanel.label "จัดลำดับไฟล์แนบใหม่">
+<!ENTITY moveAttachmentTopPanelBtn.label "ย้ายไปด้านบนสุด">
+<!ENTITY moveAttachmentUpPanelBtn.label "ย้ายขึ้น">
+<!ENTITY moveAttachmentBundleUpPanelBtn.label "ย้ายพร้อมกัน">
+<!ENTITY moveAttachmentDownPanelBtn.label "ย้ายลง">
+<!ENTITY moveAttachmentBottomPanelBtn.label "ย้ายไปด้านล่างสุด">
+
+<!-- LOCALIZATION NOTE (sortAttachmentsPanelBtn.Sort.AZ.label):
+ Please ensure that this translation matches
+ sortAttachmentsPanelBtn.Sort.ZA.label, except for the sort direction. -->
+<!ENTITY sortAttachmentsPanelBtn.Sort.AZ.label "เรียง: A - Z">
+<!ENTITY sortAttachmentsPanelBtn.Sort.ZA.label "เรียง: Z - A">
+<!-- LOCALIZATION NOTE (sortAttachmentsPanelBtn.SortSelection.AZ.label):
+ Please ensure that this translation matches
+ sortAttachmentsPanelBtn.SortSelection.ZA.label, except for the sort direction. -->
+<!ENTITY sortAttachmentsPanelBtn.SortSelection.AZ.label "เรียงส่วนที่เลือก: A - Z">
+<!ENTITY sortAttachmentsPanelBtn.SortSelection.ZA.label "เรียงส่วนที่เลือก: Z - A">
+<!ENTITY sortAttachmentsPanelBtn.key "y">
+
+<!-- View Menu -->
+<!ENTITY viewMenu.label "มุมมอง">
+<!ENTITY viewMenu.accesskey "ม">
+<!ENTITY viewToolbarsMenuNew.label "แถบเครื่องมือ">
+<!ENTITY viewToolbarsMenuNew.accesskey "ถ">
+<!ENTITY menubarCmd.label "แถบเมนู">
+<!ENTITY menubarCmd.accesskey "เ">
+<!ENTITY showCompositionToolbarCmd.label "แถบเครื่องมือการเขียน">
+<!ENTITY showCompositionToolbarCmd.accesskey "ข">
+<!ENTITY showFormattingBarCmd.label "แถบการจัดรูปแบบ">
+<!ENTITY showFormattingBarCmd.accesskey "จ">
+<!ENTITY showTaskbarCmd.label "แถบสถานะ">
+<!ENTITY showTaskbarCmd.accesskey "ส">
+<!ENTITY customizeToolbar.label "ปรับแต่ง…">
+<!ENTITY customizeToolbar.accesskey "ป">
+
+<!ENTITY addressSidebar.label "แถบข้างผู้ติดต่อ">
+<!ENTITY addressSidebar.accesskey "ถ">
+
+<!-- Format Menu -->
+<!ENTITY formatMenu.label "รูปแบบ">
+<!ENTITY formatMenu.accesskey "ร">
+
+<!-- Options Menu -->
+<!ENTITY optionsMenu.label "ตัวเลือก">
+<!ENTITY optionsMenu.accesskey "ต">
+<!ENTITY checkSpellingCmd2.label "ตรวจสอบการสะกดคำ…">
+<!ENTITY checkSpellingCmd2.key "p">
+<!ENTITY checkSpellingCmd2.key2 "VK_F7">
+<!ENTITY checkSpellingCmd2.accesskey "ว">
+<!ENTITY enableInlineSpellChecker.label "ตรวจสอบการสะกดคำเมื่อคุณพิมพ์">
+<!ENTITY enableInlineSpellChecker.accesskey "จ">
+<!ENTITY quoteCmd.label "อ้างอิงข้อความ">
+<!ENTITY quoteCmd.accesskey "อ">
+
+<!--LOCALIZATION NOTE attachVCard.label Don't translate the term 'vCard' -->
+<!ENTITY attachVCard.label "แนบบัตรส่วนบุคคล (vCard)">
+<!ENTITY attachVCard.accesskey "น">
+
+<!ENTITY returnReceiptMenu.label "การแจ้งเตือนการเปิดอ่าน">
+<!ENTITY returnReceiptMenu.accesskey "แ">
+<!ENTITY dsnMenu.label "การแจ้งเตือนสถานะการส่ง">
+<!ENTITY dsnMenu.accesskey "ะ">
+<!ENTITY deliveryFormatMenu.label "รูปแบบการส่ง">
+<!ENTITY deliveryFormatMenu.accesskey "ง">
+<!ENTITY autoFormatCmd.label "ตรวจพบอัตโนมัติ">
+<!ENTITY autoFormatCmd.accesskey "ต">
+<!ENTITY plainTextFormatCmd.label "ข้อความธรรมดาเท่านั้น">
+<!ENTITY plainTextFormatCmd.accesskey "ข">
+<!ENTITY htmlFormatCmd.label "Rich Text (HTML) เท่านั้น">
+<!ENTITY htmlFormatCmd.accesskey "r">
+<!ENTITY bothFormatCmd.label "ข้อความธรรมดาและ Rich (HTML)">
+<!ENTITY bothFormatCmd.accesskey "ธ">
+<!ENTITY priorityMenu.label "ความสำคัญ">
+<!ENTITY priorityMenu.accesskey "ค">
+<!ENTITY priorityButton.title "ความสำคัญ">
+<!ENTITY priorityButton.tooltiptext "เปลี่ยนความสำคัญของข้อความ">
+<!ENTITY priorityButton.label "ความสำคัญ:">
+<!ENTITY lowestPriorityCmd.label "ต่ำสุด">
+<!ENTITY lowestPriorityCmd.accesskey "ด">
+<!ENTITY lowPriorityCmd.label "ต่ำ">
+<!ENTITY lowPriorityCmd.accesskey "ต">
+<!ENTITY normalPriorityCmd.label "ปกติ">
+<!ENTITY normalPriorityCmd.accesskey "ป">
+<!ENTITY highPriorityCmd.label "สูง">
+<!ENTITY highPriorityCmd.accesskey "ส">
+<!ENTITY highestPriorityCmd.label "สูงสุด">
+<!ENTITY highestPriorityCmd.accesskey "ง">
+<!ENTITY fileCarbonCopyCmd.label "ส่งสำเนาไปยัง">
+<!ENTITY fileCarbonCopyCmd.accesskey "เ">
+<!ENTITY fileHereMenu.label "ไฟล์ที่นี่">
+
+<!-- Tools Menu -->
+<!ENTITY tasksMenu.label "เครื่องมือ">
+<!ENTITY tasksMenu.accesskey "ค">
+<!ENTITY messengerCmd.label "จดหมายและกลุ่มข่าว">
+<!ENTITY messengerCmd.accesskey "จ">
+<!ENTITY messengerCmd.commandkey "1">
+<!ENTITY addressBookCmd.label "สมุดรายชื่อ">
+<!ENTITY addressBookCmd.accesskey "ส">
+<!ENTITY addressBookCmd.key "B">
+<!ENTITY accountManagerCmd2.label "การตั้งค่าบัญชี">
+<!ENTITY accountManagerCmd2.accesskey "ก">
+<!ENTITY accountManagerCmdUnix2.accesskey "ก">
+<!ENTITY preferencesCmd2.label "ตัวเลือก">
+<!ENTITY preferencesCmd2.accesskey "ต">
+<!ENTITY preferencesCmdUnix.label "ค่ากำหนด">
+<!ENTITY preferencesCmdUnix.accesskey "ค">
+
+<!-- Mac OS X Window Menu -->
+<!ENTITY minimizeWindow.key "m">
+<!ENTITY minimizeWindow.label "ย่อ">
+<!ENTITY bringAllToFront.label "นำทั้งหมดมาข้างหน้า">
+<!ENTITY zoomWindow.label "ซูม">
+<!ENTITY windowMenu.label "หน้าต่าง">
+
+<!-- Mail Toolbar -->
+<!ENTITY sendButton.label "ส่ง">
+<!ENTITY quoteButton.label "อ้างอิง">
+<!ENTITY addressButton.label "ผู้ติดต่อ">
+<!ENTITY attachButton.label "แนบ">
+<!ENTITY spellingButton.label "การสะกดคำ">
+<!ENTITY saveButton.label "บันทึก">
+<!ENTITY printButton.label "พิมพ์">
+
+<!-- Mail Toolbar Tooltips -->
+<!ENTITY sendButton.tooltip "ส่งข้อความนี้ตอนนี้">
+<!ENTITY sendlaterButton.tooltip "ส่งข้อความนี้ในภายหลัง">
+<!ENTITY quoteButton.tooltip "อ้างอิงข้อความก่อนหน้า">
+<!ENTITY addressButton.tooltip "เลือกผู้รับจากสมุดรายชื่อ">
+<!ENTITY attachButton.tooltip2 "เพิ่มไฟล์แนบ">
+<!ENTITY spellingButton.tooltip "ตรวจสอบการสะกดของส่วนที่เลือกหรือทั้งข้อความ">
+<!ENTITY saveButton.tooltip "บันทึกข้อความนี้">
+<!ENTITY cutButton.tooltip "ตัด">
+<!ENTITY copyButton.tooltip "คัดลอก">
+<!ENTITY pasteButton.tooltip "วาง">
+<!ENTITY printButton.tooltip "พิมพ์ข้อความนี้">
+
+<!-- Headers -->
+<!--LOCALIZATION NOTE headersSpaces.style is for aligning the From:, To: and
+ Subject: rows. It should be larger than the largest Header label -->
+<!ENTITY headersSpace2.style "width: 8em;">
+<!ENTITY extraRecipients.tooltip "ช่องกำหนดที่อยู่ชนิดอื่น">
+<!ENTITY fromAddr2.label "จาก">
+<!ENTITY fromAddr.accesskey "จ">
+<!ENTITY toAddr2.label "ถึง">
+<!ENTITY ccAddr2.label "สำเนาถึง">
+<!ENTITY bccAddr2.label "สำเนาลับถึง">
+<!ENTITY replyAddr2.label "ตอบกลับถึง">
+<!ENTITY newsgroupsAddr2.label "กลุ่มข่าว">
+<!ENTITY followupAddr2.label "ติดตามถึง">
+<!ENTITY subject2.label "หัวเรื่อง">
+<!ENTITY subject.accesskey "ห">
+<!ENTITY attachmentBucketCloseButton.tooltip "ซ่อนบานหน้าต่างไฟล์แนบ">
+
+<!-- Format Toolbar, imported from editorAppShell.xhtml -->
+<!ENTITY SmileButton.tooltip "แทรกหน้ายิ้ม">
+<!ENTITY smiley1Cmd.label "หน้ายิ้ม">
+<!ENTITY smiley2Cmd.label "หน้าขมวดคิ้ว">
+<!ENTITY smiley3Cmd.label "หน้าขยิบตา">
+<!ENTITY smiley4Cmd.label "หน้าแลบลิ้น">
+<!ENTITY smiley5Cmd.label "หน้าหัวเราะ">
+<!ENTITY smiley6Cmd.label "หน้ายิ้มเขิน">
+<!ENTITY smiley7Cmd.label "หน้าลังเล">
+<!ENTITY smiley8Cmd.label "หน้าประหลาดใจ">
+<!ENTITY smiley9Cmd.label "หน้าจูบ">
+<!ENTITY smiley10Cmd.label "หน้าตะโกน">
+<!ENTITY smiley11Cmd.label "หน้าเท่">
+<!ENTITY smiley12Cmd.label "หน้ามีปากรูปเงิน">
+<!ENTITY smiley13Cmd.label "หน้าพลั้งปาก">
+<!ENTITY smiley14Cmd.label "หน้าบริสุทธิ์">
+<!ENTITY smiley15Cmd.label "หน้าร้องไห้">
+<!ENTITY smiley16Cmd.label "หน้าปิดปากสนิท">
+
+<!-- Message Pane Context Menu -->
+<!ENTITY spellCheckNoSuggestions.label "ไม่พบคำแนะนำ">
+<!ENTITY spellCheckIgnoreWord.label "เพิกเฉยคำ">
+<!ENTITY spellCheckIgnoreWord.accesskey "พ">
+<!ENTITY spellCheckAddToDictionary.label "เพิ่มไปยังพจนานุกรม">
+<!ENTITY spellCheckAddToDictionary.accesskey "เ">
+<!ENTITY undo.label "เลิกทำ">
+<!ENTITY undo.accesskey "ล">
+<!ENTITY cut.label "ตัด">
+<!ENTITY cut.accesskey "ต">
+<!ENTITY copy.label "คัดลอก">
+<!ENTITY copy.accesskey "ค">
+<!ENTITY paste.label "วาง">
+<!ENTITY paste.accesskey "ว">
+<!ENTITY pasteQuote.label "วางเป็นถ้อยคำอ้างอิง">
+<!ENTITY pasteQuote.accesskey "ถ">
+
+<!-- Attachment Item and List Context Menus -->
+<!ENTITY openAttachment.label "เปิด">
+<!ENTITY openAttachment.accesskey "ป">
+<!ENTITY delete.label "ลบ">
+<!ENTITY delete.accesskey "บ">
+<!ENTITY removeAttachment.label "เอาไฟล์แนบออก">
+<!ENTITY removeAttachment.accesskey "อ">
+<!ENTITY renameAttachment.label "เปลี่ยนชื่อ…">
+<!ENTITY renameAttachment.accesskey "ย">
+<!ENTITY reorderAttachments.label "จัดลำดับไฟล์แนบใหม่…">
+<!ENTITY reorderAttachments.accesskey "จ">
+<!ENTITY removeAllAttachments.label "เอาไฟล์แนบทั้งหมดออก">
+<!ENTITY removeAllAttachments.accesskey "า">
+<!ENTITY selectAll.label "เลือกทั้งหมด">
+<!ENTITY selectAll.accesskey "ท">
+<!ENTITY attachFile.label "แนบไฟล์…">
+<!ENTITY attachFile.accesskey "แ">
+<!ENTITY attachCloud.label "ลิงก์ไฟล์…">
+<!ENTITY attachCloud.accesskey "ง">
+<!ENTITY convertCloud.label "แปลงเป็น…">
+<!ENTITY convertCloud.accesskey "เ">
+<!ENTITY cancelUpload.label "ยกเลิกการอัปโหลด">
+<!ENTITY cancelUpload.accesskey "ด">
+<!ENTITY convertRegularAttachment.label "ไฟล์แนบปกติ">
+<!ENTITY convertRegularAttachment.accesskey "ไ">
+<!ENTITY attachPage.label "แนบหน้าเว็บ…">
+<!ENTITY attachPage.accesskey "ห">
+
+<!-- Attachment Pane Header Bar Context Menu -->
+<!-- LOCALIZATION NOTE (initiallyShowAttachmentPane.label):
+ Should use the same wording as startExpandedCmd.label
+ in msgHdrViewOverlay.dtd. -->
+<!ENTITY initiallyShowAttachmentPane.label "แสดงบานหน้าต่างไฟล์แนบตั้งแต่เริ่มต้น">
+<!ENTITY initiallyShowAttachmentPane.accesskey "ร">
+
+<!-- Spell checker context menu items -->
+<!ENTITY spellAddDictionaries.label "เพิ่มพจนานุกรม…">
+<!ENTITY spellAddDictionaries.accesskey "พ">
+
+<!-- Title for the address picker panel -->
+<!ENTITY addressesSidebarTitle.label "ผู้ติดต่อ">
+
+<!-- Identity popup customize menuitem -->
+<!ENTITY customizeFromAddress.label "ปรับแต่งที่อยู่ จาก…">
+<!ENTITY customizeFromAddress.accesskey "ป">
+
+<!-- Accessibility name for the document -->
+<!ENTITY aria.message.bodyName "เนื้อความของข้อความ">
+
+<!-- Status Bar -->
+<!ENTITY languageStatusButton.tooltip "ภาษาการตรวจการสะกดคำ">
+<!ENTITY encodingStatusPanel.tooltip "รหัสอักขระ">
diff --git a/l10n-th/mail/chrome/messenger/messengercompose/sendProgress.dtd b/l10n-th/mail/chrome/messenger/messengercompose/sendProgress.dtd
new file mode 100644
index 0000000000..02659f5727
--- /dev/null
+++ b/l10n-th/mail/chrome/messenger/messengercompose/sendProgress.dtd
@@ -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 sendProgress.dtd Main UI for Send Message Progress Dialog -->
+<!ENTITY sendDialog.title "กำลังประมวลผลข้อความ">
+<!ENTITY status.label "สถานะ:">
+<!ENTITY progress.label "ความคืบหน้า:">
diff --git a/l10n-th/mail/chrome/messenger/messengercompose/sendProgress.properties b/l10n-th/mail/chrome/messenger/messengercompose/sendProgress.properties
new file mode 100644
index 0000000000..5f8e4be692
--- /dev/null
+++ b/l10n-th/mail/chrome/messenger/messengercompose/sendProgress.properties
@@ -0,0 +1,21 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE (titleSendMsgSubject):
+# %S will be replaced by the message subject.
+titleSendMsgSubject=กำลังส่งข้อความ - %S
+titleSendMsg=กำลังส่งข้อความ
+# LOCALIZATION NOTE (titleSaveMsgSubject):
+# %S will be replaced by the message subject.
+titleSaveMsgSubject=กำลังบันทึกข้อความ - %S
+titleSaveMsg=กำลังบันทึกข้อความ
+
+# LOCALIZATION NOTE (percentMsg):
+# This string is used to format the text to the right of the progress meter.
+# %S will be replaced by the percentage of the file that has been saved.
+# %% will be replaced a single % sign.
+percentMsg=%S%%
+
+messageSent=ส่งข้อความของคุณแล้ว
+messageSaved=บันทึกข้อความของคุณแล้ว
diff --git a/l10n-th/mail/chrome/messenger/migration/migration.dtd b/l10n-th/mail/chrome/messenger/migration/migration.dtd
new file mode 100644
index 0000000000..2bc05fd376
--- /dev/null
+++ b/l10n-th/mail/chrome/messenger/migration/migration.dtd
@@ -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/. -->
+
+
+<!ENTITY migrationWizard.title "ตัวช่วยนำเข้า">
+
+<!ENTITY importFromWin.label "นำเข้าตัวเลือก การตั้งค่าบัญชี สมุดรายชื่อ ตัวกรองและข้อมูลอื่น ๆ จาก:">
+<!ENTITY importFromNonWin.label "นำเข้าค่ากำหนด การตั้งค่าบัญชี สมุดรายชื่อ ตัวกรองและข้อมูลอื่น ๆ จาก:">
+<!ENTITY importSourceNotFound.label "ไม่พบแอปพลิเคชันที่จะนำเข้าข้อมูล">
+
+<!ENTITY importFromNothing.label "ไม่นำเข้าสิ่งใด">
+<!ENTITY importFromNothing.accesskey "ม">
+<!ENTITY importFromSeamonkey3.label "SeaMonkey 2 หรือใหม่กว่า">
+<!ENTITY importFromSeamonkey3.accesskey "S">
+<!ENTITY importFromOutlook.label "Outlook">
+<!ENTITY importFromOutlook.accesskey "O">
+
+<!ENTITY importSource.title "นำเข้าการตั้งค่าและโฟลเดอร์จดหมาย">
+<!ENTITY importItems.title "รายการที่จะนำเข้า">
+<!ENTITY importItems.label "เลือกรายการที่จะนำเข้า:">
+
+<!ENTITY migrating.title "กำลังนำเข้า…">
+<!ENTITY migrating.label "รายการดังต่อไปนี้กำลังถูกนำเข้า…">
+
+<!ENTITY selectProfile.title "เลือกโปรไฟล์">
+<!ENTITY selectProfile.label "โปรไฟล์ดังต่อไปนี้พร้อมที่จะนำเข้า:">
+
+<!ENTITY done.title "การนำเข้าเสร็จสมบูรณ์">
+<!ENTITY done.label "รายการดังต่อไปนี้ถูกนำเข้าได้สำเร็จ:">
diff --git a/l10n-th/mail/chrome/messenger/migration/migration.properties b/l10n-th/mail/chrome/messenger/migration/migration.properties
new file mode 100644
index 0000000000..95c5643258
--- /dev/null
+++ b/l10n-th/mail/chrome/messenger/migration/migration.properties
@@ -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/.
+
+profileName_format=%S %S
+
+# Import Sources
+1_seamonkey=ค่ากำหนด
+
+2_seamonkey=การตั้งค่าบัญชี
+2_outlook=การตั้งค่าบัญชี
+
+4_seamonkey=สมุดรายชื่อ
+4_outlook=สมุดรายชื่อ
+
+8_seamonkey=การสอนจดหมายขยะ
+
+16_seamonkey=รหัสผ่านที่บันทึกไว้
+
+32_seamonkey=ข้อมูลอื่น ๆ
+
+64_seamonkey=โฟลเดอร์กลุ่มข่าว
+
+128_seamonkey=โฟลเดอร์จดหมาย
+128_outlook=โฟลเดอร์จดหมาย
diff --git a/l10n-th/mail/chrome/messenger/mime.properties b/l10n-th/mail/chrome/messenger/mime.properties
new file mode 100644
index 0000000000..8bd1659007
--- /dev/null
+++ b/l10n-th/mail/chrome/messenger/mime.properties
@@ -0,0 +1,154 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.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 are used by libmime to emit header display in HTML
+#
+
+# Mail subject
+## @name MIME_MHTML_SUBJECT
+## @loc None
+1000=หัวเรื่อง
+
+# Resent-Comments
+## @name MIME_MHTML_RESENT_COMMENTS
+## @loc
+1001=หมายเหตุการส่งใหม่
+
+# Resent-Date
+## @name MIME_MHTML_RESENT_DATE
+## @loc
+1002=วันที่ส่งใหม่
+
+# Resent-Sender
+## @name MIME_MHTML_RESENT_SENDER
+## @loc
+1003=ผู้ส่งที่ส่งใหม่
+
+# Resent-From
+## @name MIME_MHTML_RESENT_FROM
+## @loc
+1004=ส่งใหม่จาก
+
+# Resent-To
+## @name MIME_MHTML_RESENT_TO
+## @loc
+1005=ส่งใหม่ถึง
+
+# Resent-CC
+## @name MIME_MHTML_RESENT_CC
+## @loc
+1006=ส่งสำเนาใหม่ถึง
+
+# Date
+## @name MIME_MHTML_DATE
+## @loc
+1007=วันที่
+
+# Sender
+## @name MIME_MHTML_SENDER
+## @loc
+1008=ผู้ส่ง
+
+# From
+## @name MIME_MHTML_FROM
+## @loc
+1009=จาก
+
+# Reply-To
+## @name MIME_MHTML_REPLY_TO
+## @loc
+1010=ตอบกลับถึง
+
+# Organization
+## @name MIME_MHTML_ORGANIZATION
+## @loc
+1011=องค์กร
+
+# To
+## @name MIME_MHTML_TO
+## @loc
+1012=ถึง
+
+# CC
+## @name MIME_MHTML_CC
+## @loc
+1013=สำเนาถึง
+
+# Newsgroups
+## @name MIME_MHTML_NEWSGROUPS
+## @loc
+1014=กลุ่มข่าว
+
+# Followup-To
+## @name MIME_MHTML_FOLLOWUP_TO
+## @loc
+1015=ติดตามถึง
+
+# References
+## @name MIME_MHTML_REFERENCES
+## @loc
+1016=การอ้างอิง
+
+# Message ID
+## @name MIME_MHTML_MESSAGE_ID
+## @loc
+1021=ID ข้อความ
+
+# BCC
+## @name MIME_MHTML_BCC
+## @loc
+1023=สำเนาลับถึง
+
+# Link to doc
+## @name MIME_MSG_LINK_TO_DOCUMENT
+## @loc
+1026=ลิงก์ไปยังเอกสาร
+
+# Get Doc info
+## @name MIME_MSG_DOCUMENT_INFO
+## @loc
+1027=<B>ข้อมูลเอกสาร:</B>
+
+# Msg Attachment
+## @name MIME_MSG_ATTACHMENT
+## @loc
+1028=ไฟล์แนบ
+
+# default attachment name
+## @name MIME_MSG_DEFAULT_ATTACHMENT_NAME
+## @loc
+# LOCALIZATION NOTE (1040): Do not translate "%s" below.
+# Place the %s where you wish the part number of the attachment to appear
+1040=ส่วน %s
+
+# default forwarded message prefix
+## @name MIME_FORWARDED_MESSAGE_HTML_USER_WROTE
+## @loc
+1041=-------- ข้อความต้นฉบับ --------
+
+# Partial Message Truncated
+## @name MIME_MSG_PARTIAL_TRUNCATED
+## @loc
+MIME_MSG_PARTIAL_TRUNCATED=ถูกตัดทอน!
+
+# Partial Message Truncated Explanation
+## @name MIME_MSG_PARTIAL_TRUNCATED_EXPLANATION
+## @loc
+MIME_MSG_PARTIAL_TRUNCATED_EXPLANATION=ข้อความนี้เกินขนาดข้อความสูงสุดที่ตั้งค่าไว้ในการตั้งค่าบัญชี ดังนั้นเราจึงดาวน์โหลดเฉพาะไม่กี่บรรทัดแรกจากเซิร์ฟเวอร์จดหมาย
+
+# Partial Message Not Downloaded
+## @name MIME_MSG_PARTIAL_NOT_DOWNLOADED
+## @loc
+MIME_MSG_PARTIAL_NOT_DOWNLOADED=ไม่ได้ดาวน์โหลด
+
+# Partial Message Not Downloaded Explanation
+## @name MIME_MSG_PARTIAL_NOT_DOWNLOADED_EXPLANATION
+## @loc
+MIME_MSG_PARTIAL_NOT_DOWNLOADED_EXPLANATION=ดาวน์โหลดเฉพาะส่วนหัวของข้อความนี้จากเซิร์ฟเวอร์จดหมาย
+
+# MIME_MSG_PARTIAL_CLICK_FOR_REST
+## @name MIME_MSG_PARTIAL_CLICK_FOR_REST
+## @loc
+MIME_MSG_PARTIAL_CLICK_FOR_REST=ดาวน์โหลดส่วนที่เหลือของข้อความ
diff --git a/l10n-th/mail/chrome/messenger/mimeheader.properties b/l10n-th/mail/chrome/messenger/mimeheader.properties
new file mode 100644
index 0000000000..590cae2554
--- /dev/null
+++ b/l10n-th/mail/chrome/messenger/mimeheader.properties
@@ -0,0 +1,35 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+#
+# The following are used by libmime for header display in XML & HTML
+#
+TO=ถึง
+BCC=สำเนาลับถึง
+CC=สำเนาถึง
+DATE=วันที่
+DISTRIBUTION=การแจกจ่าย
+FCC=FCC
+FOLLOWUP-TO=ติดตามถึง
+FROM=จาก
+STATUS=สถานะ
+LINES=จำนวนบรรทัด
+MESSAGE-ID=ID ข้อความ
+MIME-VERSION=รุ่น MIME
+NEWSGROUPS=กลุ่มข่าว
+ORGANIZATION=องค์กร
+REFERENCES=การอ้างอิง
+REPLY-TO=ตอบกลับถึง
+RESENT-COMMENTS=หมายเหตุการส่งใหม่
+RESENT-DATE=วันที่ส่งใหม่
+RESENT-FROM=ส่งใหม่จาก
+RESENT-MESSAGE-ID=ID ข้อความที่ส่งใหม่
+RESENT-SENDER=ผู้ส่งที่ส่งใหม่
+RESENT-TO=ส่งใหม่ถึง
+RESENT-CC=ส่งสำเนาใหม่ถึง
+SENDER=ผู้ส่ง
+SUBJECT=หัวเรื่อง
+APPROVED-BY=อนุมัติโดย
+USER-AGENT=ตัวแทนผู้ใช้
+FILENAME=ชื่อไฟล์
diff --git a/l10n-th/mail/chrome/messenger/morkImportMsgs.properties b/l10n-th/mail/chrome/messenger/morkImportMsgs.properties
new file mode 100644
index 0000000000..cb078ba222
--- /dev/null
+++ b/l10n-th/mail/chrome/messenger/morkImportMsgs.properties
@@ -0,0 +1,18 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, you can obtain one at http://mozilla.org/MPL/2.0/.
+
+#
+# The following are used by the Mork import code to display status/error
+# and informational messages.
+#
+
+MABFiles = สมุดรายชื่อ Mork
+
+# Short name of import module
+morkImportName = ฐานข้อมูล Mork (.mab)
+
+# Description of import module
+morkImportDescription = นำเข้าสมุดรายชื่อจาก SeaMonkey หรือ Thunderbird รุ่นก่อนหน้า
+
+morkImportSuccess = สำเร็จ!
diff --git a/l10n-th/mail/chrome/messenger/msgAccountCentral.dtd b/l10n-th/mail/chrome/messenger/msgAccountCentral.dtd
new file mode 100644
index 0000000000..ae6d91ea4d
--- /dev/null
+++ b/l10n-th/mail/chrome/messenger/msgAccountCentral.dtd
@@ -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/. -->
+
+<!ENTITY emailSectionHdr.label "อีเมล">
+<!ENTITY readMsgsLink.label "อ่านข้อความ">
+<!ENTITY composeMsgLink.label "เขียนข้อความใหม่">
+
+<!ENTITY newsSectionHdr.label "กลุ่มข่าว">
+<!ENTITY subscribeNewsLink.label "จัดการการบอกรับกลุ่มข่าว">
+
+<!ENTITY feedsSectionHdr.label "ฟีด">
+<!ENTITY subscribeFeeds.label "จัดการการบอกรับ">
+
+<!ENTITY chat.label "แชท">
+<!ENTITY movemail.label "Movemail">
+
+<!ENTITY accountsSectionHdr.label "บัญชี">
+<!ENTITY subscribeImapFolders.label "จัดการการบอกรับโฟลเดอร์">
+<!ENTITY settingsLink.label "ดูการตั้งค่าสำหรับบัญชีนี้">
+<!ENTITY setupNewAcct.label "ตั้งค่าบัญชี:">
+
+<!ENTITY advFeaturesSectionHdr.label "คุณลักษณะขั้นสูง">
+<!ENTITY searchMsgsLink.label "ค้นหาข้อความ">
+<!ENTITY filtersLink.label "จัดการตัวกรองข้อความ">
+<!ENTITY junkSettings.label "การตั้งค่าจดหมายขยะ">
+<!ENTITY offlineLink.label "การตั้งค่าออฟไลน์">
diff --git a/l10n-th/mail/chrome/messenger/msgHdrViewOverlay.dtd b/l10n-th/mail/chrome/messenger/msgHdrViewOverlay.dtd
new file mode 100644
index 0000000000..854cd5603f
--- /dev/null
+++ b/l10n-th/mail/chrome/messenger/msgHdrViewOverlay.dtd
@@ -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/. -->
+
+<!ENTITY toField4.label "ถึง">
+<!ENTITY fromField4.label "จาก">
+<!ENTITY senderField4.label "ผู้ส่ง">
+<!ENTITY author.label "ผู้เขียน">
+<!ENTITY organizationField4.label "องค์กร">
+<!ENTITY replyToField4.label "ตอบกลับถึง">
+
+<!ENTITY subjectField4.label "หัวเรื่อง">
+<!ENTITY ccField4.label "สำเนาถึง">
+<!ENTITY bccField4.label "สำเนาลับถึง">
+<!ENTITY newsgroupsField4.label "กลุ่มข่าว">
+<!ENTITY followupToField4.label "ติดตามถึง">
+<!ENTITY tagsHdr4.label "ป้ายกำกับ">
+<!ENTITY dateField4.label "วันที่">
+<!ENTITY userAgentField4.label "ตัวแทนผู้ใช้">
+<!ENTITY referencesField4.label "การอ้างอิง">
+<!ENTITY messageIdField4.label "ID ข้อความ">
+<!ENTITY inReplyToField4.label "ตอบกลับถึง">
+<!ENTITY originalWebsite4.label "เว็บไซต์">
+
+<!ENTITY hdrArchiveButton1.label "เก็บถาวร">
+<!ENTITY hdrArchiveButton1.tooltip "เก็บข้อความนี้ถาวร">
+<!ENTITY hdrSmartReplyButton1.label "ตอบกลับแบบอัจฉริยะ">
+<!ENTITY hdrReplyButton1.label "ตอบกลับ">
+<!ENTITY hdrReplyButton2.tooltip "ตอบกลับถึงผู้ส่งของข้อความนี้">
+<!ENTITY hdrReplyAllButton1.label "ตอบกลับทั้งหมด">
+<!ENTITY hdrReplyAllButton1.tooltip "ตอบกลับถึงผู้ส่งและผู้รับทั้งหมด">
+<!ENTITY hdrReplyListButton1.label "ตอบกลับรายชื่อ">
+<!ENTITY hdrReplyListButton1.tooltip "ตอบกลับถึงรายชื่อผู้รับจดหมาย">
+<!ENTITY hdrFollowupButton1.label "ติดตาม">
+<!ENTITY hdrFollowupButton1.tooltip "โพสต์การติดตามไปยังกลุ่มข่าวนี้">
+<!ENTITY hdrForwardButton1.label "ส่งต่อ">
+<!ENTITY hdrForwardButton1.tooltip "ส่งต่อข้อความนี้">
+<!ENTITY hdrJunkButton1.label "ขยะ">
+<!ENTITY hdrJunkButton1.tooltip "ทำเครื่องหมายข้อความนี้ว่าเป็นขยะ">
+<!ENTITY hdrTrashButton1.label "ลบ">
+<!ENTITY hdrTrashButton1.tooltip "ลบข้อความนี้">
+
+<!ENTITY hdrViewToolbarShowFull.label "แสดงไอคอนและข้อความ">
+<!ENTITY hdrViewToolbarShowFull.accesskey "ไ">
+<!ENTITY hdrViewToolbarShowIcons.label "แสดงไอคอนเท่านั้น">
+<!ENTITY hdrViewToolbarShowIcons.accesskey "อ">
+<!ENTITY hdrViewToolbarShowText.label "แสดงข้อความเท่านั้น">
+<!ENTITY hdrViewToolbarShowText.accesskey "ข">
+<!ENTITY hdrViewToolbarAlwaysReplySender.label "แสดงการตอบกลับถึงผู้ส่งเสมอ">
+<!ENTITY hdrViewToolbarAlwaysReplySender.accesskey "ก">
+
+<!ENTITY otherActionsButton2.label "เพิ่มเติม">
+<!ENTITY otherActionsButton.tooltip "การกระทำเพิ่มเติม">
+<!ENTITY otherActionsOpenConversation1.label "เปิดในการสนทนา">
+<!ENTITY otherActionsOpenConversation1.accesskey "า">
+<!ENTITY otherActionsOpenInNewWindow1.label "เปิดในหน้าต่างใหม่">
+<!ENTITY otherActionsOpenInNewWindow1.accesskey "น">
+<!ENTITY otherActionsOpenInNewTab1.label "เปิดในแท็บใหม่">
+<!ENTITY otherActionsOpenInNewTab1.accesskey "ท">
+<!ENTITY markAsReadMenuItem1.label "ทำเครื่องหมายว่าอ่านแล้ว">
+<!ENTITY markAsReadMenuItem1.accesskey "อ">
+<!ENTITY markAsUnreadMenuItem1.label "ทำเครื่องหมายว่ายังไม่ได้อ่าน">
+<!ENTITY markAsUnreadMenuItem1.accesskey "ย">
+<!ENTITY saveAsMenuItem1.label "บันทึกเป็น…">
+<!ENTITY saveAsMenuItem1.accesskey "บ">
+<!ENTITY viewSourceMenuItem1.label "ดูต้นฉบับ">
+<!ENTITY viewSourceMenuItem1.accesskey "ด">
+<!ENTITY otherActionsPrint1.label "พิมพ์…">
+<!ENTITY otherActionsPrint1.accesskey "พ">
+
+<!-- Attachment bar context menu items -->
+<!ENTITY startExpandedCmd.label "แสดงบานหน้าต่างไฟล์แนบตั้งแต่เริ่มต้น">
+<!ENTITY startExpandedCmd.accesskey "ส">
+
+<!-- Attachment context menu items -->
+<!ENTITY openAttachmentCmd.label "เปิด">
+<!ENTITY openAttachmentCmd.accesskey "ป">
+<!ENTITY saveAsAttachmentCmd.label "บันทึกเป็น…">
+<!ENTITY saveAsAttachmentCmd.accesskey "บ">
+<!ENTITY detachAttachmentCmd.label "แยกออก…">
+<!ENTITY detachAttachmentCmd.accesskey "แ">
+<!ENTITY deleteAttachmentCmd.label "ลบ">
+<!ENTITY deleteAttachmentCmd.accesskey "ล">
+<!ENTITY openAllAttachmentsCmd.label "เปิดทั้งหมด…">
+<!ENTITY openAllAttachmentsCmd.accesskey "ป">
+<!ENTITY saveAllAttachmentsCmd.label "บันทึกทั้งหมด…">
+<!ENTITY saveAllAttachmentsCmd.accesskey "บ">
+<!ENTITY detachAllAttachmentsCmd.label "แยกออกทั้งหมด…">
+<!ENTITY detachAllAttachmentsCmd.accesskey "ย">
+<!ENTITY deleteAllAttachmentsCmd.label "ลบทั้งหมด…">
+<!ENTITY deleteAllAttachmentsCmd.accesskey "ล">
+
+<!ENTITY openAttachment.tooltip "เปิดไฟล์ที่แนบ">
+
+<!ENTITY detachedAttachmentFolder.show.label "เปิดโฟลเดอร์ที่บรรจุ">
+<!ENTITY detachedAttachmentFolder.show.accesskey "ฟ">
+<!ENTITY detachedAttachmentFolder.showMac.label "แสดงใน Finder">
+<!ENTITY detachedAttachmentFolder.showMac.accesskey "F">
+
+<!-- Attachment toolbar items -->
+<!ENTITY saveAttachmentButton1.label "บันทึก">
+<!ENTITY saveAttachmentButton1.tooltip "บันทึกไฟล์ที่แนบ">
+<!ENTITY saveAllAttachmentsButton1.label "บันทึกทั้งหมด">
+<!ENTITY saveAllAttachmentsButton1.tooltip "บันทึกไฟล์ที่แนบทั้งหมด">
+
+<!ENTITY copyLinkCmd.label "คัดลอกตำแหน่งที่ตั้งลิงก์">
+<!ENTITY copyLinkCmd.accesskey "ค">
+
+<!ENTITY CopyMessageId.label "คัดลอก ID ข้อความ">
+<!ENTITY CopyMessageId.accesskey "ค">
+<!ENTITY OpenMessageForMsgId.label "เปิดข้อความสำหรับ ID">
+<!ENTITY OpenMessageForMsgId.accesskey "ป">
+<!ENTITY OpenBrowserWithMsgId.label "เปิดเบราว์เซอร์พร้อม ID ข้อความ">
+<!ENTITY OpenBrowserWithMsgId.accesskey "เ">
diff --git a/l10n-th/mail/chrome/messenger/msgPrintEngine.dtd b/l10n-th/mail/chrome/messenger/msgPrintEngine.dtd
new file mode 100644
index 0000000000..9ccc3ccb86
--- /dev/null
+++ b/l10n-th/mail/chrome/messenger/msgPrintEngine.dtd
@@ -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 (printCmd.key, closeCmd.key):
+ As defined in msgPrintEngine.xul, Ctrl plus the command keys defined here
+ will be the keyboard shortcuts effective in print preview, e.g. Ctrl+P
+ -->
+
+<!-- LOCALIZATION NOTE (printCmd.key, closeCmd.key):
+ As defined in msgPrintEngine.xhtml, Ctrl plus the command keys defined here
+ will be the keyboard shortcuts effective in print preview, e.g. Ctrl+P
+ -->
+
+<!ENTITY printCmd.key "P">
+<!ENTITY closeCmd.key "W">
diff --git a/l10n-th/mail/chrome/messenger/msgSynchronize.dtd b/l10n-th/mail/chrome/messenger/msgSynchronize.dtd
new file mode 100644
index 0000000000..e1359f90c0
--- /dev/null
+++ b/l10n-th/mail/chrome/messenger/msgSynchronize.dtd
@@ -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/. -->
+
+<!-- extracted from MsgSynchronize.xul and msgSelectOfflineFolders.xul-->
+
+<!-- extracted from MsgSynchronize.xhtml and msgSelectOfflineFolders.xhtml-->
+
+<!ENTITY MsgSynchronize.label "ดาวน์โหลดและซิงค์ข้อความ">
+<!ENTITY MsgSelect.label "รายการสำหรับใช้งานออฟไลน์">
+<!ENTITY MsgSyncDesc.label "หากคุณเลือกโฟลเดอร์จดหมายหรือกลุ่มข่าวสำหรับใช้งานออฟไลน์แล้ว คุณสามารถดาวน์โหลดและ/หรือซิงค์ได้ตอนนี้ หรือกดปุ่ม &quot;เลือก&quot; เพื่อเลือกโฟลเดอร์จดหมายหรือกลุ่มข่าวสำหรับใช้งานออฟไลน์">
+<!ENTITY MsgSyncDirections.label "ดาวน์โหลดและ/หรือซิงค์สิ่งต่อไปนี้:">
+<!ENTITY syncTypeMail.label "ข้อความจดหมาย">
+<!ENTITY syncTypeMail.accesskey "จ">
+<!ENTITY syncTypeNews.label "ข้อความกลุ่มข่าว">
+<!ENTITY syncTypeNews.accesskey "ก">
+<!ENTITY sendMessage.label "ส่งข้อความที่ไม่ได้ส่ง">
+<!ENTITY sendMessage.accesskey "ส">
+<!ENTITY workOffline.label "ทำงานแบบออฟไลน์เมื่อการดาวน์โหลดและ/หรือการซิงค์เสร็จสมบูรณ์">
+<!ENTITY workOffline.accesskey "ท">
+<!ENTITY selectButton.label "เลือก…">
+<!ENTITY selectButton.accesskey "ล">
+<!ENTITY MsgSelectDesc.label "เลือกโฟลเดอร์จดหมายและกลุ่มข่าวสำหรับใช้งานออฟไลน์">
+<!ENTITY MsgSelectInd.label "ดาวน์โหลด">
+<!ENTITY MsgSelectItems.label "โฟลเดอร์และกลุ่มข่าว">
diff --git a/l10n-th/mail/chrome/messenger/msgViewPickerOverlay.dtd b/l10n-th/mail/chrome/messenger/msgViewPickerOverlay.dtd
new file mode 100644
index 0000000000..9ec199c9a9
--- /dev/null
+++ b/l10n-th/mail/chrome/messenger/msgViewPickerOverlay.dtd
@@ -0,0 +1,22 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!--LOCALIZATION NOTE msgViewPickerOverlay.dtd UI for showing various views on a folder -->
+
+<!ENTITY viewPicker.label "มุมมอง:">
+<!ENTITY viewPicker.accesskey "ม">
+<!ENTITY viewAll.label "ทั้งหมด">
+<!ENTITY viewAll.accesskey "ท">
+<!ENTITY viewUnread.label "ยังไม่ได้อ่าน">
+<!ENTITY viewUnread.accesskey "ย">
+<!ENTITY viewNotDeleted.label "ยังไม่ได้ลบ">
+<!ENTITY viewNotDeleted.accesskey "ล">
+<!ENTITY viewTags.label "ป้ายกำกับ">
+<!ENTITY viewTags.accesskey "ป">
+<!ENTITY viewCustomViews.label "มุมมองที่กำหนดเอง">
+<!ENTITY viewCustomViews.accesskey "อ">
+<!ENTITY viewVirtualFolder.label "บันทึกมุมมองเป็นโฟลเดอร์…">
+<!ENTITY viewVirtualFolder.accesskey "บ">
+<!ENTITY viewCustomizeView.label "ปรับแต่ง…">
+<!ENTITY viewCustomizeView.accesskey "ร">
diff --git a/l10n-th/mail/chrome/messenger/msgmdn.properties b/l10n-th/mail/chrome/messenger/msgmdn.properties
new file mode 100644
index 0000000000..f47921fa1b
--- /dev/null
+++ b/l10n-th/mail/chrome/messenger/msgmdn.properties
@@ -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/.
+## Msg Mdn Report strings
+MsgMdnDisplayed=หมายเหตุ: การแจ้งเตือนการเปิดอ่านจะแจ้งเตือนว่าข้อความถูกแสดงบนคอมพิวเตอร์ของผู้รับแล้วเท่านั้น และไม่รับประกันว่าผู้รับได้อ่านหรือเข้าใจเนื้อหาของข้อความดังกล่าวแล้ว
+MsgMdnDispatched=ข้อความถูกพิมพ์ ส่งแฟกซ์ หรือส่งต่อโดยไม่แสดงให้ผู้รับเห็น ไม่มีการรับประกันว่าผู้รับจะอ่านข้อความในภายหลัง
+MsgMdnProcessed=ข้อความถูกประมวลผลโดยไคลเอนต์จดหมายของผู้รับโดยไม่แสดง ไม่มีการรับประกันว่าข้อความจะถูกอ่านในภายหลัง
+MsgMdnDeleted=ข้อความได้ถูกลบไปแล้ว บุคคลที่คุณส่งให้อาจไม่เห็น พวกเขาอาจเลิกลบในภายหลังและอ่านได้
+MsgMdnDenied=ผู้รับข้อความไม่ต้องการส่งการแจ้งเตือนการเปิดอ่านกลับมาถึงคุณ
+MsgMdnFailed=เกิดความล้มเหลว ไม่สามารถสร้างหรือส่งการแจ้งเตือนการเปิดอ่านที่ถูกต้องให้คุณได้
+# LOCALIZATION NOTE : Do not translate the word "%S" below.
+MsgMdnMsgSentTo=นี่คือการแจ้งเตือนการเปิดอ่านสำหรับจดหมายที่คุณส่งถึง %S
+MdnDisplayedReceipt=การแจ้งเตือนการเปิดอ่าน (แสดงผลแล้ว)
+MdnDispatchedReceipt=การแจ้งเตือนการเปิดอ่าน (แยกส่งแล้ว)
+MdnProcessedReceipt=การแจ้งเตือนการเปิดอ่าน (ประมวลผลแล้ว)
+MdnDeletedReceipt=การแจ้งเตือนการเปิดอ่าน (ลบแล้ว)
+MdnDeniedReceipt=การแจ้งเตือนการเปิดอ่าน (ถูกปฏิเสธแล้ว)
+MdnFailedReceipt=การแจ้งเตือนการเปิดอ่าน (ล้มเหลว)
diff --git a/l10n-th/mail/chrome/messenger/multimessageview.dtd b/l10n-th/mail/chrome/messenger/multimessageview.dtd
new file mode 100644
index 0000000000..edd5cf9236
--- /dev/null
+++ b/l10n-th/mail/chrome/messenger/multimessageview.dtd
@@ -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/. -->
+
+<!ENTITY window.title "บทสรุปข้อความ">
+<!ENTITY selectedmessages.label "ข้อความที่เลือก">
+<!ENTITY archiveButton.label "เก็บถาวร">
+<!ENTITY deleteButton.label "ลบ">
diff --git a/l10n-th/mail/chrome/messenger/multimessageview.properties b/l10n-th/mail/chrome/messenger/multimessageview.properties
new file mode 100644
index 0000000000..8e21bcc704
--- /dev/null
+++ b/l10n-th/mail/chrome/messenger/multimessageview.properties
@@ -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/.
+
+# LOCALIZATION NOTE (numConversations): Semi-colon list of plural forms.
+# See: https://developer.mozilla.org/en/Localization_and_Plurals
+# The number of conversations (threads or solitary messages) selected. #1 is the
+# number of conversations.
+numConversations=#1 การสนทนา
+
+# LOCALIZATION NOTE (atLeastNumConversations): Semi-colon list of plural forms.
+# See: https://developer.mozilla.org/en/Localization_and_Plurals
+# The number of conversations (threads or solitary messages) selected. #1 is the
+# number of conversations. We use this when we didn't actually scan the entire
+# list of selected messages, so there may be more conversations than reported
+# (or maybe not!).
+atLeastNumConversations=#1+ การสนทนา
+
+# LOCALIZATION NOTE (numMessages): Semi-colon list of plural forms.
+# See: https://developer.mozilla.org/en/Localization_and_Plurals
+# The number of messages in a thread. #1 is the number of messages.
+numMessages=#1 ข้อความ
+
+# LOCALIZATION NOTE (numUnread): Semi-colon list of plural forms.
+# See: https://developer.mozilla.org/en/Localization_and_Plurals
+# The number of unread messages in a thread; meant to be appended to
+# "numMessages". #1 is the number of unread messages.
+numUnread=, #1 ยังไม่ได้อ่าน
+
+# LOCALIZATION NOTE (numIgnored): Semi-colon list of plural forms.
+# See: https://developer.mozilla.org/en/Localization_and_Plurals
+# The number of ignored messages in a thread; meant to be appended to
+# "numMessages". #1 is the number of ignored messages.
+numIgnored=, #1 ถูกเพิกเฉย
+
+# LOCALIZATION NOTE (atLeastNumIgnored): Semi-colon list of plural forms.
+# See: https://developer.mozilla.org/en/Localization_and_Plurals
+# The number of ignored messages in a thread; meant to be appended to
+# "numMessages". #1 is the number of ignored messages. We use this when we
+# didn't actually scan the entire list of selected messages, so there may be
+# more ignored messages than reported (or maybe not!).
+atLeastNumIgnored=, #1+ ถูกเพิกเฉย
+
+# LOCALIZATION NOTE (noSubject): What to display for a message if it has no
+# subject.
+noSubject=(ไม่มีหัวเรื่อง)
+
+# LOCALIZATION NOTE (messagesTotalSize): A message indicating the total size on
+# disk of the selected messages. #1 is the size, e.g. "123 KB".
+messagesTotalSize=ข้อความเหล่านี้ใช้เนื้อที่ #1
+
+# LOCALIZATION NOTE (messagesTotalSizeMoreThan): A message indicating the total
+# size on disk of the selected messages. #1 is the size, e.g. "123 KB". We use
+# this when we didn't actually scan the entire list of selected messages, so
+# this is a *minimum* size.
+messagesTotalSizeMoreThan=ข้อความเหล่านี้ใช้เนื้อที่มากกว่า #1
+
+# LOCALIZATION NOTE (maxCountExceeded): A message to let the user know that not
+# all of the selected messages were summarized. #1 is the total number of
+# messages selected and #2 is the number of messages actually shown.
+maxCountExceeded= (หมายเหตุ: #1 ข้อความถูกเลือกอยู่ จะแสดง #2 ข้อความแรกก่อน)
+
+# LOCALIZATION NOTE (maxThreadCountExceeded): A message to let the user know that
+# not all of the selected thread were summarized. #1 is the total number of
+# threads selected and #2 is the number of threads actually shown.
+maxThreadCountExceeded= (หมายเหตุ: #1 เธรดถูกเลือกอยู่ จะแสดง #2 ข้อความแรกก่อน)
diff --git a/l10n-th/mail/chrome/messenger/newFolderDialog.dtd b/l10n-th/mail/chrome/messenger/newFolderDialog.dtd
new file mode 100644
index 0000000000..7f11ec8361
--- /dev/null
+++ b/l10n-th/mail/chrome/messenger/newFolderDialog.dtd
@@ -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/. -->
+
+<!-- Labels -->
+<!ENTITY newFolderDialog.title "โฟลเดอร์ใหม่">
+<!ENTITY name.label "ชื่อ:">
+<!ENTITY name.accesskey "ช">
+<!ENTITY description.label "สร้างเป็นโฟลเดอร์ย่อยของ:">
+<!ENTITY description.accesskey "ส">
+<!ENTITY folderRestriction1.label "เซิร์ฟเวอร์นี้จำกัดโฟลเดอร์ไว้เพียงสองชนิดพิเศษ">
+<!ENTITY folderRestriction2.label "อนุญาตให้โฟลเดอร์ใหม่ของคุณมี:">
+<!ENTITY foldersOnly.label "โฟลเดอร์เท่านั้น">
+<!ENTITY messagesOnly.label "ข้อความเท่านั้น">
+<!ENTITY accept.label "สร้างโฟลเดอร์">
+<!ENTITY accept.accesskey "ร">
diff --git a/l10n-th/mail/chrome/messenger/newmailaccount/accountProvisioner.dtd b/l10n-th/mail/chrome/messenger/newmailaccount/accountProvisioner.dtd
new file mode 100644
index 0000000000..781d271696
--- /dev/null
+++ b/l10n-th/mail/chrome/messenger/newmailaccount/accountProvisioner.dtd
@@ -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/. -->
+
+<!ENTITY window.title "ยินดีต้อนรับสู่ &brandShortName;">
+<!ENTITY header2.label "คุณต้องการที่อยู่อีเมลใหม่หรือไม่?">
+<!ENTITY other.languages "เราจะแสดงเฉพาะผู้ให้บริการที่เสนอที่อยู่ในพื้นที่ของคุณ คลิกที่นี่เพื่อแสดงผู้ให้บริการทั้งหมด">
+<!ENTITY error.line1 "ขออภัย เราไม่พบที่อยู่อีเมลที่แนะนำ">
+<!ENTITY error.line2 "คุณสามารถลองค้นหาชื่อเล่นหรือคำอื่น ๆ เพื่อค้นหาอีเมลเพิ่มเติมได้">
+
+<!-- LOCALIZATION NOTE(error.suggest.before, error.suggest.middle, error.suggest.after):
+ error.suggest.before, error.suggest.middle, and error.suggest.after all go into
+ one line with error.suggest.middle that links to a site which provides download
+ of free account alternatives. -->
+<!ENTITY error.suggest.before "คุณยังสามารถลองใช้ ">
+<!ENTITY error.suggest.middle "ทางเลือกบัญชีอีเมลฟรีต่อไปนี้ได้">
+<!ENTITY error.suggest.after "">
+
+<!-- LOCALIZATION NOTE(success.title.before, success.title.after):
+ success.title.before and success.title.after all go into one line, wrapping
+ around the name that the user has typed in to the search input. -->
+<!ENTITY success.title.before "สวัสดี ">
+<!ENTITY success.title.after " ที่อยู่อีเมลดังต่อไปนี้มีให้คุณใช้งานได้:">
+<!ENTITY success.tip "(คุณยังสามารถลองค้นหาชื่อเล่นหรือคำอื่น ๆ เพื่อค้นหาอีเมลเพิ่มเติมได้)">
+<!ENTITY partnership.description "ในความร่วมมือกับผู้ให้บริการหลายราย &brandShortName; สามารถเสนอบัญชีอีเมลใหม่ให้คุณ เพียงกรอกชื่อและนามสกุลของคุณหรือคำอื่น ๆ ที่คุณต้องการในช่องด้านบนเพื่อเริ่มต้น">
+<!ENTITY existing.header "มีที่อยู่ที่คุณต้องการใช้อยู่แล้วหรือไม่?">
+<!ENTITY tinyheader.title "มีที่อยู่หรือไม่?">
+<!ENTITY tinyheader.existing "ข้ามสิ่งนี้และใช้อีเมลที่มีอยู่ของฉัน">
+<!ENTITY content.close "ฉันคิดว่าฉันจะกำหนดค่าบัญชีของฉันในภายหลัง">
+<!ENTITY successful.title "ขอแสดงความยินดี!">
+<!ENTITY successful.successMessage "คุณได้ตั้งค่าบัญชีของคุณเรียบร้อยแล้ว">
+<!ENTITY successful.write "เขียนอีเมล">
+<!ENTITY successful.write.desc "แจ้งให้เพื่อนและครอบครัวของคุณทราบเกี่ยวกับที่อยู่ใหม่ของคุณ<br/>นั่นคงเป็นเหตุผลที่คุณมีบัญชีใหม่นี้ใช่ไหมล่ะ?">
+<!ENTITY successful.customize "ปรับแต่ง &brandShortName; ด้วยส่วนเสริมเจ๋ง ๆ">
+<!ENTITY successful.customize.desc "มีส่วนเสริมนับพันที่ให้คุณปรับแต่ง &brandShortName; ให้ตรงกับความต้องการเฉพาะของคุณได้">
+<!ENTITY successful.attach "แนบลายเซ็นส่วนตัวไปยังอีเมลของฉัน">
+<!ENTITY successful.attach.desc "คุณสามารถแนบข้อความอ้างอิงหรือข้อมูลเกี่ยวกับตัวคุณเองที่ส่วนท้ายของข้อความทั้งหมดที่คุณส่งได้โดยอัตโนมัติ">
+<!ENTITY successful.close "ปิดหน้าต่างนี้">
+<!ENTITY input.namePlaceholder "ชื่อ, หรือชื่อเล่นของคุณ">
+<!ENTITY input.search "ค้นหา">
+<!ENTITY search_engine.title "ปรับแต่งเครื่องมือค้นหาของคุณ">
+<!ENTITY search_engine.message "ผู้ให้บริการอีเมลของคุณยังสามารถจัดเตรียมคุณลักษณะการค้นหาเว็บให้แก่คุณได้">
+<!ENTITY search_engine.button "เสร็จสิ้น">
diff --git a/l10n-th/mail/chrome/messenger/newmailaccount/accountProvisioner.properties b/l10n-th/mail/chrome/messenger/newmailaccount/accountProvisioner.properties
new file mode 100644
index 0000000000..65d39803ea
--- /dev/null
+++ b/l10n-th/mail/chrome/messenger/newmailaccount/accountProvisioner.properties
@@ -0,0 +1,32 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE (free):
+# This will be shown instead of a price when displaying free email accounts
+free=ฟรี
+# LOCALIZATION NOTE (price):
+# %S will be the price per year charged to the user for the account.
+price=%S ต่อปี
+# LOCALIZATION NOTE (moreOptions): Semi-colon list of plural forms.
+# See: https://developer.mozilla.org/en/Localization_and_Plurals
+# #1 is the number of additional email addresses available for registration.
+# This line is shown when there are more than two suggested email
+# addresses available.
+moreOptions=+#1 เพิ่มเติม…
+# LOCALIZATION NOTE (sepAnd):
+# \u0020 is a space, and should be included before and after.
+sepAnd=\u0020และ\u0020
+# LOCALIZATION NOTE (sepComma):
+# \u0020 is a space, and should be included after.
+sepComma=,\u0020
+# LOCALIZATION NOTE (privacyDisclaimer):
+# #1 will be a link for the Mozilla Privacy policy page.
+# #2 will be a list of providers with links to their ToS and Privacy policies, separated by the 'sepComma' delimiter.
+privacyDisclaimer=ข้อความค้นหาที่ใช้จะถูกส่งไปยัง Mozilla (#1) และผู้ให้บริการอีเมลบุคคลที่สาม #2 เพื่อค้นหาที่อยู่อีเมลที่พร้อมใช้งาน
+privacyPolicy=นโยบายความเป็นส่วนตัว
+tos=เงื่อนไขการให้บริการ
+# LOCALIZATION NOTE (searchEngineDesc):
+# %S will be the selected search engine.
+searchEngineDesc=ใช้ %S เป็นเครื่องมือค้นหาเริ่มต้นของฉัน
+cannotConnect=ขออภัย เราไม่สามารถสื่อสารกับเซิร์ฟเวอร์การลงทะเบียนของเรา โปรดตรวจสอบการเชื่อมต่อของคุณ
diff --git a/l10n-th/mail/chrome/messenger/news.properties b/l10n-th/mail/chrome/messenger/news.properties
new file mode 100644
index 0000000000..d9c6adbd6f
--- /dev/null
+++ b/l10n-th/mail/chrome/messenger/news.properties
@@ -0,0 +1,56 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+downloadHeadersTitlePrefix=ดาวน์โหลดส่วนหัว
+downloadHeadersInfoText=มี %S ส่วนหัวข้อความใหม่ที่สามารถดาวน์โหลดได้สำหรับกลุ่มข่าวนี้
+cancelDisallowed=ข้อความนี้ดูเหมือนจะไม่ได้มาจากคุณ คุณสามารถยกเลิกโพสต์ของคุณเอง แต่ไม่สามารถยกเลิกโพสต์ที่สร้างโดยผู้อื่น
+cancelConfirm=คุณแน่ใจหรือไม่ว่าต้องการยกเลิกข้อความนี้?
+messageCancelled=ยกเลิกข้อความแล้ว
+enterUserPassTitle=จำเป็นต้องกรอกชื่อผู้ใช้และรหัสผ่านของเซิร์ฟเวอร์ข่าว
+# LOCALIZATION NOTE (enterUserPassServer): %S is the server being accessed
+enterUserPassServer=โปรดป้อนชื่อผู้ใช้และรหัสผ่านสำหรับ %S:
+# LOCALIZATION NOTE (enterUserPassGroup): %1$S is a specific newsgroup to set
+# the password for; %2$S is the server from which the newsgroup is accessed
+enterUserPassGroup=โปรดป้อนชื่อผู้ใช้และรหัสผ่านสำหรับ %1$S บน %2$S:
+okButtonText=ดาวน์โหลด
+
+noNewMessages=ไม่มีข้อความใหม่บนเซิร์ฟเวอร์
+# LOCALIZATION NOTE (newNewsgroupHeaders): %1$S is the number of the current
+# header being downloaded, %2$S is the number of headers to be downloaded, and
+# %3$S is the newsgroup whose headers are being downloaded.
+newNewsgroupHeaders=กำลังดาวน์โหลด %1$S จาก %2$S ส่วนหัวสำหรับ %3$S
+# LOCALIZATION NOTE (newNewsgroupFilteringHeaders): %1$S is the name of the MIME
+# header being filtered on, %2$S is the number of the current header being
+# downloaded, %3$S is the number of headers to be downloaded, and %4$S is the
+# newsgroup whose headers are being downloaded.
+newNewsgroupFilteringHeaders=กำลังรับส่วนหัวสำหรับตัวกรอง: %1$S (%2$S/%3$S) บน %4$S
+downloadingArticles=กำลังดาวน์โหลดบทความ %S-%S
+bytesReceived=กำลังดาวน์โหลดกลุ่มข่าว: ได้รับแล้ว %S (อ่านแล้ว %SKB ที่ %SKB/วินาที)
+downloadingArticlesForOffline=กำลังดาวน์โหลดบทความ %S-%S ใน %S
+
+# LOCALIZATION NOTE (autoUnsubscribeText): %1$S is the newsgroup and %2$S is the newsgroup-server it is being removed from.
+autoUnsubscribeText=กลุ่มข่าว %1$S ดูเหมือนจะไม่มีอยู่บนโฮสต์ %2$S คุณต้องการเลิกบอกรับกลุ่มข่าวนี้หรือไม่?
+
+# LOCALIZATION NOTE (autoSubscribeText): %1$S is the newsgroup.
+autoSubscribeText=คุณต้องการบอกรับ %1$S หรือไม่?
+
+# LOCALIZATION NOTE (Error -304): In the following item, don't translate "NNTP"
+# Error - server error
+## @name NNTP_ERROR_MESSAGE
+## @loc None
+-304=เกิดข้อผิดพลาดข่าว (NNTP):
+
+# Error - newsgroup scan error
+## @name NNTP_NEWSGROUP_SCAN_ERROR
+## @loc None
+-305=เกิดข้อผิดพลาดข่าว การสแกนกลุ่มข่าวทั้งหมดไม่เสร็จสมบูรณ์ ลองดูกลุ่มข่าวทั้งหมดอีกครั้ง
+
+# Error - NNTP authinfo failure
+## @name NNTP_AUTH_FAILED
+## @loc None
+-260=เกิดข้อผิดพลาดในการอนุญาต โปรดลองป้อนชื่อและ/หรือรหัสผ่านอีกครั้ง
+
+# Error - TCP error
+## @name TCP_ERROR
+## @loc None
+-206=เกิดข้อผิดพลาดในการสื่อสาร กำลังลองเชื่อมต่ออีกครั้ง ข้อผิดพลาด TCP:
diff --git a/l10n-th/mail/chrome/messenger/newsError.dtd b/l10n-th/mail/chrome/messenger/newsError.dtd
new file mode 100644
index 0000000000..c7c16015a5
--- /dev/null
+++ b/l10n-th/mail/chrome/messenger/newsError.dtd
@@ -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/. -->
+
+<!-- LOCALIZATION NOTE (newsError.title): The title of the news error page.
+ Not generally visible. -->
+<!ENTITY newsError.title "เกิดปัญหาในการโหลดบทความ">
+
+<!-- LOCALIZATION NOTE (articleNotFound.title): The main heading for the news
+ error page. -->
+<!ENTITY articleNotFound.title "ไม่พบบทความ">
+
+<!-- LOCALIZATION NOTE (articleNotFound.desc): A longer description for the news
+ error page. -->
+<!ENTITY articleNotFound.desc "เซิร์ฟเวอร์กลุ่มข่าวรายงานว่าไม่พบบทความ">
+
+<!-- LOCALIZATION NOTE (serverResponded.title): A string preceding the text
+ response from the newsgroup server describing the error. -->
+<!ENTITY serverResponded.title "เซิร์ฟเวอร์กลุ่มข่าวตอบกลับว่า:">
+
+<!-- LOCALIZATION NOTE (articleExpired.title): A string explaining that the
+ article may have expired. -->
+<!ENTITY articleExpired.title "บางทีบทความหมดอายุแล้ว?">
+
+<!-- LOCALIZATION NOTE (trySearching.title): A string preceding the message's
+ ID. -->
+<!ENTITY trySearching.title "ลองค้นหาบทความ:">
+
+<!-- LOCALIZATION NOTE (removeExpiredArticles.title): The label for the button
+ to remove all expired articles from the newsgroup. -->
+<!ENTITY removeExpiredArticles.title "เอาบทความที่หมดอายุแล้วออก">
diff --git a/l10n-th/mail/chrome/messenger/oeImportMsgs.properties b/l10n-th/mail/chrome/messenger/oeImportMsgs.properties
new file mode 100644
index 0000000000..8b26ee4bfc
--- /dev/null
+++ b/l10n-th/mail/chrome/messenger/oeImportMsgs.properties
@@ -0,0 +1,76 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+#
+# The following are used by the outlook express import code to display status/error
+# and informational messages
+#
+
+# Short name of import module
+## @name OEIMPORT_NAME
+## @loc None
+## LOCALIZATION NOTE (2000): DONT_TRANSLATE
+2000=Outlook Express
+
+# Description of import module
+## @name OEIMPORT_DESCRIPTION
+## @loc None
+## LOCALIZATION NOTE (2011): In this item, don't translate "Outlook Express"
+2011=จดหมาย, สมุดรายชื่อ, และการตั้งค่า Outlook Express
+
+# Success message
+## @name OEIMPORT_MAILBOX_SUCCESS
+## @loc None
+## LOCALIZATION NOTE (2002): In this item, don't translate "%S" or "%d"
+## The variable %S will contain the name of the Mailbox
+## The variable %d will contain the number of messages
+2002=กล่องจดหมาย %S, นำเข้าแล้ว %d ข้อความ
+
+# Error message
+## @name OEIMPORT_MAILBOX_BADPARAM
+## @loc None
+2003=พารามิเตอร์ที่ไม่ถูกต้องถูกส่งผ่านไปยังกล่องจดหมายนำเข้า
+
+# Error message
+## @name OEIMPORT_MAILBOX_BADSOURCEFILE
+## @loc None
+## LOCALIZATION NOTE (2004): In this item, don't translate "%S"
+## The variable %S will contain the name of the Mailbox
+2004=เกิดข้อผิดพลาดในการเข้าถึงไฟล์สำหรับกล่องจดหมาย %S
+
+# Error message
+## @name OEIMPORT_MAILBOX_CONVERTERROR
+## @loc None
+## LOCALIZATION NOTE (2005): In this item, don't translate "%S"
+## The variable %S will contain the name of the Mailbox
+2005=เกิดข้อผิดพลาดในการนำเข้ากล่องจดหมาย %S ข้อความทั้งหมดอาจไม่ถูกนำเข้าจากกล่องจดหมายนี้
+
+# Default name of imported addressbook
+## @name OEIMPORT_DEFAULT_NAME
+## @loc None
+2006=สมุดรายชื่อ Outlook Express
+
+# Autofind description
+## @name OEIMPORT_AUTOFIND
+## @loc None
+2007=สมุดรายชื่อ Outlook Express (สมุดรายชื่อ Windows)
+
+# Description
+## @name OEIMPORT_ADDRESS_SUCCESS
+## @loc None
+## LOCALIZATION NOTE (2006): In this item, don't translate "%S"
+## The variable %S will receive the name of the address book
+2008=นำเข้าสมุดรายชื่อ %S แล้ว
+
+# Error message
+## @name OEIMPORT_ADDRESS_CONVERTERROR
+## @loc None
+## LOCALIZATION NOTE (2009): In this item, don't translate "%S"
+## The variable %S will receive the name of the address book
+2009=เกิดข้อผิดพลาดในการนำเข้าสมุดรายชื่อ %S ที่อยู่ทั้งหมดอาจไม่ได้ถูกนำเข้า
+
+# Error message
+## @name OEIMPORT_ADDRESS_BADPARAM
+## @loc None
+2010=พารามิเตอร์ที่ไม่ถูกต้องถูกส่งผ่านไปยังสมุดรายชื่อนำเข้า
diff --git a/l10n-th/mail/chrome/messenger/offline.properties b/l10n-th/mail/chrome/messenger/offline.properties
new file mode 100644
index 0000000000..a928840c48
--- /dev/null
+++ b/l10n-th/mail/chrome/messenger/offline.properties
@@ -0,0 +1,28 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# Download Messages Prompt
+downloadMessagesWindowTitle1=ดาวน์โหลดข้อความ
+downloadMessagesLabel1=คุณต้องการดาวน์โหลดข้อความสำหรับใช้งานออฟไลน์ก่อนทำงานแบบออฟไลน์หรือไม่?
+downloadMessagesCheckboxLabel1=ถามฉันเสมอเมื่อฉันออฟไลน์
+downloadMessagesNow2=&ดาวน์โหลดตอนนี้
+
+# Send Messages Prompt
+sendMessagesWindowTitle1=ข้อความที่ไม่ได้ส่ง
+sendMessagesLabel2=คุณต้องการส่งข้อความที่ยังไม่ได้ส่งตอนนี้หรือไม่?
+sendMessagesCheckboxLabel1=ถามฉันเสมอเมื่อฉันออนไลน์
+sendMessagesNow2=&ส่งตอนนี้
+
+processMessagesLater2=&ภายหลัง
+
+# GetMessages While Offline Prompt
+getMessagesOfflineWindowTitle1=รับข้อความ
+getMessagesOfflineLabel1=คุณกำลังออฟไลน์ คุณต้องการออนไลน์เพื่อรับข้อความใหม่หรือไม่?
+
+# Send Messages Offline Prompt
+sendMessagesOfflineWindowTitle1=ข้อความที่ไม่ได้ส่ง
+sendMessagesOfflineLabel1=คุณกำลังออฟไลน์ คุณต้องการออนไลน์เพื่อส่งข้อความที่ไม่ได้ส่งหรือไม่?
+
+offlineTooltip=คุณกำลังออฟไลน์
+onlineTooltip=คุณกำลังออฟไลน์
diff --git a/l10n-th/mail/chrome/messenger/offlineStartup.properties b/l10n-th/mail/chrome/messenger/offlineStartup.properties
new file mode 100644
index 0000000000..2dd727ab56
--- /dev/null
+++ b/l10n-th/mail/chrome/messenger/offlineStartup.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/.
+
+title=ทำงานออนไลน์
+desc=คุณต้องการเริ่มทำงานออนไลน์ตอนนี้หรือไม่?\n\n(หากคุณเลือกที่จะทำงานออนไลน์ คุณสามารถเริ่มทำงานออนไลน์ได้ในภายหลัง - เลือก `ออฟไลน์' จากเมนู `ไฟล์' แล้วยกเลิกการกาเครื่องหมาย `ทำงานออฟไลน์')
+workOnline=ทำงานออนไลน์
+workOffline=ทำงานออฟไลน์
diff --git a/l10n-th/mail/chrome/messenger/outlookImportMsgs.properties b/l10n-th/mail/chrome/messenger/outlookImportMsgs.properties
new file mode 100644
index 0000000000..0140ce462c
--- /dev/null
+++ b/l10n-th/mail/chrome/messenger/outlookImportMsgs.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/.
+
+#
+# The following are used by the outlook express import code to display status/error
+# and informational messages
+#
+
+# Short name of import module
+## @name OUTLOOKIMPORT_NAME
+## @loc None
+## LOCALIZATION NOTE (2000): DONT_TRANSLATE
+2000=Outlook
+
+# Description of import module
+## @name OUTLOOKIMPORT_DESCRIPTION
+## @loc None
+## LOCALIZATION NOTE (2010): In this item, don't translate "Outlook"
+2010=จดหมาย, สมุดรายชื่อ, และการตั้งค่า Outlook
+
+# Success message
+## @name OUTLOOKIMPORT_MAILBOX_SUCCESS
+## @loc None
+## LOCALIZATION NOTE (2002): In this item, don't translate "%S" or "%d"
+## The variable %S will receive the name of the mailbox
+## The variable %d will receive the number of messages
+2002=กล่องจดหมาย %S, นำเข้าแล้ว %d ข้อความ
+
+# Error message
+## @name OUTLOOKIMPORT_MAILBOX_BADPARAM
+## @loc None
+2003=พารามิเตอร์ที่ไม่ถูกต้องถูกส่งผ่านไปยังกล่องจดหมายนำเข้า
+
+# Error message
+## @name OUTLOOKIMPORT_MAILBOX_CONVERTERROR
+## @loc None
+## LOCALIZATION NOTE (2004): In this item, don't translate "%S"
+## The variable %S will receive the name of the mailbox
+2004=เกิดข้อผิดพลาดในการนำเข้ากล่องจดหมาย %S ข้อความทั้งหมดอาจไม่ถูกนำเข้าจากกล่องจดหมายนี้
+
+# Address book name
+## @name OUTLOOKIMPORT_ADDRNAME
+## @loc None
+## LOCALIZATION NOTE (2005): In this item, don't translate "Outlook"
+2005=สมุดรายชื่อ Outlook
+
+# Description
+## @name OUTLOOKIMPORT_ADDRESS_SUCCESS
+## @loc None
+## LOCALIZATION NOTE (2006): In this item, don't translate "%S"
+## The variable %S will receive the name of the address book
+2006=นำเข้าสมุดรายชื่อ %S แล้ว
+
+# Error message
+## @name OUTLOOKIMPORT_ADDRESS_BADPARAM
+## @loc None
+2007=พารามิเตอร์ที่ไม่ถูกต้องถูกส่งผ่านไปยังสมุดรายชื่อนำเข้า
+
+# Error message
+## @name OUTLOOKIMPORT_ADDRESS_BADSOURCEFILE
+## @loc None
+## LOCALIZATION NOTE (2008): In this item, don't translate "%S"
+## The variable %S will receive the name of the address book
+2008=เกิดข้อผิดพลาดในการเข้าถึงไฟล์สำหรับสมุดรายชื่อ %S
+
+# Error message
+## @name OUTLOOKIMPORT_ADDRESS_CONVERTERROR
+## @loc None
+## LOCALIZATION NOTE (2009): In this item, don't translate "%S"
+## The variable %S will receive the name of the address book
+2009=เกิดข้อผิดพลาดในการนำเข้าสมุดรายชื่อ %S ที่อยู่ทั้งหมดอาจไม่ได้ถูกนำเข้า
diff --git a/l10n-th/mail/chrome/messenger/pgpmime.properties b/l10n-th/mail/chrome/messenger/pgpmime.properties
new file mode 100644
index 0000000000..a3cbbc9ad7
--- /dev/null
+++ b/l10n-th/mail/chrome/messenger/pgpmime.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/.
+
+#
+# The following are used by the pgpmime content type handler
+#
+
+# LOCALIZATION NOTE(pgpMimeNeedsAddon): The text can contain HTML tags.
+pgpNotAvailable=นี่คือข้อความ OpenPGP ที่เข้ารหัส แต่การสนับสนุนการถอดรหัส OpenPGP ไม่สามารถใช้ได้
diff --git a/l10n-th/mail/chrome/messenger/preferences/applicationManager.properties b/l10n-th/mail/chrome/messenger/preferences/applicationManager.properties
new file mode 100644
index 0000000000..f431621cf0
--- /dev/null
+++ b/l10n-th/mail/chrome/messenger/preferences/applicationManager.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/.
+
+# LOCALIZATION NOTE
+# in descriptionApplications, %S will be replaced by one of the 3 following strings
+descriptionApplications=แอปพลิเคชันดังต่อไปนี้สามารถใช้เพื่อจัดการกับ %S
+
+handleProtocol=ลิงก์ %S
+handleFile=เนื้อหา %S
+
+descriptionWebApp=เว็บแอปพลิเคชันนี้โฮสต์ที่:
+descriptionLocalApp=แอปพลิเคชันนี้ตั้งอยู่ที่:
diff --git a/l10n-th/mail/chrome/messenger/preferences/applications.properties b/l10n-th/mail/chrome/messenger/preferences/applications.properties
new file mode 100644
index 0000000000..49afcffb47
--- /dev/null
+++ b/l10n-th/mail/chrome/messenger/preferences/applications.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/.
+
+# LOCALIZATION NOTE (dialog_removeAccount):
+# %S will be replaced with the user-defined name of a storage account.
+dialog_removeAccount=คุณแน่ใจหรือไม่ว่าต้องการเอาบัญชี "%S" ออก?
+
+# LOCALIZATION NOTE (addProvider):
+# %S will be replace with the display name of a provider, e.g. DropBox
+addProvider=เพิ่ม %S
+
+notConfiguredYet=บัญชีนี้ยังไม่ได้ถูกกำหนดค่า
diff --git a/l10n-th/mail/chrome/messenger/preferences/messagestyle.properties b/l10n-th/mail/chrome/messenger/preferences/messagestyle.properties
new file mode 100644
index 0000000000..f6f55e4c85
--- /dev/null
+++ b/l10n-th/mail/chrome/messenger/preferences/messagestyle.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/.
+
+# Content of preview conversation for chat message styles
+default=ค่าเริ่มต้น
+nick1=Florian
+buddy1=florian@im.instantbird.org
+nick2=Patrick
+buddy2=patrick@im.instantbird.org
+message1=สวัสดี! :-)
+message2=ว่าไง?
+message3=ฉันกำลังลอง Thunderbird! ;-)
diff --git a/l10n-th/mail/chrome/messenger/preferences/preferences.properties b/l10n-th/mail/chrome/messenger/preferences/preferences.properties
new file mode 100644
index 0000000000..ae44897012
--- /dev/null
+++ b/l10n-th/mail/chrome/messenger/preferences/preferences.properties
@@ -0,0 +1,118 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.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 HTML and Plain Text Domain Names for sendOption
+html_domainsAddDomainTitle=เพิ่มชื่อโดเมน HTML
+html_domainsAddDomain=ชื่อโดเมน HTML:
+plaintext_domainsAddDomainTitle=เพิ่มชื่อโดเมนข้อความธรรมดา
+plaintext_domainsAddDomain=ชื่อโดเมนข้อความธรรมดา:
+
+domainNameErrorTitle=ข้อผิดพลาดชื่อโดเมน
+#### LOCALIZATION NOTE: do not translate %S
+domainDuplicationError=ชื่อโดเมน %S มีอยู่แล้วในรายการ HTML หรือข้อความธรรมดา
+
+#### Junk
+confirmResetJunkTrainingTitle=ยืนยัน
+confirmResetJunkTrainingText=คุณแน่ใจหรือไม่ว่าต้องการตั้งค่าข้อมูลการสอนตัวกรองแบบปรับตัวได้ใหม่?
+
+#### Downloads
+desktopFolderName=เดสก์ท็อป
+myDownloadsFolderName=การดาวน์โหลดของฉัน
+chooseAttachmentsFolderTitle=เลือกโฟลเดอร์
+
+#### Applications
+
+fileEnding=ไฟล์ %S
+saveFile=บันทึกไฟล์
+
+# LOCALIZATION NOTE (useApp, useDefault): %S = Application name
+useApp=ใช้ %S
+useDefault=ใช้ %S (ค่าเริ่มต้น)
+
+useOtherApp=ใช้ตัวอื่น…
+fpTitleChooseApp=เลือกแอปพลิเคชันตัวช่วย
+manageApp=รายละเอียดแอปพลิเคชัน…
+alwaysAsk=ถามเสมอ
+delete=ลบการกระทำ
+confirmDeleteTitle=ลบการกระทำ
+confirmDeleteText=คุณแน่ใจหรือไม่ว่าต้องการลบการกระทำนี้?
+
+# LOCALIZATION NOTE (typeDescriptionWithDetails):
+# %1$S = type description (for example "Portable Document Format")
+# %2$S = details (see below, for example "(application/pdf: .pdf, .pdfx)")
+typeDescriptionWithDetails=%1$S %2$S
+
+# LOCALIZATION NOTE (typeDetailsWithTypeOrExt):
+# %1$S = type or extensions (for example "application/pdf", or ".pdf, .pdfx")
+typeDetailsWithTypeOrExt=(%1$S)
+
+# LOCALIZATION NOTE (typeDetailsWithTypeAndExt):
+# %1$S = type (for example "application/pdf")
+# %2$S = extensions (for example ".pdf, .pdfx")
+typeDetailsWithTypeAndExt=(%1$S: %2$S)
+
+#### Sound Notifications
+soundFilePickerTitle=เลือกเสียง
+
+#### Search Engine Picker
+searchEnginePickerTitle=เลือกเครื่องมือค้นหา
+searchEngineType2=เครื่องมือค้นหา
+
+#### Remote content
+imagepermissionstext=คุณสามารถระบุภาพเว็บไซต์และเนื้อหาระยะไกลอื่น ๆ ที่อนุญาตให้โหลด คุณสามารถอนุญาตเนื้อหาระยะไกลทั้งหมดตามที่อยู่อีเมลของผู้ส่ง พิมพ์ที่อยู่ของไซต์หรืออีเมลที่คุณต้องการจัดการแล้วคลิกปิดกั้นหรืออนุญาต
+imagepermissionstitle=ข้อยกเว้น - เนื้อหาระยะไกล
+
+#### Cookies
+cookiepermissionstitle=ข้อยกเว้น - คุกกี้
+cookiepermissionstext=คุณสามารถระบุเว็บไซต์ที่อนุญาตหรือไม่อนุญาตให้ใช้คุกกี้เสมอ พิมพ์ที่อยู่ของไซต์ที่คุณต้องการจัดการแล้วคลิก ปิดกั้น, อนุญาตในวาระ หรืออนุญาต
+
+#### Cookie Viewer
+hostColon=โฮสต์:
+domainColon=โดเมน:
+forSecureOnly=การเชื่อมต่อที่เข้ารหัสเท่านั้น
+forAnyConnection=การเชื่อมต่อทุกชนิด
+expireAtEndOfSession=เมื่อจบวาระ
+
+noCookieSelected=<ไม่มีคุกกี้ที่ถูกเลือก>
+cookiesAll=คุกกี้ดังต่อไปนี้ถูกจัดเก็บบนคอมพิวเตอร์ของคุณ:
+cookiesFiltered=คุกกี้ดังต่อไปนี้ตรงกับการค้นหาของคุณ:
+# LOCALIZATION NOTE (removeSelectedCookies):
+# Semicolon-separated list of plural forms. See:
+# https://developer.mozilla.org/en/docs/Localization_and_Plurals
+# If you need to display the number of selected elements in your language,
+# you can use #1 in your localization as a placeholder for the number.
+# For example this is the English string with numbers:
+# removeSelectedCookies=Remove #1 Selected;Remove #1 Selected
+removeSelectedCookies=เอาที่เลือกออก
+defaultUserContextLabel=ไม่มี
+
+####Preferences::Advanced::Network
+#LOCALIZATION NOTE: The next string is for the disk usage of the cache.
+# e.g., "Your cache is currently using 200 MB"
+# %1$S = size
+# %2$S = unit (MB, KB, etc.)
+actualDiskCacheSize=แคชของคุณใช้พื้นที่ดิสก์ไป %1$S %2$S
+actualDiskCacheSizeCalculated=กำลังคำนวณขนาดแคช…
+
+# LOCALIZATION NOTE (labelDefaultFont): %S = font name
+labelDefaultFont=ค่าเริ่มต้น (%S)
+labelDefaultFontUnnamed=ค่าเริ่มต้น
+
+# LOCALIZATION NOTE (appLocale.label): %S = Name of the application locale,
+# e.g. English (United States)
+appLocale.label=ภาษาของแอปพลิเคชัน: %S
+appLocale.accesskey=ภ
+# LOCALIZATION NOTE (rsLocale.label): %S = Name of the locale chosen in regional settings,
+# e.g. German (Germany)
+rsLocale.label=ภาษาการตั้งค่าภูมิภาค: %S
+rsLocale.accesskey=า
+
+#### Master Password (Moved to Fluent in M-C in bug 1435915)
+pw_change2empty_in_fips_mode=คุณกำลังอยู่ในโหมด FIPS ซึ่ง FIPS จำเป็นต้องมีรหัสผ่านหลักที่ไม่ว่างเปล่า
+pw_change_failed_title=การเปลี่ยนรหัสผ่านล้มเหลว
+
+applications-type-pdf = Portable Document Format (PDF)
+
+# LOCALIZATION NOTE (previewInApp): %S = brandShortName
+previewInApp=แสดงตัวอย่างใน %S
diff --git a/l10n-th/mail/chrome/messenger/prefs.properties b/l10n-th/mail/chrome/messenger/prefs.properties
new file mode 100644
index 0000000000..c3c3c4b8f9
--- /dev/null
+++ b/l10n-th/mail/chrome/messenger/prefs.properties
@@ -0,0 +1,90 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# The following are used by the Account Wizard
+#
+enterValidEmail=โปรดป้อนที่อยู่อีเมลที่ถูกต้อง
+accountNameExists=บัญชีที่มีชื่อนี้มีอยู่แล้ว โปรดป้อนชื่อบัญชีอื่น
+accountNameEmpty=ชื่อบัญชีต้องไม่ว่างเปล่า
+modifiedAccountExists=บัญชีที่มีชื่อผู้ใช้และชื่อเซิร์ฟเวอร์นั้นมีอยู่แล้ว โปรดป้อนชื่อผู้ใช้และ/หรือชื่อเซิร์ฟเวอร์อื่น
+userNameChanged=อัปเดตชื่อผู้ใช้ของคุณแล้ว คุณอาจต้องอัปเดตที่อยู่อีเมลและ/หรือชื่อผู้ใช้ที่เชื่อมโยงกับบัญชีนี้
+serverNameChanged=การตั้งค่าชื่อเซิร์ฟเวอร์ได้ถูกเปลี่ยนแล้ว โปรดตรวจสอบว่าโฟลเดอร์ใดก็ตามที่ตัวกรองใช้มีอยู่บนเซิร์ฟเวอร์ใหม่
+# LOCALIZATION NOTE (junkSettingsBroken): %1$S is the account name
+junkSettingsBroken=การตั้งค่าขยะในบัญชี "%1$S" มีปัญหาที่เป็นไปได้ คุณต้องการตรวจทานก่อนบันทึกการตั้งค่าบัญชีหรือไม่?
+# LOCALIZATION NOTE (localDirectoryChanged): %1$S is program name (&brandShortName;)
+localDirectoryChanged=%1$S ต้องเริ่มการทำงานใหม่ตอนนี้เพื่อนำการเปลี่ยนแปลงไปใช้กับการตั้งค่าไดเรกทอรีในเครื่อง
+localDirectoryRestart=เริ่มการทำงานใหม่
+userNameEmpty=ชื่อผู้ใช้ต้องไม่ว่างเปล่า
+# LOCALIZATION NOTE (localDirectoryInvalid): %1$S is path to folder
+localDirectoryInvalid=เส้นทางไดเรกทอรีภายในเครื่อง "%1$S" ไม่ถูกต้อง โปรดเลือกไดเรกทอรีอื่น
+# LOCALIZATION NOTE (localDirectoryNotAllowed): %1$S is path to folder
+localDirectoryNotAllowed=เส้นทางไดเรกทอรีภายในเครื่อง "%1$S" ไม่เหมาะสำหรับการจัดเก็บข้อความ โปรดเลือกไดเรกทอรีอื่น
+# if the user chooses to cancel the wizard when no accounts are there throw a message
+# LOCALIZATION NOTE (cancelWizard)
+# do not localize "\n\n"
+cancelWizard=คุณแน่ใจหรือไม่ว่าต้องการออกจากตัวช่วยบัญชี?\n\nหากคุณออก ข้อมูลใด ๆ ที่คุณป้อนจะสูญหายและบัญชีจะไม่ถูกสร้าง
+accountWizard=ตัวช่วยบัญชี
+WizardExit=ออก
+WizardContinue=ยกเลิก
+# when the wizard already has a domain (Should we say something different?)
+enterValidServerName=โปรดป้อนชื่อเซิร์ฟเวอร์ที่ถูกต้อง
+failedRemoveAccount=ไม่สามารถเอาบัญชีนี้ออก
+#LOCALIZATION NOTE: accountName: %1$S is server name, %2$S is user name
+accountName=%1$S - %2$S
+
+# LOCALIZATION NOTE: confirmDeferAccountWarning: do not localize "\n\n", it means a new empty line in the string.
+confirmDeferAccountWarning=หากคุณเก็บจดหมายใหม่ของบัญชีนี้ไว้ในกล่องขาเข้าของบัญชีอื่น คุณจะไม่สามารถเข้าถึงอีเมลที่ดาวน์โหลดแล้วสำหรับบัญชีนี้ได้อีก หากคุณมีจดหมายในบัญชีนี้ โปรดคัดลอกไปยังบัญชีอื่นก่อน\n\nหากคุณมีตัวกรองที่กรองจดหมายไปยังบัญชีนี้ คุณควรปิดใช้งานหรือเปลี่ยนโฟลเดอร์ปลายทาง หากบัญชีใดก็ตามมีโฟลเดอร์พิเศษในบัญชีนี้ (ส่งแล้ว, ฉบับร่าง, แม่แบบ, เก็บถาวร, ขยะ) คุณควรเปลี่ยนเป็นบัญชีอื่น\n\nคุณยังต้องการเก็บอีเมลของบัญชีนี้ไว้ในบัญชีอื่นหรือไม่?
+confirmDeferAccountTitle=ยืดเวลาการสมัครบัญชี?
+
+directoryAlreadyUsedByOtherAccount=ไดเรกทอรีที่ระบุในการตั้งค่าไดเรกทอรีภายในเครื่องถูกใช้โดยบัญชี "%S" แล้ว โปรดเลือกไดเรกทอรีอื่น
+directoryParentUsedByOtherAccount=ไดเรกทอรีหลักของไดเรกทอรีที่ระบุในการตั้งค่าไดเรกทอรีภายในเครื่องถูกใช้โดยบัญชี "%S" แล้ว โปรดเลือกไดเรกทอรีอื่น
+directoryChildUsedByOtherAccount=ไดเรกทอรีย่อยของไดเรกทอรีที่ระบุในการตั้งค่าไดเรกทอรีภายในเครื่องถูกใช้โดยบัญชี "%S" แล้ว โปรดเลือกไดเรกทอรีอื่น
+#Provide default example values for sample email address
+exampleEmailUserName=ผู้ใช้
+exampleEmailDomain=example.net
+emailFieldText=ที่อยู่อีเมล:
+#LOCALIZATION NOTE: defaultEmailText: %1$S is user name, %2$S is domain
+defaultEmailText=ป้อนที่อยู่อีเมลของคุณ นี่เป็นที่อยู่ที่ผู้อื่นจะใช้เพื่อส่งอีเมลถึงคุณ (ตัวอย่างเช่น "%1$S@%2$S")
+#LOCALIZATION NOTE: customizedEmailText: %1$S is provider, %2$S is email username, %3$S is sample email, %4$S is sample username
+customizedEmailText=ป้อน %2$S %1$S ของคุณ (ตัวอย่างเช่น หากที่อยู่อีเมล %1$S ของคุณคือ "%3$S" %2$S ของคุณคือ "%4$S")
+
+# account manager stuff
+prefPanel-server=การตั้งค่าเซิร์ฟเวอร์
+prefPanel-copies=สำเนาและโฟลเดอร์
+prefPanel-synchronization=การประสานและที่เก็บข้อมูล
+prefPanel-diskspace=เนื้อที่ดิสก์
+prefPanel-addressing=การเขียนและการกำหนดที่อยู่
+prefPanel-junk=การตั้งค่าขยะ
+## LOCALIZATION NOTE (prefPanel-smtp): Don't translate "SMTP"
+prefPanel-smtp=เซิร์ฟเวอร์ขาออก (SMTP)
+
+# account manager multiple identity support
+#LOCALIZATION NOTE: accountName: %1$S
+identity-list-title=ข้อมูลประจำตัวสำหรับ %1$S
+
+identityDialogTitleAdd=ข้อมูลประจำตัวใหม่
+## LOCALIZATION NOTE (identityDialogTitleEdit): %S is the identity name
+identityDialogTitleEdit=แก้ไข %S
+
+identity-edit-req=คุณต้องระบุที่อยู่อีเมลที่ถูกต้องสำหรับข้อมูลประจำตัวนี้
+identity-edit-req-title=เกิดข้อผิดพลาดในการสร้างข้อมูลประจำตัว
+
+## LOCALIZATION NOTE (identity-delete-confirm): %S is the identity name
+# and should be put on a new line. The new line is produced with the "\n" string.
+identity-delete-confirm=คุณแน่ใจหรือไม่ว่าต้องการลบข้อมูลประจำตัว\n%S?
+## LOCALIZATION NOTE (identity-delete-confirm-title): %S is the account name
+identity-delete-confirm-title=กำลังลบข้อมูลประจำตัวสำหรับ %S
+identity-delete-confirm-button=ลบ
+
+choosefile=เลือกไฟล์
+
+forAccount=สำหรับบัญชี "%S"
+
+removeFromServerTitle=ยืนยันการลบข้อความแบบถาวรโดยอัตโนมัติ
+removeFromServer=การตั้งค่านี้จะลบข้อความเก่าจากเซิร์ฟเวอร์ระยะไกลและที่เก็บข้อมูลในเครื่องของคุณอย่างถาวร คุณแน่ใจหรือไม่ว่าต้องการดำเนินการต่อ?
+
+confirmSyncChangesTitle=ยืนยันการเปลี่ยนแปลงการประสาน
+confirmSyncChanges=การตั้งค่าการประสานข้อความได้ถูกเปลี่ยนแปลง\n\nคุณต้องการบันทึกหรือไม่?
+confirmSyncChangesDiscard=ละทิ้ง
+
diff --git a/l10n-th/mail/chrome/messenger/quickFilterBar.dtd b/l10n-th/mail/chrome/messenger/quickFilterBar.dtd
new file mode 100644
index 0000000000..e923d78a17
--- /dev/null
+++ b/l10n-th/mail/chrome/messenger/quickFilterBar.dtd
@@ -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 (quickFilterBar.qfbShowFilterBar.label):
+ The label for the button on the tab bar that toggles the visibility of
+ the quick filter bar.
+ -->
+<!ENTITY quickFilterBar.qfbShowFilterBar.label
+ "ตัวกรองแบบรวดเร็ว">
+
+<!-- LOCALIZATION NOTE (quickFilterBar.toggleBarVisibility.menu.label):
+ The label to display for the "View... Toolbars..." menu item that controls
+ whether the quick filter bar is visible.
+ -->
+<!ENTITY quickFilterBar.toggleBarVisibility.menu.label
+ "แถบตัวกรองแบบรวดเร็ว">
+
+<!-- LOCALIZATION NOTE (quickFilterBar.toggleBarVisibility.menu.accesskey):
+ The access key for the "View... Toolbars..." menu item label that controls
+ whether the quick filter bar is visible.
+ -->
+<!ENTITY quickFilterBar.toggleBarVisibility.menu.accesskey
+ "ถ">
+
+<!-- LOCALIZATION NOTE (quickFilterBar.toggleBarVisibility.appmenu.label):
+ The label to display for the "App Menu... Preferences..." menu item that
+ controls whether the quick filter bar is visible.
+ -->
+<!ENTITY quickFilterBar.toggleBarVisibility.appmenu.label
+ "แถบตัวกรองแบบรวดเร็ว">
+
+<!-- LOCALIZATION NOTE (quickFilterBar.toggleBarVisibility.button.tooltip):
+ The tooltip to display when hovering over the button on the tab bar that
+ toggles the visibility of the quick filter bar.
+ -->
+<!ENTITY quickFilterBar.toggleBarVisibility.button.tooltip
+ "เปิด/ปิดแถบตัวกรองแบบรวดเร็ว">
+
+<!-- LOCALIZATION NOTE (quickFilterBar.sticky.tooltip):
+ The tooltip to display when the user hovers over the sticky button
+ (currently displayed as a push-pin). When active, the sticky button
+ causes the current filter settings to be retained when the user changes
+ folders or opens new tabs. (When inactive, only the state of the text
+ filters are propagated between folder changes and when opening new tabs.)
+ -->
+<!ENTITY quickFilterBar.sticky.tooltip
+ "นำตัวกรองไปใช้เมื่อสลับโฟลเดอร์เสมอ">
+
+<!-- LOCALIZATION NOTE (quickFilterBar.unread.label):
+ The label for the filter button that causes us to filter results to only
+ include unread messages.
+ -->
+<!ENTITY quickFilterBar.unread.label
+ "ยังไม่ได้อ่าน">
+
+<!-- LOCALIZATION NOTE (quickFilterBar.unread.tooltip):
+ The tooltip for the filter button that causes us to filter results to only
+ include unread messages.
+ -->
+<!ENTITY quickFilterBar.unread.tooltip
+ "แสดงเฉพาะข้อความที่ยังไม่ได้อ่าน">
+
+<!-- LOCALIZATION NOTE (quickFilterBar.starred.label):
+ The label for the filter button that causes us to filter results to only
+ include messages that have been starred/flagged.
+ -->
+<!ENTITY quickFilterBar.starred.label
+ "ที่ติดดาว">
+
+<!-- LOCALIZATION NOTE (quickFilterBar.starred.tooltip):
+ The tooltip for the filter button that causes us to filter results to only
+ include messages that have been starred/flagged.
+ -->
+<!ENTITY quickFilterBar.starred.tooltip
+ "แสดงเฉพาะข้อความที่ติดดาว">
+
+<!-- LOCALIZATION NOTE (quickFilterBar.inaddrbook.label):
+ The label for the filter button that causes us to filter results to only
+ include messages from contacts in one of the user's non-remote address
+ books.
+ -->
+<!ENTITY quickFilterBar.inaddrbook.label
+ "ผู้ติดต่อ">
+
+<!-- LOCALIZATION NOTE (quickFilterBar.inaddrbook.tooltip):
+ The tooltip for the filter button that causes us to filter results to only
+ include messages from contacts in one of the user's non-remote address
+ books.
+ -->
+<!ENTITY quickFilterBar.inaddrbook.tooltip
+ "แสดงเฉพาะข้อความจากผู้คนในสมุดรายชื่อของคุณ">
+
+<!-- LOCALIZATION NOTE (quickFilterBar.tags.label):
+ The label for the filter button that causes us to filter results to only
+ include messages with at least one tag on them.
+ -->
+<!ENTITY quickFilterBar.tags.label
+ "ป้ายกำกับ">
+
+<!-- LOCALIZATION NOTE (quickFilterBar.tags.tooltip):
+ The tooltip for the filter button that causes us to filter results to only
+ include messages with at least one tag on them.
+ -->
+<!ENTITY quickFilterBar.tags.tooltip
+ "แสดงเฉพาะข้อความที่มีป้ายกำกับ">
+
+<!-- LOCALIZATION NOTE (quickFilterBar.attachment.label):
+ The label for the filter button that causes us to filter results to only
+ include messages with attachments.
+ -->
+<!ENTITY quickFilterBar.attachment.label
+ "ไฟล์แนบ">
+
+<!-- LOCALIZATION NOTE (quickFilterBar.attachment.tooltip):
+ The tooltip for the filter button that causes us to filter results to only
+ include messages with attachments.
+ -->
+<!ENTITY quickFilterBar.attachment.tooltip
+ "แสดงเฉพาะข้อความที่มีไฟล์แนบ">
+
+<!-- LOCALIZATION NOTE (quickFilterBar.resultsLabel.some.formatString):
+ This is used to populate the results box; it either displays the
+ number of messages found using this string, that there are no messages
+ (using quickFilterBar.resultsLabel.none), or the box is hidden.
+ This is a pluralizable string used to express the number of messages in
+ the results. We replace the '#1' with the number of messages, otherwise
+ see the following URL For more information:
+ https://developer.mozilla.org/En/Localization_and_Plurals
+ -->
+<!ENTITY quickFilterBar.resultsLabel.some.formatString
+ "#1 ข้อความ">
+
+<!-- LOCALIZATION NOTE (quickFilterBar.resultsLabel.none):
+ The contents of the results box when there is a filter active but there
+ are no messages matching the filter.
+ -->
+<!ENTITY quickFilterBar.resultsLabel.none
+ "ไม่มีผลลัพธ์">
+
+<!-- LOCALIZATION NOTE (quickFilterBar.resultsLabel.minWidth):
+ The minimum width, in pixels, of the results label. Please size this
+ so that a 3 or 4 digit number of messages in the results can be displayed
+ without growing the size of the box. You can tell this has been
+ accomplished if adding a filter constraint that changes the displayed
+ string to your "no results" string does not result in any changes to the
+ size of the text box to the label's right. (If your string for
+ "no results" is longer than the "#### messages" case, then size for that.
+ -->
+<!ENTITY quickFilterBar.resultsLabel.minWidth
+ "100">
+
+<!-- LOCALIZATION NOTE (quickFilterBar.textbox.emptyText.base1):
+ This is the base of the empty text for the text search box. We replace
+ #1 with the contents of the appropriate
+ quickFilterBar.textbox.emptyText.keyLabel.* value for the platform.
+ The goal is to convey to the user that typing in the box will filter
+ the messages and that there is a hotkey they can press to get to the
+ box faster.
+ -->
+<!ENTITY quickFilterBar.textbox.emptyText.base1
+ "กรองข้อความเหล่านี้ #1">
+
+<!-- LOCALIZATION NOTE (quickFilterBar.show.key2):
+ This is the key used to show the quick filter bar. -->
+<!ENTITY quickFilterBar.show.key2
+ "k">
+
+<!-- LOCALIZATION NOTE (quickFilterBar.textbox.emptyText.keyLabel.nonmac):
+ The description of the key-binding to get into the box on windows and
+ linux (which use the control key). This should match the value of
+ quickFilterBar.show.key above.
+ -->
+<!ENTITY quickFilterBar.textbox.emptyText.keyLabel2.nonmac
+ "&lt;Ctrl+Shift+K&gt;">
+
+<!-- LOCALIZATION NOTE (quickFilterBar.textbox.emptyText.keyLabel.mac):
+ The description of the key-binding to get into the box on mac systems.
+ This should match the value of quickFilterBar.show.key above.
+ -->
+<!ENTITY quickFilterBar.textbox.emptyText.keyLabel2.mac
+ "&lt;&#x21E7;&#x2318;K&gt;">
+
+<!-- LOCALIZATION NOTE (quickFilterBar.booleanMode.tooltip):
+ Tooltip of the Any of / All of tagging mode selector.
+ -->
+<!ENTITY quickFilterBar.booleanMode.tooltip "โหมดการกรองป้ายกำกับ">
+
+<!-- LOCALIZATION NOTE (quickFilterBar.booleanModeAny.label):
+ Tooltip of the Any of / All of tagging mode selector.
+ -->
+<!ENTITY quickFilterBar.booleanModeAny.label "ใด ๆ">
+
+<!-- LOCALIZATION NOTE (quickFilterBar.booleanModeAny.tooltip):
+ Tooltip of the Any of / All of tagging mode selector.
+ -->
+<!ENTITY quickFilterBar.booleanModeAny.tooltip "เกณฑ์ป้ายกำกับที่เลือกอย่างน้อยหนึ่งเกณฑ์ควรตรงกัน">
+
+<!-- LOCALIZATION NOTE (quickFilterBar.booleanModeAll.label):
+ Tooltip of the Any of / All of tagging mode selector.
+ -->
+<!ENTITY quickFilterBar.booleanModeAll.label "ทั้งหมด">
+
+<!-- LOCALIZATION NOTE (quickFilterBar.booleanModeAll.tooltip):
+ Tooltip of the Any of / All of tagging mode selector.
+ -->
+<!ENTITY quickFilterBar.booleanModeAll.tooltip "เกณฑ์ป้ายกำกับที่เลือกทั้งหมดต้องตรงกัน">
+
+<!-- LOCALIZATION NOTE (quickFilterBar.textbox.idealWidth):
+ The number of pixels for the ideal width of the quick filter box textbox.
+ Choose this value so that the emptyText fits nicely with a little bit of
+ extra whitespace.
+ -->
+<!ENTITY quickFilterBar.textbox.idealWidth
+ "320">
+
+<!-- LOCALIZATION NOTE (quickFilterBar.textbox.minWidth):
+ The minimum width of the quick filter textbox in pixels. This is the size
+ which we should refuse to flex below. When we hit this size, the buttons
+ with labels will have their labels collapsed.
+ -->
+<!ENTITY quickFilterBar.textbox.minWidth
+ "280">
+
+<!-- LOCALIZATION NOTE (quickFilterBar.textFilter.explanation.label):
+ This label explains what the sender/recipients/subject/body buttons do.
+ This string should ideally be kept short because the label and the text
+ filter buttons share their bar (that appears when there is text in the text
+ filter box) with the list of tags when the tag filter is active, and the
+ tag sub-bar wants as much space as possible. (Overflow is handled by an
+ arrow scroll box.)
+ -->
+<!ENTITY quickFilterBar.textFilter.explanation.label
+ "กรองข้อความตาม:">
+
+<!-- LOCALIZATION NOTE (quickFilterBar.textFilter.sender.label):
+ The button label that toggles whether the text filter searches the message
+ sender for the string.
+ -->
+<!ENTITY quickFilterBar.textFilter.sender.label
+ "ผู้ส่ง">
+
+<!-- LOCALIZATION NOTE (quickFilterBar.textFilter.recipients.label):
+ The button label that toggles whether the text filter searches the message
+ recipients (to, cc) for the string.
+ -->
+<!ENTITY quickFilterBar.textFilter.recipients.label
+ "ผู้รับ">
+
+<!-- LOCALIZATION NOTE (quickFilterBar.textFilter.subject.label):
+ The button label that toggles whether the text filter searches the message
+ subject for the string.
+ -->
+<!ENTITY quickFilterBar.textFilter.subject.label
+ "หัวเรื่อง">
+
+<!-- LOCALIZATION NOTE (quickFilterBar.textFilter.body.label):
+ The button label that toggles whether the text filter searches the message
+ body for the string.
+ -->
+<!ENTITY quickFilterBar.textFilter.body.label
+ "เนื้อหา">
+
+<!-- LOCALIZATION NOTE (quickFilterBar.glodaUpsell.continueSearch):
+ The first line of the panel popup that tells the user we found no matches
+ but we can convert to a global search for them.
+ -->
+<!ENTITY quickFilterBar.glodaUpsell.continueSearch
+ "ดำเนินการค้นหานี้ต่อในโฟลเดอร์ทั้งหมด">
+
+<!-- LOCALIZATION NOTE (quickFilterBar.glodaUpsell.pressEnterAndCurrent):
+ The second line of the panel popup that tells the user we found no matches.
+ This line will have #1 replaced with what the user has typed so far.
+ -->
+<!ENTITY quickFilterBar.glodaUpsell.pressEnterAndCurrent
+ "กด 'Enter' อีกครั้งเพื่อดำเนินการค้นหาของคุณต่อสำหรับ: #1">
diff --git a/l10n-th/mail/chrome/messenger/removeAccount.dtd b/l10n-th/mail/chrome/messenger/removeAccount.dtd
new file mode 100644
index 0000000000..fe8a8a6428
--- /dev/null
+++ b/l10n-th/mail/chrome/messenger/removeAccount.dtd
@@ -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/. -->
+
+<!ENTITY dialogTitle "เอาบัญชีและข้อมูลออก">
+<!ENTITY removeButton.label "เอาออก">
+<!ENTITY removeButton.accesskey "อ">
+<!ENTITY removeAccount.label "เอาข้อมูลบัญชีออก">
+<!ENTITY removeAccount.accesskey "ข">
+<!ENTITY removeAccount.desc "เอาเฉพาะบัญชีที่ &brandShortName; รู้จักออกเท่านั้นโดยไม่มีผลต่อบัญชีที่อยู่บนเซิร์ฟเวอร์">
+<!ENTITY removeData.label "เอาข้อมูลข้อความออก">
+<!ENTITY removeData.accesskey "ม">
+<!ENTITY removeDataChat.label "เอาข้อมูลการสนทนาออก">
+<!ENTITY removeDataChat.accesskey "ม">
+<!ENTITY removeDataLocalAccount.desc "เอาข้อความ, โฟลเดอร์ และตัวกรองทั้งหมดที่เกี่ยวข้องกับบัญชีนี้ออกจากดิสก์ในเครื่องของคุณ โดยจะไม่มีผลต่อข้อความบางส่วนซึ่งอาจยังคงถูกเก็บไว้บนเซิร์ฟเวอร์ อย่าเลือกตัวเลือกนี้หากคุณวางแผนที่จะเก็บข้อมูลในเครื่องหรือนำกลับมาใช้ใหม่ใน &brandShortName; ในภายหลัง">
+<!ENTITY removeDataServerAccount.desc "เอาข้อความ, โฟลเดอร์ และตัวกรองทั้งหมดที่เกี่ยวข้องกับบัญชีนี้ออกจากดิสก์ในเครื่องของคุณ ข้อความและโฟลเดอร์ของคุณจะยังคงอยู่บนเซิร์ฟเวอร์">
+<!ENTITY removeDataChatAccount.desc "เอาไฟล์บันทึกการสนทนาทั้งหมดที่เก็บไว้สำหรับบัญชีนี้ออกจากดิสก์ในเครื่องของคุณ">
+<!ENTITY showData.label "แสดงตำแหน่งที่ตั้งข้อมูล">
+<!ENTITY showData.accesskey "ส">
+<!ENTITY progressPending "กำลังเอาข้อมูลที่เลือกออก…">
+<!ENTITY progressSuccess "การเอาออกสำเร็จ">
+<!ENTITY progressFailure "การเอาออกล้มเหลว">
diff --git a/l10n-th/mail/chrome/messenger/removeAccount.properties b/l10n-th/mail/chrome/messenger/removeAccount.properties
new file mode 100644
index 0000000000..74bc0fd84b
--- /dev/null
+++ b/l10n-th/mail/chrome/messenger/removeAccount.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/.
+
+removeQuestion=คุณแน่ใจหรือไม่ว่าต้องการเอาบัญชี "%S" ออก?
diff --git a/l10n-th/mail/chrome/messenger/renameFolderDialog.dtd b/l10n-th/mail/chrome/messenger/renameFolderDialog.dtd
new file mode 100644
index 0000000000..977858271d
--- /dev/null
+++ b/l10n-th/mail/chrome/messenger/renameFolderDialog.dtd
@@ -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/. -->
+
+<!ENTITY renameFolderDialog.title "เปลี่ยนชื่อโฟลเดอร์">
+<!ENTITY rename.label "ป้อนชื่อใหม่สำหรับโฟลเดอร์ของคุณ:">
+<!ENTITY rename.accesskey "ป">
+<!ENTITY accept.label "เปลี่ยนชื่อ">
+<!ENTITY accept.accesskey "ล">
diff --git a/l10n-th/mail/chrome/messenger/safeMode.dtd b/l10n-th/mail/chrome/messenger/safeMode.dtd
new file mode 100644
index 0000000000..9d541535d5
--- /dev/null
+++ b/l10n-th/mail/chrome/messenger/safeMode.dtd
@@ -0,0 +1,21 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!ENTITY safeModeDialog.title "โหมดปลอดภัย &brandShortName;">
+<!ENTITY window.width "37em">
+
+<!ENTITY safeModeDescription.label "&brandShortName; กำลังทำงานในโหมดปลอดภัย ซึ่งจะปิดใช้งานการตั้งค่า, ชุดตกแต่ง, และส่วนขยายที่กำหนดเองชั่วคราว">
+<!ENTITY safeModeDescription2.label "คุณสามารถทำการเปลี่ยนแปลงบางส่วนหรือทั้งหมดอย่างถาวร:">
+
+<!ENTITY disableAddons.label "ปิดใช้งานส่วนเสริมทั้งหมด">
+<!ENTITY disableAddons.accesskey "ป">
+
+<!ENTITY resetToolbars.label "ตั้งค่าแถบเครื่องมือและส่วนควบคุมใหม่">
+<!ENTITY resetToolbars.accesskey "ต">
+
+<!ENTITY changeAndRestartButton.label "ทำการเปลี่ยนแปลงและเริ่มการทำงานใหม่">
+<!ENTITY changeAndRestartButton.accesskey "ท">
+
+<!ENTITY continueButton.label "ดำเนินการต่อในโหมดปลอดภัย">
+<!ENTITY continueButton.accesskey "ด">
diff --git a/l10n-th/mail/chrome/messenger/sanitize.dtd b/l10n-th/mail/chrome/messenger/sanitize.dtd
new file mode 100644
index 0000000000..b5796d1db7
--- /dev/null
+++ b/l10n-th/mail/chrome/messenger/sanitize.dtd
@@ -0,0 +1,42 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!ENTITY sanitizeDialog2.title "ล้างประวัติล่าสุด">
+
+<!-- XXX rearrange entities to match physical layout when l10n isn't an issue -->
+<!-- LOCALIZATION NOTE (clearTimeDuration.*): "Time range to clear" dropdown.
+ See UI mockup at bug 480169 -->
+<!ENTITY clearTimeDuration.label "ช่วงเวลาที่จะล้าง: ">
+<!ENTITY clearTimeDuration.accesskey "ช">
+<!ENTITY clearTimeDuration.lastHour "ชั่วโมงที่แล้ว">
+<!ENTITY clearTimeDuration.last2Hours "สองชั่วโมงที่แล้ว">
+<!ENTITY clearTimeDuration.last4Hours "สี่ชั่วโมงที่แล้ว">
+<!ENTITY clearTimeDuration.today "วันนี้">
+<!ENTITY clearTimeDuration.everything "ทั้งหมด">
+<!-- Localization note (clearTimeDuration.suffix) - trailing entity for languages
+that require it. -->
+<!ENTITY clearTimeDuration.suffix "">
+
+<!-- LOCALIZATION NOTE (detailsProgressiveDisclosure.*): Labels and accesskeys
+ of the "Details" progressive disclosure button. See UI mockup at bug
+ 480169 -->
+<!ENTITY detailsProgressiveDisclosure.label "รายละเอียด">
+<!ENTITY detailsProgressiveDisclosure.accesskey "ร">
+
+
+<!ENTITY historyGroup.label "ประวัติ">
+
+<!ENTITY itemHistory.label "ประวัติการเรียกดู">
+<!ENTITY itemHistory.accesskey "ป">
+<!ENTITY itemCookies.label "คุกกี้">
+<!ENTITY itemCookies.accesskey "ค">
+<!ENTITY itemCache.label "แคช">
+<!ENTITY itemCache.accesskey "แ">
+
+<!-- LOCALIZATION NOTE (sanitizeEverythingUndoWarning): Second warning paragraph
+ that appears when "Time range to clear" is set to "Everything". See UI
+ mockup at bug 480169 -->
+<!ENTITY sanitizeEverythingUndoWarning "การกระทำนี้ไม่สามารถเลิกทำได้">
+
+<!ENTITY dialog.width "28em">
diff --git a/l10n-th/mail/chrome/messenger/seamonkeyImportMsgs.properties b/l10n-th/mail/chrome/messenger/seamonkeyImportMsgs.properties
new file mode 100644
index 0000000000..0b88399141
--- /dev/null
+++ b/l10n-th/mail/chrome/messenger/seamonkeyImportMsgs.properties
@@ -0,0 +1,18 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+#
+# The following are used by the seamonkey import code to display status/error
+# and informational messages
+
+# Short name of import module
+SeamonkeyImportName=SeaMonkey
+
+# Description of import module
+SeamonkeyImportDescription=นำเข้าสมุดรายชื่อ อีเมล และบัญชีจาก SeaMonkey
+
+# Success Message for addressbook import
+SeamonkeyImportAddressSuccess=นำเข้าสมุดรายชื่อสำเร็จแล้ว
+
+# Success Message for mail import
+SeamonkeyImportSettingsSuccess=นำเข้าข้อความและบัญชีภายในเครื่องสำเร็จแล้ว
diff --git a/l10n-th/mail/chrome/messenger/search-attributes.properties b/l10n-th/mail/chrome/messenger/search-attributes.properties
new file mode 100644
index 0000000000..701042cfa4
--- /dev/null
+++ b/l10n-th/mail/chrome/messenger/search-attributes.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/.
+
+#these need to match nsMsgSearchAttrib interface in nsMsgSearchCore.idl
+#and nsMsgSearchAttribMap in nsMsgSearchAdapter.cpp
+Subject=หัวเรื่อง
+From=จาก
+Body=เนื้อหา
+Date=วันที่
+Priority=ความสำคัญ
+Status=สถานะ
+To=ถึง
+Cc=สำเนาถึง
+ToOrCc=ถึงหรือสำเนาถึง
+AgeInDays=อายุเป็นวัน
+SizeKB=ขนาด (KB)
+Tags=ป้ายกำกับ
+# for AB and LDAP
+AnyName=ชื่อใด ๆ
+DisplayName=ชื่อที่แสดงผล
+Nickname=ชื่อเล่น
+ScreenName=ชื่อหน้าจอ
+Email=อีเมล
+AdditionalEmail=อีเมลเพิ่มเติม
+AnyNumber=หมายเลขใด ๆ
+WorkPhone=โทรศัพท์ที่ทำงาน
+HomePhone=โทรศัพท์บ้าน
+Fax=โทรสาร
+Pager=วิทยุติดตามตัว
+Mobile=มือถือ
+City=เมือง
+Street=ถนน
+Title=ชื่อเรื่อง
+Organization=องค์กร
+Department=แผนก
+# more mailnews
+FromToCcOrBcc=จาก, ถึง, สำเนาถึง หรือสำเนาลับถึง
+JunkScoreOrigin=ที่มาคะแนนขยะ
+JunkPercent=เปอร์เซ็นต์ขยะ
+AttachmentStatus=สถานะไฟล์แนบ
+JunkStatus=สถานะขยะ
+Label=ป้ายชื่อ
+Customize=ปรับแต่ง…
+MissingCustomTerm=ไม่มีเงื่อนไขที่กำหนดเอง
diff --git a/l10n-th/mail/chrome/messenger/search-operators.properties b/l10n-th/mail/chrome/messenger/search-operators.properties
new file mode 100644
index 0000000000..1ef41a9932
--- /dev/null
+++ b/l10n-th/mail/chrome/messenger/search-operators.properties
@@ -0,0 +1,31 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+0=มี
+1=ไม่มี
+2=เป็น
+3=ไม่ใช่
+4=ว่างเปล่า
+
+5=อยู่ก่อนหน้า
+6=อยู่หลังจาก
+
+7=สูงกว่า
+8=ต่ำกว่า
+
+9=ขึ้นต้นด้วย
+10=ลงท้ายด้วย
+
+11=ฟังดูเหมือน
+12=LdapDwim
+
+13=มากกว่า
+14=น้อยกว่า
+
+15=NameCompletion
+16=อยู่ในสมุดรายชื่อของฉัน
+17=ไม่อยู่ในสมุดรายชื่อของฉัน
+18=ไม่ว่างเปล่า
+19=ตรงกับ
+20=ไม่ตรงกับ
diff --git a/l10n-th/mail/chrome/messenger/search.properties b/l10n-th/mail/chrome/messenger/search.properties
new file mode 100644
index 0000000000..3957462aac
--- /dev/null
+++ b/l10n-th/mail/chrome/messenger/search.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/.
+
+# these are the fields that get inserted in the search line
+# for "and" searches, this looks like:
+#
+# searchAnd0 <attribute> searchAnd1 <operator> searchAnd2 <value> searchAnd4
+#
+# for example, in english this looks like:
+# and the [Sender ] [doesn't contain] [John]
+#
+# TODO: need to special-case the first line (filterindex==0)
+
+# filter stuff
+
+searchingMessage=กำลังค้นหา…
+# LOCALIZATION NOTE (matchesFound): #1 number of matches found
+matchesFound=พบ #1 ที่ตรงกัน
+noMatchesFound=ไม่พบที่ตรงกัน
+labelForStopButton=หยุด
+labelForSearchButton=ค้นหา
+labelForStopButton.accesskey=ห
+labelForSearchButton.accesskey=ค
+
+moreButtonTooltipText=เพิ่มกฎใหม่
+lessButtonTooltipText=เอากฎนี้ออก
diff --git a/l10n-th/mail/chrome/messenger/searchTermOverlay.dtd b/l10n-th/mail/chrome/messenger/searchTermOverlay.dtd
new file mode 100644
index 0000000000..0c634a8997
--- /dev/null
+++ b/l10n-th/mail/chrome/messenger/searchTermOverlay.dtd
@@ -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/. -->
+
+<!ENTITY matchAll.label "ตรงกับเกณฑ์ดังต่อไปนี้ทั้งหมด">
+<!ENTITY matchAll.accesskey "ม">
+<!ENTITY matchAny.label "ตรงกับบางเกณฑ์ดังต่อไปนี้">
+<!ENTITY matchAny.accesskey "บ">
+<!ENTITY matchAllMsgs.label "ตรงกับข้อความทั้งหมด">
+<!ENTITY matchAllMsgs.accesskey "ข">
+
+<!-- LOCALIZATION NOTE
+ The values below are used to control the widths of the search widgets.
+ Change the values only when the localized strings in the popup menus
+ are truncated in the widgets.
+ -->
+<!ENTITY searchTermListAttributesFlexValue "1">
+<!ENTITY searchTermListOperatorsFlexValue "1">
+<!ENTITY searchTermListValueFlexValue "3">
diff --git a/l10n-th/mail/chrome/messenger/shutdownWindow.properties b/l10n-th/mail/chrome/messenger/shutdownWindow.properties
new file mode 100644
index 0000000000..23c76fb4e0
--- /dev/null
+++ b/l10n-th/mail/chrome/messenger/shutdownWindow.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/.
+
+
+# These strings are loaded and represented by the XUL dialog.
+shutdownDialogTitle=หน้าต่างความคืบหน้าการปิดโปรแกรม
+taskProgress=กำลังดำเนินการ %1$S จาก %2$S งาน
+
+# These strings are loaded by the individual shutdown tasks.
diff --git a/l10n-th/mail/chrome/messenger/smime.properties b/l10n-th/mail/chrome/messenger/smime.properties
new file mode 100644
index 0000000000..82de49d06c
--- /dev/null
+++ b/l10n-th/mail/chrome/messenger/smime.properties
@@ -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/.
+
+#
+# The following are used by the smime content type handler
+#
+
+## @name NS_MSG_UNABLE_TO_OPEN_FILE
+## LOCALIZATION NOTE: the text can contain HTML tags.
+1000=นี่เป็นข้อความที่ถูก<B>เข้ารหัส</B>หรือ<B>ลงลายเซ็น</B>แล้ว<br> แอปพลิเคชันจดหมายนี้ไม่รองรับจดหมายที่ถูกเข้ารหัสหรือลงลายเซ็นแล้ว
diff --git a/l10n-th/mail/chrome/messenger/smtpEditOverlay.dtd b/l10n-th/mail/chrome/messenger/smtpEditOverlay.dtd
new file mode 100644
index 0000000000..0bba61aa89
--- /dev/null
+++ b/l10n-th/mail/chrome/messenger/smtpEditOverlay.dtd
@@ -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/. -->
+
+<!ENTITY settings.caption "การตั้งค่า">
+<!ENTITY security.caption "ความปลอดภัยและการรับรองความถูกต้อง">
+<!ENTITY serverName.label "ชื่อเซิร์ฟเวอร์:">
+<!ENTITY serverName.accesskey "ช">
+<!ENTITY serverDescription.label "คำอธิบาย:">
+<!ENTITY serverDescription.accesskey "ค">
+<!ENTITY serverPort.label "พอร์ต:">
+<!ENTITY serverPort.accesskey "พ">
+<!ENTITY userName.label "ชื่อผู้ใช้:">
+<!ENTITY userName.accesskey "อ">
+<!ENTITY connectionSecurity.label "ความปลอดภัยของการเชื่อมต่อ:">
+<!ENTITY connectionSecurity.accesskey "ว">
+<!ENTITY connectionSecurityType-0.label "ไม่มี">
+<!ENTITY connectionSecurityType-1.label "STARTTLS หากพร้อมใช้งาน">
+<!ENTITY connectionSecurityType-2.label "STARTTLS">
+<!ENTITY connectionSecurityType-3.label "SSL/TLS">
+<!ENTITY smtpEditTitle.label "เซิร์ฟเวอร์ SMTP">
+<!ENTITY serverPortDefault.label "ค่าเริ่มต้น:">
+<!ENTITY authMethod.label "วิธีการรับรองความถูกต้อง:">
+<!ENTITY authMethod.accesskey "ก">
diff --git a/l10n-th/mail/chrome/messenger/subscribe.dtd b/l10n-th/mail/chrome/messenger/subscribe.dtd
new file mode 100644
index 0000000000..5544035b0e
--- /dev/null
+++ b/l10n-th/mail/chrome/messenger/subscribe.dtd
@@ -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/. -->
+
+<!ENTITY subscribeDialog.title "บอกรับ">
+<!ENTITY subscribeButton.label "บอกรับ">
+<!ENTITY subscribeButton.accesskey "บ">
+<!ENTITY unsubscribeButton.label "เลิกบอกรับ">
+<!ENTITY unsubscribeButton.accesskey "ล">
+<!ENTITY newGroupsTab.label "กลุ่มใหม่">
+<!ENTITY newGroupsTab.accesskey "ก">
+<!ENTITY refreshButton.label "เรียกใหม่">
+<!ENTITY refreshButton.accesskey "ร">
+<!ENTITY stopButton.label "หยุด">
+<!ENTITY stopButton.accesskey "ห">
+<!ENTITY server.label "บัญชี:">
+<!ENTITY server.accesskey "ช">
+<!ENTITY subscribedHeader.label "บอกรับ">
+<!-- commenting out until bug 38906 is fixed
+<!ENTITY messagesHeader.label "Messages"> -->
+<!ENTITY namefield.label "แสดงรายการที่มี:">
+<!ENTITY namefield.accesskey "ส">
diff --git a/l10n-th/mail/chrome/messenger/subscribe.properties b/l10n-th/mail/chrome/messenger/subscribe.properties
new file mode 100644
index 0000000000..da35ea65d2
--- /dev/null
+++ b/l10n-th/mail/chrome/messenger/subscribe.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/.
+
+subscribeLabel-nntp=เลือกกลุ่มข่าวที่จะบอกรับ:
+subscribeLabel-imap=เลือกโฟลเดอร์ที่จะบอกรับ:
+currentListTab-nntp.label=รายชื่อกลุ่มปัจจุบัน
+currentListTab-nntp.accesskey=ร
+currentListTab-imap.label=รายชื่อโฟลเดอร์
+currentListTab-imap.accesskey=ร
+pleaseWaitString=โปรดรอ…
+offlineState=คุณออฟไลน์ ไม่สามารถดึงรายการจากเซิร์ฟเวอร์
+errorPopulating=มีข้อผิดพลาดในการดึงรายการจากเซิร์ฟเวอร์
diff --git a/l10n-th/mail/chrome/messenger/tabmail.dtd b/l10n-th/mail/chrome/messenger/tabmail.dtd
new file mode 100644
index 0000000000..747ca0687d
--- /dev/null
+++ b/l10n-th/mail/chrome/messenger/tabmail.dtd
@@ -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/. -->
+
+<!ENTITY closeTab.label "ปิดแท็บ">
+<!ENTITY listAllTabs.label "แสดงรายการแท็บทั้งหมด">
+<!-- LOCALIZATION NOTE(defaultTabTitle.label): This is the default tab
+ title to show when the tab has no title. -->
+<!ENTITY defaultTabTitle.label "หน้าแรก">
diff --git a/l10n-th/mail/chrome/messenger/taskbar.properties b/l10n-th/mail/chrome/messenger/taskbar.properties
new file mode 100644
index 0000000000..c22624ed9a
--- /dev/null
+++ b/l10n-th/mail/chrome/messenger/taskbar.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/.
+
+taskbar.tasks.composeMessage.label=เขียนข้อความใหม่
+taskbar.tasks.composeMessage.description=เขียนข้อความใหม่
+taskbar.tasks.openAddressBook.label=เปิดสมุดรายชื่อ
+taskbar.tasks.openAddressBook.description=เปิดสมุดรายชื่อของคุณ
diff --git a/l10n-th/mail/chrome/messenger/telemetry.properties b/l10n-th/mail/chrome/messenger/telemetry.properties
new file mode 100644
index 0000000000..bdfb3f1134
--- /dev/null
+++ b/l10n-th/mail/chrome/messenger/telemetry.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/.
+
+# Telemetry prompt
+# LOCALIZATION NOTE (telemetryText): %1$S will be replaced by brandFullName,
+# and %2$S by the value of the toolkit.telemetry.server_owner preference.
+telemetryText = คุณต้องการช่วยปรับปรุง %1$S โดยรายงานการใช้หน่วยความจำ ประสิทธิภาพ และการตอบสนองไปยัง %2$S โดยอัตโนมัติหรือไม่?
+telemetryLinkLabel = เรียนรู้เพิ่มเติม
+telemetryYesButtonLabel = ใช่
+telemetryYesButtonAccessKey = ช
+telemetryNoButtonLabel = ไม่
+telemetryNoButtonAccessKey = ม
diff --git a/l10n-th/mail/chrome/messenger/templateUtils.properties b/l10n-th/mail/chrome/messenger/templateUtils.properties
new file mode 100644
index 0000000000..e974ac5b5a
--- /dev/null
+++ b/l10n-th/mail/chrome/messenger/templateUtils.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 yesterday: used in various places where we compute
+# a "friendly" date, e.g. displaying that a message was from yesterday.
+yesterday=เมื่อวานนี้
diff --git a/l10n-th/mail/chrome/messenger/textImportMsgs.properties b/l10n-th/mail/chrome/messenger/textImportMsgs.properties
new file mode 100644
index 0000000000..b1f9860315
--- /dev/null
+++ b/l10n-th/mail/chrome/messenger/textImportMsgs.properties
@@ -0,0 +1,43 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+#
+# The following are used by the outlook express import code to display status/error
+# and informational messages
+#
+
+# Short name of import module
+## @name TEXTIMPORT_NAME
+## @loc None
+2000=ไฟล์ข้อความ (LDIF, .tab, .csv, .txt)
+
+# Description of import module
+## @name TEXTIMPORT_DESCRIPTION
+## @loc None
+2001=นำเข้าสมุดรายชื่อจากไฟล์ข้อความ รวมถึง: รูปแบบ LDIF (.ldif, .ldi), คั่นด้วยแท็บ (.tab, .txt) หรือคั่นด้วยเครื่องหมายจุลภาค (.csv)
+
+# Description of import module
+## @name TEXTIMPORT_ADDRESS_NAME
+## @loc None
+2002=สมุดรายชื่อข้อความ
+
+# Description
+## @name TEXTIMPORT_ADDRESS_SUCCESS
+## @loc None
+2003=นำเข้าสมุดรายชื่อ %S แล้ว
+
+# Error message
+## @name TEXTIMPORT_ADDRESS_BADPARAM
+## @loc None
+2004=พารามิเตอร์ที่ไม่ถูกต้องถูกส่งผ่านไปยังสมุดรายชื่อนำเข้า
+
+# Error message
+## @name TEXTIMPORT_ADDRESS_BADSOURCEFILE
+## @loc None
+2005=เกิดข้อผิดพลาดในการเข้าถึงไฟล์สำหรับสมุดรายชื่อ %S
+
+# Error message
+## @name TEXTIMPORT_ADDRESS_CONVERTERROR
+## @loc None
+2006=เกิดข้อผิดพลาดในการนำเข้าสมุดรายชื่อ %S ที่อยู่ทั้งหมดอาจไม่ได้ถูกนำเข้า
diff --git a/l10n-th/mail/chrome/messenger/vCardImportMsgs.properties b/l10n-th/mail/chrome/messenger/vCardImportMsgs.properties
new file mode 100644
index 0000000000..570d6759e2
--- /dev/null
+++ b/l10n-th/mail/chrome/messenger/vCardImportMsgs.properties
@@ -0,0 +1,26 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+#
+# The following are used by the vCard import code to display status, error, and
+# informational messages
+#
+
+vCardImportName=ไฟล์ vCard (.vcf)
+
+vCardImportDescription=นำเข้าสมุดรายชื่อจากรูปแบบ vCard
+
+vCardImportAddressName=สมุดรายชื่อ vCard
+
+# LOCALIZATION NOTE (vCardImportAddressSuccess): %S is replaced by the
+# name of the address book being imported.
+vCardImportAddressSuccess=นำเข้าสมุดรายชื่อ %S แล้ว
+
+# LOCALIZATION NOTE (vCardImportAddressSuccess): %S is replaced by the
+# name of the address book being imported.
+vCardImportAddressBadSourceFile=เกิดข้อผิดพลาดในการเข้าถึงไฟล์สำหรับสมุดรายชื่อ %S
+
+# LOCALIZATION NOTE (vCardImportAddressSuccess): %S is replaced by the
+# name of the address book being imported.
+vCardImportAddressConvertError=เกิดข้อผิดพลาดในการนำเข้าสมุดรายชื่อ %S ที่อยู่ทั้งหมดอาจไม่ได้ถูกนำเข้า
diff --git a/l10n-th/mail/chrome/messenger/viewLog.dtd b/l10n-th/mail/chrome/messenger/viewLog.dtd
new file mode 100644
index 0000000000..bfe5cb4896
--- /dev/null
+++ b/l10n-th/mail/chrome/messenger/viewLog.dtd
@@ -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/. -->
+
+<!ENTITY viewLog.title "รายการบันทึกตัวกรอง">
+<!ENTITY viewLogInfo.text "รายการบันทึกตัวกรองจะแสดงตัวกรองที่ได้ถูกเรียกใช้สำหรับบัญชีนี้ ใช้กล่องกาเครื่องหมายด้านล่างเพื่อเปิดใช้งานการบันทึก">
+<!ENTITY clearLog.label "ล้างรายการบันทึก">
+<!ENTITY clearLog.accesskey "ล">
+<!ENTITY enableLog.label "เปิดใช้งานรายการบันทึกตัวกรอง">
+<!ENTITY enableLog.accesskey "ป">
+<!ENTITY closeLog.label "ปิด">
+<!ENTITY closeLog.accesskey "ด">
diff --git a/l10n-th/mail/chrome/messenger/viewSource.dtd b/l10n-th/mail/chrome/messenger/viewSource.dtd
new file mode 100644
index 0000000000..c685f9cbda
--- /dev/null
+++ b/l10n-th/mail/chrome/messenger/viewSource.dtd
@@ -0,0 +1,90 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!-- extracted from content/viewSource.xul -->
+
+<!-- extracted from content/viewSource.xhtml -->
+
+<!-- LOCALIZATION NOTE (mainWindow.title) : DONT_TRANSLATE -->
+<!ENTITY mainWindow.title "&brandFullName;">
+<!-- LOCALIZATION NOTE (mainWindow.titlemodifier) : DONT_TRANSLATE -->
+<!ENTITY mainWindow.titlemodifier "&brandFullName;">
+<!-- LOCALIZATION NOTE (mainWindow.titlemodifierseparator) : DONT_TRANSLATE -->
+<!ENTITY mainWindow.titlemodifierseparator " - ">
+<!ENTITY mainWindow.preface "ต้นฉบับของ: ">
+
+<!ENTITY editMenu.label "แก้ไข">
+<!ENTITY editMenu.accesskey "ก">
+<!ENTITY fileMenu.label "ไฟล์">
+<!ENTITY fileMenu.accesskey "ฟ">
+<!ENTITY savePageCmd.label "บันทึกหน้าเป็น…">
+<!ENTITY savePageCmd.accesskey "บ">
+<!ENTITY savePageCmd.commandkey "S">
+<!ENTITY pageSetupCmd.label "ตั้งค่าหน้ากระดาษ…">
+<!ENTITY pageSetupCmd.accesskey "ต">
+<!ENTITY printPreviewCmd.label "ตัวอย่างก่อนพิมพ์">
+<!ENTITY printPreviewCmd.accesskey "ว">
+<!ENTITY printCmd.label "พิมพ์…">
+<!ENTITY printCmd.accesskey "พ">
+<!ENTITY printCmd.commandkey "P">
+<!ENTITY closeCmd.label "ปิด">
+<!ENTITY closeCmd.accesskey "ป">
+<!ENTITY closeCmd.commandkey "W">
+
+<!-- LOCALIZATION NOTE :
+textEnlarge.commandkey3, textReduce.commandkey2 and
+textReset.commandkey2 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. -->
+
+<!ENTITY textEnlarge.commandkey "+">
+<!ENTITY textEnlarge.commandkey2 "=">
+<!ENTITY textEnlarge.commandkey3 "">
+<!ENTITY textReduce.commandkey "-">
+<!ENTITY textReduce.commandkey2 "">
+<!ENTITY textReset.commandkey "0">
+<!ENTITY textReset.commandkey2 "">
+
+<!ENTITY goToLineCmd.label "ไปยังบรรทัดที่…">
+<!ENTITY goToLineCmd.accesskey "ไ">
+<!ENTITY goToLineCmd.commandkey "l">
+
+<!ENTITY viewMenu.label "มุมมอง">
+<!ENTITY viewMenu.accesskey "ม">
+<!ENTITY reloadCmd.label "โหลดใหม่">
+<!ENTITY reloadCmd.accesskey "ห">
+<!ENTITY reloadCmd.commandkey "r">
+<!ENTITY menu_wrapLongLines.title "ปัดบรรทัดล้น">
+<!ENTITY menu_wrapLongLines.accesskey "ด">
+<!ENTITY menu_highlightSyntax.label "การเน้นสีไวยากรณ์">
+<!ENTITY menu_highlightSyntax.accesskey "า">
+<!ENTITY menu_textSize.label "ขนาดตัวอักษร">
+<!ENTITY menu_textSize.accesskey "ข">
+<!ENTITY menu_textEnlarge.label "เพิ่ม">
+<!ENTITY menu_textEnlarge.accesskey "เ">
+<!ENTITY menu_textReduce.label "ลด">
+<!ENTITY menu_textReduce.accesskey "ล">
+<!ENTITY menu_textReset.label "ปกติ">
+<!ENTITY menu_textReset.accesskey "ก">
+
+<!ENTITY findOnCmd.label "ค้นหาในหน้านี้…">
+<!ENTITY findOnCmd.accesskey "ค">
+<!ENTITY findOnCmd.commandkey "f">
+<!ENTITY findAgainCmd.label "ค้นหาอีกครั้ง">
+<!ENTITY findAgainCmd.accesskey "น">
+<!ENTITY findAgainCmd.commandkey "g">
+<!ENTITY findAgainCmd.commandkey2 "VK_F3">
+<!ENTITY findSelectionCmd.commandkey "e">
+
+<!ENTITY backCmd.label "ย้อนกลับ">
+<!ENTITY backCmd.accesskey "อ">
+<!ENTITY forwardCmd.label "เดินหน้า">
+<!ENTITY forwardCmd.accesskey "ด">
+<!ENTITY goBackCmd.commandKey "[">
+<!ENTITY goForwardCmd.commandKey "]">
+
+<!ENTITY copyLinkCmd.label "คัดลอกตำแหน่งที่ตั้งลิงก์">
+<!ENTITY copyLinkCmd.accesskey "แ">
+<!ENTITY copyEmailCmd.label "คัดลอกที่อยู่อีเมล">
+<!ENTITY copyEmailCmd.accesskey "ท">
diff --git a/l10n-th/mail/chrome/messenger/viewSource.properties b/l10n-th/mail/chrome/messenger/viewSource.properties
new file mode 100644
index 0000000000..fbf454673c
--- /dev/null
+++ b/l10n-th/mail/chrome/messenger/viewSource.properties
@@ -0,0 +1,17 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+goToLineTitle = ไปยังบรรทัดที่
+goToLineText = ป้อนหมายเลขบรรทัด
+invalidInputTitle = ข้อมูลนำเข้าผิดพลาด
+invalidInputText = หมายเลขบรรทัดที่ป้อนผิดพลาด
+outOfRangeTitle = ไม่พบบรรทัด
+outOfRangeText = ไม่พบบรรทัดที่ระบุ
+viewSelectionSourceTitle = ต้นฉบับ DOM ของส่วนที่เลือก
+viewMathMLSourceTitle = ต้นฉบับ DOM ของ MathML
+
+context_goToLine_label = ไปยังบรรทัดที่…
+context_goToLine_accesskey = บ
+context_wrapLongLines_label = ปัดบรรทัดล้น
+context_highlightSyntax_label = การเน้นสีไวยากรณ์
diff --git a/l10n-th/mail/chrome/messenger/viewZoomOverlay.dtd b/l10n-th/mail/chrome/messenger/viewZoomOverlay.dtd
new file mode 100644
index 0000000000..10f24265f7
--- /dev/null
+++ b/l10n-th/mail/chrome/messenger/viewZoomOverlay.dtd
@@ -0,0 +1,30 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!-- LOCALIZATION NOTE :
+fullZoomEnlargeCmd.commandkey3, fullZoomReduceCmd.commandkey2 and
+fullZoomResetCmd.commandkey2 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. -->
+
+<!ENTITY fullZoomEnlargeCmd.label "ซูมเข้า">
+<!ENTITY fullZoomEnlargeCmd.accesskey "ข">
+<!ENTITY fullZoomEnlargeCmd.commandkey "+">
+<!ENTITY fullZoomEnlargeCmd.commandkey2 "="> <!-- + is above this key on many keyboards -->
+<!ENTITY fullZoomEnlargeCmd.commandkey3 "">
+
+<!ENTITY fullZoomReduceCmd.label "ซูมออก">
+<!ENTITY fullZoomReduceCmd.accesskey "อ">
+<!ENTITY fullZoomReduceCmd.commandkey "-">
+<!ENTITY fullZoomReduceCmd.commandkey2 "">
+
+<!ENTITY fullZoomResetCmd.label "กลับค่าเดิม">
+<!ENTITY fullZoomResetCmd.accesskey "ก">
+<!ENTITY fullZoomResetCmd.commandkey "0">
+<!ENTITY fullZoomResetCmd.commandkey2 "">
+
+<!ENTITY fullZoomToggleCmd.label "ซูมข้อความเท่านั้น">
+<!ENTITY fullZoomToggleCmd.accesskey "ค">
+<!ENTITY fullZoom.label "ซูม">
+<!ENTITY fullZoom.accesskey "ม">
diff --git a/l10n-th/mail/chrome/messenger/virtualFolderListDialog.dtd b/l10n-th/mail/chrome/messenger/virtualFolderListDialog.dtd
new file mode 100644
index 0000000000..48143b03c5
--- /dev/null
+++ b/l10n-th/mail/chrome/messenger/virtualFolderListDialog.dtd
@@ -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/. -->
+
+<!ENTITY virtualFolderListTitle.title "เลือกโฟลเดอร์">
+<!ENTITY virtualFolderDesc.label "เลือกโฟลเดอร์ที่จะค้นหา:">
+<!ENTITY folderName.label "ชื่อโฟลเดอร์">
+<!ENTITY folderSearch.label "ค้นหา">
diff --git a/l10n-th/mail/chrome/messenger/virtualFolderProperties.dtd b/l10n-th/mail/chrome/messenger/virtualFolderProperties.dtd
new file mode 100644
index 0000000000..7404c9f082
--- /dev/null
+++ b/l10n-th/mail/chrome/messenger/virtualFolderProperties.dtd
@@ -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/. -->
+
+<!ENTITY virtualFolderProperties.title "โฟลเดอร์การค้นหาที่บันทึกไว้ใหม่">
+<!ENTITY name.label "ชื่อ:">
+<!ENTITY name.accesskey "ช">
+<!ENTITY description.label "สร้างเป็นโฟลเดอร์ย่อยของ:">
+<!ENTITY description.accesskey "ส">
+
+<!ENTITY searchTermCaption.label "กำหนดค่าเกณฑ์การค้นหาที่ใช้สำหรับโฟลเดอร์การค้นหาที่บันทึกไว้นี้: ">
+
+<!ENTITY folderSelectionCaption.label "เลือกโฟลเดอร์ที่จะค้นหา: ">
+<!ENTITY chooseFoldersButton.label "เลือก…">
+<!ENTITY chooseFoldersButton.accesskey "ล">
+
+<!ENTITY searchOnline.label "ค้นหาออนไลน์ (ให้ผลลัพธ์ล่าสุดสำหรับโฟลเดอร์ IMAP และข่าว แต่จะใช้เวลาในการเปิดโฟลเดอร์นานขึ้น)">
+<!ENTITY searchOnline.accesskey "ค">
+<!ENTITY newFolderButton.label "สร้าง">
+<!ENTITY newFolderButton.accesskey "ส">
+<!ENTITY editFolderButton.label "อัปเดต">
+<!ENTITY editFolderButton.accesskey "อ">
diff --git a/l10n-th/mail/chrome/messenger/wmImportMsgs.properties b/l10n-th/mail/chrome/messenger/wmImportMsgs.properties
new file mode 100644
index 0000000000..c9d6a41df4
--- /dev/null
+++ b/l10n-th/mail/chrome/messenger/wmImportMsgs.properties
@@ -0,0 +1,76 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+#
+# The following are used by the windows live mail import code to display status/error
+# and informational messages
+#
+
+# Short name of import module
+## @name WMIMPORT_NAME
+## @loc None
+## LOCALIZATION NOTE (2000): DONT_TRANSLATE
+2000=Windows Live Mail
+
+# Description of import module
+## @name WMIMPORT_DESCRIPTION
+## @loc None
+## LOCALIZATION NOTE (2001): In this item, don't translate "Windows Live Mail"
+2001=การตั้งค่า Windows Live Mail
+
+# Success message
+## @name WMIMPORT_MAILBOX_SUCCESS
+## @loc None
+## LOCALIZATION NOTE (2002): In this item, don't translate "%1$S" or "%2$d"
+## The variable %1$S will contain the name of the Mailbox
+## The variable %2$d will contain the number of messages
+2002=กล่องจดหมาย %1$S, นำเข้าแล้ว %2$d ข้อความ
+
+# Error message
+## @name WMIMPORT_MAILBOX_BADPARAM
+## @loc None
+2003=พารามิเตอร์ที่ไม่ถูกต้องถูกส่งผ่านไปยังกล่องจดหมายนำเข้า
+
+# Error message
+## @name WMIMPORT_MAILBOX_BADSOURCEFILE
+## @loc None
+## LOCALIZATION NOTE (2004): In this item, don't translate "%S"
+## The variable %S will contain the name of the Mailbox
+2004=เกิดข้อผิดพลาดในการเข้าถึงไฟล์สำหรับกล่องจดหมาย %S
+
+# Error message
+## @name WMIMPORT_MAILBOX_CONVERTERROR
+## @loc None
+## LOCALIZATION NOTE (2005): In this item, don't translate "%S"
+## The variable %S will contain the name of the Mailbox
+2005=เกิดข้อผิดพลาดในการนำเข้ากล่องจดหมาย %S ข้อความทั้งหมดอาจไม่ถูกนำเข้าจากกล่องจดหมายนี้
+
+# Default name of imported addressbook
+## @name WMIMPORT_DEFAULT_NAME
+## @loc None
+2006=สมุดรายชื่อ Windows Live Mail
+
+# Autofind description
+## @name WMIMPORT_AUTOFIND
+## @loc None
+2007=สมุดรายชื่อ Windows Live Mail (สมุดรายชื่อ Windows)
+
+# Description
+## @name WMIMPORT_ADDRESS_SUCCESS
+## @loc None
+## LOCALIZATION NOTE (2006): In this item, don't translate "%S"
+## The variable %S will receive the name of the address book
+2008=นำเข้าสมุดรายชื่อ %S แล้ว
+
+# Error message
+## @name WMIMPORT_ADDRESS_CONVERTERROR
+## @loc None
+## LOCALIZATION NOTE (2009): In this item, don't translate "%S"
+## The variable %S will receive the name of the address book
+2009=เกิดข้อผิดพลาดในการนำเข้าสมุดรายชื่อ %S ที่อยู่ทั้งหมดอาจไม่ได้ถูกนำเข้า
+
+# Error message
+## @name WMIMPORT_ADDRESS_BADPARAM
+## @loc None
+2010=พารามิเตอร์ที่ไม่ถูกต้องถูกส่งผ่านไปยังสมุดรายชื่อนำเข้า
diff --git a/l10n-th/mail/chrome/mozldap/ldap.properties b/l10n-th/mail/chrome/mozldap/ldap.properties
new file mode 100644
index 0000000000..9a6de0272b
--- /dev/null
+++ b/l10n-th/mail/chrome/mozldap/ldap.properties
@@ -0,0 +1,261 @@
+#
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.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 two strings are used when prompting the user for authentication
+# information:
+
+## @name AUTH_PROMPT_TITLE
+## @loc none
+authPromptTitle=จำเป็นต้องกรอกรหัสผ่านเซิร์ฟเวอร์ LDAP
+
+## @name AUTH_PROMPT_TEXT
+## @loc %1$S should not be localized. It is the hostname of the LDAP server.
+authPromptText=โปรดป้อนรหัสผ่านของคุณสำหรับ %1$S
+
+# These are string versions of all the errors defined in
+# nsILDAPErrors.idl, as well as the nsresult codes based on those
+# errors. See that file for the genesis of these codes, as well as
+# for info about how to get documentation about their precise
+# meanings.
+
+## @name OPERATIONS_ERROR
+## @loc none
+1=ข้อผิดพลาดการดำเนินการ
+
+## @name PROTOCOL_ERROR
+## @loc none
+2=ข้อผิดพลาดโปรโตคอล
+
+## @name TIMELIMIT_EXCEEDED
+## @loc none
+3=เกินขีดจำกัดเวลาแล้ว
+
+## @name SIZELIMIT_EXCEEDED
+## @loc none
+4=เกินขีดจำกัดขนาดแล้ว
+
+## @name COMPARE_FALSE
+## @loc none
+5=เปรียบเทียบค่าที่เป็นเท็จ
+
+## @name COMPARE_TRUE
+## @loc none
+6=เปรียบเทียบค่าที่เป็นจริง
+
+## @name STRONG_AUTH_NOT_SUPPORTED
+## @loc none
+7=ไม่รองรับวิธีการรับรองความถูกต้อง
+
+## @name STRONG_AUTH_REQUIRED
+## @loc none
+8=จำเป็นต้องมีการรับรองความถูกต้องแบบรัดกุม
+
+## @name PARTIAL_RESULTS
+## @loc none
+9=ผลลัพธ์บางส่วนและได้รับการอ้างอิง
+
+## @name REFERRAL
+## @loc none
+10=ได้รับการอ้างอิง
+
+## @name ADMINLIMIT_EXCEEDED
+## @loc none
+11=เกินขีดจำกัดในการดูแลระบบแล้ว
+
+## @name UNAVAILABLE_CRITICAL_EXTENSION
+## @loc none
+12=ส่วนขยายที่สำคัญใช้ไม่ได้
+
+## @name CONFIDENTIALITY_REQUIRED
+## @loc none
+13=จำเป็นต้องมีการรักษาความลับ
+
+## @name SASL_BIND_IN_PROGRESS
+## @loc none
+14=อยู่ระหว่างการผูก SASL
+
+## @name NO_SUCH_ATTRIBUTE
+## @loc none
+16=ไม่มีแอตทริบิวต์ดังกล่าว
+
+## @name UNDEFINED_TYPE
+## @loc none
+17=ไม่ได้กำหนดชนิดแอตทริบิวต์
+
+## @name INAPPROPRIATE MATCHING
+## @loc none
+18=การจับคู่ที่ไม่เหมาะสม
+
+## @name CONSTRAINT_VIOLATION
+## @loc none
+19=การละเมิดข้อจำกัด
+
+## @name TYPE_OR_VALUE_EXISTS
+## @loc none
+20=มีชนิดหรือค่าอยู่แล้ว
+
+## @name INVALID_SYNTAX
+## @loc none
+21=ไวยากรณ์ไม่ถูกต้อง
+
+## @name NO_SUCH_OBJECT
+## @loc none
+32=ไม่มีวัตถุดังกล่าว
+
+## @name ALIAS_PROBLEM
+## @loc none
+33=ปัญหานามแฝง
+
+## @name INVALID_DN_ SYNTAX
+## @loc none
+34=ไวยากรณ์ DN ไม่ถูกต้อง
+
+## @name IS_LEAF
+## @loc none
+35=วัตถุเป็นส่วนปลายสุด
+
+## @name ALIAS_DEREF_PROBLEM
+## @loc none
+36=ปัญหาการอ้างถึงนามแฝง
+
+## @name INAPPROPRIATE_AUTH
+## @loc none
+48=การรับรองความถูกต้องไม่เหมาะสม
+
+## @name INVALID_CREDENTIALS
+## @loc none
+49=ข้อมูลประจำตัวไม่ถูกต้อง
+
+## @name INSUFFICIENT_ACCESS
+## @loc none
+50=การเข้าถึงไม่เพียงพอ
+
+## @name BUSY
+## @loc none
+51=เซิร์ฟเวอร์ LDAP ไม่ว่าง
+
+## @name UNAVAILABLE
+## @loc none
+52=เซิร์ฟเวอร์ LDAP ไม่พร้อมใช้งาน
+
+## @name UNWILLING_TO_PERFORM
+## @loc none
+53=เซิร์ฟเวอร์ LDAP ไม่ต้องการดำเนินการ
+
+## @name LOOP_DETECT
+## @loc none
+54=ตรวจพบลูป
+
+## @name SORT_CONTROL_MISSING
+## @loc none
+60=ไม่มีการควบคุมการเรียงลำดับ
+
+## @name INDEX_RANGE_ERROR
+## @loc none
+61=ผลลัพธ์การค้นหาเกินช่วงที่ระบุโดยออฟเซต
+
+## @name NAMING_VIOLATION
+## @loc none
+64=การละเมิดการตั้งชื่อ
+
+## @name OBJECT_CLASS_VIOLATION
+## @loc none
+65=การละเมิดคลาสวัตถุ
+
+## @name NOT_ALLOWED_ON_NONLEAF
+## @loc none
+66=ไม่อนุญาตให้ดำเนินการกับส่วนที่ไม่ใช่ปลายสุด
+
+## @name NOT_ALLOWED_ON_RDN
+## @loc none
+67=ไม่อนุญาตให้ดำเนินการกับ RDN
+
+## @name ALREADY_EXISTS
+## @loc none
+68=มีอยู่แล้ว
+
+## @name NO_OBJECT_CLASS_MODS
+## @loc none
+69=ไม่สามารถเปลี่ยนแปลงคลาสวัตถุ
+
+## @name RESULTS_TOO_LARGE
+## @loc none
+70=ผลลัพธ์มีขนาดใหญ่เกินไป
+
+## @name AFFECTS_MULTIPLE_DSAS
+## @loc none
+71=มีผลต่อเซิร์ฟเวอร์หลายเครื่อง
+
+## @name OTHER
+## @loc none
+80=ข้อผิดพลาดที่ไม่รู้จัก
+
+## @name SERVER_DOWN
+## @loc none
+81=ไม่สามารถติดต่อเซิร์ฟเวอร์ LDAP
+
+## @name LOCAL_ERROR
+## @loc none
+82=ข้อผิดพลาดในเครื่อง
+
+## @name ENCODING_ERROR
+## @loc none
+83=ข้อผิดพลาดการเข้ารหัส
+
+## @name DECODING_ERROR
+## @loc none
+84=ข้อผิดพลาดการถอดรหัส
+
+## @name TIMEOUT
+## @loc none
+85=หมดเวลารอเซิร์ฟเวอร์ LDAP
+
+## @name AUTH_UNKNOWN
+## @loc none
+86=ไม่ทราบวิธีการรับรองความถูกต้อง
+
+## @name FILTER_ERROR
+## @loc none
+87=ตัวกรองการค้นหาไม่ถูกต้อง
+
+## @name USER_CANCELLED
+## @loc none
+88=ผู้ใช้ยกเลิกการดำเนินการ
+
+## @name PARAM_ERROR
+## @loc none
+89=พารามิเตอร์ที่ไปยังรูทีน LDAP ไม่ถูกต้อง
+
+## @name NO_MEMORY
+## @loc none
+90=หน่วยความจำหมด
+
+## @name CONNECT_ERROR
+## @loc none
+91=ไม่สามารถเชื่อมต่อกับเซิร์ฟเวอร์ LDAP
+
+## @name NOT_SUPPORTED
+## @loc none
+92=ไม่รองรับโปรโตคอล LDAP รุ่นนี้
+
+## @name CONTROL_NOT_FOUND
+## @loc none
+93=ไม่พบส่วนควบคุม LDAP ที่ร้องขอ
+
+## @name NO_RESULTS_RETURNED
+## @loc none
+94=ไม่มีผลลัพธ์ที่ส่งคืน
+
+## @name MORE_RESULTS_TO_RETURN
+## @loc none
+95=ผลลัพธ์เพิ่มเติมที่จะส่งคืน
+
+## @name CLIENT_LOOP
+## @loc none
+96=ไคลเอ็นต์ตรวจพบลูป
+
+## @name REFERRAL_LIMIT_EXCEEDED
+## @loc none
+97=เกินขีดจำกัดฮ็อปการอ้างอิงแล้ว
diff --git a/l10n-th/mail/chrome/overrides/netError.dtd b/l10n-th/mail/chrome/overrides/netError.dtd
new file mode 100644
index 0000000000..e4dcd89803
--- /dev/null
+++ b/l10n-th/mail/chrome/overrides/netError.dtd
@@ -0,0 +1,180 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!ENTITY % brandDTD SYSTEM "chrome://branding/locale/brand.dtd">
+%brandDTD;
+
+<!ENTITY loadError.label "เกิดปัญหาในการโหลดหน้า">
+<!ENTITY retry.label "ลองอีกครั้ง">
+
+<!-- Specific error messages -->
+
+<!ENTITY connectionFailure.title "ไม่สามารถเชื่อมต่อ">
+<!ENTITY connectionFailure.longDesc "&sharedLongDesc;">
+
+<!ENTITY deniedPortAccess.title "ที่อยู่นี้ถูกจำกัด">
+<!ENTITY deniedPortAccess.longDesc "">
+
+<!ENTITY dnsNotFound.title "ไม่พบเซิร์ฟเวอร์">
+<!ENTITY dnsNotFound.longDesc "
+<ul>
+ <li>ตรวจสอบข้อผิดพลาดในการพิมพ์ที่อยู่ อย่างเช่น
+ <strong>ww</strong>.example.com แทนที่จะเป็น
+ <strong>www</strong>.example.com</li>
+ <li>หากคุณไม่สามารถโหลดหน้าใด ๆ ได้ ตรวจสอบการเชื่อมต่อเครือข่ายของ
+ คอมพิวเตอร์ของคุณ</li>
+ <li>หากคอมพิวเตอร์หรือเครือข่ายของคุณถูกปกป้องด้วยไฟร์วอลล์หรือพร็อกซี ตรวจสอบ
+ ให้แน่ใจว่า &brandShortName; ได้รับอนุญาตให้เข้าถึงเว็บ</li>
+</ul>">
+
+<!ENTITY fileNotFound.title "ไม่พบไฟล์">
+<!ENTITY fileNotFound.longDesc "
+<ul>
+ <li>ตรวจสอบชื่อไฟล์สำหรับตัวพิมพ์ใหญ่เล็กหรือข้อผิดพลาดการพิมพ์อื่น ๆ</li>
+ <li>ตรวจสอบเพื่อดูหากไฟล์ถูกย้าย เปลี่ยนชื่อ หรือลบ</li>
+</ul>">
+
+<!ENTITY fileAccessDenied.title "การเข้าถึงไฟล์ถูกปฏิเสธ">
+<!ENTITY fileAccessDenied.longDesc "<ul> <li>ไฟล์อาจถูกเอาออก ย้าย หรือสิทธิอนุญาตของไฟล์อาจป้องกันการเข้าถึง</li> </ul>">
+
+<!ENTITY generic.title "อุปส์">
+<!ENTITY generic.longDesc "
+<p>&brandShortName; ไม่สามารถโหลดหน้านี้ได้ด้วยเหตุผลบางอย่าง</p>">
+
+<!ENTITY malformedURI.title "ที่อยู่ไม่ถูกต้อง">
+<!ENTITY malformedURI.longDesc "
+<ul>
+ <li>ที่อยู่เว็บมักจะเขียนเป็น
+ <strong>http://www.example.com/</strong></li>
+ <li>ตรวจสอบให้แน่ใจว่าคุณใช้เครื่องหมายทับไปข้างหน้า
+ (กล่าวคือ <strong>/</strong>)</li>
+</ul>">
+
+<!ENTITY netInterrupt.title "การเชื่อมต่อถูกขัดจังหวะ">
+<!ENTITY netInterrupt.longDesc "&sharedLongDesc;">
+
+<!ENTITY notCached.title "เอกสารหมดอายุ">
+<!ENTITY notCached.longDesc "<p>เอกสารที่ร้องขอไม่มีในแคช</p><ul><li>ตามมาตรการรักษาความปลอดภัย &brandShortName; จะไม่ร้องขอเอกสารที่ละเอียดอ่อนให้ใหม่โดยอัตโนมัติ</li><li>คลิก ลองอีกครั้ง เพื่อร้องขอเอกสารจากเว็บไซต์ใหม่</li></ul>">
+
+<!ENTITY netOffline.title "โหมดออฟไลน์">
+<!ENTITY netOffline.longDesc2 "
+<ul>
+ <li>กด &quot;ลองอีกครั้ง&quot; เพื่อสลับเป็นโหมดออนไลน์และโหลดหน้าใหม่</li>
+</ul>">
+
+<!ENTITY contentEncodingError.title "ข้อผิดพลาดการเข้ารหัสเนื้อหา">
+<!ENTITY contentEncodingError.longDesc "
+<ul>
+ <li>โปรดติดต่อเจ้าของเว็บไซต์เพื่อแจ้งพวกเขาให้ทราบถึงปัญหานี้</li>
+</ul>">
+
+<!ENTITY unsafeContentType.title "ชนิดไฟล์ที่ไม่ปลอดภัย">
+<!ENTITY unsafeContentType.longDesc "
+<ul>
+ <li>โปรดติดต่อเจ้าของเว็บไซต์เพื่อแจ้งพวกเขาให้ทราบถึงปัญหานี้</li>
+</ul>">
+
+<!ENTITY netReset.title "ตัดการเชื่อมต่อแล้ว">
+<!ENTITY netReset.longDesc "&sharedLongDesc;">
+
+<!ENTITY netTimeout.title "การเชื่อมต่อหมดเวลา">
+<!ENTITY netTimeout.longDesc "&sharedLongDesc;">
+
+<!ENTITY unknownProtocolFound.title "ไม่เข้าใจที่อยู่">
+<!ENTITY unknownProtocolFound.longDesc "
+<ul>
+ <li>คุณอาจจำเป็นต้องติดตั้งซอฟต์แวร์อื่นเพื่อเปิดที่อยู่นี้</li>
+</ul>">
+
+<!ENTITY proxyConnectFailure.title "เซิร์ฟเวอร์พร็อกซีปฏิเสธการเชื่อมต่อ">
+<!ENTITY proxyConnectFailure.longDesc "
+<ul>
+ <li>ตรวจสอบให้แน่ใจว่าการตั้งค่าพร็อกซีถูกต้อง</li>
+ <li>ติดต่อผู้ดูแลเครือข่ายของคุณเพื่อให้แน่ใจว่าเซิร์ฟเวอร์พร็อกซีกำลังทำงานอยู่</li>
+</ul>">
+
+<!ENTITY proxyResolveFailure.title "ไม่สามารถค้นหาเซิร์ฟเวอร์พร็อกซี">
+<!ENTITY proxyResolveFailure.longDesc "
+<ul>
+ <li>ตรวจสอบให้แน่ใจว่าการตั้งค่าพร็อกซีถูกต้อง</li>
+ <li>ตรวจสอบให้แน่ใจว่าคอมพิวเตอร์ของคุณมีการเชื่อมต่อเครือข่ายที่ทำงานได้</li>
+ <li>หากคอมพิวเตอร์หรือเครือข่ายของคุณถูกปกป้องด้วยไฟร์วอลล์หรือพร็อกซี ตรวจสอบให้
+ แน่ใจว่า &brandShortName; ได้รับอนุญาตให้เข้าถึงเว็บ</li>
+</ul>">
+
+<!ENTITY redirectLoop.title "หน้าไม่ได้เปลี่ยนเส้นทางอย่างถูกต้อง">
+<!ENTITY redirectLoop.longDesc "
+<ul>
+ <li>ปัญหานี้บางครั้งอาจมีสาเหตุมาจากการปิดใช้งานหรือปฏิเสธการยอมรับคุกกี้</li>
+</ul>">
+
+<!ENTITY unknownSocketType.title "การตอบสนองที่ไม่คาดคิดจากเซิร์ฟเวอร์">
+<!ENTITY unknownSocketType.longDesc "
+<ul>
+ <li>ตรวจสอบให้แน่ใจว่าระบบของคุณมีตัวจัดการความปลอดภัยส่วนบุคคลติดตั้งอยู่</li>
+ <li>สิ่งนี้อาจเกิดจากการกำหนดค่าที่ไม่มาตรฐานบนเซิร์ฟเวอร์</li>
+</ul>">
+
+<!ENTITY nssFailure2.title "การเชื่อมต่อปลอดภัยล้มเหลว">
+<!ENTITY nssFailure2.longDesc2 "
+<ul>
+ <li>หน้าที่คุณกำลังพยายามจะดูไม่สามารถแสดงได้เนื่องจากไม่สามารถยืนยันความถูกต้องของข้อมูลที่ได้รับ</li>
+ <li>โปรดติดต่อเจ้าของเว็บไซต์เพื่อแจ้งพวกเขาให้ทราบถึงปัญหานี้</li>
+</ul>">
+
+<!ENTITY nssBadCert.title "การเชื่อมต่อปลอดภัยล้มเหลว">
+<!ENTITY nssBadCert.longDesc2 "
+<ul>
+ <li>สิ่งนี้อาจเป็นปัญหาจากการกำหนดค่าของเซิร์ฟเวอร์ หรืออาจมีใครบางคนกำลัง
+พยายามปลอมแปลงเซิร์ฟเวอร์</li>
+ <li>หากคุณเคยเชื่อมต่อกับเซิร์ฟเวอร์นี้สำเร็จในอดีต ข้อผิดพลาดอาจเกิดขึ้นเพียงชั่วคราว
+และคุณสามารถลองอีกครั้งในภายหลัง</li>
+</ul>">
+
+<!ENTITY sharedLongDesc "
+<ul>
+ <li>ไซต์อาจใช้งานไม่ได้ชั่วคราวหรือกำลังทำงานหนักเกินไป ลองอีกครั้งในอีกสักครู่</li>
+ <li>หากคุณไม่สามารถโหลดหน้าใด ๆ ได้ ตรวจสอบการเชื่อมต่อเครือข่ายของคอมพิวเตอร์
+ ของคุณ</li>
+ <li>หากคอมพิวเตอร์หรือเครือข่ายของคุณถูกปกป้องด้วยไฟร์วอลล์หรือพร็อกซี ตรวจสอบ
+ ให้แน่ใจว่า &brandShortName; ได้รับอนุญาตให้เข้าถึงเว็บ</li>
+</ul>">
+
+<!ENTITY cspBlocked.title "ปิดกั้นแล้วโดยนโยบายความปลอดภัยของเนื้อหา">
+<!ENTITY cspBlocked.longDesc "<p>&brandShortName; ได้ป้องกันไม่ให้หน้านี้โหลดด้วยวิธีนี้เนื่องจากหน้ามีนโยบายความปลอดภัยของเนื้อหาที่ไม่อนุญาต</p>">
+
+<!ENTITY xfoBlocked.title "ถูกปิดกั้นโดยนโยบาย X-Frame-Options">
+<!ENTITY xfoBlocked.longDesc "<p>&brandShortName; ได้ป้องกันหน้านี้จากการโหลดในบริบทนี้เนื่องจากหน้ามีนโยบาย X-Frame-Options ที่ไม่อนุญาต</p>">
+
+<!ENTITY corruptedContentErrorv2.title "ข้อผิดพลาดเนื้อหาเสียหาย">
+<!ENTITY corruptedContentErrorv2.longDesc "<p>ไม่สามารถแสดงหน้าที่คุณกำลังพยายามจะดูเนื่องจากตรวจพบข้อผิดพลาดในการส่งผ่านข้อมูล</p><ul><li>โปรดติดต่อเจ้าของเว็บไซต์เพื่อแจ้งพวกเขาให้ทราบถึงปัญหานี้</li></ul>">
+
+<!ENTITY securityOverride.linkText "หรือคุณสามารถเพิ่มข้อยกเว้น…">
+<!ENTITY securityOverride.getMeOutOfHereButton "นำฉันออกไปจากที่นี่!">
+<!ENTITY securityOverride.exceptionButtonLabel "เพิ่มข้อยกเว้น…">
+
+<!-- LOCALIZATION NOTE (securityOverride.warningContent) - Do not translate the
+contents of the <button> tags. It uses strings already defined above. The
+button is included here (instead of netError.xhtml) because it exposes
+functionality specific to thunderbird. -->
+
+<!ENTITY securityOverride.warningContent "
+<p>คุณไม่ควรเพิ่มข้อยกเว้นหากคุณกำลังใช้งานการเชื่อมต่ออินเทอร์เน็ตที่คุณไม่เชื่อถือโดยสมบูรณ์ หรือหากคุณไม่เคยเห็นคำเตือนสำหรับเซิร์ฟเวอร์นี้</p>
+
+<button id='getMeOutOfHereButton'>&securityOverride.getMeOutOfHereButton;</button>
+<button id='exceptionDialogButton'>&securityOverride.exceptionButtonLabel;</button>
+">
+
+<!ENTITY remoteXUL.title "XUL ระยะไกล">
+<!ENTITY remoteXUL.longDesc "<p><ul><li>โปรดติดต่อเจ้าของเว็บไซต์เพื่อแจ้งพวกเขาให้ทราบถึงปัญหานี้</li></ul></p>">
+
+<!ENTITY inadequateSecurityError.title "การเชื่อมต่อของคุณไม่ปลอดภัย">
+<!-- LOCALIZATION NOTE (inadequateSecurityError.longDesc) - Do not translate
+ "NS_ERROR_NET_INADEQUATE_SECURITY". -->
+<!ENTITY inadequateSecurityError.longDesc "<p><span class='hostname'></span> ใช้เทคโนโลยีความปลอดภัยที่ล้าสมัยและเสี่ยงต่อการถูกโจมตี ผู้โจมตีสามารถเปิดเผยข้อมูลที่คุณคิดว่าปลอดภัยได้อย่างง่ายดาย ผู้ดูแลเว็บไซต์จำเป็นต้องแก้ไขเซิร์ฟเวอร์ก่อนที่คุณจะสามารถเยี่ยมชมไซต์ได้</p><p>รหัสข้อผิดพลาด: NS_ERROR_NET_INADEQUATE_SECURITY</p>">
+
+<!ENTITY blockedByPolicy.title "หน้าที่ถูกปิดกั้น">
+
+<!ENTITY networkProtocolError.title "ข้อผิดพลาดโปรโตคอลเครือข่าย">
+<!ENTITY networkProtocolError.longDesc "<p>ไม่สามารถแสดงหน้าที่คุณกำลังพยายามจะดูเนื่องจากตรวจพบข้อผิดพลาดในโปรโตคอลเครือข่าย</p><ul><li>โปรดติดต่อเจ้าของเว็บไซต์เพื่อแจ้งพวกเขาให้ทราบถึงปัญหานี้</li></ul>">
diff --git a/l10n-th/mail/chrome/overrides/profileDowngrade.dtd b/l10n-th/mail/chrome/overrides/profileDowngrade.dtd
new file mode 100644
index 0000000000..68ce06f059
--- /dev/null
+++ b/l10n-th/mail/chrome/overrides/profileDowngrade.dtd
@@ -0,0 +1,20 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!-- LOCALIZATION NOTE:
+ This UI can be most easily shown by modifying the version in compatibility.ini
+ to a newer version and then starting Thunderbird.
+ For this feature, "installation" is used to mean "this discrete download of
+ Thunderbird" and "version" is used to mean "the specific revision number of a
+ given Thunderbird channel". These terms are not synonymous.
+-->
+<!ENTITY window.title "คุณได้เรียกใช้ &brandProductName; รุ่นเก่า">
+<!ENTITY window.style "width: 490px;">
+
+<!ENTITY window.nosync2 "รุ่นที่ใหม่กว่าของ &brandProductName; อาจได้ทำการเปลี่ยนแปลงโปรไฟล์ของคุณซึ่งไม่สามารถใช้งานร่วมกับรุ่นนี้ซึ่งเก่ากว่าได้อีกต่อไป ใช้โปรไฟล์นี้เฉพาะกับรุ่นที่ใหม่กว่านั้น หรือสร้างโปรไฟล์ใหม่สำหรับ &brandShortName; รุ่นที่ติดตั้งนี้ การสร้างโปรไฟล์ใหม่จำเป็นต้องมีการตั้งค่าบัญชี ปฏิทิน และส่วนเสริมของคุณอีกครั้ง">
+
+<!ENTITY window.moreinfo "ข้อมูลเพิ่มเติม…">
+<!ENTITY window.create "สร้างโปรไฟล์ใหม่">
+<!ENTITY window.quit-win "ออก">
+<!ENTITY window.quit-nonwin "ออก">
diff --git a/l10n-th/mail/chrome/overrides/settingsChange.dtd b/l10n-th/mail/chrome/overrides/settingsChange.dtd
new file mode 100644
index 0000000000..9560097b0f
--- /dev/null
+++ b/l10n-th/mail/chrome/overrides/settingsChange.dtd
@@ -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/. -->
+
+<!ENTITY settingsChangePreferences.label "สามารถเปลี่ยนการตั้งค่าได้โดยใช้แท็บไฟล์แนบในค่ากำหนดของ &brandShortName;">
+<!ENTITY settingsChangeOptions.label "สามารถเปลี่ยนการตั้งค่าได้โดยใช้แท็บไฟล์แนบในตัวเลือกของ &brandShortName;">
diff --git a/l10n-th/mail/defines.inc b/l10n-th/mail/defines.inc
new file mode 100644
index 0000000000..24f45813a2
--- /dev/null
+++ b/l10n-th/mail/defines.inc
@@ -0,0 +1,9 @@
+#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 <em:contributor>Joe Solon</em:contributor> <em:contributor>Suzy Solon</em:contributor>
+
+#unfilter emptyLines
diff --git a/l10n-th/mail/installer/custom.properties b/l10n-th/mail/installer/custom.properties
new file mode 100644
index 0000000000..e6355b2312
--- /dev/null
+++ b/l10n-th/mail/installer/custom.properties
@@ -0,0 +1,85 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# 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 เป็นแอปพลิเคชันอีเมลที่มาพร้อมคุณลักษณะครบครัน $BrandShortName รองรับโปรโตคอลจดหมาย IMAP และ POP พร้อมทั้งการจัดรูปแบบจดหมาย HTML การควบคุมจดหมายขยะในตัว, ความสามารถ RSS, การค้นหาด่วนที่ทรงพลัง, การตรวจสอบการสะกดคำเมื่อคุณพิมพ์, กล่องขาเข้าส่วนกลาง, และการกรองข้อความขั้นสูงซึ่งเป็นคุณลักษณะที่ทันสมัยที่มาพร้อมกับ $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=เ&ริ่ม $BrandFullName ทันที
+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_LAUNCH=$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=คลิก ถอนการติดตั้ง เพื่อดำเนินการต่อ
+
+BANNER_CHECK_EXISTING=กำลังตรวจสอบการติดตั้งที่มีอยู่…
+
+STATUS_INSTALL_APP=กำลังติดตั้ง $BrandShortName…
+STATUS_INSTALL_LANG=กำลังติดตั้งไฟล์ภาษา (${AB_CD})…
+STATUS_UNINSTALL_MAIN=กำลังถอนการติดตั้ง $BrandShortName…
+STATUS_CLEANUP=กำลังเก็บกวาดอีกเล็กน้อย…
+
+# _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/l10n-th/mail/installer/mui.properties b/l10n-th/mail/installer/mui.properties
new file mode 100644
index 0000000000..2fc59a6ebd
--- /dev/null
+++ b/l10n-th/mail/installer/mui.properties
@@ -0,0 +1,60 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# 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/l10n-th/mail/installer/override.properties b/l10n-th/mail/installer/override.properties
new file mode 100644
index 0000000000..82d0f2daf7
--- /dev/null
+++ b/l10n-th/mail/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 string enclose the strin with an additional double quote
+# (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="ดำเนินการ: "
+Extract="ขยาย: "
+ErrorWriting="ขยาย: ข้อผิดพลาดขณะเขียนไปยังไฟล์ "
+InvalidOpcode=ตัวติดตั้งไม่สมบูรณ์: opcode ไม่ถูกต้อง
+NoOLE="ไม่มี OLE สำหรับ: "
+OutputFolder="โฟลเดอร์ผลลัพธ์: "
+RemoveFolder="เอาโฟลเดอร์ออก: "
+RenameOnReboot="เปลี่ยนชื่อขณะเริ่มคอมพิวเตอร์ใหม่: "
+Rename="เปลี่ยนชื่อ: "
+Skipped="ข้าม: "
+CopyDetails=คัดลอกรายละเอียดไปยังคลิปบอร์ด
+LogInstall=บันทึกปูมการติดตั้ง
+Byte=B
+Kilo=K
+Mega=M
+Giga=G
diff --git a/l10n-th/mail/messenger/aboutProfilesExtra.ftl b/l10n-th/mail/messenger/aboutProfilesExtra.ftl
new file mode 100644
index 0000000000..c1c63c4e09
--- /dev/null
+++ b/l10n-th/mail/messenger/aboutProfilesExtra.ftl
@@ -0,0 +1,5 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+profiles-launch-profile-plain = เปิดใช้โปรไฟล์
diff --git a/l10n-th/mail/messenger/aboutRights.ftl b/l10n-th/mail/messenger/aboutRights.ftl
new file mode 100644
index 0000000000..d12a60a044
--- /dev/null
+++ b/l10n-th/mail/messenger/aboutRights.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/.
+
+rights-title = เกี่ยวกับสิทธิของคุณ
+rights-intro = { -brand-full-name } เป็นซอฟต์แวร์เสรีและเปิดต้นฉบับ สร้างขึ้นโดยชุมชนของคนนับพันจากทั่วโลก มีบางสิ่งที่คุณควรทราบ:
+rights-intro-point-1 = { -brand-short-name } ให้คุณใช้ภายใต้เงื่อนไขของ <a data-l10n-name="mozilla-public-license-link">Mozilla Public License</a> สิ่งนี้หมายถึงคุณอาจใช้งาน คัดลอก และแจกจ่าย { -brand-short-name } ให้กับผู้อื่น คุณยังสามารถแก้ไขโค้ดต้นฉบับของ { -brand-short-name } ตามที่คุณต้องการเพื่อให้ตรงกับความต้องการของคุณ Mozilla Public License ยังให้สิทธิคุณในการแจกจ่ายรุ่นที่คุณแก้ไขอีกด้วย
+rights-intro-point-2 = คุณไม่ได้รับสิทธิหรือสัญญาอนุญาตเครื่องหมายการค้าใด ๆ ในเครื่องหมายการค้าของมูลนิธิ Mozilla หรือบุคคลใด ๆ ไม่จำกัดทั้งชื่อหรือโลโก้ Thunderbird ข้อมูลเพิ่มเติมเกี่ยวกับเครื่องหมายการค้าอาจพบได้ <a data-l10n-name="mozilla-trademarks-link">ที่นี่</a>
+rights-intro-point-3 = บางคุณลักษณะใน { -brand-short-name } อย่างตัวรายงานข้อขัดข้อง ให้ตัวเลือกคุณในการเสนอข้อคิดเห็นมายัง { -vendor-short-name } โดยการเลือกส่งข้อคิดเห็นหมายถึงคุณให้อนุญาต { -vendor-short-name } ในการใช้ข้อคิดเห็นนั้นเพื่อปรับปรุงผลิตภัณฑ์ เผยแพร่ข้อคิดเห็นบนเว็บไซต์ และแจกจ่ายข้อคิดเห็น
+rights-intro-point-4 = วิธีที่เราใช้ข้อมูลส่วนบุคคลและข้อคิดเห็นของคุณที่ส่งมายัง { -vendor-short-name } ผ่าน { -brand-short-name } ได้รับการอธิบายไว้ใน <a data-l10n-name="mozilla-privacy-policy-link">นโยบายความเป็นส่วนตัว { -brand-short-name }</a>
+rights-intro-point-4-unbranded = นโยบายความเป็นส่วนตัวใด ๆ ที่บังคับใช้สำหรับผลิตภัณฑ์นี้ควรถูกแสดงรายการไว้ที่นี่
+rights-intro-point-5 = บางคุณสมบัติของ { -brand-short-name } ใช้บริการข้อมูลจากเว็บภายนอก อย่างไรก็ตาม เราไม่สามารถรับประกันได้ว่าบริการเหล่านั้นจะทำงานได้ถูกต้อง 100% หรือปราศจากความผิดพลาด รายละเอียดเพิ่มเติมรวมไปถึงวิธียกเลิกใช้บริการเหล่านั้น สามารถอ่านได้ที่ <a data-l10n-name="mozilla-service-terms-link">ข้อตกลงบริการ</a>
+rights-intro-point-5-unbranded = ถ้าผลิตภัณฑ์นี้ได้ทำการรวมบริการเว็บไว้ ข้อตกลงบริการใด ๆ สำหรับบริการนั้น ๆ ที่สามารถนำไปปรับใช้ได้จะถูกลงรายการไว้ที่ส่วน<a data-l10n-name="mozilla-website-services-link">บริการเว็บ</a> หัวข้อ
+rights-intro-point-6 = เพื่อเล่นเนื้อหาวิดีโอบางชนิด { -brand-short-name } ดาวน์โหลดโมดูลถอดรหัสเนื้อหาบางส่วนจากบุคคลที่สาม
+rights-webservices-header = บริการข้อมูลผ่านเว็บ { -brand-full-name }
+rights-webservices = { -brand-full-name } ใช้บริการข้อมูลผ่านเว็บ ("บริการ") ในการเสนอความสามารถให้กับคุณใน { -brand-short-name } รุ่นนี้ภายใต้ข้อตกลงที่อธิบายไว้ข้างล่าง ถ้าคุณไม่ต้องการใช้งานบริการเหล่านั้นหรือข้อตกลงข้างล่างนั้นไม่สามารถยอมรับได้ คุณอาจจะปิดการใช้งานความสามารถเหล่านั้น วิธีการปิดใช้งานความสามารถส่วนใดส่วนหนึ่งอาจจะพบได้ <a data-l10n-name="mozilla-disable-service-link">ที่นี่</a> คุณลักษณะและบริการอื่น ๆ สามารถปิดใช้งานได้ในค่ากำหนดแอปพลิเคชัน
+rights-locationawarebrowsing = <strong>การท่องเว็บที่ผูกพันกับสถานที่: </strong>เป็นการใช้งานตามความสมัครใจเสมอ ข้อมูลที่เกี่ยวข้องกับสถานที่จะไม่ถูกส่งออกหากคุณไม่อนุญาต ถ้าคุณต้องการปิดใช้งาน โปรดทำตามขั้นตอนนี้:
+rights-locationawarebrowsing-term-1 = ในแถบ URL พิมพ์ <code>about:config</code>
+rights-locationawarebrowsing-term-2 = พิมพ์ geo.enabled
+rights-locationawarebrowsing-term-3 = คลิกสองครั้งที่ค่ากำหนด geo.enabled
+rights-locationawarebrowsing-term-4 = การท่องเว็บที่ผูกพันกับสถานที่ถูกปิดใช้งานแล้ว
+rights-webservices-unbranded = ภาพรวมของบริการเว็บที่ได้รวมเข้าในผลิตภัณฑ์ รวมไปถึงวิธีใช้การยกเลิกใช้งานบริการเหล่านั้น ควรนำมารวมไว้ที่นี่
+rights-webservices-term-unbranded = ข้อกำหนดการของบริการใดๆ ที่เข้ากันควรจะแสดงไว้ที่นี่
+rights-webservices-term-1 = { -vendor-short-name } ตลอดจนผู้ร่วมสมทบ ผู้อนุญาตให้ใช้สิทธิ และภาคีได้ร่วมทำงานเพื่อสร้างฐานข้อมูลเว็บไซต์หลอกลวงและมัลแวร์ที่มีความเที่ยงตรงและทันสมัยที่สุด อย่างไรก็ตาม กลุ่มผู้ร่วมทำงานไม่สามารถรับประกันได้ว่าข้อมูลเหล่านี้จะครอบคลุมและปราศจากความผิดพลาด เว็บไซต์ที่มีความเสี่ยงบางเว็บอาจจะไม่ถูกบ่งชี้ว่าอันตรายและบางเว็บไซต์ที่ปลอดภัยอาจจะถูกบ่งชี้ว่าอันตรายได้
+rights-webservices-term-2 = { -vendor-short-name } อาจพิจารณายกเลิกหรือแก้ไขบริการเหล่านี้ได้ในภายหลัง
+rights-webservices-term-3 = คุณสามารถใช้บริการเหล่านี้ในรุ่นเพิ่มเติมของ { -brand-short-name } และ { -vendor-short-name } ให้สิทธิในการทำเช่นนั้น { -vendor-short-name } และเจ้าของสัญญาอนุญาตที่เกี่ยวข้องขอสงวนสิทธิ์ต่างๆ ในบริการ ข้อตกลงเหล่านี้ไม่ได้มีไว้เพื่อจำกัดสิทธิ์ที่ถูกให้ไว้ภายใต้สัญญาอนุญาตซอฟต์แวร์เปิดรหัสใดๆ ที่ { -brand-short-name } ใช้งานอยู่และที่สอดคล้องกับต้นรหัสของ { -brand-short-name }
+rights-webservices-term-4 = <strong>บริการเหล่านี้ได้รับการจัดหาให้ "ตามที่เป็น" { -vendor-short-name }, ผู้ร่วมสมทบ ผู้อนุญาตให้ใช้สิทธิ์ และผู้แจกจ่ายขอปฏิเสธการรับประกันใด ๆ ทั้งที่แจ้งไว้และโดยนัยยะ รวมถึงโดยไม่จำกัดเพียงการรับประกันว่าบริการนั้นสามารถใช้เพื่อการค้าได้และตรงตามความวัตถุประสงค์เฉพาะของคุณ คุณได้ยอมรับความเสี่ยงรวมไปถึงคุณภาพและประสิทธิภาพในการใช้บริการเพื่อวัตถุประสงค์ของคุณ เขตอำนาจศาลบางแห่งไม่อนุญาตการยกเว้นหรือจำกัดการรับประกันโดยนัยยะ ดังนั้นข้อความปฏิเสธความรับผิดนี้อาจจะไม่มีผลกับคุณ</strong>
+rights-webservices-term-5 = <strong>เว้นแต่ที่กฎหมายบังคับไว้ { -vendor-short-name } ผู้ร่วมสมทบ ผู้อนุญาตให้ใช้สิทธิ์ และผู้แจกจ่ายไม่พึงต้องรับผิดแก่ความเสียหายไม่ว่าจะในรูปแบบใด ไม่ว่าจะในทางตรงหรือทางอ้อมอันเนื่องมาจากการใช้งาน { -brand-short-name } และบริการต่าง ๆ ทั้งนี้ความเสียหายตามข้อตกลงข้างต้นนี้จะต้องไม่เกิน $500 (ห้าร้อยดอลลาร์สหรัฐอเมริกา) เขตอำนาจศาลบางแห่งไม่อนุญาตการยกเว้นหรือจำกัดความเสียหายบางประเภท ดังนั้นข้อความยกเว้นและข้อจำกัดเหล่านี้อาจไม่มีผลกับคุณ</strong>
+rights-webservices-term-6 = { -vendor-short-name } อาจแก้ไขข้อกำหนดเงื่อนไขเหล่านี้ได้ตามความจำเป็นเมื่อเวลาผ่านไป ข้อกำหนดเงื่อนไขเหล่านี้ไม่อาจถูกแก้ไขหรือยกเลิกได้โดยไม่มีข้อตกลงที่เป็นลายลักษณ์อักษรจาก { -vendor-short-name }.
+rights-webservices-term-7 = ข้อตกลงบริการเหล่านี้บังคับใช้โดยกฎหมายแห่งรัฐแคลิฟอร์เนีย ประเทศสหรัฐอเมริกา ทั้งนี้เว้นแต่มีข้อขัดแย้งของบทบัญญัติ หากส่วนหนึ่งส่วนใดของข้อกำหนดเงื่อนไขเหล่านี้เป็นโมฆะหรือไม่สามารถบังคับใช้ได้ ส่วนที่เหลือยังคงมีผลบังคับใช้เช่นเดิม ในกรณีที่เกิดความขัดแย้งระหว่างข้อกำหนดเงื่อนไขรุ่นที่แปลแล้วกับรุ่นภาษาอังกฤษ ให้ยึดถือรุ่นภาษาอังกฤษเป็นหลัก
diff --git a/l10n-th/mail/messenger/aboutSupportMail.ftl b/l10n-th/mail/messenger/aboutSupportMail.ftl
new file mode 100644
index 0000000000..56f3dc6512
--- /dev/null
+++ b/l10n-th/mail/messenger/aboutSupportMail.ftl
@@ -0,0 +1,20 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+accounts-title = บัญชีจดหมายและข่าว
+show-private-data-main-text = รวมชื่อบัญชี
+show-private-data-explanation-text = (อาจระบุข้อมูล)
+accounts-ID = ID
+accounts-name = ชื่อ
+accounts-incoming-server = เซิร์ฟเวอร์ขาเข้า
+accounts-outgoing-servers = เซิร์ฟเวอร์ขาออก
+accounts-server-name = ชื่อ
+accounts-conn-security = ความปลอดภัยของการเชื่อมต่อ
+accounts-auth-method = วิธีการรับรองความถูกต้อง
+accounts-default = ค่าเริ่มต้น?
+identity-name = ข้อมูลประจำตัว
+
+send-via-email = ส่งผ่านอีเมล
+
+app-basics-telemetry = ข้อมูลการวัดและส่งข้อมูลทางไกล
diff --git a/l10n-th/mail/messenger/accountCentral.ftl b/l10n-th/mail/messenger/accountCentral.ftl
new file mode 100644
index 0000000000..272547f9b5
--- /dev/null
+++ b/l10n-th/mail/messenger/accountCentral.ftl
@@ -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/.
+
+account-central-title = ยินดีต้อนรับสู่ { -brand-full-name }
+account-settings = การตั้งค่าบัญชี
+
+# $accounts (Number) - the number of configured accounts
+setup-title =
+ { $accounts ->
+ [0] เลือกสิ่งที่จะตั้งค่า
+ *[other] ตั้งค่าบัญชีอื่น
+ }
+about-title = เกี่ยวกับ { -brand-full-name }
+resources-title = ทรัพยากร
+
+release-notes =
+ .title = เกี่ยวกับ { -brand-full-name }
+
+email-label = อีเมล
+ .aria-label = เชื่อมต่อไปยังบัญชีอีเมลที่มีอยู่ของคุณ
+email-description = { -brand-short-name } ให้คุณเชื่อมต่อไปยังบัญชีอีเมลที่มีอยู่ของคุณ เพื่อให้คุณอ่านอีเมลของคุณได้อย่างสะดวกและมีประสิทธิภาพจากภายในแอปพลิเคชัน
+
+calendar-label = ปฏิทิน
+ .aria-label = สร้างปฏิทินใหม่
+calendar-description = { -brand-short-name } ให้คุณจัดการเหตุการณ์ต่าง ๆ และจัดสิ่งต่าง ๆ ให้เป็นระเบียบอยู่เสมอ การเชื่อมต่อกับปฏิทินระยะไกลจะซิงค์กิจกรรมทั้งหมดของคุณกับอุปกรณ์ทุกเครื่องของคุณอยู่เสมอ
+
+chat-label = แชท
+ .aria-label = เชื่อมต่อกับบัญชีแชทของคุณ
+chat-description = { -brand-short-name } ให้คุณเชื่อมต่อกับบัญชีการส่งข้อความแบบทันทีได้หลายบัญชี และรองรับหลายแพลตฟอร์ม
+
+filelink-label = ลิงก์ไฟล์
+ .aria-label = ตั้งค่าลิงก์ไฟล์
+filelink-description = { -brand-short-name } ให้คุณตั้งค่าบัญชีระบบคลาวด์ลิงก์ไฟล์ที่สะดวกเพื่อส่งไฟล์แนบขนาดใหญ่ได้อย่างง่ายดาย
+
+addressbook-label = สมุดรายชื่อ
+ .aria-label = สร้างสมุดรายชื่อใหม่
+addressbook-description = { -brand-short-name } ให้คุณจัดระเบียบผู้ติดต่อทั้งหมดของคุณในสมุดรายชื่อ คุณยังสามารถเชื่อมต่อกับสมุดรายชื่อระยะไกลเพื่อซิงค์ผู้ติดต่อทั้งหมดของคุณ
+
+feeds-label = ฟีด
+ .aria-label = เชื่อมต่อฟีด
+feeds-description = { -brand-short-name } ให้คุณเชื่อมต่อกับฟีด RSS/Atom เพื่อรับข่าวล่าสุดจากทั่วทุกแห่ง
+
+newsgroups-label = กลุ่มข่าว
+ .aria-label = เชื่อมต่อไปยังกลุ่มข่าว
+newsgroups-description = { -brand-short-name } ให้คุณเชื่อมต่อกับกลุ่มข่าวทั้งหมดที่คุณต้องการ
+
+import-title = นำเข้าจากโปรแกรมอื่น
+import-paragraph = { -brand-short-name } ให้คุณนำเข้าข้อความจดหมาย รายการสมุดรายชื่อ การบอกรับฟีด ค่ากำหนด และ/หรือตัวกรองจากโปรแกรมจดหมายอื่นและรูปแบบสมุดรายชื่อทั่วไปได้
+
+import-label = นำเข้า
+ .aria-label = นำเข้าข้อมูลจากโปรแกรมอื่น
+
+about-paragraph = Thunderbird เป็นไคลเอนต์อีเมลและปฏิทินแบบเปิดต้นฉบับข้ามแพลตฟอร์มชั้นนำซึ่งฟรีสำหรับธุรกิจและใช้ส่วนตัว เราต้องการให้โครงการนี้อยู่รอดได้อย่างปลอดภัยและดียิ่งขึ้น การบริจาคจะช่วยให้เราสามารถจ้างนักพัฒนา จ่ายค่าโครงสร้างพื้นฐาน และปรับปรุงต่อไป
+
+about-paragraph-2 = <b>Thunderbird ได้รับเงินสนับสนุนจากผู้ใช้เช่นคุณ! หากคุณชอบ Thunderbird โปรดพิจารณาทำการบริจาค</b> วิธีที่ดีที่สุดสำหรับคุณเพื่อให้แน่ใจว่า Thunderbird จะยังคงมีให้ใช้ต่อไปคือการ
+about-donation = ทำการบริจาค
+
+about-paragraph-consider-donation = <b>Thunderbird ได้รับเงินสนับสนุนจากผู้ใช้เช่นคุณ! หากคุณชอบ Thunderbird โปรดลองทำการบริจาค</b> วิธีที่ดีที่สุดสำหรับคุณเพื่อให้แน่ใจว่า Thunderbird ยังคงมีอยู่คือ<a data-l10n-name="donation-link">ทำการบริจาค</a>
+
+explore-link = สำรวจคุณลักษณะ
+support-link = การสนับสนุน
+involved-link = มีส่วนร่วม
+developer-link = เอกสารสำหรับนักพัฒนา
+
+read = อ่านข้อความ
+compose = เขียนข้อความใหม่
+search = ค้นหาข้อความ
+filter = จัดการตัวกรองข้อความ
+nntp-subscription = จัดการการบอกรับกลุ่มข่าว
+rss-subscription = จัดการการบอกรับฟีด
+e2e = การเข้ารหัสแบบครอบคลุม
diff --git a/l10n-th/mail/messenger/addressbook/abCardDAVDialog.ftl b/l10n-th/mail/messenger/addressbook/abCardDAVDialog.ftl
new file mode 100644
index 0000000000..abb0a04c86
--- /dev/null
+++ b/l10n-th/mail/messenger/addressbook/abCardDAVDialog.ftl
@@ -0,0 +1,45 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, you can obtain one at http://mozilla.org/MPL/2.0/.
+
+carddav-window =
+ .title = สมุดรายชื่อ CardDAV ใหม่
+
+carddav-dialog =
+ .buttonlabelaccept = ดำเนินการต่อ
+ .buttonaccesskeyaccept = ด
+
+carddav-experimental-warning = การรองรับสมุดรายชื่อ CardDAV เป็นคุณลักษณะทดลองและอาจทำให้ข้อมูลของคุณเสียหายอย่างถาวร ให้ใช้ด้วยความเสี่ยงของคุณเอง
+
+carddav-provider-label =
+ .value = ผู้ให้บริการ CardDAV:
+ .accesskey = ผ
+
+carddav-provider-option-other = ผู้ให้บริการอื่น ๆ…
+
+carddav-url-label =
+ .value = URL ของ CardDAV:
+ .accesskey = V
+
+carddav-username-label =
+ .value = ชื่อผู้ใช้:
+ .accesskey = ช
+carddav-username-input =
+ .placeholder = you@example.com
+
+carddav-password-label =
+ .value = รหัสผ่าน:
+ .accesskey = ร
+carddav-password-input =
+ .placeholder = รหัสผ่าน
+
+carddav-remember-password =
+ .label = จดจำรหัสผ่าน
+ .accesskey = จ
+
+carddav-loading = กำลังมองหาการกำหนดค่า…
+carddav-connection-error = การเชื่อมต่อล้มเหลว
+carddav-none-found = ไม่พบสมุดรายชื่อที่จะเพิ่มสำหรับบัญชีที่ระบุ
+carddav-already-added = สมุดรายชื่อทั้งหมดสำหรับบัญชีที่ระบุถูกเพิ่มไปแล้ว
+
+carddav-available-books = สมุดรายชื่อทั้งหมดที่ใช้ได้:
diff --git a/l10n-th/mail/messenger/addressbook/abCardDAVProperties.ftl b/l10n-th/mail/messenger/addressbook/abCardDAVProperties.ftl
new file mode 100644
index 0000000000..eea0515ccb
--- /dev/null
+++ b/l10n-th/mail/messenger/addressbook/abCardDAVProperties.ftl
@@ -0,0 +1,24 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, you can obtain one at http://mozilla.org/MPL/2.0/.
+
+carddav-url-label =
+ .value = URL ของ CardDAV:
+ .accesskey = V
+carddav-refreshinterval-label =
+ .label = ประสาน:
+ .accesskey = ป
+# Variables:
+# $minutes (integer) - Number of minutes between address book synchronizations
+carddav-refreshinterval-minutes-value =
+ .label =
+ { $minutes ->
+ *[other] ทุก { $minutes } นาที
+ }
+# Variables:
+# $hours (integer) - Number of hours between address book synchronizations
+carddav-refreshinterval-hours-value =
+ .label =
+ { $hours ->
+ *[other] ทุก { $hours } ชั่วโมง
+ }
diff --git a/l10n-th/mail/messenger/menubar.ftl b/l10n-th/mail/messenger/menubar.ftl
new file mode 100644
index 0000000000..9ba87fef21
--- /dev/null
+++ b/l10n-th/mail/messenger/menubar.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/.
+
+
+## View Menu
+
+menu-view-charset =
+ .label = รหัสอักขระ
+ .accesskey = ร
diff --git a/l10n-th/mail/messenger/messenger.ftl b/l10n-th/mail/messenger/messenger.ftl
new file mode 100644
index 0000000000..bfd30a6934
--- /dev/null
+++ b/l10n-th/mail/messenger/messenger.ftl
@@ -0,0 +1,5 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+about-rights-notification-text = { -brand-short-name } เป็นซอฟต์แวร์ฟรีและเปิดต้นฉบับที่สร้างโดยชุมชนที่มีนับพันคนจากทั่วทุกมุมโลก
diff --git a/l10n-th/mail/messenger/messengercompose/messengercompose.ftl b/l10n-th/mail/messenger/messengercompose/messengercompose.ftl
new file mode 100644
index 0000000000..1006e15257
--- /dev/null
+++ b/l10n-th/mail/messenger/messengercompose/messengercompose.ftl
@@ -0,0 +1,69 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+
+# Addressing widget
+
+# $type (String) - the type of the addressing row
+remove-address-row-type = เอาช่อง { $type } ออก
+
+# $type (String) - the type of the addressing row
+remove-address-row-type-label =
+ .tooltiptext = เอาช่อง { $type } ออก
+
+# $type (String) - the type of the addressing row
+# $count (Number) - the number of address pills currently present in the addressing row
+address-input-type-aria-label =
+ { $count ->
+ [0] { $type }
+ *[other] { $type } มี { $count } ที่อยู่ ใช้แป้นลูกศรเพื่อเลือก
+ }
+
+# $email (String) - the email address
+# $count (Number) - the number of address pills currently present in the addressing row
+pill-aria-label =
+ { $count ->
+ *[other] { $email } มี 1 จาก { $count }: กด Enter เพื่อแก้ไข กด Delete เพื่อเอาออก
+ }
+
+pill-action-edit =
+ .label = แก้ไขที่อยู่
+ .accesskey = อ
+
+pill-action-move-to =
+ .label = ย้ายไปยัง ถึง
+ .accesskey = ป
+
+pill-action-move-cc =
+ .label = ย้ายไปยัง สำเนาถึง
+ .accesskey = ถ
+
+pill-action-move-bcc =
+ .label = ย้ายไปยัง สำเนาลับถึง
+ .accesskey = ล
+
+# $count (Number) - the number of attachments in the attachment bucket
+attachment-bucket-count =
+ .value =
+ { $count ->
+ [1] { $count } สิ่งที่แนบมา
+ *[other] { $count } สิ่งที่แนบมา
+ }
+ .accesskey = น
+
+# $count (Number) - the number of attachments in the attachment bucket
+attachments-placeholder-tooltip =
+ .tooltiptext =
+ { $count ->
+ [1] { $count } สิ่งที่แนบมา
+ *[other] { $count } สิ่งที่แนบมา
+ }
+
+# { attachment-bucket-count.accesskey } - Do not localize this message.
+key-toggle-attachment-pane =
+ .key = { attachment-bucket-count.accesskey }
+
+button-return-receipt =
+ .label = การแจ้งเตือน
+ .tooltiptext = จำเป็นต้องมีการแจ้งเตือนการเปิดอ่านสำหรับข้อความนี้
diff --git a/l10n-th/mail/messenger/newInstall.ftl b/l10n-th/mail/messenger/newInstall.ftl
new file mode 100644
index 0000000000..f236182202
--- /dev/null
+++ b/l10n-th/mail/messenger/newInstall.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/.
+
+connection-window =
+ .title = ข่าวสำคัญ
+continue-button =
+ .label = ดำเนินการต่อ
+main-text = การติดตั้งนี้ของ { -brand-short-name } มีโปรไฟล์ใหม่ ซึ่งไม่แบ่งปันข้อมูลอีเมล, ค่ากำหนดผู้ใช้, และสมุดรายชื่อกับการติดตั้งอื่น ๆ ของ { -brand-product-name } (รวมถึง { -brand-product-name }, { -brand-product-name } Beta, และ { -brand-product-name } Daily) บนคอมพิวเตอร์นี้
diff --git a/l10n-th/mail/messenger/newInstallPage.ftl b/l10n-th/mail/messenger/newInstallPage.ftl
new file mode 100644
index 0000000000..02bdcd605e
--- /dev/null
+++ b/l10n-th/mail/messenger/newInstallPage.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/.
+
+title = ข่าวสำคัญ
+heading = การเปลี่ยนแปลงกับโปรไฟล์ { -brand-short-name } ของคุณ
+changed-title = อะไรเปลี่ยนไปบ้าง
+changed-desc-profiles = การติดตั้ง { -brand-short-name } นี้มีโปรไฟล์ใหม่ โปรไฟล์คือชุดของไฟล์ที่ { -brand-product-name } บันทึกข้อมูล เช่น ข้อมูลอีเมล รหัสผ่าน ค่ากำหนดของผู้ใช้ และสมุดรายชื่อ
+changed-desc-dedicated = เพื่อให้ง่ายขึ้นและปลอดภัยยิ่งขึ้นในการสลับระหว่างการติดตั้ง { -brand-product-name } (รวมถึง { -brand-product-name }, { -brand-product-name } Beta, และ { -brand-product-name } Daily) ตอนนี้การติดตั้งนี้มีโปรไฟล์เฉพาะ ซึ่งจะไม่แบ่งปันข้อมูลที่บันทึกไว้ของคุณกับการติดตั้ง { -brand-product-name } อื่น ๆ โดยอัตโนมัติ
+lost = <b>คุณจะไม่สูญเสียข้อมูลส่วนตัวหรือการปรับแต่งใด ๆ</b> หากคุณบันทึกข้อมูลไปยัง { -brand-product-name } บนคอมพิวเตอร์เครื่องนี้แล้ว ข้อมูลเหล่านั้นจะยังคงพร้อมใช้งานในการติดตั้ง { -brand-product-name } อื่น
+options-title = ตัวเลือกของฉันคืออะไร
+options-do-nothing = หากคุณไม่ตัดสินใจ ข้อมูลโปรไฟล์ของคุณใน { -brand-short-name } จะแตกต่างจากข้อมูลในการติดตั้งรอบอื่นของ { -brand-product-name }
+resources = ทรัพยากร
+about-pofiles-link = ดูและจัดการโปรไฟล์ของคุณ
+support-link = ใช้งานตัวจัดการโปรไฟล์ - บทความสนับสนุน
diff --git a/l10n-th/mail/messenger/openpgp/backupKeyPassword.ftl b/l10n-th/mail/messenger/openpgp/backupKeyPassword.ftl
new file mode 100644
index 0000000000..757731a2fc
--- /dev/null
+++ b/l10n-th/mail/messenger/openpgp/backupKeyPassword.ftl
@@ -0,0 +1,14 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+set-password-window =
+ .title = เลือกรหัสผ่านเพื่อสำรองคีย์ OpenPGP ของคุณ
+set-password-legend = เลือกรหัสผ่าน
+set-password-message = รหัสผ่านที่คุณกำลังจะตั้งนี้จะช่วยปกป้องไฟล์ข้อมูลสำรองคีย์ลับ OpenPGP ที่คุณกำลังจะสร้างขึ้น คุณจำเป็นต้องตั้งรหัสผ่านนี้ก่อนที่จะดำเนินการสำรองข้อมูลต่อ
+set-password-backup-pw =
+ .value = รหัสผ่านข้อมูลสำรองคีย์ลับ:
+set-password-repeat-backup-pw =
+ .value = รหัสผ่านข้อมูลสำรองคีย์ลับ (อีกครั้ง):
+set-password-reminder = <b>สำคัญ!</b> หากคุณลืมรหัสผ่านข้อมูลสำรองคีย์ลับ คุณจะไม่สามารถคืนค่าข้อมูลสำรองนี้ได้อีกต่อไป โปรดบันทึกรหัสผ่านนี้ไว้ในที่ปลอดภัย
+password-quality-meter = มาตรวัดคุณภาพรหัสผ่าน
diff --git a/l10n-th/mail/messenger/openpgp/changeExpiryDlg.ftl b/l10n-th/mail/messenger/openpgp/changeExpiryDlg.ftl
new file mode 100644
index 0000000000..321856372a
--- /dev/null
+++ b/l10n-th/mail/messenger/openpgp/changeExpiryDlg.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/.
+
+openpgp-change-key-expiry-title =
+ .title = เปลี่ยนการหมดอายุของคีย์
+info-will-expire = ขณะนี้คีย์ได้รับการกำหนดค่าให้หมดอายุใน { $date }
+info-already-expired = คีย์นี้หมดอายุไปแล้ว
+info-does-not-expire = ขณะนี้คีย์ได้รับการกำหนดค่าให้ไม่มีวันหมดอายุ
+info-explanation-1 = <b>หลังจากที่คีย์หมดอายุแล้ว</b> คุณจะไม่สามารถใช้คีย์ดังกล่าวในการเข้ารหัสหรือลงลายเซ็นดิจิทัลได้อีกต่อไป
+info-explanation-2 = หากต้องการใช้คีย์นี้เป็นระยะเวลานานขึ้น ให้เปลี่ยนวันที่หมดอายุ จากนั้นแบ่งปันคีย์สาธารณะกับคู่สนทนาของคุณอีกครั้ง
+expire-dont-change =
+ .label = ไม่ต้องเปลี่ยนวันหมดอายุ
+expire-never-label =
+ .label = คีย์จะไม่มีวันหมดอายุ
+expire-in-label =
+ .label = คีย์จะหมดอายุใน:
+expire-in-months = เดือน
diff --git a/l10n-th/mail/messenger/openpgp/composeKeyStatus.ftl b/l10n-th/mail/messenger/openpgp/composeKeyStatus.ftl
new file mode 100644
index 0000000000..3002075418
--- /dev/null
+++ b/l10n-th/mail/messenger/openpgp/composeKeyStatus.ftl
@@ -0,0 +1,16 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+openpgp-compose-key-status-intro-need-keys = เมื่อต้องการส่งข้อความที่เข้ารหัสแบบครอบคลุม คุณต้องรับและยอมรับคีย์สาธารณะสำหรับผู้รับแต่ละราย
+openpgp-compose-key-status-keys-heading = ความพร้อมใช้งานของคีย์ OpenPGP:
+openpgp-compose-key-status-title =
+ .title = ความปลอดภัยของข้อความ OpenPGP
+openpgp-compose-key-status-recipient =
+ .label = ผู้รับ
+openpgp-compose-key-status-status =
+ .label = สถานะ
+openpgp-compose-key-status-open-details = จัดการคีย์สำหรับผู้รับที่เลือก…
+openpgp-recip-good = ตกลง
+openpgp-recip-missing = ไม่มีคีย์ที่พร้อมใช้งาน
+openpgp-recip-none-accepted = ไม่มีคีย์ที่ยอมรับ
diff --git a/l10n-th/mail/messenger/openpgp/keyWizard.ftl b/l10n-th/mail/messenger/openpgp/keyWizard.ftl
new file mode 100644
index 0000000000..7992b0320c
--- /dev/null
+++ b/l10n-th/mail/messenger/openpgp/keyWizard.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/.
+
+# $identity (String) - the email address of the currently selected identity
+key-wizard-dialog-window =
+ .title = เพิ่มคีย์ OpenPGP ส่วนตัวสำหรับ { $identity }
+key-wizard-button =
+ .buttonlabelaccept = ดำเนินการต่อ
+ .buttonlabelhelp = กลับไป
+key-wizard-warning = <b>หากคุณมีคีย์ส่วนตัว</b>สำหรับที่อยู่อีเมลนี้อยู่แล้ว คุณควรนำเข้า มิฉะนั้นคุณจะไม่สามารถเข้าถึงที่เก็บถาวรอีเมลที่เข้ารหัสของคุณ และไม่สามารถอ่านอีเมลที่เข้ารหัสขาเข้าจากผู้คนที่ยังใช้คีย์ที่มีอยู่ของคุณได้
+key-wizard-learn-more = เรียนรู้เพิ่มเติม
+radio-create-key =
+ .label = สร้างคีย์ OpenPGP ใหม่
+ .accesskey = ส
+radio-import-key =
+ .label = นำเข้าคีย์ OpenPGP ที่มีอยู่
+ .accesskey = น
+radio-gnupg-key =
+ .label = ใช้คีย์ภายนอกของคุณผ่าน GnuPG (เช่น จากสมาร์ทการ์ด)
+ .accesskey = ช
+
+## Generate key section
+
+openpgp-generate-key-title = สร้างคีย์ OpenPGP
+
+## Import Key section
+
+
+## External Key section
+
diff --git a/l10n-th/mail/messenger/openpgp/msgReadStatus.ftl b/l10n-th/mail/messenger/openpgp/msgReadStatus.ftl
new file mode 100644
index 0000000000..dff625ef06
--- /dev/null
+++ b/l10n-th/mail/messenger/openpgp/msgReadStatus.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/.
+
+openpgp-view-signer-key =
+ .label = ดูคีย์ผู้ลงลายเซ็น
+openpgp-view-your-encryption-key =
+ .label = ดูคีย์การถอดรหัสของคุณ
+openpgp-openpgp = OpenPGP
+openpgp-no-sig = ไม่มีลายเซ็นดิจิทัล
+openpgp-uncertain-sig = ลายเซ็นดิจิทัลไม่แน่นอน
+openpgp-invalid-sig = ลายเซ็นดิจิทัลไม่ถูกต้อง
+openpgp-good-sig = ลายเซ็นดิจิทัลถูกต้อง
+openpgp-sig-uncertain-no-key = ข้อความนี้มีลายเซ็นดิจิทัล แต่ไม่แน่ใจว่าถูกต้องหรือไม่ เมื่อต้องการตรวจสอบลายเซ็น คุณจะต้องรับสำเนาคีย์สาธารณะของผู้ส่ง
+openpgp-sig-uncertain-uid-mismatch = ข้อความนี้มีลายเซ็นดิจิทัล แต่ตรวจพบความไม่ตรงกัน ข้อความถูกส่งจากที่อยู่อีเมลที่ไม่ตรงกับคีย์สาธารณะของผู้ลงลายเซ็น
+openpgp-sig-uncertain-not-accepted = ข้อความนี้มีลายเซ็นดิจิทัล แต่คุณยังไม่ได้ตัดสินใจว่าคุณสามารถยอมรับคีย์ของผู้ลงลายเซ็นได้หรือไม่
+openpgp-sig-invalid-rejected = ข้อความนี้มีลายเซ็นดิจิทัล แต่ก่อนหน้านี้คุณได้ตัดสินใจปฏิเสธคีย์ผู้ลงลายเซ็น
+openpgp-sig-invalid-technical-problem = ข้อความนี้มีลายเซ็นดิจิทัล แต่ตรวจพบข้อผิดพลาดทางเทคนิค อาจเป็นเนื่องจากข้อความเสียหาย หรือข้อความถูกเปลี่ยนแปลงโดยคนอื่น
+openpgp-sig-valid-unverified = ข้อความนี้มีลายเซ็นดิจิทัลที่ถูกต้องจากคีย์ที่คุณยอมรับแล้ว อย่างไรก็ตาม คุณยังไม่ได้ตรวจสอบยืนยันว่าคีย์เป็นของผู้ส่งจริง ๆ
+openpgp-sig-valid-verified = ข้อความนี้มีลายเซ็นดิจิทัลที่ถูกต้องจากคีย์ที่ได้รับการยืนยัน
+openpgp-sig-valid-own-key = ข้อความนี้มีลายเซ็นดิจิทัลที่ถูกต้องจากคีย์ส่วนตัวของคุณ
+openpgp-sig-key-id = ID คีย์ผู้ลงลายเซ็น: { $key }
+openpgp-sig-key-id-with-subkey-id = ID คีย์ผู้ลงลายเซ็น: { $key } (ID คีย์ย่อย: { $subkey })
+openpgp-enc-key-id = ID คีย์การถอดรหัสของคุณ: { $key }
+openpgp-enc-key-with-subkey-id = ID คีย์การถอดรหัสของคุณ: { $key } (ID คีย์ย่อย: { $subkey })
+openpgp-unknown-key-id = คีย์ที่ไม่รู้จัก
+openpgp-other-enc-additional-key-ids = นอกจากนี้ ข้อความยังถูกเข้ารหัสถึงเจ้าของคีย์ต่อไปนี้:
+openpgp-other-enc-all-key-ids = ข้อความถูกเข้ารหัสถึงเจ้าของคีย์ต่อไปนี้:
diff --git a/l10n-th/mail/messenger/openpgp/oneRecipientStatus.ftl b/l10n-th/mail/messenger/openpgp/oneRecipientStatus.ftl
new file mode 100644
index 0000000000..89de83bdcf
--- /dev/null
+++ b/l10n-th/mail/messenger/openpgp/oneRecipientStatus.ftl
@@ -0,0 +1,14 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+openpgp-one-recipient-status-title =
+ .title = ความปลอดภัยของข้อความ OpenPGP
+openpgp-one-recipient-status-status =
+ .label = สถานะ
+openpgp-one-recipient-status-key-id =
+ .label = ID คีย์
+openpgp-one-recipient-status-created-date =
+ .label = สร้างเมื่อ
+openpgp-one-recipient-status-expires-date =
+ .label = หมดอายุ
diff --git a/l10n-th/mail/messenger/openpgp/openpgp-frontend.ftl b/l10n-th/mail/messenger/openpgp/openpgp-frontend.ftl
new file mode 100644
index 0000000000..5dd4fcb7db
--- /dev/null
+++ b/l10n-th/mail/messenger/openpgp/openpgp-frontend.ftl
@@ -0,0 +1,48 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+openpgp-manage-keys-openpgp-cmd =
+ .label = ตัวจัดการคีย์ OpenPGP
+ .accesskey = O
+openpgp-ctx-decrypt-open =
+ .label = ถอดรหัสและเปิด
+ .accesskey = ถ
+openpgp-ctx-decrypt-save =
+ .label = ถอดรหัสและบันทึกเป็น…
+ .accesskey = อ
+openpgp-ctx-import-key =
+ .label = นำเข้าคีย์ OpenPGP
+ .accesskey = น
+openpgp-ctx-verify-att =
+ .label = ตรวจสอบความถูกต้องของลายเซ็น
+ .accesskey = ต
+openpgp-has-sender-key = ข้อความนี้อ้างว่ามีคีย์สาธารณะ OpenPGP ของผู้ส่ง
+openpgp-be-careful-new-key = คำเตือน: คีย์สาธารณะ OpenPGP ใหม่ในข้อความนี้แตกต่างจากคีย์สาธารณะที่คุณยอมรับไว้สำหรับ { $email } เมื่อก่อนหน้านี้
+openpgp-import-sender-key =
+ .label = นำเข้า…
+openpgp-search-keys-openpgp =
+ .label = ค้นพบคีย์ OpenPGP
+openpgp-missing-signature-key = ข้อความนี้ถูกลงลายเซ็นด้วยคีย์ที่คุณยังไม่มี
+openpgp-search-signature-key =
+ .label = ค้นพบ…
+# Don't translate the terms "OpenPGP" and "MS-Exchange"
+openpgp-broken-exchange-info = นี่คือข้อความ OpenPGP ที่ถูกทำให้เสียหายโดย MS-Exchange อย่างเห็นได้ชัด หากเนื้อหาของข้อความไม่แสดงตามที่คาดไว้ คุณสามารถลองซ่อมแซมอัตโนมัติได้
+openpgp-broken-exchange-repair =
+ .label = ซ่อมแซมข้อความ
+openpgp-broken-exchange-wait = โปรดรอ…
+openpgp-cannot-decrypt-because-mdc =
+ นี่คือข้อความที่ถูกเข้ารหัสซึ่งใช้กลไกที่เก่าและมีช่องโหว่
+ ข้อความดังกล่าวอาจถูกเปลี่ยนแปลงขณะส่ง โดยมีเจตนาที่จะขโมยเนื้อหา
+ เพื่อเป็นการป้องกันความเสี่ยงนี้ เนื้อหาจะไม่ถูกแสดง
+openpgp-cannot-decrypt-because-missing-key = คีย์ลับที่จำเป็นต้องใช้ในการถอดรหัสข้อความนี้ไม่สามารถใช้ได้
+openpgp-partially-signed =
+ ข้อความนี้มีเพียงบางส่วนเท่านั้นที่ถูกลงลายเซ็นดิจิทัลโดยใช้ OpenPGP
+ หากคุณคลิกปุ่มตรวจสอบ ส่วนที่ไม่มีการป้องกันจะถูกซ่อนไว้ และสถานะของลายเซ็นดิจิทัลจะถูกแสดง
+openpgp-partially-encrypted =
+ ข้อความนี้มีเพียงบางส่วนเท่านั้นที่ถูกลงลายเซ็นดิจิทัลโดยใช้ OpenPGP
+ ส่วนที่อ่านได้ของข้อความนี้ที่ถูกแสดงแล้วจะไม่ถูกเข้ารหัส
+ หากคุณคลิกปุ่มถอดรหัส เนื้อหาของส่วนที่ถูกเข้ารหัสจะถูกแสดง
+openpgp-reminder-partial-display = คำเตือน: ข้อความที่แสดงด้านล่างเป็นเพียงส่วนย่อยของข้อความต้นฉบับเท่านั้น
+openpgp-partial-verify-button = ตรวจสอบ
+openpgp-partial-decrypt-button = ถอดรหัส
diff --git a/l10n-th/mail/messenger/openpgp/openpgp.ftl b/l10n-th/mail/messenger/openpgp/openpgp.ftl
new file mode 100644
index 0000000000..002bb4f6d6
--- /dev/null
+++ b/l10n-th/mail/messenger/openpgp/openpgp.ftl
@@ -0,0 +1,143 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+e2e-intro-description = หากต้องการส่งข้อความที่เข้ารหัสหรือลงลายเซ็นแบบดิจิทัล คุณจำเป็นต้องกำหนดค่าเทคโนโลยีการเข้ารหัสทั้ง OpenPGP หรือ S/MIME
+openpgp-key-user-id-label = บัญชี / ID ผู้ใช้
+openpgp-keygen-title-label =
+ .title = สร้างคีย์ OpenPGP
+openpgp-cancel-key =
+ .label = ยกเลิก
+ .tooltiptext = ยกเลิกการสร้างคีย์
+openpgp-key-gen-expiry-title =
+ .label = วันหมดอายุของคีย์
+openpgp-key-gen-expire-label = คีย์จะหมดอายุใน
+openpgp-key-gen-days-label =
+ .label = วัน
+openpgp-key-gen-months-label =
+ .label = เดือน
+openpgp-key-gen-years-label =
+ .label = ปี
+openpgp-key-gen-no-expiry-label =
+ .label = คีย์จะไม่มีวันหมดอายุ
+openpgp-key-gen-key-size-label = ขนาดคีย์
+openpgp-key-gen-console-label = การสร้างคีย์
+openpgp-key-gen-key-type-label = ชนิดคีย์
+openpgp-key-gen-key-type-rsa =
+ .label = RSA
+openpgp-key-gen-key-type-ecc =
+ .label = ECC (เส้นโค้งรูปไข่)
+openpgp-advanced-prefs-button-label =
+ .label = ขั้นสูง…
+openpgp-key-man-file-menu =
+ .label = ไฟล์
+ .accesskey = ฟ
+openpgp-key-man-edit-menu =
+ .label = แก้ไข
+ .accesskey = ก
+openpgp-key-man-view-menu =
+ .label = มุมมอง
+ .accesskey = ม
+openpgp-key-man-generate-menu =
+ .label = สร้าง
+ .accesskey = ส
+openpgp-key-man-keyserver-menu =
+ .label = เซิร์ฟเวอร์คีย์
+ .accesskey = ซ
+openpgp-key-man-import-public-from-file =
+ .label = นำเข้าคีย์สาธารณะจากไฟล์
+ .accesskey = น
+openpgp-key-man-import-secret-from-file =
+ .label = นำเข้าคีย์ลับจากไฟล์
+openpgp-key-man-import-from-clipbrd =
+ .label = นำเข้าคีย์จากคลิปบอร์ด
+ .accesskey = น
+openpgp-key-man-import-from-url =
+ .label = นำเข้าคีย์จาก URL
+ .accesskey = U
+openpgp-key-man-export-to-file =
+ .label = ส่งออกคีย์สาธารณะไปยังไฟล์
+ .accesskey = ส
+openpgp-key-man-send-keys =
+ .label = ส่งคีย์สาธารณะทางอีเมล
+ .accesskey = ง
+openpgp-key-man-backup-secret-keys =
+ .label = สำรองคีย์ลับไปยังไฟล์
+ .accesskey = ร
+openpgp-key-man-discover-cmd =
+ .label = ค้นพบคีย์ออนไลน์
+ .accesskey = ค
+openpgp-key-man-discover-prompt = เมื่อต้องการค้นพบคีย์ OpenPGP ทางออนไลน์บนเซิร์ฟเวอร์คีย์หรือโดยใช้โปรโตคอล WKD ให้ป้อนที่อยู่อีเมลหรือ ID คีย์
+openpgp-key-man-discover-progress = กำลังค้นหา…
+openpgp-key-copy-key =
+ .label = คัดลอกคีย์สาธารณะ
+ .accesskey = ค
+openpgp-key-export-key =
+ .label = ส่งออกคีย์สาธารณะไปยังไฟล์
+ .accesskey = ส
+openpgp-key-backup-key =
+ .label = สำรองคีย์ลับไปยังไฟล์
+ .accesskey = ร
+openpgp-key-send-key =
+ .label = ส่งคีย์สาธารณะผ่านอีเมล
+ .accesskey = ง
+openpgp-key-man-copy-to-clipbrd =
+ .label = คัดลอกคีย์สาธารณะไปยังคลิปบอร์ด
+ .accesskey = ค
+openpgp-key-man-ctx-expor-to-file-label =
+ .label = ส่งออกคีย์ไปยังไฟล์
+openpgp-key-man-ctx-copy-to-clipbrd-label =
+ .label = คัดลอกคีย์สาธารณะไปยังคลิปบอร์ด
+openpgp-key-man-close =
+ .label = ปิด
+openpgp-key-man-reload =
+ .label = โหลดแคชคีย์ใหม่
+ .accesskey = ล
+openpgp-key-man-change-expiry =
+ .label = เปลี่ยนวันหมดอายุ
+ .accesskey = ม
+openpgp-key-man-del-key =
+ .label = ลบคีย์
+ .accesskey = บ
+openpgp-delete-key =
+ .label = ลบคีย์
+ .accesskey = บ
+openpgp-key-man-revoke-key =
+ .label = เพิกถอนคีย์
+ .accesskey = พ
+openpgp-key-man-key-props =
+ .label = คุณสมบัติคีย์
+ .accesskey = ณ
+openpgp-key-man-key-more =
+ .label = เพิ่มเติม
+ .accesskey = เ
+openpgp-key-man-show-invalid-keys =
+ .label = แสดงคีย์ที่ไม่ถูกต้อง
+ .accesskey = แ
+openpgp-key-man-show-others-keys =
+ .label = แสดงคีย์จากคนอื่นๆ
+ .accesskey = น
+openpgp-key-man-user-id-label =
+ .label = ชื่อ
+openpgp-key-man-fingerprint-label =
+ .label = ลายนิ้วมือ
+openpgp-key-man-select-all =
+ .label = เลือกคีย์ทั้งหมด
+ .accesskey = ง
+openpgp-key-man-empty-tree-tooltip =
+ .label = ป้อนคำค้นหาในกล่องด้านบน
+openpgp-key-man-nothing-found-tooltip =
+ .label = ไม่มีคีย์ที่ตรงกับคำค้นหาของคุณ
+openpgp-key-man-please-wait-tooltip =
+ .label = โปรดรอในขณะที่กำลังโหลดคีย์…
+openpgp-key-man-filter-label =
+ .placeholder = ค้นหาคีย์
+
+## e2e encryption settings
+
+
+## OpenPGP Key selection area
+
+
+## Account settings export output
+
diff --git a/l10n-th/mail/messenger/otr/add-finger.ftl b/l10n-th/mail/messenger/otr/add-finger.ftl
new file mode 100644
index 0000000000..53d9584428
--- /dev/null
+++ b/l10n-th/mail/messenger/otr/add-finger.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/.
+
+otr-add-finger =
+ .title = เพิ่มลายนิ้วมือคีย์ OTR
+
+# Variables:
+# $name (String) - name of a chat contact person
+# Do not translate 'OTR' (name of an encryption protocol)
+otr-add-finger-description = ป้อนลายนิ้วมือคีย์ OTR สำหรับ { $name }
+
+otr-add-finger-fingerprint = ลายนิ้วมือ:
+otr-add-finger-tooltip-error = มีการป้อนอักขระที่ไม่ถูกต้อง สามารถใช้ได้เฉพาะตัวอักษร ABCDEF และตัวเลขเท่านั้น
+
+otr-add-finger-input =
+ .placeholder = ลายนิ้วมือคีย์ OTR ที่มีความยาวอักขระ 40 ตัว
diff --git a/l10n-th/mail/messenger/otr/am-im-otr.ftl b/l10n-th/mail/messenger/otr/am-im-otr.ftl
new file mode 100644
index 0000000000..a828e45b3e
--- /dev/null
+++ b/l10n-th/mail/messenger/otr/am-im-otr.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/.
+
+account-encryption =
+ .label = การเข้ารหัสแบบครอบคลุม
+account-otr-label = การส่งข้อความแบบไม่บันทึก (OTR)
+account-otr-description = { -brand-short-name } รองรับการเข้ารหัสแบบครอบคลุมสำหรับการสนทนาแบบหนึ่งต่อหนึ่ง ซึ่งจะป้องกันไม่ให้บุคคลที่สามแอบฟังการสนทนาได้ การเข้ารหัสแบบครอบคลุมจะสามารถใช้ได้เมื่อคนอื่นใช้ซอฟต์แวร์ที่รองรับ OTR เท่านั้น
+otr-encryption-title = การเข้ารหัสที่ตรวจสอบแล้ว
+otr-encryption-caption = หากต้องการให้ผู้อื่นสามารถยืนยันตัวตนของคุณในการแชท OTR ได้ ให้แบ่งปันลายนิ้วมือ OTR ของคุณเองโดยใช้ช่องทางการสื่อสารภายนอก (นอกแถบความถี่)
+otr-fingerprint-label = ลายนิ้วมือของคุณ:
+view-fingerprint-button =
+ .label = จัดการลายนิ้วมือของผู้ติดต่อ
+ .accesskey = ล
+otr-settings-title = การตั้งค่า OTR
+otr-log =
+ .label = รวมข้อความที่เข้ารหัสแบบ OTR ในรายการบันทึกการสนทนา
+otr-requireEncryption =
+ .label = ต้องการการเข้ารหัสแบบครอบคลุมสำหรับการสนทนาแบบหนึ่งต่อหนึ่ง
+otr-require-encryption-info =
+ หากต้องใช้การเข้ารหัสแบบครอบคลุม ข้อความที่อยู่ในการสนทนาแบบหนึ่งต่อหนึ่งจะไม่ถูกส่งนอกจาก
+ ข้อความเหล่านั้นจะสามารถเข้ารหัสได้ ข้อความที่ไม่ได้เข้ารหัสที่ได้รับจะไม่ถูกแสดงเป็นส่วนหนึ่งของ
+ การสนทนาแบบปกติ และจะไม่ถูกบันทึกลงในรายการบันทึกด้วย
+otr-verifyNudge =
+ .label = เตือนฉันให้ตรวจสอบที่อยู่ติดต่อที่ยังไม่ได้รับการตรวจสอบเสมอ
+
+otr-notYetAvailable = ยังไม่มีในตอนนี้
+
diff --git a/l10n-th/mail/messenger/otr/auth.ftl b/l10n-th/mail/messenger/otr/auth.ftl
new file mode 100644
index 0000000000..8dd1499e3d
--- /dev/null
+++ b/l10n-th/mail/messenger/otr/auth.ftl
@@ -0,0 +1,53 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+otr-auth =
+ .title = ยืนยันตัวตนของผู้ติดต่อ
+ .buttonlabelaccept = ยืนยัน
+
+# Variables:
+# $name (String) - the screen name of a chat contact person
+auth-title = ยืนยันตัวตนของ { $name }
+
+# Variables:
+# $own_name (String) - the user's own screen name
+auth-your-fp-value = ลายนิ้วมือสำหรับคุณ { $own_name }:
+
+# Variables:
+# $their_name (String) - the screen name of a chat contact
+auth-their-fp-value = ลายนิ้วมือสำหรับ { $their_name }:
+
+auth-help = การยืนยันตัวตนของผู้ติดต่อช่วยให้มั่นใจได้ว่าการสนทนานั้นเป็นส่วนตัวอย่างแท้จริง ทำให้บุคคลที่สามแอบฟังหรือจัดการกับการสนทนาได้ยากขึ้น
+auth-helpTitle = ความช่วยเหลือในการตรวจสอบ
+
+auth-questionReceived = นี่คือคำถามที่ผู้ติดต่อของคุณถาม:
+
+auth-yes =
+ .label = ใช่
+
+auth-no =
+ .label = ไม่
+
+auth-verified = ฉันได้ยืนยันแล้วว่านี่เป็นลายนิ้วมือที่ถูกต้อง
+
+auth-manualVerification = การตรวจสอบลายนิ้วมือด้วยตนเอง
+auth-questionAndAnswer = คำถามและคำตอบ
+auth-sharedSecret = ข้อมูลลับที่ใช้ร่วมกัน
+
+auth-manualVerification-label =
+ .label = { auth-manualVerification }
+
+auth-questionAndAnswer-label =
+ .label = { auth-questionAndAnswer }
+
+auth-sharedSecret-label =
+ .label = { auth-sharedSecret }
+
+auth-how = คุณต้องการยืนยันตัวตนของผู้ติดต่อของคุณอย่างไร?
+
+auth-question = ป้อนคำถาม:
+
+auth-answer = ป้อนคำตอบ (ตรงตามตัวพิมพ์ใหญ่-เล็ก):
+
+auth-secret = ป้อนข้อมูลลับ:
diff --git a/l10n-th/mail/messenger/otr/chat.ftl b/l10n-th/mail/messenger/otr/chat.ftl
new file mode 100644
index 0000000000..ea1240e51c
--- /dev/null
+++ b/l10n-th/mail/messenger/otr/chat.ftl
@@ -0,0 +1,19 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+state-label = สถานะการเข้ารหัส:
+
+start-text = เริ่มการสนทนาแบบเข้ารหัส
+
+start-label =
+ .label = { start-text }
+
+start-tooltip =
+ .tooltiptext = { start-text }
+
+end-label =
+ .label = สิ้นสุดการสนทนาแบบเข้ารหัส
+
+auth-label =
+ .label = ยืนยันตัวตนของผู้ติดต่อของคุณ
diff --git a/l10n-th/mail/messenger/otr/finger-sync.ftl b/l10n-th/mail/messenger/otr/finger-sync.ftl
new file mode 100644
index 0000000000..ce932badd2
--- /dev/null
+++ b/l10n-th/mail/messenger/otr/finger-sync.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/.
+
+finger-yes = ยืนยันแล้ว
+finger-no = ยังไม่ยืนยัน
+
+finger-subset-title = เอาลายนิ้วมือออก
+
+finger-remove-all-title = เอาลายนิ้วมือทั้งหมดออก
diff --git a/l10n-th/mail/messenger/otr/finger.ftl b/l10n-th/mail/messenger/otr/finger.ftl
new file mode 100644
index 0000000000..67d3f31b06
--- /dev/null
+++ b/l10n-th/mail/messenger/otr/finger.ftl
@@ -0,0 +1,16 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+finger-screenName =
+ .label = ผู้ติดต่อ
+finger-verified =
+ .label = สถานะการยืนยัน
+finger-fingerprint =
+ .label = ลายนิ้วมือ
+
+finger-remove =
+ .label = เอาที่เลือกออก
+
+finger-remove-all =
+ .label = เอาทั้งหมดออก
diff --git a/l10n-th/mail/messenger/otr/otr.ftl b/l10n-th/mail/messenger/otr/otr.ftl
new file mode 100644
index 0000000000..bccdb8d4e8
--- /dev/null
+++ b/l10n-th/mail/messenger/otr/otr.ftl
@@ -0,0 +1,58 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# Variables:
+# $name (String) - the screen name of a chat contact person
+msgevent-rcvdmsg_unreadable = คุณได้รับข้อความที่ถูกเข้ารหัสซึ่งไม่สามารถอ่านได้จาก { $name }
+
+# Variables:
+# $name (String) - the screen name of a chat contact person
+msgevent-rcvdmsg_malformed = คุณได้รับข้อความข้อมูลที่ผิดรูปแบบจาก { $name }
+
+# A Heartbeat is a technical message used to keep a connection alive.
+# Variables:
+# $name (String) - the screen name of a chat contact person
+msgevent-log_heartbeat_rcvd = ได้รับฮาร์ตบีตจาก { $name }
+
+# A Heartbeat is a technical message used to keep a connection alive.
+# Variables:
+# $name (String) - the screen name of a chat contact person
+msgevent-log_heartbeat_sent = ส่งฮาร์ตบีตไปที่ { $name } แล้ว
+
+# Do not translate 'OTR' (name of an encryption protocol)
+msgevent-rcvdmsg_general_err = เกิดข้อผิดพลาดที่ไม่คาดคิดขณะพยายามปกป้องการสนทนาของคุณโดยใช้ OTR
+
+# Variables:
+# $name (String) - the screen name of a chat contact person
+# $msg (string) - the message that was received.
+msgevent-rcvdmsg_unencrypted = ข้อความที่ได้รับจาก { $name } ต่อไปนี้ไม่ได้ถูกเข้ารหัส: { $msg }
+
+# Do not translate 'OTR' (name of an encryption protocol)
+# Variables:
+# $name (String) - the screen name of a chat contact person
+msgevent-rcvdmsg_unrecognized = คุณได้รับข้อความ OTR ที่ไม่รู้จักจาก { $name }
+
+# Variables:
+# $name (String) - the screen name of a chat contact person
+context-gone_secure_private = เริ่มการสนทนาแบบส่วนตัวกับ { $name } แล้ว
+
+# Variables:
+# $name (String) - the screen name of a chat contact person
+context-gone_secure_unverified = เข้ารหัสแล้ว แต่เริ่มการสนทนาที่ยังไม่ยืนยันกับ { $name } แล้ว
+
+# Variables:
+# $name (String) - the screen name of a chat contact person
+context-still_secure = การเรียกการสนทนาแบบเข้ารหัสกับ { $name } ใหม่สำเร็จแล้ว
+
+error-enc = เกิดข้อผิดพลาดขณะเข้ารหัสข้อความ
+
+error-unreadable = คุณส่งข้อความที่เข้ารหัสซึ่งไม่สามารถอ่านได้
+error-malformed = คุณส่งข้อความข้อมูลที่ผิดรูปแบบ
+
+resent = [ส่งใหม่]
+
+# Variables:
+# $name (String) - the screen name of a chat contact person
+tlv-disconnected = { $name } ได้สิ้นสุดการสนทนาแบบเข้ารหัสของพวกเขากับคุณแล้ว คุณควรสิ้นสุดการสนทนาเช่นกัน
+
diff --git a/l10n-th/mail/messenger/otr/otrUI.ftl b/l10n-th/mail/messenger/otr/otrUI.ftl
new file mode 100644
index 0000000000..085dd68cda
--- /dev/null
+++ b/l10n-th/mail/messenger/otr/otrUI.ftl
@@ -0,0 +1,78 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+start-label = เริ่มการสนทนาแบบเข้ารหัส
+refresh-label = เรียกการสนทนาแบบเข้ารหัสใหม่
+auth-label = ยืนยันตัวตนของผู้ติดต่อของคุณ
+reauth-label = ยืนยันตัวตนของผู้ติดต่อของคุณใหม่
+
+auth-cancel = ยกเลิก
+auth-cancelAccessKey = ย
+
+auth-error = เกิดข้อผิดพลาดขณะยืนยันตัวตนของผู้ติดต่อของคุณ
+auth-success = การยืนยันตัวตนของผู้ติดต่อของคุณเสร็จสมบูรณ์
+auth-successThem = ผู้ติดต่อของคุณยืนยันตัวตนของคุณเรียบร้อยแล้ว คุณอาจต้องการยืนยันตัวตนของพวกเขาด้วยโดยถามคำถามของคุณเอง
+auth-fail = ไม่สามารถยืนยันตัวตนของผู้ติดต่อของคุณได้
+auth-waiting = กำลังรอให้ผู้ติดต่อยืนยันให้เสร็จสมบูรณ์…
+
+finger-verify = ยืนยัน
+finger-verify-accessKey = ย
+
+# Do not translate 'OTR' (name of an encryption protocol)
+buddycontextmenu-label = เพิ่มลายนิ้วมือ OTR
+
+# Variables:
+# $name (String) - the screen name of a chat contact person
+alert-start = กำลังพยายามเริ่มการสนทนาแบบเข้ารหัสกับ { $name }
+
+# Variables:
+# $name (String) - the screen name of a chat contact person
+alert-refresh = กำลังพยายามเรียกการสนทนาแบบเข้ารหัสกับ { $name } ใหม่
+
+# Variables:
+# $name (String) - the screen name of a chat contact person
+alert-gone_insecure = การสนทนาแบบเข้ารหัสกับ { $name } สิ้นสุดแล้ว
+
+state-not_private = การสนทนาปัจจุบันไม่เป็นส่วนตัว
+
+# Variables:
+# $name (String) - the screen name of a chat contact person
+state-unverified = การสนทนาปัจจุบันถูกเข้ารหัสแล้วแต่ไม่เป็นส่วนตัว เนื่องจากยังไม่ได้ยืนยันตัวตนของ { $name }
+
+# Variables:
+# $name (String) - the screen name of a chat contact person
+state-private = ตัวตนของ { $name } ได้ถูกยืนยันแล้ว การสนทนาปัจจุบันถูกเข้ารหัสแล้วและเป็นส่วนตัว
+
+# Variables:
+# $name (String) - the screen name of a chat contact person
+state-finished = { $name } ได้สิ้นสุดการสนทนาแบบเข้ารหัสของพวกเขากับคุณแล้ว คุณควรสิ้นสุดการสนทนาเช่นกัน
+
+state-not_private-label = ไม่ปลอดภัย
+state-unverified-label = ยังไม่ยืนยัน
+state-private-label = ส่วนตัว
+state-finished-label = สิ้นสุดแล้ว
+
+# Variables:
+# $name (String) - the screen name of a chat contact person
+verify-request = { $name } ขอให้คุณยืนยันตัวตนของคุณ
+
+# Variables:
+# $name (String) - the screen name of a chat contact person
+afterauth-private = คุณได้ยืนยันตัวตนของ { $name } แล้ว
+
+# Variables:
+# $name (String) - the screen name of a chat contact person
+afterauth-unverified = ยังไม่ได้ยืนยันตัวตนของ { $name }
+
+verify-title = ยืนยันตัวตนของผู้ติดต่อของคุณ
+error-title = ข้อผิดพลาด
+success-title = การเข้ารหัสแบบครอบคลุม
+successThem-title = ยืนยันตัวตนของผู้ติดต่อของคุณ
+fail-title = ไม่สามารถยืนยันได้
+waiting-title = ส่งคำขอการยืนยันแล้ว
+
+# Do not translate 'OTR' (name of an encryption protocol)
+# Variables:
+# $error (String) - contains an error message that describes the cause of the failure
+otr-genkey-failed = การสร้างคีย์ส่วนตัว OTR ล้มเหลว: { $error }
diff --git a/l10n-th/mail/messenger/policies/aboutPolicies.ftl b/l10n-th/mail/messenger/policies/aboutPolicies.ftl
new file mode 100644
index 0000000000..2cf3489d76
--- /dev/null
+++ b/l10n-th/mail/messenger/policies/aboutPolicies.ftl
@@ -0,0 +1,17 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+about-policies-title = นโยบายองค์กร
+
+# '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/l10n-th/mail/messenger/policies/policies-descriptions.ftl b/l10n-th/mail/messenger/policies/policies-descriptions.ftl
new file mode 100644
index 0000000000..5db4371daa
--- /dev/null
+++ b/l10n-th/mail/messenger/policies/policies-descriptions.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/.
+
+
+## The Enterprise Policies feature is aimed at system administrators
+## who want to deploy these settings across several Thunderbird installations
+## all at once. This is traditionally done through the Windows Group Policy
+## feature, but the system also supports other forms of deployment.
+## These are short descriptions for individual policies, to be displayed
+## in the documentation section in about:policies.
+
+policy-3rdparty = ตั้งนโยบายที่ WebExtensions สามารถเข้าถึงผ่าน chrome.storage.managed
+
+policy-AppAutoUpdate = เปิดใช้งานหรือปิดใช้งานการอัปเดตแอปพลิเคชันอัตโนมัติ
+
+policy-AppUpdateURL = ตั้ง URL อัปเดตแอปที่กำหนดเอง
+
+policy-Authentication = กำหนดค่าการรับรองความถูกต้องแบบรวมสำหรับเว็บไซต์ที่สนับสนุน
+
+policy-BlockAboutAddons = ปิดกั้นการเข้าถึงตัวจัดการส่วนเสริม (about:addons)
+
+policy-BlockAboutConfig = ปิดกั้นการเข้าถึงหน้า about:config
+
+policy-BlockAboutProfiles = ปิดกั้นการเข้าถึงหน้า about:profiles
+
+policy-BlockAboutSupport = ปิดกั้นการเข้าถึงหน้า about:support
+
+policy-CaptivePortal = เปิดหรือปิดใช้งานการสนับสนุนพอร์ทัลแบบ Captive
+
+policy-CertificatesDescription = เพิ่มใบรับรองหรือใช้ใบรับรองในตัว
+
+policy-Cookies = อนุญาตหรือปฏิเสธเว็บไซต์เพื่อตั้งคุกกี้
+
+policy-DisabledCiphers = ปิดการใช้งานรหัสลับ
+
+policy-DefaultDownloadDirectory = ตั้งไดเรกทอรีการดาวน์โหลดเริ่มต้น
+
+policy-DisableAppUpdate = ป้องกันไม่ให้ { -brand-short-name } อัปเดต
+
+policy-DisableDefaultClientAgent = ป้องกันไม่ให้ตัวแทนไคลเอนต์เริ่มต้นทำงานใด ๆ ใช้ได้กับ Windows เท่านั้น เนื่องจากแพลตฟอร์มอื่น ๆ ไม่มีตัวแทน
+
+policy-DisableDeveloperTools = ปิดกั้นการเข้าถึงเครื่องมือนักพัฒนา
+
+policy-DisableFeedbackCommands = ปิดใช้งานคำสั่งสำหรับส่งความคิดเห็นจากเมนู วิธีใช้ (ส่งความคิดเห็นและรายงานไซต์หลอกลวง)
+
+policy-DisableForgetButton = ป้องกันไม่ให้เข้าถึงปุ่ม ลืม
+
+policy-DisableFormHistory = ไม่จดจำประวัติการค้นหาและแบบฟอร์ม
+
+policy-DisableMasterPasswordCreation = หากเป็น true จะไม่สามารถสร้างรหัสผ่านหลักได้
+
+policy-DisablePasswordReveal = ไม่อนุญาตให้เปิดเผยรหัสผ่านในข้อมูลการเข้าสู่ระบบที่บันทึกไว้
+
+policy-DisableProfileImport = ปิดใช้งานคำสั่งเมนูเพื่อนำเข้าข้อมูลจากแอปพลิเคชันอื่น
+
+policy-DisableSafeMode = ปิดใช้งานคุณลักษณะสำหรับเริ่มการทำงานใหม่ในโหมดปลอดภัย หมายเหตุ: สามารถปิดใช้งานแป้น Shift สำหรับเข้าสู่โหมดปลอดภัยได้บน Windows เท่านั้นโดยใช้นโยบายกลุ่ม
+
+policy-DisableSecurityBypass = ป้องกันไม่ให้ผู้ใช้ข้ามคำเตือนความปลอดภัย
+
+policy-DisableSystemAddonUpdate = ป้องกันไม่ให้ { -brand-short-name } ติดตั้งและอัปเดตส่วนเสริมของระบบ
+
+policy-DisableTelemetry = ปิดการวัดและส่งข้อมูลทางไกล
+
+policy-DisplayMenuBar = แสดงแถบเมนูโดยค่าเริ่มต้น
+
+policy-DNSOverHTTPS = กำหนดค่า DNS ผ่าน HTTPS
+
+policy-DontCheckDefaultClient = ปิดใช้งานการตรวจสอบไคลเอ็นต์เริ่มต้นเมื่อเปิดโปรแกรม
+
+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-HardwareAcceleration = หากเป็น false ให้ปิดการเร่งด้วยฮาร์ดแวร์
+
+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-NetworkPrediction = เปิดหรือปิดใช้งานการคาดเดาเครือข่าย (การดึงข้อมูล DNS ล่วงหน้า)
+
+policy-OfferToSaveLogins = บังคับให้การตั้งค่าอนุญาต { -brand-short-name } ให้เสนอให้จดจำการเข้าสู่ระบบและรหัสผ่านที่บันทึกไว้ โดยสามารถกำหนดค่าเป็นทั้งจริงและเท็จได้
+
+policy-OfferToSaveLoginsDefault = กำหนดค่าเริ่มต้นเพื่ออนุญาต { -brand-short-name } ให้เสนอให้จดจำข้อมูลการเข้าสู่ระบบและรหัสผ่านที่บันทึกไว้ โดยสามารถกำหนดค่าเป็นทั้งจริงและเท็จได้
+
+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-Preferences = ตั้งและล็อกค่าสำหรับเซตย่อยของค่ากำหนด
+
+policy-PromptForDownloadLocation = ถามตำแหน่งที่จะบันทึกไฟล์เมื่อดาวน์โหลด
+
+policy-Proxy = กำหนดค่าการตั้งค่าพร็อกซี
+
+policy-RequestedLocales = ตั้งค่ารายการภาษาสำหรับแอปพลิเคชันตามลำดับที่ต้องการ
+
+policy-SanitizeOnShutdown2 = ล้างข้อมูลการนำทางเมื่อปิดเครื่อง
+
+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-SSLVersionMax = ตั้งรุ่น SSL สูงสุด
+
+policy-SSLVersionMin = ตั้งรุ่น SSL ต่ำสุด
+
+policy-SupportMenu = เพิ่มรายการเมนูฝ่ายสนับสนุนที่กำหนดเองไปยังเมนูช่วยเหลือ
+
+policy-UserMessaging = ไม่ต้องแสดงข้อความบางส่วนถึงผู้ใช้
+
+# “format” refers to the format used for the value of this policy.
+policy-WebsiteFilter = ปิดกั้นไม่ให้เยี่ยมชมเว็บไซต์ ดูคู่มือสำหรับรายละเอียดเพิ่มเติมเกี่ยวกับรูปแบบ
diff --git a/l10n-th/mail/messenger/preferences/am-im.ftl b/l10n-th/mail/messenger/preferences/am-im.ftl
new file mode 100644
index 0000000000..07ba7db863
--- /dev/null
+++ b/l10n-th/mail/messenger/preferences/am-im.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/.
+
+account-settingsTitle = ตั้งค่าการรับรองความถูกต้อง
+account-channelTitle = แชนเนลเริ่มต้น
diff --git a/l10n-th/mail/messenger/preferences/application-manager.ftl b/l10n-th/mail/messenger/preferences/application-manager.ftl
new file mode 100644
index 0000000000..4cce166588
--- /dev/null
+++ b/l10n-th/mail/messenger/preferences/application-manager.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/.
+
+app-manager-window-dialog =
+ .title = รายละเอียดแอปพลิเคชัน
+ .style = width: 30em; min-height: 20em;
+
+remove-app-button =
+ .label = เอาออก
+ .accesskey = อ
diff --git a/l10n-th/mail/messenger/preferences/attachment-reminder.ftl b/l10n-th/mail/messenger/preferences/attachment-reminder.ftl
new file mode 100644
index 0000000000..c6ed5915e7
--- /dev/null
+++ b/l10n-th/mail/messenger/preferences/attachment-reminder.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/.
+
+attachment-reminder-window =
+ .title = คำสำคัญคำเตือนไฟล์แนบ
+
+attachment-reminder-label = { -brand-short-name } จะเตือนคุณเกี่ยวกับไฟล์แนบที่หายไปหากคุณกำลังจะส่งอีเมลที่มีคำสำคัญคำใดคำหนึ่งเหล่านี้
+
+keyword-new-button =
+ .label = ใหม่…
+ .accesskey = ห
+
+keyword-edit-button =
+ .label = แก้ไข…
+ .accesskey = ก
+
+keyword-remove-button =
+ .label = ลบ
+ .accesskey = ล
+
+new-keyword-title = คำสำคัญใหม่
+new-keyword-label = คำสำคัญ:
+
+edit-keyword-title = แก้ไขคำสำคัญ
+edit-keyword-label = คำสำคัญ:
diff --git a/l10n-th/mail/messenger/preferences/colors.ftl b/l10n-th/mail/messenger/preferences/colors.ftl
new file mode 100644
index 0000000000..af2a9549e8
--- /dev/null
+++ b/l10n-th/mail/messenger/preferences/colors.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/.
+
+colors-dialog-window =
+ .title = สี
+ .style =
+ { PLATFORM() ->
+ [macos] width: 41em !important
+ *[other] width: 38em !important
+ }
+
+colors-dialog-legend = ข้อความและพื้นหลัง
+
+text-color-label =
+ .value = ข้อความ:
+ .accesskey = ข
+
+background-color-label =
+ .value = พื้นหลัง:
+ .accesskey = พ
+
+use-system-colors =
+ .label = ใช้สีของระบบ
+ .accesskey = ช
+
+colors-link-legend = สีลิงก์
+
+link-color-label =
+ .value = ลิงก์ที่ยังไม่เคยเยี่ยมชม:
+ .accesskey = ย
+
+visited-link-color-label =
+ .value = ลิงก์ที่เยี่ยมชมแล้ว:
+ .accesskey = ล
+
+underline-link-checkbox =
+ .label = ขีดเส้นใต้ลิงก์
+ .accesskey = ด
+
+override-color-label =
+ .value = เขียนทับสีที่ระบุโดยเนื้อหาด้วยที่ฉันเลือกไว้ด้านบน:
+ .accesskey = ข
+
+override-color-always =
+ .label = เสมอ
+
+override-color-auto =
+ .label = เฉพาะกับชุดตกแต่งความคมชัดสูงเท่านั้น
+
+override-color-never =
+ .label = ไม่เลย
diff --git a/l10n-th/mail/messenger/preferences/connection.ftl b/l10n-th/mail/messenger/preferences/connection.ftl
new file mode 100644
index 0000000000..5c67506409
--- /dev/null
+++ b/l10n-th/mail/messenger/preferences/connection.ftl
@@ -0,0 +1,111 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+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 = กำหนดเอง
+
+connection-dialog-window =
+ .title = การตั้งค่าการเชื่อมต่อ
+ .style =
+ { PLATFORM() ->
+ [macos] width: 44em !important
+ *[other] width: 49em !important
+ }
+
+connection-proxy-legend = กำหนดค่าพร็อกซีเพื่อเข้าถึงอินเทอร์เน็ต
+
+proxy-type-no =
+ .label = ไม่มีพร็อกซี
+ .accesskey = ม
+
+proxy-type-wpad =
+ .label = ตรวจหาการตั้งค่าพร็อกซีอัตโนมัติสำหรับเครือข่ายนี้
+ .accesskey = ต
+
+proxy-type-system =
+ .label = ใช้การตั้งค่าพร็อกซีของระบบ
+ .accesskey = ช
+
+proxy-type-manual =
+ .label = การกำหนดค่าพร็อกซีด้วยตนเอง:
+ .accesskey = ก
+
+proxy-http-label =
+ .value = พร็อกซี HTTP:
+ .accesskey = h
+
+http-port-label =
+ .value = พอร์ต:
+ .accesskey = พ
+
+proxy-http-sharing =
+ .label = ใช้พร็อกซีนี้สำหรับ HTTPS ด้วย
+ .accesskey = ก
+
+proxy-https-label =
+ .value = พร็อกซี HTTPS:
+ .accesskey = S
+
+ssl-port-label =
+ .value = พอร์ต:
+ .accesskey = อ
+
+proxy-socks-label =
+ .value = โฮสต์ SOCKS:
+ .accesskey = c
+
+socks-port-label =
+ .value = พอร์ต:
+ .accesskey = ร
+
+proxy-socks4-label =
+ .label = SOCKS v4
+ .accesskey = k
+
+proxy-socks5-label =
+ .label = SOCKS v5
+ .accesskey = v
+
+proxy-type-auto =
+ .label = URL กำหนดค่าพร็อกซีอัตโนมัติ:
+ .accesskey = ห
+
+proxy-reload-label =
+ .label = โหลดใหม่
+ .accesskey = โ
+
+no-proxy-label =
+ .value = ไม่มีพร็อกซีสำหรับ:
+ .accesskey = ไ
+
+no-proxy-example = ตัวอย่าง: .mozilla.org, .net.nz, 192.168.1.0/24
+
+# Note: Do not translate localhost, 127.0.0.1 and ::1.
+no-proxy-localhost-label = การเชื่อมต่อไปยัง localhost, 127.0.0.1, และ ::1 จะไม่ผ่านพร็อกซี
+
+proxy-password-prompt =
+ .label = ไม่ต้องถามสำหรับการรับรองความถูกต้องหากรหัสผ่านถูกบันทึกไว้
+ .accesskey = ถ
+ .tooltiptext = ตัวเลือกนี้จะรับรองความถูกต้องของคุณไปยังพร็อกซีโดยอัตโนมัติเมื่อคุณได้บันทึกหนังสือรับรองไว้ คุณจะได้รับการแจ้งหากการรับรองความถูกต้องล้มเหลว
+
+proxy-remote-dns =
+ .label = DNS แบบพร็อกซีเมื่อใช้ SOCKS v5
+ .accesskey = d
+
+proxy-enable-doh =
+ .label = เปิดใช้งาน DNS ผ่าน HTTPS
+ .accesskey = ป
diff --git a/l10n-th/mail/messenger/preferences/cookies.ftl b/l10n-th/mail/messenger/preferences/cookies.ftl
new file mode 100644
index 0000000000..05b40a7276
--- /dev/null
+++ b/l10n-th/mail/messenger/preferences/cookies.ftl
@@ -0,0 +1,55 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+cookies-window-dialog =
+ .title = คุกกี้
+ .style = width: 36em;
+
+window-close-key =
+ .key = w
+
+window-focus-search-key =
+ .key = f
+
+window-focus-search-alt-key =
+ .key = k
+
+filter-search-label =
+ .value = ค้นหา:
+ .accesskey = ค
+
+cookies-on-system-label = คุกกี้ดังต่อไปนี้ถูกจัดเก็บบนคอมพิวเตอร์ของคุณ:
+
+treecol-site-header =
+ .label = ไซต์
+
+treecol-name-header =
+ .label = ชื่อคุกกี้
+
+props-name-label =
+ .value = ชื่อ:
+props-value-label =
+ .value = เนื้อหา:
+props-domain-label =
+ .value = โฮสต์:
+props-path-label =
+ .value = เส้นทาง:
+props-secure-label =
+ .value = ส่งสำหรับ:
+props-expires-label =
+ .value = หมดอายุ:
+props-container-label =
+ .value = การแยกข้อมูล:
+
+remove-cookie-button =
+ .label = เอาคุกกี้ออก
+ .accesskey = อ
+
+remove-all-cookies-button =
+ .label = เอาคุกกี้ทั้งหมดออก
+ .accesskey = ค
+
+cookie-close-button =
+ .label = ปิด
+ .accesskey = ป
diff --git a/l10n-th/mail/messenger/preferences/dock-options.ftl b/l10n-th/mail/messenger/preferences/dock-options.ftl
new file mode 100644
index 0000000000..60f4d8a4bd
--- /dev/null
+++ b/l10n-th/mail/messenger/preferences/dock-options.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/.
+
+dock-options-window-dialog =
+ .title = ตัวเลือกไอคอนแอป
+ .style = width: 35em;
+
+bounce-system-dock-icon =
+ .label = ทำให้ไอคอนแอปเคลื่อนไหวเมื่อมีข้อความใหม่มาถึง
+ .accesskey = ท
+
+dock-icon-legend = ป้ายไอคอนแอป
+
+dock-icon-show-label =
+ .value = ติดป้ายไอคอนแอปพร้อม:
+
+count-unread-messages-radio =
+ .label = จำนวนข้อความที่ยังไม่ได้อ่าน
+ .accesskey = ย
+
+count-new-messages-radio =
+ .label = จำนวนข้อความใหม่
+ .accesskey = ม
+
+notification-settings-info = คุณสามารถปิดใช้งานป้ายในบานหน้าต่างการแจ้งเตือนของค่ากำหนดระบบ
diff --git a/l10n-th/mail/messenger/preferences/fonts.ftl b/l10n-th/mail/messenger/preferences/fonts.ftl
new file mode 100644
index 0000000000..73dc3098ec
--- /dev/null
+++ b/l10n-th/mail/messenger/preferences/fonts.ftl
@@ -0,0 +1,151 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.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-close =
+ .key = w
+
+# Variables:
+# $name {string, "Arial"} - Name of the default font
+fonts-label-default =
+ .label = ค่าเริ่มต้น ({ $name })
+fonts-label-default-unnamed =
+ .label = ค่าเริ่มต้น
+
+fonts-encoding-dialog-title =
+ .title = แบบอักษรและรหัสอักขระ
+
+fonts-language-legend =
+ .value = แบบอักษรสำหรับ:
+ .accesskey = บ
+
+fonts-proportional-label =
+ .value = ความกว้างตามสัดส่วน:
+ .accesskey = ค
+
+## Languages
+
+# Note: Translate "Latin" as the name of Latin (Roman) script, not as the name of the Latin language.
+font-language-group-latin =
+ .label = ละติน
+font-language-group-japanese =
+ .label = ญี่ปุ่น
+font-language-group-trad-chinese =
+ .label = จีนตัวเต็ม (ไต้หวัน)
+font-language-group-simpl-chinese =
+ .label = จีนตัวย่อ
+font-language-group-trad-chinese-hk =
+ .label = จีนตัวเต็ม (ฮ่องกง)
+font-language-group-korean =
+ .label = เกาหลี
+font-language-group-cyrillic =
+ .label = ซีริลลิก
+font-language-group-el =
+ .label = กรีก
+font-language-group-other =
+ .label = ระบบการเขียนอื่น ๆ
+font-language-group-thai =
+ .label = ไทย
+font-language-group-hebrew =
+ .label = ฮิบรู
+font-language-group-arabic =
+ .label = อาหรับ
+font-language-group-devanagari =
+ .label = เทวนาครี
+font-language-group-tamil =
+ .label = ทมิฬ
+font-language-group-armenian =
+ .label = อาร์เมเนีย
+font-language-group-bengali =
+ .label = เบงกาลี
+font-language-group-canadian =
+ .label = อักษรพยางค์พื้นเมืองแคนาดา
+font-language-group-ethiopic =
+ .label = เอธิโอเปีย
+font-language-group-georgian =
+ .label = จอร์เจีย
+font-language-group-gujarati =
+ .label = คุชราตี
+font-language-group-gurmukhi =
+ .label = เกอร์มุกห์
+font-language-group-khmer =
+ .label = เขมร
+font-language-group-malayalam =
+ .label = มะละยาลัม
+font-language-group-math =
+ .label = คณิตศาสตร์
+font-language-group-odia =
+ .label = โอเดีย
+font-language-group-telugu =
+ .label = เตลูกู
+font-language-group-kannada =
+ .label = กัณณาท
+font-language-group-sinhala =
+ .label = สิงหล
+font-language-group-tibetan =
+ .label = ทิเบต
+
+## Default font type
+
+default-font-serif =
+ .label = มีเชิง
+
+default-font-sans-serif =
+ .label = ไม่มีเชิง
+
+font-size-label =
+ .value = ขนาด:
+ .accesskey = e
+
+font-size-monospace-label =
+ .value = ขนาด:
+ .accesskey = i
+
+font-serif-label =
+ .value = มีเชิง:
+ .accesskey = ม
+
+font-sans-serif-label =
+ .value = ไม่มีเชิง:
+ .accesskey = ไ
+
+font-monospace-label =
+ .value = ความกว้างคงที่:
+ .accesskey = ว
+
+font-min-size-label =
+ .value = ขนาดอักษรต่ำสุด:
+ .accesskey = ข
+
+min-size-none =
+ .label = ไม่มี
+
+## Fonts in message
+
+font-control-legend = การควบคุมแบบอักษร
+
+use-document-fonts-checkbox =
+ .label = อนุญาตให้ข้อความใช้แบบอักษรอื่น ๆ
+ .accesskey = อ
+
+use-fixed-width-plain-checkbox =
+ .label = ใช้แบบอักษรความกว้างคงที่สำหรับข้อความตัวอักษรธรรมดา
+ .accesskey = ช
+
+## Language settings
+
+text-encoding-legend = รหัสอักขระ
+
+text-encoding-description = ตั้งค่ารหัสอักขระเริ่มต้นสำหรับการส่งและรับจดหมาย
+
+font-outgoing-email-label =
+ .value = จดหมายขาออก:
+ .accesskey = จ
+
+font-incoming-email-label =
+ .value = จดหมายขาเข้า:
+ .accesskey = ด
+
+default-font-reply-checkbox =
+ .label = เมื่อเป็นไปได้ ให้ใช้รหัสอักขระเริ่มต้นในการตอบกลับ
+ .accesskey = เ
diff --git a/l10n-th/mail/messenger/preferences/languages.ftl b/l10n-th/mail/messenger/preferences/languages.ftl
new file mode 100644
index 0000000000..1e5be37bd7
--- /dev/null
+++ b/l10n-th/mail/messenger/preferences/languages.ftl
@@ -0,0 +1,45 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+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 = พ
+
+messenger-languages-window =
+ .title = การตั้งค่าภาษาของ { -brand-short-name }
+ .style = width: 40em
+
+messenger-languages-description = { -brand-short-name } จะแสดงผลภาษาแรกเป็นค่าเริ่มต้นของคุณและจะแสดงผลภาษาอื่นแทนหากจำเป็นตามลำดับที่ปรากฏ
+
+messenger-languages-search = ค้นหาภาษาเพิ่มเติม…
+
+messenger-languages-searching =
+ .label = กำลังค้นหาภาษา…
+
+messenger-languages-downloading =
+ .label = กำลังดาวน์โหลด…
+
+messenger-languages-select-language =
+ .label = เลือกภาษาที่จะเพิ่ม…
+ .placeholder = เลือกภาษาที่จะเพิ่ม…
+
+messenger-languages-installed-label = ภาษาที่ติดตั้ง
+messenger-languages-available-label = ภาษาที่มี
+
+messenger-languages-error = { -brand-short-name } ไม่สามารถอัปเดตภาษาของคุณได้ในขณะนี้ ตรวจสอบว่าคุณเชื่อมต่อกับอินเทอร์เน็ตแล้วหรือลองอีกครั้ง
diff --git a/l10n-th/mail/messenger/preferences/new-tag.ftl b/l10n-th/mail/messenger/preferences/new-tag.ftl
new file mode 100644
index 0000000000..a07aa0d8cc
--- /dev/null
+++ b/l10n-th/mail/messenger/preferences/new-tag.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/.
+
+tag-dialog-window =
+ .title = ป้ายกำกับใหม่
+tag-name-label =
+ .value = ชื่อป้ายกำกับ:
+ .accesskey = ช
+tag-color-label =
+ .value = สี:
+ .accesskey = ส
diff --git a/l10n-th/mail/messenger/preferences/notifications.ftl b/l10n-th/mail/messenger/preferences/notifications.ftl
new file mode 100644
index 0000000000..a0f77b2ab9
--- /dev/null
+++ b/l10n-th/mail/messenger/preferences/notifications.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/.
+
+notifications-dialog-window =
+ .title = ปรับแต่งการแจ้งเตือนจดหมายใหม่
+
+customize-alert-description = เลือกข้อมูลที่จะแสดงในข้อความแจ้งเตือน:
+
+preview-text-checkbox =
+ .label = ตัวอย่างข้อความตัวอักษร
+ .accesskey = ต
+
+subject-checkbox =
+ .label = หัวเรื่อง
+ .accesskey = ห
+
+sender-checkbox =
+ .label = ผู้ส่ง
+ .accesskey = ผ
+
+## Note: open-time-label-before is displayed first, then there's a field where
+## the user can enter a number, and open-time-label-after is displayed at the end
+## of the line. The translations of the open-time-label-before and open-time-label-after
+## parts don't have to mean the exact same thing as in English; please try instead
+## to translate the whole sentence.
+
+open-time-label-before =
+ .value = แสดงการแจ้งเตือนจดหมายใหม่เป็นเวลา
+ .accesskey = ส
+
+open-time-label-after =
+ .value = วินาที
diff --git a/l10n-th/mail/messenger/preferences/offline.ftl b/l10n-th/mail/messenger/preferences/offline.ftl
new file mode 100644
index 0000000000..4520601736
--- /dev/null
+++ b/l10n-th/mail/messenger/preferences/offline.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/.
+
+offline-dialog-window =
+ .title = การตั้งค่าออฟไลน์
+
+autodetect-online-label =
+ .label = ติดตามสถานะออนไลน์ที่ตรวจพบโดยอัตโนมัติ
+ .accesskey = ต
+
+startup-label = สถานะที่กำหนดเองเมื่อเริ่มการทำงาน:
+
+status-radio-remember =
+ .label = จดจำสถานะออนไลน์ก่อนหน้า
+ .accesskey = จ
+
+status-radio-ask =
+ .label = ถามฉันสำหรับสถานะออนไลน์
+ .accesskey = ม
+
+status-radio-always-online =
+ .label = ออนไลน์
+ .accesskey = น
+
+status-radio-always-offline =
+ .label = ออฟไลน์
+ .accesskey = ฟ
+
+going-online-label = ส่งข้อความที่ยังไม่ได้ส่งขณะทำงานแบบออนไลน์หรือไม่?
+
+going-online-auto =
+ .label = ใช่
+ .accesskey = ช
+
+going-online-not =
+ .label = ไม่
+ .accesskey = ม
+
+going-online-ask =
+ .label = ถามฉัน
+ .accesskey = ถ
+
+going-offline-label = ดาวน์โหลดข้อความสำหรับใช้งานออฟไลน์เมื่อทำงานแบบออฟไลน์หรือไม่?
+
+going-offline-auto =
+ .label = ใช่
+ .accesskey = ใ
+
+going-offline-not =
+ .label = ไม่
+ .accesskey = ไ
+
+going-offline-ask =
+ .label = ถามฉัน
+ .accesskey = า
diff --git a/l10n-th/mail/messenger/preferences/passwordManager.ftl b/l10n-th/mail/messenger/preferences/passwordManager.ftl
new file mode 100644
index 0000000000..d3fb8f7989
--- /dev/null
+++ b/l10n-th/mail/messenger/preferences/passwordManager.ftl
@@ -0,0 +1,85 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+saved-logins =
+ .title = การเข้าสู่ระบบที่บันทึกไว้
+window-close =
+ .key = w
+focus-search-shortcut =
+ .key = f
+focus-search-altshortcut =
+ .key = k
+copy-provider-url-cmd =
+ .label = คัดลอก URL
+ .accesskey = ก
+copy-username-cmd =
+ .label = คัดลอกชื่อผู้ใช้
+ .accesskey = ช
+edit-username-cmd =
+ .label = แก้ไขชื่อผู้ใช้
+ .accesskey = ก
+copy-password-cmd =
+ .label = คัดลอกรหัสผ่าน
+ .accesskey = ค
+edit-password-cmd =
+ .label = แก้ไขรหัสผ่าน
+ .accesskey = ก
+search-filter =
+ .accesskey = ค
+ .placeholder = ค้นหา
+column-heading-provider =
+ .label = ผู้ให้บริการ
+column-heading-username =
+ .label = ชื่อผู้ใช้
+column-heading-password =
+ .label = รหัสผ่าน
+column-heading-time-created =
+ .label = วันที่ใช้ครั้งแรก
+column-heading-time-last-used =
+ .label = วันที่ใช้ล่าสุด
+column-heading-time-password-changed =
+ .label = วันที่เปลี่ยนแปลงล่าสุด
+column-heading-times-used =
+ .label = จำนวนครั้งที่ใช้
+remove =
+ .label = เอาออก
+ .accesskey = อ
+import =
+ .label = นำเข้า…
+ .accesskey = น
+close-button =
+ .label = ปิด
+ .accesskey = ป
+
+show-passwords =
+ .label = แสดงรหัสผ่าน
+ .accesskey = ร
+hide-passwords =
+ .label = ซ่อนรหัสผ่าน
+ .accesskey = ร
+logins-description-all = การเข้าสู่ระบบสำหรับผู้ให้บริการดังต่อไปนี้ถูกจัดเก็บไว้ในคอมพิวเตอร์ของคุณ
+logins-description-filtered = การเข้าสู่ระบบดังต่อไปนี้ตรงกับที่คุณค้นหา:
+remove-all =
+ .label = เอาทั้งหมดออก
+ .accesskey = ท
+remove-all-shown =
+ .label = เอาที่แสดงทั้งหมดออก
+ .accesskey = ท
+remove-all-passwords-prompt = คุณแน่ใจหรือไม่ว่าต้องการเอารหัสผ่านทั้งหมดออก?
+remove-all-passwords-title = เอารหัสผ่านทั้งหมดออก
+no-master-password-prompt = คุณแน่ใจหรือไม่ว่าต้องการแสดงรหัสผ่านของคุณ?
+
+## OS Authentication dialog
+
+# This message can be seen by trying to show or copy the passwords.
+password-os-auth-dialog-message = ยืนยันตัวตนของคุณเพื่อเผยรหัสผ่านที่บันทึกไว้
+
+# This message can be seen by trying to show or copy the passwords.
+# The macOS strings are preceded by the operating system with "Thunderbird is trying to "
+# and includes subtitle of "Enter password for the user "xxx" to allow this." These
+# notes are only valid for English. Please test in your locale.
+password-os-auth-dialog-message-macosx = เผยรหัสผ่านที่บันทึกไว้
+
+# Don't change this label.
+password-os-auth-dialog-caption = { -brand-full-name }
diff --git a/l10n-th/mail/messenger/preferences/permissions.ftl b/l10n-th/mail/messenger/preferences/permissions.ftl
new file mode 100644
index 0000000000..bdb6e872af
--- /dev/null
+++ b/l10n-th/mail/messenger/preferences/permissions.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/.
+
+permissions-reminder-window =
+ .title = ข้อยกเว้น
+ .style = width: 45em;
+
+window-close-key =
+ .key = w
+
+website-address-label =
+ .value = ที่อยู่เว็บไซต์:
+ .accesskey = ท
+
+block-button =
+ .label = ปิดกั้น
+ .accesskey = ป
+
+allow-session-button =
+ .label = อนุญาตในวาระ
+ .accesskey = น
+
+allow-button =
+ .label = อนุญาต
+ .accesskey = อ
+
+treehead-sitename-label =
+ .label = ไซต์
+
+treehead-status-label =
+ .label = สถานะ
+
+remove-site-button =
+ .label = เอาไซต์ออก
+ .accesskey = อ
+
+remove-all-site-button =
+ .label = เอาไซต์ทั้งหมดออก
+ .accesskey = ต
+
+cancel-button =
+ .label = ยกเลิก
+ .accesskey = ย
+
+save-button =
+ .label = บันทึกการเปลี่ยนแปลง
+ .accesskey = บ
+
+permission-can-label = อนุญาต
+permission-can-access-first-party-label = อนุญาตจากบุคคลที่หนึ่งเท่านั้น
+permission-can-session-label = อนุญาตในวาระ
+permission-cannot-label = ปิดกั้น
+
+invalid-uri-message = โปรดป้อนชื่อโฮสต์ที่ถูกต้อง
+invalid-uri-title = ชื่อโฮสต์ที่ป้อนไม่ถูกต้อง
diff --git a/l10n-th/mail/messenger/preferences/preferences.ftl b/l10n-th/mail/messenger/preferences/preferences.ftl
new file mode 100644
index 0000000000..d8971de2ac
--- /dev/null
+++ b/l10n-th/mail/messenger/preferences/preferences.ftl
@@ -0,0 +1,712 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+close-button =
+ .aria-label = ปิด
+preferences-title =
+ .title =
+ { PLATFORM() ->
+ [windows] ตัวเลือก
+ *[other] ค่ากำหนด
+ }
+pane-general-title = ทั่วไป
+category-general =
+ .tooltiptext = { pane-general-title }
+pane-compose-title = การเขียน
+category-compose =
+ .tooltiptext = การเขียน
+pane-privacy-title = ความเป็นส่วนตัวและความปลอดภัย
+category-privacy =
+ .tooltiptext = ความเป็นส่วนตัวและความปลอดภัย
+pane-chat-title = แชท
+category-chat =
+ .tooltiptext = แชท
+pane-calendar-title = ปฏิทิน
+category-calendar =
+ .tooltiptext = ปฏิทิน
+general-language-and-appearance-header = ภาษาและลักษณะที่ปรากฏ
+general-incoming-mail-header = จดหมายขาเข้า
+general-files-and-attachment-header = ไฟล์และสิ่งที่แนบมา
+general-tags-header = ป้ายกำกับ
+general-reading-and-display-header = การอ่านและการแสดงผล
+general-updates-header = การอัปเดต
+general-network-and-diskspace-header = เครือข่ายและพื้นที่ดิสก์
+general-indexing-label = การจัดทำดัชนี
+composition-category-header = การเขียนข้อความ
+composition-attachments-header = สิ่งที่แนบมา
+composition-spelling-title = การสะกดคำ
+compose-html-style-title = ลักษณะ HTML
+composition-addressing-header = การกำหนดที่อยู่
+privacy-main-header = ความเป็นส่วนตัว
+privacy-passwords-header = รหัสผ่าน
+privacy-junk-header = ขยะ
+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 = เรียนรู้เพิ่มเติม
+# 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 =
+ .label = อนุญาตให้ { -brand-short-name } ส่งรายงานข้อขัดข้องที่ค้างอยู่ในนามของคุณ
+ .accesskey = ข
+collection-backlogged-crash-reports-link = เรียนรู้เพิ่มเติม
+privacy-security-header = ความปลอดภัย
+privacy-scam-detection-title = การตรวจจับการหลอกลวง
+privacy-anti-virus-title = การป้องกันไวรัส
+privacy-certificates-title = ใบรับรอง
+chat-pane-header = แชท
+chat-status-title = สถานะ
+chat-notifications-title = การแจ้งเตือน
+chat-pane-styling-header = การกำหนดลักษณะ
+choose-messenger-language-description = เลือกภาษาที่ใช้แสดงเมนู, ข้อความ และการแจ้งเตือนจาก { -brand-short-name }
+manage-messenger-languages-button =
+ .label = ตั้งทางเลือก…
+ .accesskey = ต
+confirm-messenger-language-change-description = เริ่มการทำงาน { -brand-short-name } ใหม่เพื่อใช้การเปลี่ยนแปลงเหล่านี้
+confirm-messenger-language-change-button = นำไปใช้แล้วเริ่มการทำงานใหม่
+update-setting-write-failure-title = เกิดข้อผิดพลาดในการบันทึกค่ากำหนดการอัปเดต
+# Variables:
+# $path (String) - Path to the configuration file
+# The newlines between the main text and the line containing the path is
+# intentional so the path is easier to identify.
+update-setting-write-failure-message =
+ { -brand-short-name } พบข้อผิดพลาดและไม่ได้บันทึกการเปลี่ยนแปลงนี้ โปรดทราบว่าการตั้งค่าค่ากำหนดการอัปเดตนี้จำเป็นต้องได้รับสิทธิอนุญาตให้เขียนไปยังไฟล์ด้านล่าง คุณหรือผู้ดูแลระบบอาจสามารถแก้ไขข้อผิดพลาดได้ด้วยการมอบสิทธิ์ให้กับกลุ่มผู้ใช้เพื่อให้สามารถควบคุมไฟล์นี้ได้อย่างเต็มที่
+
+ ไม่สามารถเขียนไปยังไฟล์: { $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 = &ดำเนินการต่อ
+addons-button = ส่วนขยายและชุดตกแต่ง
+
+## OS Authentication dialog
+
+# This message can be seen by trying to add a Master Password.
+master-password-os-auth-dialog-message-win = หากต้องการสร้างรหัสผ่านหลัก ให้ป้อนข้อมูลประจำตัวการเข้าสู่ระบบ Windows ของคุณ ซึ่งจะช่วยปกป้องความปลอดภัยให้กับบัญชีต่าง ๆ ของคุณ
+# This message can be seen by trying to add a Master Password.
+# The macOS strings are preceded by the operating system with "Thunderbird is trying to "
+# and includes subtitle of "Enter password for the user "xxx" to allow this." These
+# notes are only valid for English. Please test in your locale.
+master-password-os-auth-dialog-message-macosx = สร้างรหัสผ่านหลัก
+# 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 "Thunderbird is trying to "
+# and includes subtitle of "Enter password for the user "xxx" to allow this." These
+# notes are only valid for English. Please test in your locale.
+primary-password-os-auth-dialog-message-macosx = สร้างรหัสผ่านหลัก
+# Don't change this label.
+master-password-os-auth-dialog-caption = { -brand-full-name }
+
+## General Tab
+
+focus-search-shortcut =
+ .key = f
+focus-search-shortcut-alt =
+ .key = k
+general-legend = หน้าเริ่มต้นของ { -brand-short-name }
+start-page-label =
+ .label = เมื่อ { -brand-short-name } เริ่มทำงานแล้ว ให้แสดงหน้าเริ่มต้นในพื้นที่ข้อความ
+ .accesskey = ม
+location-label =
+ .value = ตำแหน่งที่ตั้ง:
+ .accesskey = ต
+restore-default-label =
+ .label = เรียกคืนค่าเริ่มต้น
+ .accesskey = ร
+default-search-engine = เครื่องมือค้นหาเริ่มต้น
+add-search-engine =
+ .label = เพิ่มจากไฟล์
+ .accesskey = พ
+remove-search-engine =
+ .label = เอาออก
+ .accesskey = อ
+minimize-to-tray-label =
+ .label = เมื่อย่อ { -brand-short-name } ให้เล็กสุดแล้ว ให้ย้ายไปที่ถาด
+ .accesskey = ย
+new-message-arrival = เมื่อมีข้อความใหม่มาถึง:
+mail-play-sound-label =
+ .label =
+ { PLATFORM() ->
+ [macos] เล่นไฟล์เสียงดังต่อไปนี้:
+ *[other] เล่นเสียง
+ }
+ .accesskey =
+ { PLATFORM() ->
+ [macos] น
+ *[other] น
+ }
+mail-play-button =
+ .label = เล่น
+ .accesskey = ล
+change-dock-icon = เปลี่ยนการตั้งค่าสำหรับไอคอนแอป
+app-icon-options =
+ .label = ตัวเลือกไอคอนแอป…
+ .accesskey = ไ
+notification-settings = สามารถปิดใช้งานเสียงการแจ้งเตือนและ่าเริ่มต้นได้บนบานหน้าต่างการแจ้งเตือนในค่ากำหนดระบบ
+animated-alert-label =
+ .label = แสดงการแจ้งเตือน
+ .accesskey = แ
+customize-alert-label =
+ .label = ปรับแต่ง…
+ .accesskey = ป
+tray-icon-label =
+ .label = แสดงไอคอนถาด
+ .accesskey = ถ
+mail-system-sound-label =
+ .label = เสียงระบบเริ่มต้นสำหรับจดหมายใหม่
+ .accesskey = ส
+mail-custom-sound-label =
+ .label = ใช้ไฟล์เสียงดังต่อไปนี้
+ .accesskey = ช
+mail-browse-sound-button =
+ .label = เรียกดู…
+ .accesskey = เ
+enable-gloda-search-label =
+ .label = เปิดใช้งานการค้นหาส่วนกลางและตัวทำดัชนี
+ .accesskey = ป
+datetime-formatting-legend = การจัดรูปแบบวันที่และเวลา
+language-selector-legend = ภาษา
+allow-hw-accel =
+ .label = ใช้การเร่งความเร็วด้วยฮาร์ดแวร์เมื่อพร้อมใช้งาน
+ .accesskey = ช
+store-type-label =
+ .value = ชนิดการเก็บข้อความสำหรับบัญชีใหม่:
+ .accesskey = น
+mbox-store-label =
+ .label = ไฟล์ต่อโฟลเดอร์ (mbox)
+maildir-store-label =
+ .label = ไฟล์ต่อข้อความ (maildir)
+scrolling-legend = การเลื่อน
+autoscroll-label =
+ .label = ใช้การเลื่อนอัตโนมัติ
+ .accesskey = ช
+smooth-scrolling-label =
+ .label = ใช้การเลื่อนแบบลื่นไหล
+ .accesskey = ก
+system-integration-legend = การผนวกรวมระบบ
+always-check-default =
+ .label = ตรวจสอบเสมอว่า { -brand-short-name } เป็นไคลเอนต์จดหมายเริ่มต้นหรือไม่เมื่อเริ่มต้น
+ .accesskey = ต
+check-default-button =
+ .label = ตรวจสอบตอนนี้…
+ .accesskey = ต
+# Note: This is the search engine name for all the different platforms.
+# Platforms that don't support it should be left blank.
+search-engine-name =
+ { PLATFORM() ->
+ [macos] Spotlight
+ [windows] Windows Search
+ *[other] { "" }
+ }
+search-integration-label =
+ .label = อนุญาตให้ { search-engine-name } ค้นหาข้อความ
+ .accesskey = อ
+config-editor-button =
+ .label = ตัวแก้ไขการกำหนดค่า…
+ .accesskey = ว
+return-receipts-description = กำหนดวิธีที่ { -brand-short-name } จัดการการแจ้งเตือนการเปิดอ่าน
+return-receipts-button =
+ .label = การแจ้งเตือนการเปิดอ่าน…
+ .accesskey = ก
+update-app-legend = การอัปเดต { -brand-short-name }
+# Variables:
+# $version (String): version of Thunderbird, e.g. 68.0.1
+update-app-version = รุ่น { $version }
+allow-description = อนุญาตให้ { -brand-short-name }
+automatic-updates-label =
+ .label = ติดตั้งการอัปเดตโดยอัตโนมัติ (แนะนำ: ช่วยเพิ่มความปลอดภัย)
+ .accesskey = ต
+check-updates-label =
+ .label = ตรวจสอบการอัปเดต แต่ให้ฉันเลือกว่าจะติดตั้งหรือไม่
+ .accesskey = ร
+update-history-button =
+ .label = แสดงประวัติการอัปเดต
+ .accesskey = ส
+use-service =
+ .label = ใช้บริการเบื้องหลังเพื่อติดตั้งการอัปเดต
+ .accesskey = ช
+cross-user-udpate-warning = การตั้งค่านี้จะนำไปใช้กับบัญชี Windows ทั้งหมดและโปรไฟล์ { -brand-short-name } ที่ใช้ { -brand-short-name } รุ่นที่ติดตั้งนี้
+networking-legend = การเชื่อมต่อ
+proxy-config-description = กำหนดค่าวิธีที่ { -brand-short-name } เชื่อมต่อกับอินเทอร์เน็ต
+network-settings-button =
+ .label = การตั้งค่า…
+ .accesskey = ก
+offline-legend = ออฟไลน์
+offline-settings = กำหนดค่าการตั้งค่าออฟไลน์
+offline-settings-button =
+ .label = ออฟไลน์…
+ .accesskey = อ
+diskspace-legend = เนื้อที่ดิสก์
+offline-compact-folder =
+ .label = กระชับโฟลเดอร์ทั้งหมดเมื่อสามารถประหยัดได้มากกว่า
+ .accesskey = ก
+compact-folder-size =
+ .value = MB ของขนาดรวม
+
+## Note: The entities use-cache-before and use-cache-after appear on a single
+## line in preferences as follows:
+## use-cache-before [ textbox for cache size in MB ] use-cache-after
+
+use-cache-before =
+ .value = ใช้ถึง
+ .accesskey = ช
+use-cache-after = MB ของพื้นที่สำหรับแคช
+
+##
+
+smart-cache-label =
+ .label = เขียนทับการจัดการแคชอัตโนมัติ
+ .accesskey = ข
+clear-cache-button =
+ .label = ล้างตอนนี้
+ .accesskey = ล
+fonts-legend = แบบอักษรและสี
+default-font-label =
+ .value = แบบอักษรเริ่มต้น:
+ .accesskey = บ
+default-size-label =
+ .value = ขนาด:
+ .accesskey = ข
+font-options-button =
+ .label = ขั้นสูง…
+ .accesskey = น
+color-options-button =
+ .label = สี…
+ .accesskey = ส
+display-width-legend = ข้อความตัวอักษรธรรมดา
+# Note : convert-emoticons-label 'Emoticons' are also known as 'Smileys', e.g. :-)
+convert-emoticons-label =
+ .label = แสดงไอคอนสื่ออารมณ์เป็นกราฟิก
+ .accesskey = แ
+display-text-label = เมื่อแสดงข้อความตัวอักษรธรรมดาที่ถูกอ้างอิง:
+style-label =
+ .value = ลักษณะ:
+ .accesskey = ล
+regular-style-item =
+ .label = ธรรมดา
+bold-style-item =
+ .label = ตัวหนา
+italic-style-item =
+ .label = ตัวเอียง
+bold-italic-style-item =
+ .label = ตัวเอียงหนา
+size-label =
+ .value = ขนาด:
+ .accesskey = ข
+regular-size-item =
+ .label = ธรรมดา
+bigger-size-item =
+ .label = ใหญ่
+smaller-size-item =
+ .label = เล็กลง
+quoted-text-color =
+ .label = สี:
+ .accesskey = ส
+search-input =
+ .placeholder = ค้นหา
+type-column-label =
+ .label = ชนิดเนื้อหา
+ .accesskey = ช
+action-column-label =
+ .label = การกระทำ
+ .accesskey = ก
+save-to-label =
+ .label = บันทึกไฟล์ไปยัง
+ .accesskey = บ
+choose-folder-label =
+ .label =
+ { PLATFORM() ->
+ [macos] เลือก…
+ *[other] เรียกดู…
+ }
+ .accesskey =
+ { PLATFORM() ->
+ [macos] ล
+ *[other] ร
+ }
+always-ask-label =
+ .label = ถามฉันเสมอว่าจะบันทึกไฟล์ที่ไหน
+ .accesskey = ถ
+display-tags-text = สามารถใช้แท็กเพื่อจัดหมวดหมู่และลำดับความสำคัญของข้อความของคุณได้
+new-tag-button =
+ .label = ใหม่…
+ .accesskey = ม
+edit-tag-button =
+ .label = แก้ไข…
+ .accesskey = ก
+delete-tag-button =
+ .label = ลบ
+ .accesskey = ล
+auto-mark-as-read =
+ .label = ทำเครื่องหมายข้อความว่าอ่านแล้วโดยอัตโนมัติ
+ .accesskey = ท
+mark-read-no-delay =
+ .label = ทันทีที่แสดง
+ .accesskey = แ
+
+## Note: This will concatenate to "After displaying for [___] seconds",
+## using (mark-read-delay) and a number (seconds-label).
+
+mark-read-delay =
+ .label = หลังจากแสดงไปแล้ว
+ .accesskey = ล
+seconds-label = วินาที
+
+##
+
+open-msg-label =
+ .value = เปิดข้อความใน:
+open-msg-tab =
+ .label = แท็บใหม่
+ .accesskey = บ
+open-msg-window =
+ .label = หน้าต่างข้อความใหม่
+ .accesskey = ห
+open-msg-ex-window =
+ .label = หน้าต่างข้อความที่มีอยู่
+ .accesskey = น
+close-move-delete =
+ .label = ปิดหน้าต่าง/แท็บข้อความเมื่อย้ายหรือลบ
+ .accesskey = ป
+display-name-label =
+ .value = ชื่อที่แสดง:
+condensed-addresses-label =
+ .label = แสดงเฉพาะชื่อที่แสดงสำหรับผู้คนในสมุดรายชื่อของฉัน
+ .accesskey = ส
+
+## Compose Tab
+
+forward-label =
+ .value = ส่งต่อข้อความ:
+ .accesskey = ส
+inline-label =
+ .label = แบบอินไลน์
+as-attachment-label =
+ .label = เป็นไฟล์แนบ
+extension-label =
+ .label = เติมนามสกุลให้กับชื่อไฟล์
+ .accesskey = ต
+
+## Note: This will concatenate to "Auto Save every [___] minutes",
+## using (auto-save-label) and a number (auto-save-end).
+
+auto-save-label =
+ .label = บันทึกอัตโนมัติทุก ๆ
+ .accesskey = บ
+auto-save-end = นาที
+
+##
+
+warn-on-send-accel-key =
+ .label = ยืนยันเมื่อใช้แป้นพิมพ์ลัดเพื่อส่งข้อความ
+ .accesskey = ย
+spellcheck-label =
+ .label = ตรวจสอบการสะกดคำก่อนส่ง
+ .accesskey = ต
+spellcheck-inline-label =
+ .label = เปิดใช้งานการตรวจสอบการสะกดคำเมื่อคุณพิมพ์
+ .accesskey = ป
+language-popup-label =
+ .value = ภาษา:
+ .accesskey = ภ
+download-dictionaries-link = ดาวน์โหลดพจนานุกรมเพิ่มเติม
+font-label =
+ .value = แบบอักษร:
+ .accesskey = บ
+font-size-label =
+ .value = ขนาด:
+ .accesskey = ข
+default-colors-label =
+ .label = ใช้สีเริ่มต้นของตัวอ่าน
+ .accesskey = ช
+font-color-label =
+ .value = สีข้อความ:
+ .accesskey = อ
+bg-color-label =
+ .value = สีพื้นหลัง:
+ .accesskey = พ
+restore-html-label =
+ .label = เรียกคืนค่าเริ่มต้น
+ .accesskey = ร
+default-format-label =
+ .label = ใช้รูปแบบย่อหน้าแทนข้อความเนื้อความโดยค่าเริ่มต้น
+ .accesskey = ช
+format-description = กำหนดค่าลักษณะการทำงานของรูปแบบข้อความ
+send-options-label =
+ .label = ตัวเลือกการส่ง…
+ .accesskey = ว
+autocomplete-description = เมื่อกำหนดที่อยู่ของข้อความ ให้มองหารายการที่ตรงกันใน:
+ab-label =
+ .label = สมุดรายชื่อในเครื่อง
+ .accesskey = ส
+directories-label =
+ .label = เซิร์ฟเวอร์ไดเรกทอรี:
+ .accesskey = เ
+directories-none-label =
+ .none = ไม่มี
+edit-directories-label =
+ .label = แก้ไขไดเรกทอรี…
+ .accesskey = ก
+email-picker-label =
+ .label = เพิ่มที่อยู่อีเมลขาออกไปยังตำแหน่งนี้โดยอัตโนมัติ:
+ .accesskey = ม
+default-directory-label =
+ .value = ไดเรกทอรีเริ่มต้นในหน้าต่างสมุดรายชื่อ:
+ .accesskey = ไ
+default-last-label =
+ .none = ไดเรกทอรีที่ใช้ล่าสุด
+attachment-label =
+ .label = ตรวจสอบไฟล์แนบที่หายไป
+ .accesskey = ต
+attachment-options-label =
+ .label = คำสำคัญ…
+ .accesskey = ค
+enable-cloud-share =
+ .label = เสนอให้แบ่งปันไฟล์ที่มีขนาดใหญ่กว่า
+cloud-share-size =
+ .value = MB
+add-cloud-account =
+ .label = เพิ่ม…
+ .accesskey = พ
+ .defaultlabel = เพิ่ม…
+remove-cloud-account =
+ .label = เอาออก
+ .accesskey = อ
+find-cloud-providers =
+ .value = ค้นหาผู้ให้บริการเพิ่มเติม…
+cloud-account-description = เพิ่มบริการที่เก็บข้อมูล Filelink ใหม่
+
+## Privacy Tab
+
+mail-content = เนื้อหาจดหมาย
+remote-content-label =
+ .label = อนุญาตเนื้อหาระยะไกลในข้อความ
+ .accesskey = อ
+exceptions-button =
+ .label = ข้อยกเว้น…
+ .accesskey = เ
+remote-content-info =
+ .value = เรียนรู้เพิ่มเติมเกี่ยวกับปัญหาความเป็นส่วนตัวของเนื้อหาระยะไกล
+web-content = เนื้อหาเว็บ
+history-label =
+ .label = จดจำเว็บไซต์และลิงก์ที่ฉันเคยเยี่ยมชม
+ .accesskey = จ
+cookies-label =
+ .label = ยอมรับคุกกี้จากไซต์
+ .accesskey = ย
+third-party-label =
+ .value = ยอมรับคุกกี้จากบุคคลที่สาม:
+ .accesskey = ม
+third-party-always =
+ .label = เสมอ
+third-party-never =
+ .label = ไม่เลย
+third-party-visited =
+ .label = จากที่เยี่ยมชม
+keep-label =
+ .value = เก็บจนกระทั่ง:
+ .accesskey = ก
+keep-expire =
+ .label = คุกกี้หมดอายุ
+keep-close =
+ .label = ฉันปิด { -brand-short-name }
+keep-ask =
+ .label = ถามฉันทุกครั้ง
+cookies-button =
+ .label = แสดงคุกกี้…
+ .accesskey = ส
+do-not-track-label =
+ .label = ส่งสัญญาณ “ไม่ติดตาม” ให้กับเว็บไซต์ว่าคุณไม่ต้องการถูกติดตาม
+ .accesskey = ง
+learn-button =
+ .label = เรียนรู้เพิ่มเติม
+passwords-description = { -brand-short-name } สามารถจดจำรหัสผ่านสำหรับบัญชีทั้งหมดของคุณ
+passwords-button =
+ .label = รหัสผ่านที่บันทึกไว้…
+ .accesskey = ร
+master-password-description = รหัสผ่านหลักจะปกป้องรหัสผ่านทั้งหมดของคุณ แต่คุณต้องป้อนเพียงวาระละหนึ่งครั้งเท่านั้น
+master-password-label =
+ .label = ใช้รหัสผ่านหลัก
+ .accesskey = ช
+master-password-button =
+ .label = เปลี่ยนรหัสผ่านหลัก…
+ .accesskey = เ
+primary-password-description = รหัสผ่านหลักจะปกป้องรหัสผ่านทั้งหมดของคุณ แต่คุณต้องป้อนเพียงวาระละหนึ่งครั้งเท่านั้น
+primary-password-label =
+ .label = ใช้รหัสผ่านหลัก
+ .accesskey = ช
+primary-password-button =
+ .label = เปลี่ยนรหัสผ่านหลัก…
+ .accesskey = ป
+forms-primary-pw-fips-title = คุณกำลังอยู่ในโหมด FIPS ซึ่ง FIPS จำเป็นต้องมีรหัสผ่านหลักที่ไม่ว่างเปล่า
+forms-master-pw-fips-desc = การเปลี่ยนรหัสผ่านล้มเหลว
+junk-description = ตั้งค่าการตั้งค่าจดหมายขยะเริ่มต้นของคุณ สามารถกำหนดค่าการตั้งค่าจดหมายขยะเฉพาะบัญชีได้ในการตั้งค่าบัญชี
+junk-label =
+ .label = เมื่อฉันทำเครื่องหมายข้อความว่าเป็นขยะ:
+ .accesskey = ม
+junk-move-label =
+ .label = ย้ายไปไว้ในโฟลเดอร์ "ขยะ" ของบัญชี
+ .accesskey = ย
+junk-delete-label =
+ .label = ลบออก
+ .accesskey = ล
+junk-read-label =
+ .label = ทำเครื่องหมายข้อความที่ถูกพิจารณาว่าเป็นขยะว่าอ่านแล้ว
+ .accesskey = ท
+junk-log-label =
+ .label = เปิดใช้งานการบันทึกตัวกรองขยะแบบปรับเปลี่ยนได้
+ .accesskey = ป
+junk-log-button =
+ .label = แสดงรายการบันทึก
+ .accesskey = ส
+reset-junk-button =
+ .label = ตั้งค่าข้อมูลการสอนใหม่
+ .accesskey = ต
+phishing-description = { -brand-short-name } สามารถวิเคราะห์ข้อความสำหรับการหลอกลวงอีเมลที่น่าสงสัยโดยมองหาเทคนิคทั่วไปที่ใช้หลอกลวงคุณ
+phishing-label =
+ .label = บอกฉันหากข้อความที่ฉันกำลังอ่านเป็นการหลอกลวงอีเมลที่น่าสงสัย
+ .accesskey = บ
+antivirus-description = { -brand-short-name } สามารถทำให้ซอฟต์แวร์ป้องกันไวรัสวิเคราะห์ข้อความจดหมายขาเข้าสำหรับไวรัสก่อนที่จะถูกเก็บไว้ในเครื่องได้ง่ายขึ้น
+antivirus-label =
+ .label = อนุญาตให้ไคลเอ็นต์โปรแกรมป้องกันไวรัสกักกันข้อความขาเข้าแต่ละข้อความ
+ .accesskey = อ
+certificate-description = เมื่อเซิร์ฟเวอร์ขอใบรับรองส่วนบุคคลของฉัน:
+certificate-auto =
+ .label = เลือกมาหนึ่งโดยอัตโนมัติ
+ .accesskey = ล
+certificate-ask =
+ .label = ถามฉันทุกครั้ง
+ .accesskey = ถ
+ocsp-label =
+ .label = สืบค้นเซิร์ฟเวอร์ตอบกลับ OCSP เพื่อยืนยันความถูกต้องของใบรับรองปัจจุบัน
+ .accesskey = ส
+certificate-button =
+ .label = จัดการใบรับรอง…
+ .accesskey = จ
+security-devices-button =
+ .label = อุปกรณ์ความปลอดภัย…
+ .accesskey = อ
+
+## Chat Tab
+
+startup-label =
+ .value = เมื่อ { -brand-short-name } เริ่ม:
+ .accesskey = ม
+offline-label =
+ .label = คงสถานะออฟไลน์ของบัญชีแชทของฉัน
+auto-connect-label =
+ .label = เชื่อมต่อบัญชีแชทของฉันโดยอัตโนมัติ
+
+## Note: idle-label is displayed first, then there's a field where the user
+## can enter a number, and itemTime is displayed at the end of the line.
+## The translations of the idle-label and idle-time-label parts don't have
+## to mean the exact same thing as in English; please try instead to
+## translate the whole sentence.
+
+idle-label =
+ .label = แจ้งให้ผู้ติดต่อของฉันทราบว่าฉันไม่ได้ใช้งานหลังจาก
+ .accesskey = จ
+idle-time-label = นาทีที่ไม่มีความเคลื่อนไหว
+
+##
+
+away-message-label =
+ .label = และตั้งค่าสถานะของฉันว่าไม่อยู่ด้วยข้อความสถานะนี้:
+ .accesskey = ล
+send-typing-label =
+ .label = ส่งการแจ้งเตือนการพิมพ์ในการสนทนา
+ .accesskey = ส
+notification-label = เมื่อมีข้อความส่งมาถึงคุณโดยตรงแล้ว:
+show-notification-label =
+ .label = แสดงการแจ้งเตือน:
+ .accesskey = แ
+notification-all =
+ .label = พร้อมชื่อผู้ส่งและตัวอย่างข้อความ
+notification-name =
+ .label = พร้อมชื่อผู้ส่งเท่านั้น
+notification-empty =
+ .label = โดยไม่มีข้อมูลใด ๆ
+notification-type-label =
+ .label =
+ { PLATFORM() ->
+ [macos] ทำให้ไอคอน Dock เคลื่อนไหว
+ *[other] กะพริบรายการแถบงาน
+ }
+ .accesskey =
+ { PLATFORM() ->
+ [macos] ท
+ *[other] ก
+ }
+chat-play-sound-label =
+ .label = เล่นเสียง
+ .accesskey = เ
+chat-play-button =
+ .label = เล่น
+ .accesskey = น
+chat-system-sound-label =
+ .label = เสียงระบบเริ่มต้นสำหรับจดหมายใหม่
+ .accesskey = ย
+chat-custom-sound-label =
+ .label = ใช้ไฟล์เสียงดังต่อไปนี้
+ .accesskey = ช
+chat-browse-sound-button =
+ .label = เรียกดู…
+ .accesskey = ร
+theme-label =
+ .value = ชุดตกแต่ง:
+ .accesskey = ด
+style-thunderbird =
+ .label = Thunderbird
+style-bubbles =
+ .label = ฟองอากาศ
+style-dark =
+ .label = มืด
+style-paper =
+ .label = แผ่นกระดาษ
+style-simple =
+ .label = ธรรมดา
+preview-label = ตัวอย่าง:
+no-preview-label = ไม่มีตัวอย่างที่ใช้งานได้
+no-preview-description = ชุดตกแต่งนี้ไม่ถูกต้องหรือไม่สามารถใช้งานได้ในขณะนี้ (ปิดใช้งานส่วนเสริม, โหมดปลอดภัย, …)
+chat-variant-label =
+ .value = รูปแบบอื่น:
+ .accesskey = ป
+chat-header-label =
+ .label = แสดงส่วนหัว
+ .accesskey = ง
+# 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-box =
+ .style = width: 15.4em
+ .placeholder =
+ { PLATFORM() ->
+ [windows] ค้นหาในตัวเลือก
+ *[other] ค้นหาในค่ากำหนด
+ }
+
+## Preferences UI Search Results
+
+search-results-header = ผลการค้นหา
+# `<span data-l10n-name="query"></span>` will be replaced by the search term.
+search-results-empty-message =
+ { PLATFORM() ->
+ [windows] ขออภัย! ไม่มีผลลัพธ์สำหรับ “<span data-l10n-name="query"></span>” ในตัวเลือก
+ *[other] ขออภัย! ไม่มีผลลัพธ์สำหรับ “<span data-l10n-name="query"></span>” ในค่ากำหนด
+ }
+search-results-help-link = ต้องการความช่วยเหลือ? เยี่ยมชม <a data-l10n-name="url">การสนับสนุนของ { -brand-short-name }</a>
diff --git a/l10n-th/mail/messenger/preferences/receipts.ftl b/l10n-th/mail/messenger/preferences/receipts.ftl
new file mode 100644
index 0000000000..3e567dfe77
--- /dev/null
+++ b/l10n-th/mail/messenger/preferences/receipts.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/.
+
+receipts-dialog-window =
+ .title = การแจ้งเตือนการเปิดอ่าน
+
+return-receipt-checkbox =
+ .label = เมื่อส่งข้อความ ให้ขอการแจ้งเตือนการเปิดอ่านเสมอ
+ .acceskey = ม
+
+receipt-arrive-label = เมื่อการแจ้งเตือนมาถึง:
+
+receipt-leave-radio =
+ .label = ทิ้งไว้ในกล่องขาเข้าของฉัน
+ .acceskey = ท
+
+receipt-move-radio =
+ .label = ย้ายไปไว้ในโฟลเดอร์ "ที่ส่งแล้ว" ของฉัน
+ .acceskey = ย
+
+receipt-request-label = เมื่อฉันได้รับคำขอให้ส่งการแจ้งเตือนการเปิดอ่าน:
+
+receipt-return-never-radio =
+ .label = ไม่ต้องส่งการแจ้งเตือนการเปิดอ่าน
+ .acceskey = ไ
+
+receipt-return-some-radio =
+ .label = อนุญาตการแจ้งเตือนการเปิดอ่านสำหรับบางข้อความ
+ .acceskey = อ
+
+receipt-not-to-cc =
+ .value = หากฉันไม่ได้อยู่ใน ถึง หรือ สำเนา ของข้อความ:
+ .acceskey = ห
+
+receipt-send-never-label =
+ .label = ไม่ส่งเสมอ
+
+receipt-send-always-label =
+ .label = ส่งเสมอ
+
+receipt-send-ask-label =
+ .label = ถามฉัน
+
+sender-outside-domain =
+ .value = หากผู้ส่งอยู่นอกโดเมนของฉัน:
+ .acceskey = น
+
+other-cases-label =
+ .value = ในกรณีอื่น ๆ ทั้งหมด:
+ .acceskey = ก
diff --git a/l10n-th/mail/messenger/preferences/sendoptions.ftl b/l10n-th/mail/messenger/preferences/sendoptions.ftl
new file mode 100644
index 0000000000..a7f330ac22
--- /dev/null
+++ b/l10n-th/mail/messenger/preferences/sendoptions.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/.
+
+sendoptions-dialog-window =
+ .title = ตัวเลือกการส่ง
+
+send-mail-title = รูปแบบข้อความ
+
+auto-downgrade-label =
+ .label = ส่งข้อความเป็นแบบตัวอักษรธรรมดาหากเป็นไปได้
+ .accesskey = ส
+
+default-html-format-label = เมื่อส่งข้อความในรูปแบบ HTML และผู้รับอย่างน้อยหนึ่งคนไม่อยู่ในรายการที่สามารถรับ HTML ได้:
+
+html-format-ask =
+ .label = ถามฉันว่าจะทำอะไร
+ .accesskey = ถ
+
+html-format-convert =
+ .label = แปลงข้อความเป็นแบบตัวอักษรธรรมดา
+ .accesskey = ป
+
+html-format-send-html =
+ .label = ส่งข้อความเป็นแบบ HTML ต่อไป
+ .accesskey = ง
+
+html-format-send-both =
+ .label = ส่งข้อความทั้งแบบตัวอักษรธรรมดาและ HTML
+ .accesskey = ท
+
+default-html-format-info = หมายเหตุ: ใช้สมุดรายชื่อเพื่อระบุรูปแบบข้อความที่ต้องการสำหรับผู้รับ
+
+html-tab-label =
+ .label = โดเมน HTML
+ .accesskey = โ
+
+plain-tab-label =
+ .label = โดเมนข้อความธรรมดา
+ .accesskey = ข
+
+send-message-domain-label = เมื่อคุณส่งข้อความไปยังที่อยู่ที่มีชื่อโดเมนด้านล่าง { -brand-short-name } ส่งข้อความในรูปแบบที่ถูกต้องโดยอัตโนมัติ
+
+add-domain-button =
+ .label = เพิ่ม…
+ .accesskey = พ
+
+delete-domain-button =
+ .label = ลบ
+ .accesskey = ล
diff --git a/l10n-th/mail/messenger/preferences/system-integration.ftl b/l10n-th/mail/messenger/preferences/system-integration.ftl
new file mode 100644
index 0000000000..1bd71f8f93
--- /dev/null
+++ b/l10n-th/mail/messenger/preferences/system-integration.ftl
@@ -0,0 +1,42 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+system-integration-title =
+ .title = การผนวกรวมระบบ
+
+system-integration-dialog =
+ .buttonlabelaccept = ตั้งเป็นค่าเริ่มต้น
+ .buttonlabelcancel = ข้ามการผนวกรวม
+ .buttonlabelcancel2 = ยกเลิก
+
+default-client-intro = ใช้ { -brand-short-name } เป็นไคลเอนต์เริ่มต้นสำหรับ:
+
+unset-default-tooltip = ไม่สามารถเลิกตั้ง { -brand-short-name } เป็นไคลเอนต์เริ่มต้นภายใน { -brand-short-name } เมื่อต้องการทำให้แอปพลิเคชันอื่นเป็นค่าเริ่มต้น คุณต้องใช้กล่องโต้ตอบ 'ตั้งเป็นค่าเริ่มต้น'
+
+checkbox-email-label =
+ .label = อีเมล
+ .tooltiptext = { unset-default-tooltip }
+checkbox-newsgroups-label =
+ .label = กลุ่มข่าว
+ .tooltiptext = { unset-default-tooltip }
+checkbox-feeds-label =
+ .label = ฟีด
+ .tooltiptext = { unset-default-tooltip }
+
+# Note: This is the search engine name for all the different platforms.
+# Platforms that don't support it should be left blank.
+system-search-engine-name =
+ { PLATFORM() ->
+ [macos] Spotlight
+ [windows] Windows Search
+ *[other] { "" }
+ }
+
+system-search-integration-label =
+ .label = อนุญาตให้ { system-search-engine-name } ค้นหาข้อความ
+ .accesskey = อ
+
+check-on-startup-label =
+ .label = ตรวจสอบเช่นนี้เสมอเมื่อเริ่ม { -brand-short-name }
+ .accesskey = ต
diff --git a/l10n-th/mail/updater/updater.ini b/l10n-th/mail/updater/updater.ini
new file mode 100644
index 0000000000..d448b5e4b3
--- /dev/null
+++ b/l10n-th/mail/updater/updater.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]
+TitleText=การอัปเดต %MOZ_APP_DISPLAYNAME%
+InfoText=%MOZ_APP_DISPLAYNAME% กำลังติดตั้งการอัปเดตของคุณและจะเริ่มในอีกสักครู่…
diff --git a/l10n-th/mobile/android/chrome/about.dtd b/l10n-th/mobile/android/chrome/about.dtd
new file mode 100644
index 0000000000..7125b06894
--- /dev/null
+++ b/l10n-th/mobile/android/chrome/about.dtd
@@ -0,0 +1,21 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+<!ENTITY aboutPage.title "เกี่ยวกับ &brandShortName;">
+<!ENTITY aboutPage.warningVersion "&brandShortName; เป็นรุ่นทดลองและอาจไม่เสถียร">
+<!ENTITY aboutPage.checkForUpdates.link "ตรวจสอบการอัปเดต »">
+<!ENTITY aboutPage.checkForUpdates.checking "กำลังมองหาการอัปเดต…">
+<!ENTITY aboutPage.checkForUpdates.none "ไม่มีการอัปเดต">
+<!ENTITY aboutPage.checkForUpdates.available2 "ดาวน์โหลดการอัปเดต">
+<!ENTITY aboutPage.checkForUpdates.downloading "กำลังดาวน์โหลดการอัปเดต…">
+<!ENTITY aboutPage.checkForUpdates.downloaded2 "ติดตั้งการอัปเดต">
+<!ENTITY aboutPage.faq.label "คำถามที่พบบ่อย">
+<!ENTITY aboutPage.support.label "การสนับสนุน">
+<!ENTITY aboutPage.privacyPolicy.label "นโยบายความเป็นส่วนตัว">
+<!ENTITY aboutPage.rights.label "รู้ถึงสิทธิของคุณ">
+<!ENTITY aboutPage.relNotes.label "บันทึกประจำรุ่น">
+<!ENTITY aboutPage.credits.label "ผู้จัดทำ">
+<!ENTITY aboutPage.license.label "ข้อมูลสัญญาอนุญาต">
+
+<!-- LOCALIZATION NOTE (aboutPage.logoTrademark): The message is explicitly about the word "Firefox" being trademarked, that's why we use it, instead of brandShortName. -->
+<!ENTITY aboutPage.logoTrademark "Firefox และโลโก้ Firefox เป็นเครื่องหมายการค้าของมูลนิธิ Mozilla">
diff --git a/l10n-th/mobile/android/chrome/aboutAccounts.dtd b/l10n-th/mobile/android/chrome/aboutAccounts.dtd
new file mode 100644
index 0000000000..30ad209e15
--- /dev/null
+++ b/l10n-th/mobile/android/chrome/aboutAccounts.dtd
@@ -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/. -->
+
+<!ENTITY aboutAccounts.connected.title "บัญชี Firefox">
+<!ENTITY aboutAccounts.connected.description "คุณได้เชื่อมต่อเป็น">
+<!ENTITY aboutAccounts.syncPreferences.label "แตะที่นี่เพื่อตรวจสอบการตั้งค่า Sync">
+
+<!ENTITY aboutAccounts.noConnection.title "ไม่มีการเชื่อมต่ออินเทอร์เน็ต">
+<!ENTITY aboutAccounts.retry.label "ลองอีกครั้ง">
+
+<!ENTITY aboutAccounts.restrictedError.title "จำกัดแล้ว">
+<!ENTITY aboutAccounts.restrictedError.description "คุณไม่สามารถจัดการบัญชี Firefox จากโปรไฟล์นี้">
diff --git a/l10n-th/mobile/android/chrome/aboutAccounts.properties b/l10n-th/mobile/android/chrome/aboutAccounts.properties
new file mode 100644
index 0000000000..3ea02493bd
--- /dev/null
+++ b/l10n-th/mobile/android/chrome/aboutAccounts.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 (relinkDenied.message): Ideally, this string is short (it's
+# a toast message).
+relinkDenied.message = ลงชื่อเข้า Sync อยู่แล้ว!
+# LOCALIZATION NOTE (relinkDenied.openPrefs): Ideally, this string is short (it's a
+# button label) and upper-case, to match Google and Android's convention.
+relinkDenied.openPrefs = ค่ากำหนด
+
+relinkVerify.title = คุณแน่ใจหรือไม่ว่าต้องการลงชื่อเข้า Sync?
+# LOCALIZATION NOTE (relinkVerify.message): Email address of a user previously signed in to Sync.
+relinkVerify.message = คุณได้ลงชื่อเข้า Sync ก่อนหน้านี้ด้วยที่อยู่อีเมลที่แตกต่างกัน การลงชื่อเข้าจะผสานที่คั่นหน้า, รหัสผ่าน และการตั้งค่าอื่น ๆ ของเบราว์เซอร์นี้กับ %S
+relinkVerify.continue = ดำเนินการต่อ
+relinkVerify.cancel = ยกเลิก
diff --git a/l10n-th/mobile/android/chrome/aboutAddons.dtd b/l10n-th/mobile/android/chrome/aboutAddons.dtd
new file mode 100644
index 0000000000..5662433c0a
--- /dev/null
+++ b/l10n-th/mobile/android/chrome/aboutAddons.dtd
@@ -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/. -->
+
+<!ENTITY aboutAddons.title2 "ส่วนเสริม">
+<!ENTITY aboutAddons.header2 "ส่วนเสริมของคุณ">
+
+<!ENTITY addonAction.enable "เปิดใช้งาน">
+<!ENTITY addonAction.disable "ปิดใช้งาน">
+<!ENTITY addonAction.uninstall "ถอนการติดตั้ง">
+<!ENTITY addonAction.undo "เลิกทำ">
+<!ENTITY addonAction.update "อัปเดต">
+
+<!ENTITY addonUnsigned.message "ส่วนเสริมนี้ไม่สามารถยืนยันโดย &brandShortName;">
+<!ENTITY addonUnsigned.learnMore "เรียนรู้เพิ่มเติม">
diff --git a/l10n-th/mobile/android/chrome/aboutAddons.properties b/l10n-th/mobile/android/chrome/aboutAddons.properties
new file mode 100644
index 0000000000..1d5354befd
--- /dev/null
+++ b/l10n-th/mobile/android/chrome/aboutAddons.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/.
+
+addonStatus.uninstalled=จะถอนการติดตั้ง %S หลังจากเริ่มการทำงานใหม่
+
+# Will keep both strings and at runtime will fallback on the old one if the new one is not yet localized
+addons.browseAll=เรียกดูส่วนเสริม Firefox ทั้งหมด
+
+addons.browseRecommended=เรียกดูส่วนขยายที่แนะนำของ Firefox
+
+addon.options=ตัวเลือก
diff --git a/l10n-th/mobile/android/chrome/aboutCertError.dtd b/l10n-th/mobile/android/chrome/aboutCertError.dtd
new file mode 100644
index 0000000000..3b3799d5ca
--- /dev/null
+++ b/l10n-th/mobile/android/chrome/aboutCertError.dtd
@@ -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/. -->
+
+<!ENTITY % brandDTD
+ SYSTEM "chrome://branding/locale/brand.dtd">
+ %brandDTD;
+
+<!-- These strings are used by Firefox's custom about:certerror page,
+a replacement for the standard security certificate errors produced
+by NSS/PSM via netError.xhtml. -->
+
+<!ENTITY certerror.pagetitle "การเชื่อมต่อไม่น่าเชื่อถือ">
+<!ENTITY certerror.longpagetitle "การเชื่อมต่อนี้ไม่น่าเชื่อถือ">
+
+<!-- Localization note (certerror.introPara1) - The string "#1" will
+be replaced at runtime with the name of the server to which the user
+was trying to connect. -->
+<!ENTITY certerror.introPara1 "คุณได้ขอให้ &brandShortName; เชื่อมต่อแบบปลอดภัยไปยัง <b>#1</b> แต่เราไม่สามารถยืนยันได้ว่าการเชื่อมต่อของคุณปลอดภัย">
+
+<!ENTITY certerror.whatShouldIDo.heading "ฉันควรทำอย่างไร?">
+<!ENTITY certerror.whatShouldIDo.content "ถ้าปกติคุณเชื่อมต่อกับไซต์นี้ได้โดยไม่มีปัญหา ข้อผิดพลาดนี้อาจหมายถึงมีใครบางคนกำลังพยายามปลอมแปลงไซต์นี้ และคุณไม่ควรดำเนินการต่อ">
+<!ENTITY certerror.getMeOutOfHere.label "นำฉันออกไปจากที่นี่!">
+
+<!ENTITY certerror.expert.heading "ฉันเข้าใจความเสี่ยง">
+<!ENTITY certerror.expert.content "ถ้าคุณเข้าใจในสิ่งที่เกิดขึ้น คุณสามารถบอก &brandShortName; ให้เริ่มเชื่อถืออัตลักษณ์ของไซต์นี้ได้ <b>แต่ถึงแม้ว่าคุณจะเชื่อถือไซต์นี้ ข้อผิดพลาดนี้อาจหมายถึงมีใครบางคนกำลังดัดแปลงการเชื่อมต่อของคุณ</b>">
+<!ENTITY certerror.expert.contentPara2 "อย่าเพิ่มข้อยกเว้นจนกว่าคุณจะทราบเหตุผลว่าทำไมไซต์นี้จึงไม่ใช้อัตลักษณ์ที่เชื่อถือได้">
+<!ENTITY certerror.addTemporaryException.label "เยี่ยมชมไซต์">
+<!ENTITY certerror.addPermanentException.label "เพิ่มข้อยกเว้นถาวร">
+
+<!ENTITY certerror.technical.heading "รายละเอียดทางเทคนิค">
diff --git a/l10n-th/mobile/android/chrome/aboutDownloads.dtd b/l10n-th/mobile/android/chrome/aboutDownloads.dtd
new file mode 100644
index 0000000000..f80da2cf1a
--- /dev/null
+++ b/l10n-th/mobile/android/chrome/aboutDownloads.dtd
@@ -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/. -->
+
+<!ENTITY aboutDownloads.title "การดาวน์โหลด">
+<!ENTITY aboutDownloads.header "การดาวน์โหลดของคุณ">
+<!ENTITY aboutDownloads.empty "ไม่มีการดาวน์โหลด">
+
+<!ENTITY aboutDownloads.open "เปิด">
+<!ENTITY aboutDownloads.remove "ลบ">
+<!ENTITY aboutDownloads.removeAll "ลบทั้งหมด">
+<!ENTITY aboutDownloads.pause "หยุดชั่วคราว">
+<!ENTITY aboutDownloads.resume "ทำต่อ">
+<!ENTITY aboutDownloads.cancel "ยกเลิก">
+<!ENTITY aboutDownloads.retry "ลองใหม่">
diff --git a/l10n-th/mobile/android/chrome/aboutDownloads.properties b/l10n-th/mobile/android/chrome/aboutDownloads.properties
new file mode 100644
index 0000000000..c7a6041ac2
--- /dev/null
+++ b/l10n-th/mobile/android/chrome/aboutDownloads.properties
@@ -0,0 +1,17 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE (downloadMessage.deleteAll):
+# Semicolon-separated list of plural forms. See:
+# http://developer.mozilla.org/en/docs/Localization_and_Plurals
+downloadMessage.deleteAll=ลบ #1 การดาวน์โหลด?
+
+downloadAction.deleteAll=ลบทั้งหมด
+
+downloadState.downloading=กำลังดาวน์โหลด…
+downloadState.canceled=ยกเลิกแล้ว
+downloadState.failed=ล้มเหลว
+downloadState.paused=หยุดชั่วคราวอยู่
+downloadState.starting=กำลังเริ่ม…
+downloadState.unknownSize=ไม่ทราบขนาด
diff --git a/l10n-th/mobile/android/chrome/aboutHome.dtd b/l10n-th/mobile/android/chrome/aboutHome.dtd
new file mode 100644
index 0000000000..1287c42a80
--- /dev/null
+++ b/l10n-th/mobile/android/chrome/aboutHome.dtd
@@ -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/. -->
+<!-- This string should be kept in sync with the home_title string
+ in android_strings.dtd -->
+
+<!ENTITY abouthome.title "หน้าแรก &brandShortName;">
diff --git a/l10n-th/mobile/android/chrome/aboutLogins.dtd b/l10n-th/mobile/android/chrome/aboutLogins.dtd
new file mode 100644
index 0000000000..d587de0b26
--- /dev/null
+++ b/l10n-th/mobile/android/chrome/aboutLogins.dtd
@@ -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/. -->
+<!ENTITY % brandDTD
+ SYSTEM "chrome://branding/locale/brand.dtd">
+ %brandDTD;
+<!ENTITY aboutLogins.title "การเข้าสู่ระบบ">
+<!ENTITY aboutLogins.update "อัปเดต">
+<!ENTITY aboutLogins.emptyLoginText "รักษาการเข้าสู่ระบบของคุณให้ปลอดภัย">
+<!ENTITY aboutLogins.emptyLoginHint "การเข้าสู่ระบบและข้อมูลรับรองที่คุณบันทึกโดยใช้ &brandShortName; จะแสดงที่นี่">
diff --git a/l10n-th/mobile/android/chrome/aboutLogins.properties b/l10n-th/mobile/android/chrome/aboutLogins.properties
new file mode 100644
index 0000000000..395d50ba98
--- /dev/null
+++ b/l10n-th/mobile/android/chrome/aboutLogins.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/.
+
+loginsMenu.showPassword=แสดงรหัสผ่าน
+loginsMenu.copyPassword=คัดลอกรหัสผ่าน
+loginsMenu.copyUsername=คัดลอกชื่อผู้ใช้
+loginsMenu.editLogin=แก้ไขการเข้าสู่ระบบ
+loginsMenu.delete=ลบ
+
+loginsMenu.deleteAll=ลบทั้งหมด
+
+loginsDialog.confirmDelete=ลบการเข้าสู่ระบบนี้?
+loginsDialog.confirmDeleteForFxaUser=ลบการเข้าสู่ระบบนี้?\n\nสิ่งนี้สามารถส่งผลกระทบต่อการเข้าสู่ระบบที่ซิงค์
+loginsDialog.confirmDeleteAll=ลบการเข้าสู่ระบบทั้งหมด?
+loginsDialog.confirmDeleteAllForFxaUser=ลบการเข้าสู่ระบบทั้งหมด?\n\nสิ่งนี้สามารถส่งผลกระทบต่อการเข้าสู่ระบบที่ซิงค์
+loginsDialog.copy=คัดลอก
+loginsDialog.confirm=ตกลง
+loginsDialog.cancel=ยกเลิก
+
+editLogin.fallbackTitle=แก้ไขการเข้าสู่ระบบ
+editLogin.saved1=การเข้าสู่ระบบที่บันทึกไว้
+editLogin.couldNotSave=ไม่สามารถบันทึกการเปลี่ยนแปลง
+
+loginsDetails.copyFailed=การคัดลอกล้มเหลว
+loginsDetails.passwordCopied=คัดลอกรหัสผ่านแล้ว
+loginsDetails.usernameCopied=คัดลอกชื่อผู้ใช้แล้ว
+loginsDetails.deleted=ลบการเข้าสู่ระบบแล้ว
+
+loginsDetails.deletedAll=ลบการเข้าสู่ระบบทั้งหมดแล้ว
+
+password-btn.show=แสดง
+password-btn.hide=ซ่อน
diff --git a/l10n-th/mobile/android/chrome/aboutPrivateBrowsing.dtd b/l10n-th/mobile/android/chrome/aboutPrivateBrowsing.dtd
new file mode 100644
index 0000000000..0e5654b29a
--- /dev/null
+++ b/l10n-th/mobile/android/chrome/aboutPrivateBrowsing.dtd
@@ -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/. -->
+
+<!ENTITY privatebrowsingpage.title "การเรียกดูแบบส่วนตัว">
+
+<!-- Localisation note: the plus sign here is a shorthand way of expressing the word "and". Contextually the privatebrowsingpage.title.private string
+ is used as a title, with the privatebrowsingpage.title string preceding it but on a separate line.
+ So the final line will say "Private Browsing + Tracking Protection". -->
+<!ENTITY privatebrowsingpage.title.private "+ การป้องกันการติดตาม">
+<!-- Localization note (privatebrowsingpage.title.normal1): "Private Browsing"
+ is capitalized in English to be consistent with our existing uses of the
+ term. -->
+<!ENTITY privatebrowsingpage.title.normal1 "คุณไม่ได้อยู่ในการเรียกดูแบบส่วนตัว">
+
+<!ENTITY privatebrowsingpage.description.trackingProtection "&brandShortName; ปิดกั้นบางส่วนของหน้าที่อาจติดตามกิจกรรมการเรียกดูของคุณ">
+<!ENTITY privatebrowsingpage.description.privateDetails "เราจะไม่จดจำประวัติใด ๆ แต่จะยังคงบันทึกไฟล์ที่ดาวน์โหลดและที่คั่นหน้าใหม่ไว้ในอุปกรณ์ของคุณ">
+
+<!-- Localization note (privatebrowsingpage.description.normal2): "Private
+ Browsing is capitalized in English to be consistent with our existing uses
+ of the term. -->
+<!ENTITY privatebrowsingpage.description.normal2 "ในการเรียกดูแบบส่วนตัว เราจะไม่เก็บประวัติการเรียกดูหรือคุกกี้ใด ๆ ของคุณ ที่คั่นหน้าที่คุณเพิ่มและไฟล์ที่คุณดาวน์โหลดจะยังคงถูกบันทึกไว้ในอุปกรณ์ของคุณ">
+
+<!ENTITY privatebrowsingpage.link.private "ต้องการเรียนรู้เพิ่มเติม?">
+<!ENTITY privatebrowsingpage.link.normal "เปิดแท็บส่วนตัวใหม่">
diff --git a/l10n-th/mobile/android/chrome/browser.properties b/l10n-th/mobile/android/chrome/browser.properties
new file mode 100644
index 0000000000..ceb6d6fa08
--- /dev/null
+++ b/l10n-th/mobile/android/chrome/browser.properties
@@ -0,0 +1,476 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+addonsConfirmInstall.title=กำลังติดตั้งส่วนเสริม
+addonsConfirmInstall.install=ติดตั้ง
+
+addonsConfirmInstallUnsigned.title=ส่วนเสริมที่ไม่ได้รับการยืนยัน
+addonsConfirmInstallUnsigned.message=ไซต์นี้ต้องการติดตั้งส่วนเสริมที่ไม่ได้รับการยืนยัน ดำเนินการต่อโดยรับความเสี่ยงของคุณเอง
+
+# Alerts
+alertAddonsDownloading=กำลังดาวน์โหลดส่วนเสริม
+alertAddonsInstalledNoRestart.message=การติดตั้งเสร็จสมบูรณ์
+
+# LOCALIZATION NOTE (alertAddonsInstalledNoRestart.action2): Ideally, this string is short (it's a
+# button label) and upper-case, to match Google and Android's convention.
+alertAddonsInstalledNoRestart.action2=ส่วนเสริม
+
+alertDownloadsStart2=กำลังเริ่มการดาวน์โหลด
+alertDownloadsDone2=การดาวน์โหลดเสร็จสมบูรณ์
+alertDownloadsToast=เริ่มการดาวน์โหลดแล้ว…
+alertDownloadsPause=หยุดชั่วคราว
+alertDownloadsResume=ทำต่อ
+alertDownloadsCancel=ยกเลิก
+# LOCALIZATION NOTE (alertDownloadSucceeded): This text is shown as a snackbar inside the app after a
+# successful download. %S will be replaced by the file name of the download.
+alertDownloadSucceeded=ดาวน์โหลด %S แล้ว
+# LOCALIZATION NOTE (downloads.disabledInGuest): This message appears in a toast
+# when the user tries to download something in Guest mode.
+downloads.disabledInGuest=ปิดใช้งานการดาวน์โหลดในวาระผู้มาเยือนอยู่
+
+# LOCALIZATION NOTE (alertSearchEngineAddedToast, alertSearchEngineErrorToast, alertSearchEngineDuplicateToast)
+# %S will be replaced by the name of the search engine (exposed by the current page)
+# that has been added; for example, 'Google'.
+alertSearchEngineAddedToast=เพิ่ม '%S' เป็นเครื่องมือค้นหาแล้ว
+alertSearchEngineErrorToast=ไม่สามารถเพิ่ม '%S' เป็นเครื่องมือค้นหา
+alertSearchEngineDuplicateToast=มี '%S' เป็นหนึ่งในเครื่องมือค้นหาของคุณอยู่แล้ว
+
+# LOCALIZATION NOTE (alertShutdownSanitize): This text is shown as a snackbar during shutdown if the
+# user has enabled "Clear private data on exit".
+alertShutdownSanitize=กำลังล้างข้อมูลส่วนตัว…
+
+alertPrintjobToast=กำลังพิมพ์…
+
+download.blocked=ไม่สามารถดาวน์โหลดไฟล์
+
+addonError.titleError=ข้อผิดพลาด
+addonError.titleBlocked=ส่วนเสริมที่ปิดกั้น
+addonError.learnMore=เรียนรู้เพิ่มเติม
+
+# LOCALIZATION NOTE (unsignedAddonsDisabled.title, unsignedAddonsDisabled.message):
+# These strings will appear in a dialog when Firefox detects that installed add-ons cannot be verified.
+unsignedAddonsDisabled.title=ส่วนเสริมที่ไม่ได้รับการยืนยัน
+unsignedAddonsDisabled.message=ไม่สามารถยืนยันส่วนเสริมที่ติดตั้งจำนวนหนึ่งหรือมากกว่าและถูกปิดใช้งาน
+unsignedAddonsDisabled.dismiss=ยกเลิก
+unsignedAddonsDisabled.viewAddons=ดูส่วนเสริม
+
+# LOCALIZATION NOTE (addonError-1, addonError-2, addonError-3, addonError-4, addonError-5):
+# #1 is the add-on name, #2 is the add-on host, #3 is the application name
+addonError-1=ไม่สามารถดาวน์โหลดส่วนเสริมเนื่องจากการเชื่อมต่อกับ #2 ล้มเหลว
+addonError-2=ไม่สามารถติดตั้งส่วนเสริมจาก #2 เนื่องจากไม่ตรงกับส่วนเสริมที่ #3 ต้องการ
+addonError-3=ไม่สามารถติดตั้งส่วนเสริมที่ดาวน์โหลดจาก #2 เนื่องจากส่วนเสริมดูเหมือนจะเสียหาย
+addonError-4=ไม่สามารถติดตั้ง #1 เนื่องจาก #3 ไม่สามารถแก้ไขไฟล์ที่จำเป็น
+addonError-5=#3 ได้ป้องกันไม่ให้ #2 ติดตั้งส่วนเสริมที่ไม่ได้รับการยืนยัน
+
+# LOCALIZATION NOTE (addonLocalError-1, addonLocalError-2, addonLocalError-3, addonLocalError-4, addonLocalError-5, addonErrorIncompatible, addonErrorBlocklisted):
+# #1 is the add-on name, #3 is the application name, #4 is the application version
+addonLocalError-1=ไม่สามารถติดตั้งส่วนเสริมนี้เนื่องจากข้อผิดพลาดระบบไฟล์
+addonLocalError-2=ไม่สามารถติดตั้งส่วนเสริมนี้เนื่องจากไม่ตรงกับส่วนเสริมที่ #3 ต้องการ
+addonLocalError-3=ไม่สามารถติดตั้งส่วนเสริมนี้เนื่องจากส่วนเสริมดูเหมือนจะเสียหาย
+addonLocalError-4=ไม่สามารถติดตั้ง #1 เนื่องจาก #3 ไม่สามารถแก้ไขไฟล์ที่จำเป็น
+addonLocalError-5=ไม่สามารถติดตั้งส่วนเสริมนี้เนื่องจากส่วนเสริมไม่ได้รับการยืนยัน
+addonErrorIncompatible=ไม่สามารถติดตั้ง #1 เนื่องจากเข้ากันไม่ได้กับ #3 #4
+addonErrorBlocklisted=ไม่สามารถติดตั้ง #1 เนื่องจากมีความเสี่ยงสูงที่จะก่อให้เกิดปัญหาด้านเสถียรภาพหรือความปลอดภัย
+
+# Notifications
+notificationRestart.normal=เริ่มการทำงานใหม่เพื่อให้การเปลี่ยนแปลงเสร็จสมบูรณ์
+notificationRestart.blocked=ส่วนเสริมที่ไม่ปลอดภัยถูกติดตั้ง เริ่มการทำงานใหม่เพื่อปิดใช้งาน
+notificationRestart.button=เริ่มการทำงานใหม่
+doorhanger.learnMore=เรียนรู้เพิ่มเติม
+
+# Popup Blocker
+
+# LOCALIZATION NOTE (popup.message): Semicolon-separated list of plural forms.
+# #1 is brandShortName and #2 is the number of pop-ups blocked.
+popup.message=#1 ได้ป้องกันไม่ให้ไซต์นี้เปิด #2 หน้าต่างป๊อปอัป คุณต้องการให้แสดงหรือไม่?
+popup.dontAskAgain=ไม่ต้องถามอีกสำหรับไซต์นี้
+popup.show=แสดง
+popup.dontShow=ไม่แสดง
+
+# SafeBrowsing
+safeBrowsingDoorhanger=ไซต์นี้ถูกระบุว่ามีมัลแวร์หรือมีความพยายามในการล่อลวง โปรดระมัดระวัง
+
+# LOCALIZATION NOTE (blockPopups.label2): Label that will be used in
+# site settings dialog.
+blockPopups.label2=ป๊อปอัป
+
+# XPInstall
+xpinstallPromptWarning2=%S ได้ป้องกันไม่ให้ไซต์นี้ (%S) ขอคุณเพื่อติดตั้งซอฟต์แวร์ลงในอุปกรณ์ของคุณ
+xpinstallPromptWarningLocal=%S ได้ป้องกันไม่ให้ส่วนเสริมนี้ (%S) ติดตั้งลงในอุปกรณ์ของคุณ
+xpinstallPromptWarningDirect=%S ได้ป้องกันไม่ให้ส่วนเสริมติดตั้งลงในอุปกรณ์ของคุณ
+xpinstallPromptAllowButton=อนุญาต
+xpinstallDisabledMessageLocked=การติดตั้งซอฟต์แวร์ถูกปิดใช้งานโดยผู้ดูแลระบบของคุณ
+xpinstallDisabledMessage2=การติดตั้งซอฟต์แวร์ถูกปิดใช้งานอยู่ในขณะนี้ กด เปิดใช้งาน และลองอีกครั้ง
+xpinstallDisabledButton=เปิดใช้งาน
+
+# LOCALIZATION NOTE (webextPerms.header)
+# 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?
+
+# LOCALIZATION NOTE (webextPerms.listIntro)
+# This string will be followed by a list of permissions requested
+# by the webextension.
+webextPerms.listIntro=ส่วนขยายต้องการสิทธิอนุญาตจากคุณเพื่อ:
+webextPerms.add.label=เพิ่ม
+webextPerms.cancel.label=ยกเลิก
+
+# LOCALIZATION NOTE (webextPerms.updateText)
+# %S is replaced with the localized name of the updated extension.
+webextPerms.updateText=%S ได้รับการอัปเดตแล้ว คุณต้องอนุมัติสิทธิอนุญาตใหม่ก่อนที่รุ่นอัปเดตจะติดตั้ง การเลือก “ยกเลิก” จะคงรุ่นส่วนเสริมปัจจุบันของคุณไว้
+
+webextPerms.updateAccept.label=อัปเดต
+
+# LOCALIZATION NOTE (webextPerms.optionalPermsHeader)
+# %S is replaced with the localized name of the extension requesting new
+# permissions.
+webextPerms.optionalPermsHeader=%S ขอสิทธิอนุญาตเพิ่มเติม
+webextPerms.optionalPermsListIntro=ส่วนขยายต้องการ:
+webextPerms.optionalPermsAllow.label=อนุญาต
+webextPerms.optionalPermsDeny.label=ปฏิเสธ
+
+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.privacy=อ่านและเปลี่ยนแปลงการตั้งค่าความเป็นส่วนตัว
+webextPerms.description.proxy=ควบคุมการตั้งค่าพร็อกซีของเบราว์เซอร์
+webextPerms.description.sessions=เข้าถึงแท็บที่ปิดล่าสุด
+webextPerms.description.tabs=เข้าถึงแท็บของเบราว์เซอร์
+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 ไซต์อื่น ๆ
+
+
+# Site Identity
+identity.identified.verifier=ยืนยันโดย: %S
+identity.identified.verified_by_you=คุณได้เพิ่มข้อยกเว้นความปลอดภัยสำหรับไซต์นี้
+identity.identified.state_and_country=%S, %S
+
+# Geolocation UI
+geolocation.allow=แบ่งปัน
+geolocation.dontAllow=ไม่แบ่งปัน
+# LOCALIZATION NOTE (geolocation.location): Label that will be used in
+# site settings dialog.
+geolocation.location=ตำแหน่งที่ตั้ง
+
+# Desktop notification UI
+desktopNotification2.allow=เสมอ
+desktopNotification2.dontAllow=ไม่เลย
+# LOCALIZATION NOTE (desktopNotification.notifications): Label that will be
+# used in site settings dialog.
+desktopNotification.notifications=การแจ้งเตือน
+
+# Imageblocking
+imageblocking.downloadedImage=เลิกปิดกั้นภาพแล้ว
+imageblocking.showAllImages=แสดงทั้งหมด
+
+# New Tab Popup
+# LOCALIZATION NOTE (newtabpopup, newprivatetabpopup): Semicolon-separated list of plural forms.
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# #1 number of tabs
+newtabpopup.opened=เปิด #1 แท็บใหม่แล้ว
+newprivatetabpopup.opened=เปิด #1 แท็บส่วนตัวใหม่แล้ว
+
+# LOCALIZATION NOTE (newtabpopup.switch): Ideally, this string is short (it's a
+# button label) and upper-case, to match Google and Android's convention.
+newtabpopup.switch=สลับ
+
+# Undo close tab toast
+# LOCALIZATION NOTE (undoCloseToast.message): This message appears in a toast
+# when the user closes a tab. %S is the title of the tab that was closed.
+undoCloseToast.message=ปิด %S แล้ว
+
+# Private Tab closed message
+# LOCALIZATION NOTE (privateClosedMessage.message): This message appears
+# when the user closes a private tab.
+privateClosedMessage.message=ปิดการเรียกดูแบบส่วนตัวแล้ว
+
+# LOCALIZATION NOTE (undoCloseToast.messageDefault): This message appears in a
+# toast when the user closes a tab if there is no title to display.
+undoCloseToast.messageDefault=ปิดแท็บแล้ว
+
+# LOCALIZATION NOTE (undoCloseToast.action2): Ideally, this string is short (it's a
+# button label) and upper-case, to match Google and Android's convention.
+undoCloseToast.action2=เลิกทำ
+
+# Offline web applications
+offlineApps.ask=อนุญาตให้ %S จัดเก็บข้อมูลลงในอุปกรณ์ของคุณสำหรับใช้งานออฟไลน์?
+offlineApps.dontAskAgain=ไม่ต้องถามอีกสำหรับไซต์นี้
+offlineApps.allow=อนุญาต
+offlineApps.dontAllow2=ไม่อนุญาต
+
+# LOCALIZATION NOTE (offlineApps.offlineData): Label that will be used in
+# site settings dialog.
+offlineApps.offlineData=ข้อมูลออฟไลน์
+
+# LOCALIZATION NOTE (password.logins): Label that will be used in
+ # site settings dialog.
+password.logins=การเข้าสู่ระบบ
+# LOCALIZATION NOTE (password.save): This should match
+# saveButton in passwordmgr.properties
+password.save=บันทึก
+# LOCALIZATION NOTE (password.dontSave): This should match
+# dontSaveButton in passwordmgr.properties
+password.dontSave=ไม่บันทึก
+
+# LOCALIZATION NOTE (browser.menu.showCharacterEncoding): Set to the string
+# "true" (spelled and capitalized exactly that way) to show the "Character
+# Encoding" menu in the site menu. Any other value will hide it. Without this
+# setting, the "Character Encoding" menu must be enabled via Preferences.
+# This is not a string to translate. If users frequently use the "Character Encoding"
+# menu, set this to "true". Otherwise, you can leave it as "false".
+browser.menu.showCharacterEncoding=false
+
+# Text Selection
+selectionHelper.textCopied=คัดลอกข้อความไปยังคลิปบอร์ดแล้ว
+
+# Casting
+# LOCALIZATION NOTE (casting.sendToDevice): Label that will be used in the
+# dialog/prompt.
+casting.sendToDevice=ส่งไปยังอุปกรณ์
+
+# Context menu
+contextmenu.openInNewTab=เปิดลิงก์ในแท็บใหม่
+contextmenu.openInPrivateTab=เปิดลิงก์ในแท็บส่วนตัว
+contextmenu.share=แบ่งปัน
+contextmenu.copyLink=คัดลอกลิงก์
+contextmenu.shareLink=แบ่งปันลิงก์
+contextmenu.bookmarkLink=เพิ่มที่คั่นหน้าสำหรับลิงก์
+contextmenu.copyEmailAddress=คัดลอกที่อยู่อีเมล
+contextmenu.shareEmailAddress=แบ่งปันที่อยู่อีเมล
+contextmenu.copyPhoneNumber=คัดลอกหมายเลขโทรศัพท์
+contextmenu.sharePhoneNumber=แบ่งปันหมายเลขโทรศัพท์
+contextmenu.fullScreen=เต็มหน้าจอ
+contextmenu.viewImage=ดูภาพ
+contextmenu.copyImageLocation=คัดลอกตำแหน่งที่ตั้งภาพ
+contextmenu.shareImage=แบ่งปันภาพ
+# LOCALIZATION NOTE (contextmenu.search):
+# The label of the contextmenu item which allows you to search with your default search engine for
+# the text you have selected. %S is the name of the search engine. For example, "Google".
+contextmenu.search=ค้นหา %S
+contextmenu.saveImage=บันทึกภาพ
+contextmenu.showImage=แสดงภาพ
+contextmenu.setImageAs=ตั้งภาพเป็น
+# LOCALIZATION NOTE (contextmenu.addSearchEngine3): This string should be rather short. If it is
+# significantly longer than the translation for the "Paste" action then this might trigger an
+# Android bug positioning the floating text selection partially off the screen. This issue heavily
+# depends on the screen size and the specific translations. For English "Paste" / "Add search engine"
+# is working while "Paste" / "Add as search engine" triggers the bug. See bug 1262098 for more details.
+# Manual testing the scenario described in bug 1262098 is highly recommended.
+contextmenu.addSearchEngine3=เพิ่มเครื่องมือค้นหา
+contextmenu.playMedia=เล่น
+contextmenu.pauseMedia=หยุดชั่วคราว
+contextmenu.showControls2=แสดงปุ่มควบคุม
+contextmenu.mute=ปิดเสียง
+contextmenu.unmute=เลิกปิดเสียง
+contextmenu.saveVideo=บันทึกวิดีโอ
+contextmenu.saveAudio=บันทึกเสียง
+contextmenu.addToContacts=เพิ่มไปยังรายชื่อ
+# LOCALIZATION NOTE (contextmenu.sendToDevice):
+# The label that will be used in the contextmenu and the pageaction
+contextmenu.sendToDevice=ส่งไปยังอุปกรณ์
+
+contextmenu.copy=คัดลอก
+contextmenu.cut=ตัด
+contextmenu.selectAll=เลือกทั้งหมด
+contextmenu.paste=วาง
+
+contextmenu.call=โทร
+
+#Input widgets UI
+inputWidgetHelper.date=เลือกวันที่
+inputWidgetHelper.datetime-local=เลือกวันที่และเวลา
+inputWidgetHelper.time=เลือกเวลา
+inputWidgetHelper.week=เลือกสัปดาห์
+inputWidgetHelper.month=เลือกเดือน
+inputWidgetHelper.cancel=ยกเลิก
+inputWidgetHelper.set=ตั้ง
+inputWidgetHelper.clear=ล้าง
+
+# Web Console API
+stacktrace.anonymousFunction=<ไม่ระบุชื่อ>
+stacktrace.outputMessage=Stack trace จาก %S, ฟังก์ชัน %S, บรรทัด %S
+timer.start=%S: เริ่มจับเวลา
+
+# LOCALIZATION NOTE (timer.end):
+# This string is used to display the result of the console.timeEnd() call.
+# %1$S=name of timer, %2$S=number of milliseconds
+timer.end=%1$S: %2$Sms
+
+clickToPlayPlugins.activate=เปิดใช้งาน
+clickToPlayPlugins.dontActivate=ไม่เปิดใช้งาน
+# LOCALIZATION NOTE (clickToPlayPlugins.plugins): Label that
+# will be used in site settings dialog.
+clickToPlayPlugins.plugins=ปลั๊กอิน
+
+# Site settings dialog
+
+masterPassword.incorrect=รหัสผ่านไม่ถูกต้อง
+
+# Debugger
+# LOCALIZATION NOTE (remoteIncomingPromptTitle): The title displayed on the
+# dialog that prompts the user to allow the incoming connection.
+remoteIncomingPromptTitle=การเชื่อมต่อขาเข้า
+# LOCALIZATION NOTE (remoteIncomingPromptUSB): The message displayed on the
+# dialog that prompts the user to allow an incoming USB connection.
+remoteIncomingPromptUSB=อนุญาตการเชื่อมต่อการดีบั๊กผ่าน USB?
+# LOCALIZATION NOTE (remoteIncomingPromptUSB): The message displayed on the
+# dialog that prompts the user to allow an incoming TCP connection.
+remoteIncomingPromptTCP=อนุญาตการเชื่อมต่อการดีบั๊กระยะไกลจาก %1$S:%2$S? การเชื่อมต่อนี้จำเป็นต้องสแกนรหัส QR เพื่อรับรองความถูกต้องใบรับรองของอุปกรณ์ระยะไกล คุณสามารถหลีกเลี่ยงการสแกนในอนาคตโดยให้จดจำอุปกรณ์นี้
+# LOCALIZATION NOTE (remoteIncomingPromptDeny): This button will deny an
+# an incoming remote debugger connection.
+remoteIncomingPromptDeny=ปฏิเสธ
+# LOCALIZATION NOTE (remoteIncomingPromptAllow): This button will allow an
+# an incoming remote debugger connection.
+remoteIncomingPromptAllow=อนุญาต
+# LOCALIZATION NOTE (remoteIncomingPromptScan): This button will start a QR
+# code scanner to authenticate an incoming remote debugger connection. The
+# connection will be allowed assuming the scan succeeds.
+remoteIncomingPromptScan=สแกน
+# LOCALIZATION NOTE (remoteIncomingPromptScanAndRemember): This button will
+# start a QR code scanner to authenticate an incoming remote debugger
+# connection. The connection will be allowed assuming the scan succeeds, and
+# the other endpoint's certificate will be saved to skip future scans for this
+# client.
+remoteIncomingPromptScanAndRemember=สแกนและจดจำ
+# LOCALIZATION NOTE (remoteQRScanFailedPromptTitle): The title displayed in a
+# dialog when we are unable to complete the QR code scan for an incoming remote
+# debugging connection.
+remoteQRScanFailedPromptTitle=การสแกน QR ล้มเหลว
+# LOCALIZATION NOTE (remoteQRScanFailedPromptMessage): The message displayed in
+# a dialog when we are unable to complete the QR code scan for an incoming
+# remote debugging connection.
+remoteQRScanFailedPromptMessage=ไม่สามารถสแกนรหัส QR สำหรับการดีบั๊กระยะไกล ตรวจสอบว่าแอปตัวสแกนบาร์โค้ดถูกติดตั้งอยู่และลองเชื่อมต่อใหม่
+# LOCALIZATION NOTE (remoteQRScanFailedPromptOK): This button dismisses the
+# dialog that appears when we are unable to complete the QR code scan for an
+# incoming remote debugging connection.
+remoteQRScanFailedPromptOK=ตกลง
+
+# Helper apps
+helperapps.open=เปิด
+helperapps.openWithApp2=เปิดด้วยแอป %S
+helperapps.openWithList2=เปิดด้วยแอป
+helperapps.always=เสมอ
+helperapps.never=ไม่เลย
+helperapps.pick=ดำเนินการโดยใช้
+helperapps.saveToDisk=ดาวน์โหลด
+helperapps.alwaysUse=เสมอ
+helperapps.useJustOnce=แค่ครั้งเดียว
+
+# LOCALIZATION NOTE (getUserMedia.shareCamera.message, getUserMedia.shareMicrophone.message, getUserMedia.shareCameraAndMicrophone.message, getUserMedia.sharingCamera.message, getUserMedia.sharingMicrophone.message, getUserMedia.sharingCameraAndMicrophone.message): %S is the website origin (e.g. www.mozilla.org)
+getUserMedia.shareCamera.message = คุณต้องการแบ่งปันกล้องของคุณกับ %S หรือไม่?
+getUserMedia.shareMicrophone.message = คุณต้องการแบ่งปันไมโครโฟนของคุณกับ %S หรือไม่?
+getUserMedia.shareCameraAndMicrophone.message = คุณต้องการแบ่งปันกล้องและไมโครโฟนของคุณกับ %S หรือไม่?
+getUserMedia.denyRequest.label = ไม่แบ่งปัน
+getUserMedia.shareRequest.label = แบ่งปัน
+getUserMedia.videoSource.default = กล้อง %S
+getUserMedia.videoSource.frontCamera = กล้องหน้า
+getUserMedia.videoSource.backCamera = กล้องหลัง
+getUserMedia.videoSource.none = ไม่มีวิดีโอ
+getUserMedia.videoSource.tabShare = เลือกแท็บที่จะฉาย
+getUserMedia.videoSource.prompt = แหล่งที่มาวิดีโอ
+getUserMedia.audioDevice.default = ไมโครโฟน %S
+getUserMedia.audioDevice.none = ไม่มีเสียง
+getUserMedia.audioDevice.prompt = ไมโครโฟนที่จะใช้
+getUserMedia.sharingCamera.message2 = กล้องเปิดอยู่
+getUserMedia.sharingMicrophone.message2 = ไมโครโฟนเปิดอยู่
+getUserMedia.sharingCameraAndMicrophone.message2 = กล้องและไมโครโฟนเปิดอยู่
+getUserMedia.blockedCameraAccess = ปิดกั้นกล้องแล้ว
+getUserMedia.blockedMicrophoneAccess = ปิดกั้นไมโครโฟนแล้ว
+getUserMedia.blockedCameraAndMicrophoneAccess = ปิดกั้นกล้องและไมโครโฟนแล้ว
+
+# LOCALIZATION NOTE (userContextPersonal.label,
+# userContextWork.label,
+# userContextShopping.label,
+# userContextBanking.label,
+# userContextNone.label):
+# These strings specify the four predefined contexts included in support of the
+# Contextual Identity / Containers project. Each context is meant to represent
+# the context that the user is in when interacting with the site. Different
+# contexts will store cookies and other information from those sites in
+# different, isolated locations. You can enable the feature by typing
+# about:config in the URL bar and changing privacy.userContext.enabled to true.
+# Once enabled, you can open a new tab in a specific context by clicking
+# File > New Container Tab > (1 of 4 contexts). Once opened, you will see these
+# strings on the right-hand side of the URL bar.
+# In android this will be only exposed by web extensions
+userContextPersonal.label = ส่วนบุคคล
+userContextWork.label = งาน
+userContextBanking.label = ธนาคาร
+userContextShopping.label = การซื้อของ
+
+# LOCALIZATION NOTE (readerMode.toolbarTip):
+# Tip shown to users the first time we hide the reader mode toolbar.
+readerMode.toolbarTip=แตะหน้าจอเพื่อแสดงตัวเลือกของผู้อ่าน
+
+#Open in App
+openInApp.pageAction = เปิดในแอป
+openInApp.ok = ตกลง
+openInApp.cancel = ยกเลิก
+
+#Tab sharing
+tabshare.title = "เลือกแท็บที่จะฉาย"
+#Tabs in context menus
+browser.menu.context.default = ลิงก์
+browser.menu.context.img = ภาพ
+browser.menu.context.video = วิดีโอ
+browser.menu.context.audio = เสียง
+browser.menu.context.tel = โทรศัพท์
+browser.menu.context.mailto = จดหมาย
+
+# "Subscribe to page" prompts created in FeedHandler.js
+feedHandler.chooseFeed=เลือกฟีด
+feedHandler.subscribeWith=บอกรับด้วย
+
+# LOCALIZATION NOTE (nativeWindow.deprecated):
+# This string is shown in the console when someone uses deprecated NativeWindow apis.
+# %1$S=name of the api that's deprecated, %2$S=New API to use. This may be a url to
+# a file they should import or the name of an api.
+nativeWindow.deprecated=%1$S เลิกใช้แล้ว โปรดใช้ %2$S แทน
+
+# Vibration API permission prompt
+vibrationRequest.message = อนุญาตให้ไซต์นี้สั่นอุปกรณ์ของคุณ?
+vibrationRequest.denyButton = ไม่อนุญาต
+vibrationRequest.allowButton = อนุญาต
diff --git a/l10n-th/mobile/android/chrome/config.dtd b/l10n-th/mobile/android/chrome/config.dtd
new file mode 100644
index 0000000000..20dfe845c5
--- /dev/null
+++ b/l10n-th/mobile/android/chrome/config.dtd
@@ -0,0 +1,21 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+
+<!ENTITY toolbar.searchPlaceholder "ค้นหา">
+
+<!ENTITY newPref.namePlaceholder "ชื่อ">
+
+<!ENTITY newPref.valueBoolean "ค่าตรรกะ">
+<!ENTITY newPref.valueString "สตริง">
+<!ENTITY newPref.valueInteger "จำนวนเต็ม">
+
+<!ENTITY newPref.stringPlaceholder "ป้อนสตริง">
+<!ENTITY newPref.numberPlaceholder "ป้อนตัวเลข">
+
+<!ENTITY newPref.toggleButton "เปิด/ปิด">
+<!ENTITY newPref.cancelButton "ยกเลิก">
+
+<!ENTITY contextMenu.copyPrefName "คัดลอกชื่อ">
+<!ENTITY contextMenu.copyPrefValue "คัดลอกค่า">
diff --git a/l10n-th/mobile/android/chrome/config.properties b/l10n-th/mobile/android/chrome/config.properties
new file mode 100644
index 0000000000..a07823d271
--- /dev/null
+++ b/l10n-th/mobile/android/chrome/config.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/.
+
+newPref.createButton=สร้าง
+newPref.changeButton=เปลี่ยน
+
+pref.toggleButton=เปิด/ปิด
+pref.resetButton=กลับค่าเดิม
diff --git a/l10n-th/mobile/android/chrome/devicePrompt.properties b/l10n-th/mobile/android/chrome/devicePrompt.properties
new file mode 100644
index 0000000000..7ef39c398a
--- /dev/null
+++ b/l10n-th/mobile/android/chrome/devicePrompt.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/.
+
+deviceMenu.title=อุปกรณ์ที่อยู่ใกล้เคียง
diff --git a/l10n-th/mobile/android/chrome/passwordmgr.properties b/l10n-th/mobile/android/chrome/passwordmgr.properties
new file mode 100644
index 0000000000..3290fe9876
--- /dev/null
+++ b/l10n-th/mobile/android/chrome/passwordmgr.properties
@@ -0,0 +1,20 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# String will be replaced by brandShortName.
+saveLogin=คุณต้องการให้ %S จดจำการเข้าสู่ระบบนี้หรือไม่?
+rememberButton=จดจำ
+neverButton=ไม่เลย
+
+# String is the login's hostname
+updatePassword=อัปเดตรหัสผ่านที่บันทึกไว้สำหรับ %S?
+updatePasswordNoUser=อัปเดตรหัสผ่านที่บันทึกไว้สำหรับการเข้าสู่ระบบนี้?
+updateButton=อัปเดต
+dontUpdateButton=ไม่อัปเดต
+
+userSelectText2=เลือกการเข้าสู่ระบบที่จะอัปเดต:
+passwordChangeTitle=ยืนยันการเปลี่ยนรหัสผ่าน
+
+username=ชื่อผู้ใช้
+password=รหัสผ่าน
diff --git a/l10n-th/mobile/android/chrome/phishing.dtd b/l10n-th/mobile/android/chrome/phishing.dtd
new file mode 100644
index 0000000000..8578c3cd8b
--- /dev/null
+++ b/l10n-th/mobile/android/chrome/phishing.dtd
@@ -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/. -->
+
+<!ENTITY safeb.palm.accept.label "นำฉันออกไปจากที่นี่!">
+<!ENTITY safeb.palm.decline.label "เพิกเฉยคำเตือนนี้">
+<!ENTITY safeb.palm.reportPage.label "ทำไมหน้านี้จึงถูกปิดกั้น?">
+<!-- Localization note (safeb.palm.advisory.desc) - Please don't translate <a id="advisory_provider"/> tag. It will be replaced at runtime with advisory link-->
+<!ENTITY safeb.palm.advisory.desc "ให้บริการคำแนะนำโดย <a id='advisory_provider'/>">
+
+<!ENTITY safeb.blocked.malwarePage.title "หน้ารุกรานตามการรายงาน!">
+<!-- Localization note (safeb.blocked.malware.shortDesc) - Please don't translate the contents of the <span id="malware_sitename"/> tag. It will be replaced at runtime with a domain name (e.g. www.badsite.com) -->
+<!ENTITY safeb.blocked.malwarePage.shortDesc "หน้าเว็บนี้ที่ <span id='malware_sitename'/> ถูกรายงานว่าเป็นหน้ารุกรานและถูกปิดกั้นตามค่ากำหนดความปลอดภัยของคุณ">
+<!ENTITY safeb.blocked.malwarePage.longDesc "<p>หน้ารุกรานจะพยายามติดตั้งโปรแกรมที่ขโมยข้อมูลส่วนตัว ใช้คอมพิวเตอร์ของคุณเพื่อโจมตีผู้อื่น หรือสร้างความเสียหายให้กับระบบของคุณ</p><p>หน้ารุกรานบางส่วนจงใจแจกจ่ายซอฟต์แวร์ที่เป็นอันตราย แต่หลายหน้าก็ถูกบุกรุกโดยที่เจ้าของไม่ทราบหรือไม่ได้อนุญาต</p>">
+
+<!ENTITY safeb.blocked.phishingPage.title3 "ไซต์หลอกลวง!">
+<!-- Localization note (safeb.blocked.phishingPage.shortDesc3) - Please don't translate the contents of the <span id="phishing_sitename"/> tag. It will be replaced at runtime with a domain name (e.g. www.badsite.com) -->
+<!ENTITY safeb.blocked.phishingPage.shortDesc3 "หน้าเว็บนี้ที่ <span id='phishing_sitename'/> ถูกรายงานว่าเป็นไซต์หลอกลวงและถูกปิดกั้นตามค่ากำหนดความปลอดภัยของคุณ">
+<!ENTITY safeb.blocked.phishingPage.longDesc3 "<p>ไซต์หลอกลวงได้รับการออกแบบมาเพื่อหลอกล่อให้คุณทำบางอย่างที่เป็นอันตราย อย่างการติดตั้งซอฟต์แวร์ หรือเปิดเผยข้อมูลส่วนบุคคลของคุณอย่างรหัสผ่าน, หมายเลขโทรศัพท์ หรือบัตรเครดิต</p><p>การป้อนข้อมูลใด ๆ ในหน้าเว็บนี้อาจส่งผลให้เกิดการโจรกรรมข้อมูลประจำตัวหรือการฉ้อฉลอื่น</p>">
+
+<!ENTITY safeb.blocked.unwantedPage.title "ไซต์ที่มีซอฟต์แวร์ไม่พึงประสงค์ตามการรายงาน!">
+<!-- Localization note (safeb.blocked.unwanted.shortDesc) - Please don't translate the contents of the <span id="unwanted_sitename"/> tag. It will be replaced at runtime with a domain name (e.g. www.badsite.com) -->
+<!ENTITY safeb.blocked.unwantedPage.shortDesc "หน้าเว็บนี้ที่ <span id='unwanted_sitename'/> ถูกรายงานว่ามีซอฟต์แวร์ไม่พึงประสงค์และถูกปิดกั้นตามค่ากำหนดความปลอดภัยของคุณ">
+<!ENTITY safeb.blocked.unwantedPage.longDesc "หน้าที่มีซอฟต์แวร์ไม่พึงประสงค์จะพยายามติดตั้งซอฟต์แวร์ที่สามารถหลอกลวงและส่งผลกระทบกับระบบของคุณในทางที่ไม่คาดคิด">
+
+<!ENTITY safeb.blocked.harmfulPage.title "ไซต์ข้างหน้าอาจมีมัลแวร์">
+<!ENTITY safeb.blocked.harmfulPage.shortDesc "&brandShortName; ได้ปิดกั้นหน้านี้เนื่องจากหน้าอาจพยายามติดตั้งแอปที่เป็นอันตรายที่ขโมยหรือลบข้อมูลของคุณ (ตัวอย่างเช่น รูปถ่าย, รหัสผ่าน, ข้อความ และบัตรเครดิต)"> \ No newline at end of file
diff --git a/l10n-th/mobile/android/chrome/pippki.properties b/l10n-th/mobile/android/chrome/pippki.properties
new file mode 100644
index 0000000000..52cd282cf8
--- /dev/null
+++ b/l10n-th/mobile/android/chrome/pippki.properties
@@ -0,0 +1,84 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+nssdialogs.ok.label=ตกลง
+nssdialogs.cancel.label=ยกเลิก
+
+# These strings are stolen from security/manager/locales/en-US/chrome/pippki/pippki.dtd
+downloadCert.title=กำลังดาวน์โหลดใบรับรอง
+downloadCert.message1=คุณได้รับคำขอให้เชื่อถือผู้ออกใบรับรอง (CA) ใหม่
+downloadCert.viewCert.label=ดู
+downloadCert.trustSSL=เชื่อถือเพื่อระบุตัวตนเว็บไซต์
+downloadCert.trustEmail=เชื่อถือเพื่อระบุตัวตนผู้ใช้อีเมล
+pkcs12.getpassword.title=กล่องป้อนรหัสผ่าน
+pkcs12.getpassword.message=โปรดป้อนรหัสผ่านที่ใช้ในการเข้ารหัสการสำรองใบรับรองนี้
+clientAuthAsk.title=คำขออัตลักษณ์ผู้ใช้
+clientAuthAsk.message1=ไซต์นี้ได้ขอให้คุณระบุตัวคุณเองด้วยใบรับรอง:
+clientAuthAsk.message2=เลือกใบรับรองเพื่อระบุตัวตน:
+clientAuthAsk.message3=รายละเอียดของใบรับรองที่เลือก:
+clientAuthAsk.remember.label=จดจำการตัดสินใจนี้
+# LOCALIZATION NOTE(clientAuthAsk.nickAndSerial): Represents a single cert when
+# the user is choosing from a list of certificates.
+# %1$S is the nickname of the cert.
+# %2$S is the serial number of the cert in AA:BB:CC hex format.
+clientAuthAsk.nickAndSerial=%1$S [%2$S]
+# LOCALIZATION NOTE(clientAuthAsk.hostnameAndPort):
+# %1$S is the hostname of the server.
+# %2$S is the port of the server.
+clientAuthAsk.hostnameAndPort=%1$S:%2$S
+# LOCALIZATION NOTE(clientAuthAsk.organization): %S is the Organization of the
+# server cert.
+clientAuthAsk.organization=องค์กร: "%S"
+# LOCALIZATION NOTE(clientAuthAsk.issuer): %S is the Organization of the
+# issuer cert of the server cert.
+clientAuthAsk.issuer=ออกให้ภายใต้: "%S"
+# LOCALIZATION NOTE(clientAuthAsk.issuedTo): %1$S is the Distinguished Name of
+# the currently selected client cert, such as "CN=John Doe,OU=Example" (without
+# quotes).
+clientAuthAsk.issuedTo=ออกให้: %1$S
+# LOCALIZATION NOTE(clientAuthAsk.serial): %1$S is the serial number of the
+# selected cert in AA:BB:CC hex format.
+clientAuthAsk.serial=หมายเลขอนุกรม: %1$S
+# LOCALIZATION NOTE(clientAuthAsk.validityPeriod):
+# %1$S is the already localized notBefore date of the selected cert.
+# %2$S is the already localized notAfter date of the selected cert.
+clientAuthAsk.validityPeriod=มีผลตั้งแต่ %1$S ถึง %2$S
+# LOCALIZATION NOTE(clientAuthAsk.keyUsages): %1$S is a comma separated list of
+# already localized key usages the selected cert is valid for.
+clientAuthAsk.keyUsages=การใช้กุญแจ: %1$S
+# LOCALIZATION NOTE(clientAuthAsk.emailAddresses): %1$S is a comma separated
+# list of e-mail addresses the selected cert is valid for.
+clientAuthAsk.emailAddresses=ที่อยู่อีเมล: %1$S
+# LOCALIZATION NOTE(clientAuthAsk.issuedBy): %1$S is the Distinguished Name of
+# the cert which issued the selected cert.
+clientAuthAsk.issuedBy=ออกโดย: %1$S
+# LOCALIZATION NOTE(clientAuthAsk.storedOn): %1$S is the name of the PKCS #11
+# token the selected cert is stored on.
+clientAuthAsk.storedOn=จัดเก็บไว้ใน: %1$S
+clientAuthAsk.viewCert.label=ดู
+
+certmgr.title=รายละเอียดใบรับรอง
+# These strings are stolen from security/manager/locales/en-US/chrome/pippki/certManager.dtd
+certmgr.subjectinfo.label=ออกให้
+certmgr.issuerinfo.label=ออกโดย
+certmgr.periodofvalidity.label=ระยะเวลาที่มีผล
+certmgr.fingerprints.label=ลายนิ้วมือ
+certdetail.cn=ชื่อสามัญ (CN): %1$S
+certdetail.o=องค์กร (O): %1$S
+certdetail.ou=หน่วยงาน (OU): %1$S
+# LOCALIZATION NOTE(certdetail.serialnumber): %1$S is the serial number of the
+# cert being viewed in AA:BB:CC hex format.
+certdetail.serialnumber=หมายเลขอนุกรม: %1$S
+# LOCALIZATION NOTE(certdetail.sha256fingerprint): %1$S is the SHA-256
+# Fingerprint of the cert being viewed in AA:BB:CC hex format.
+certdetail.sha256fingerprint=ลายนิ้วมือ SHA-256: %1$S
+# LOCALIZATION NOTE(certdetail.sha1fingerprint): %1$S is the SHA-1 Fingerprint
+# of the cert being viewed in AA:BB:CC hex format.
+certdetail.sha1fingerprint=ลายนิ้วมือ SHA1: %1$S
+# LOCALIZATION NOTE(certdetail.notBefore): %1$S is the already localized
+# notBefore date of the cert being viewed.
+certdetail.notBefore=เริ่มเมื่อ: %1$S
+# LOCALIZATION NOTE(certdetail.notAfter): %1$S is the already localized notAfter
+# date of the cert being viewed.
+certdetail.notAfter=หมดอายุเมื่อ: %1$S
diff --git a/l10n-th/mobile/android/chrome/sync.properties b/l10n-th/mobile/android/chrome/sync.properties
new file mode 100644
index 0000000000..95a19bd2d8
--- /dev/null
+++ b/l10n-th/mobile/android/chrome/sync.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/.
+
+# Mobile Sync
+
+# %S is the date and time at which the last sync successfully completed
+lastSync2.label=ซิงค์ล่าสุด: %S
+
+# %S is the username logged in
+account.label=บัญชี: %S
+
diff --git a/l10n-th/mobile/android/chrome/webcompatReporter.properties b/l10n-th/mobile/android/chrome/webcompatReporter.properties
new file mode 100644
index 0000000000..27f0053334
--- /dev/null
+++ b/l10n-th/mobile/android/chrome/webcompatReporter.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 (webcompat.menu.name): A "site issue" is a bug, display,
+# or functionality problem with a webpage in the browser.
+webcompat.menu.name=รายงานปัญหาไซต์
+
+# LOCALIZATION NOTE (webcompat.reportDesktopMode.message): A " site issue" is a
+# bug, display, or functionality problem with a webpage in the browser.
+webcompat.reportDesktopMode.message=รายงานปัญหาไซต์?
+webcompat.reportDesktopModeYes.label=รายงาน
diff --git a/l10n-th/mobile/android/defines.inc b/l10n-th/mobile/android/defines.inc
new file mode 100644
index 0000000000..2f56d26173
--- /dev/null
+++ b/l10n-th/mobile/android/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 <em:contributor>Nattapong Ekudomsuk</em:contributor> <em:contributor>Patipat Susumpow</em:contributor> <em:contributor>Pittaya Sroilong</em:contributor> <em:contributor>Teerapat Taechaiya</em:contributor> <em:contributor>Vee Satayamas</em:contributor> <em:contributor>Wichai Termwuttipreecha</em:contributor>
+
+#unfilter emptyLines
diff --git a/l10n-th/mobile/chrome/region.properties b/l10n-th/mobile/chrome/region.properties
new file mode 100644
index 0000000000..0ff06da932
--- /dev/null
+++ b/l10n-th/mobile/chrome/region.properties
@@ -0,0 +1,22 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# increment this number when anything gets changed in the list below. This will
+# cause Firefox to re-read these prefs and inject any new handlers into the
+# profile database. Note that "new" is defined as "has a different URL"; this
+# means that it's not possible to update the name of existing handler, so
+# don't make any spelling errors here.
+gecko.handlerService.defaultHandlersVersion=3
+
+# The default set of protocol handlers for mailto:
+gecko.handlerService.schemes.mailto.0.name=Yahoo! Mail
+gecko.handlerService.schemes.mailto.0.uriTemplate=https://compose.mail.yahoo.com/?To=%s
+gecko.handlerService.schemes.mailto.1.name=Gmail
+gecko.handlerService.schemes.mailto.1.uriTemplate=https://mail.google.com/mail/?extsrc=mailto&url=%s
+
+# This is the default set of web based feed handlers shown in the reader
+# selection UI
+browser.contentHandlers.types.0.title=My Yahoo!
+browser.contentHandlers.types.0.uri=https://add.my.yahoo.com/rss?url=%s
+
diff --git a/l10n-th/mobile/overrides/appstrings.properties b/l10n-th/mobile/overrides/appstrings.properties
new file mode 100644
index 0000000000..6cee874bb7
--- /dev/null
+++ b/l10n-th/mobile/overrides/appstrings.properties
@@ -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/.
+
+# BEFORE EDITING THIS FILE, PLEASE NOTE:
+# These strings are only here to support shipping Fennec ESR.
+# They are unused in GeckoView, so please don't make any changes.
+
+malformedURI2=URL ไม่ถูกต้องและไม่สามารถโหลดได้
+fileNotFound=Firefox ไม่พบไฟล์ที่ %S
+fileAccessDenied=ไฟล์ที่ %S ไม่สามารถอ่านได้
+dnsNotFound2=Firefox ไม่พบเซิร์ฟเวอร์ที่ %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=ไม่สามารถแสดงหน้าที่คุณกำลังพยายามจะดูเนื่องจากหน้ามีชนิดไฟล์ที่อาจไม่ปลอดภัยที่จะเปิด โปรดติดต่อเจ้าของเว็บไซต์เพื่อแจ้งพวกเขาให้ทราบถึงปัญหานี้
+malwareBlocked=ไซต์ที่ %S ถูกรายงานว่าเป็นไซต์รุกรานและถูกปิดกั้นตามค่ากำหนดความปลอดภัยของคุณ
+harmfulBlocked=ไซต์ที่ %S ถูกรายงานว่าเป็นไซต์ที่อาจเป็นอันตรายและถูกปิดกั้นตามค่ากำหนดความปลอดภัยของคุณ
+deceptiveBlocked=หน้าเว็บนี้ที่ %S ถูกรายงานว่าเป็นไซต์หลอกลวงและถูกปิดกั้นตามค่ากำหนดความปลอดภัยของคุณ
+unwantedBlocked=ไซต์ที่ %S ถูกรายงานว่าแจกจ่ายซอฟต์แวร์ไม่พึงประสงค์และถูกปิดกั้นตามค่ากำหนดความปลอดภัยของคุณ
+cspBlocked=หน้านี้มีนโยบายความปลอดภัยของเนื้อหาที่ป้องกันไม่ให้หน้าถูกโหลดด้วยวิธีนี้
+corruptedContentErrorv2=ไซต์ที่ %S ได้พบการละเมิดโปรโตคอลเครือข่ายที่ไม่สามารถซ่อมแซมได้
+remoteXUL=หน้านี้ใช้เทคโนโลยีที่ไม่รองรับซึ่งไม่มีให้ใช้โดยค่าเริ่มต้นอีกต่อไปใน Firefox
+sslv3Used=Firefox ไม่สามารถรับประกันความปลอดภัยของข้อมูลของคุณบน %S เนื่องจากใช้ SSLv3 ซึ่งเป็นโปรโตคอลที่มีปัญหาด้านความปลอดภัย
+weakCryptoUsed=เจ้าของ %S ได้กำหนดค่าเว็บไซต์ของพวกเขาไม่เหมาะสม เพื่อปกป้องข้อมูลของคุณจากการถูกขโมย Firefox จึงไม่ได้เชื่อมต่อไปยังเว็บไซต์นี้
+inadequateSecurityError=เว็บไซต์พยายามจะแลกเปลี่ยนระดับความปลอดภัยที่ไม่เพียงพอ
+networkProtocolError=Firefox ได้พบการละเมิดโปรโตคอลเครือข่ายที่ไม่สามารถซ่อมแซมได้
diff --git a/l10n-th/mobile/overrides/netError.dtd b/l10n-th/mobile/overrides/netError.dtd
new file mode 100644
index 0000000000..c1527e0d0c
--- /dev/null
+++ b/l10n-th/mobile/overrides/netError.dtd
@@ -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/. -->
+
+<!ENTITY % brandDTD SYSTEM "chrome://branding/locale/brand.dtd">
+%brandDTD;
+
+<!ENTITY loadError.label "เกิดปัญหาในการโหลดหน้า">
+<!ENTITY retry.label "ลองอีกครั้ง">
+
+<!-- Specific error messages -->
+
+<!ENTITY connectionFailure.title "ไม่สามารถเชื่อมต่อ">
+<!ENTITY connectionFailure.longDesc2 "&sharedLongDesc3;">
+
+<!ENTITY deniedPortAccess.title "ที่อยู่นี้ถูกจำกัด">
+<!ENTITY deniedPortAccess.longDesc "">
+
+<!ENTITY dnsNotFound.title "ไม่พบเซิร์ฟเวอร์">
+<!-- LOCALIZATION NOTE (dnsNotFound.longDesc4) This string contains markup including widgets for searching
+ or enabling wifi connections. The text inside tags should be localized. Do not change the ids. -->
+<!ENTITY dnsNotFound.longDesc4 "<ul> <li>ตรวจสอบข้อผิดพลาดในการพิมพ์ที่อยู่ อย่างเช่น <strong>ww</strong>.example.com แทนที่จะเป็น <strong>www</strong>.example.com</li> <div id='searchbox'> <input id='searchtext' type='search'></input> <button id='searchbutton'>ค้นหา</button> </div> <li>หากคุณไม่สามารถโหลดหน้าใด ๆ ได้ ตรวจสอบการเชื่อมต่อข้อมูลหรือ Wi-Fi ของอุปกรณ์ของคุณ <button id='wifi'>เปิดใช้งาน Wi-Fi</button> </li> </ul>">
+
+<!ENTITY fileNotFound.title "ไม่พบไฟล์">
+<!ENTITY fileNotFound.longDesc "<ul> <li>ตรวจสอบชื่อไฟล์สำหรับตัวพิมพ์ใหญ่เล็กหรือข้อผิดพลาดการพิมพ์อื่น ๆ</li> <li>ตรวจสอบเพื่อดูหากไฟล์ถูกย้าย เปลี่ยนชื่อ หรือลบ</li> </ul>">
+
+<!ENTITY fileAccessDenied.title "การเข้าถึงไฟล์ถูกปฏิเสธ">
+<!ENTITY fileAccessDenied.longDesc "<ul> <li>ไฟล์อาจถูกเอาออก ย้าย หรือสิทธิอนุญาตของไฟล์อาจป้องกันการเข้าถึง</li> </ul>">
+
+<!ENTITY generic.title "อุปส์">
+<!ENTITY generic.longDesc "<p>&brandShortName; ไม่สามารถโหลดหน้านี้ได้ด้วยเหตุผลบางอย่าง</p>">
+
+<!ENTITY malformedURI.title "ที่อยู่ไม่ถูกต้อง">
+<!-- LOCALIZATION NOTE (malformedURI.longDesc2) This string contains markup including widgets for searching
+ or enabling wifi connections. The text inside the tags should be localized. Do not touch the ids. -->
+<!ENTITY malformedURI.longDesc2 "<ul> <li>ที่อยู่เว็บมักจะเขียนเป็น <strong>http://www.example.com/</strong></li> <div id='searchbox'> <input id='searchtext' type='search'></input> <button id='searchbutton'>ค้นหา</button> </div> <li>ตรวจสอบให้แน่ใจว่าคุณใช้เครื่องหมายทับไปข้างหน้า (กล่าวคือ <strong>/</strong>)</li> </ul>">
+
+<!ENTITY netInterrupt.title "การเชื่อมต่อถูกขัดจังหวะ">
+<!ENTITY netInterrupt.longDesc2 "&sharedLongDesc3;">
+
+<!ENTITY notCached.title "เอกสารหมดอายุ">
+<!ENTITY notCached.longDesc "<p>เอกสารที่ขอไม่มีในแคชของ &brandShortName;</p><ul><li>ตามมาตรการรักษาความปลอดภัย &brandShortName; จะไม่ขอเอกสารที่ละเอียดอ่อนให้ใหม่โดยอัตโนมัติ</li><li>คลิก ลองอีกครั้ง เพื่อขอเอกสารจากเว็บไซต์ใหม่</li></ul>">
+
+<!ENTITY netOffline.title "โหมดออฟไลน์">
+
+<!ENTITY contentEncodingError.title "ข้อผิดพลาดการเข้ารหัสเนื้อหา">
+<!ENTITY contentEncodingError.longDesc "<ul> <li>โปรดติดต่อเจ้าของเว็บไซต์เพื่อแจ้งพวกเขาให้ทราบถึงปัญหานี้</li> </ul>">
+
+<!ENTITY unsafeContentType.title "ชนิดไฟล์ที่ไม่ปลอดภัย">
+<!ENTITY unsafeContentType.longDesc "<ul> <li>โปรดติดต่อเจ้าของเว็บไซต์เพื่อแจ้งพวกเขาให้ทราบถึงปัญหานี้</li> </ul>">
+
+<!ENTITY netReset.title "ตัดการเชื่อมต่อแล้ว">
+<!ENTITY netReset.longDesc2 "&sharedLongDesc3;">
+
+<!ENTITY netTimeout.title "การเชื่อมต่อหมดเวลา">
+<!ENTITY netTimeout.longDesc2 "&sharedLongDesc3;">
+
+<!ENTITY unknownProtocolFound.title "ไม่เข้าใจที่อยู่">
+<!ENTITY unknownProtocolFound.longDesc "<ul> <li>คุณอาจจำเป็นต้องติดตั้งซอฟต์แวร์อื่นเพื่อเปิดที่อยู่นี้</li> </ul>">
+
+<!ENTITY proxyConnectFailure.title "เซิร์ฟเวอร์พร็อกซีปฏิเสธการเชื่อมต่อ">
+<!ENTITY proxyConnectFailure.longDesc "<ul> <li>ตรวจสอบให้แน่ใจว่าการตั้งค่าพร็อกซีถูกต้อง</li> <li>ติดต่อผู้ดูแลเครือข่ายของคุณเพื่อให้แน่ใจว่าเซิร์ฟเวอร์พร็อกซีกำลังทำงานอยู่</li> </ul>">
+
+<!ENTITY proxyResolveFailure.title "ไม่สามารถค้นหาเซิร์ฟเวอร์พร็อกซี">
+<!-- LOCALIZATION NOTE (proxyResolveFailure.longDesc3) This string contains markup including widgets for enabling wifi connections.
+ The text inside the tags should be localized. Do not touch the ids. -->
+<!ENTITY proxyResolveFailure.longDesc3 "<ul> <li>ตรวจสอบให้แน่ใจว่าการตั้งค่าพร็อกซีถูกต้อง</li> <li>ตรวจสอบให้แน่ใจว่าอุปกรณ์ของคุณมีการเชื่อมต่อข้อมูลหรือ Wi-Fi ที่ทำงานได้ <button id='wifi'>เปิดใช้งาน Wi-Fi</button> </li> </ul>">
+
+<!ENTITY redirectLoop.title "หน้าไม่ได้เปลี่ยนเส้นทางอย่างถูกต้อง">
+<!ENTITY redirectLoop.longDesc "<ul> <li>ปัญหานี้บางครั้งอาจมีสาเหตุมาจากการปิดใช้งานหรือปฏิเสธการยอมรับคุกกี้</li> </ul>">
+
+<!ENTITY unknownSocketType.title "การตอบสนองที่ไม่คาดคิดจากเซิร์ฟเวอร์">
+<!ENTITY unknownSocketType.longDesc "<ul> <li>ตรวจสอบให้แน่ใจว่าระบบของคุณมีตัวจัดการความปลอดภัยส่วนบุคคลติดตั้งอยู่</li> <li>สิ่งนี้อาจเกิดจากการกำหนดค่าที่ไม่มาตรฐานบนเซิร์ฟเวอร์</li> </ul>">
+
+<!ENTITY nssFailure2.title "การเชื่อมต่อปลอดภัยล้มเหลว">
+<!ENTITY nssFailure2.longDesc2 "<ul> <li>ไม่สามารถแสดงหน้าที่คุณกำลังพยายามจะดูเนื่องจากไม่สามารถยืนยันความถูกต้องของข้อมูลที่ได้รับ</li> <li>โปรดติดต่อเจ้าของเว็บไซต์เพื่อแจ้งพวกเขาให้ทราบถึงปัญหานี้</li> </ul>">
+
+<!ENTITY nssBadCert.title "การเชื่อมต่อปลอดภัยล้มเหลว">
+<!ENTITY nssBadCert.longDesc2 "<ul> <li>สิ่งนี้อาจเป็นปัญหาจากการกำหนดค่าของเซิร์ฟเวอร์ หรืออาจมีใครบางคนกำลังพยายามปลอมแปลงเซิร์ฟเวอร์</li> <li>หากคุณเคยเชื่อมต่อกับเซิร์ฟเวอร์นี้สำเร็จในอดีต ข้อผิดพลาดอาจเกิดขึ้นเพียงชั่วคราว และคุณสามารถลองอีกครั้งในภายหลัง</li> </ul>">
+
+<!-- LOCALIZATION NOTE (sharedLongDesc3) This string contains markup including widgets for enabling wifi connections.
+ The text inside the tags should be localized. Do not touch the ids. -->
+<!ENTITY sharedLongDesc3 "<ul> <li>ไซต์อาจไม่พร้อมใช้งานชั่วคราวหรือกำลังทำงานหนักเกินไป ลองอีกครั้งในอีกสักครู่</li> <li>หากคุณไม่สามารถโหลดหน้าใด ๆ ได้ ตรวจสอบการเชื่อมต่อข้อมูลหรือ Wi-Fi ของอุปกรณ์มือถือของคุณ <button id='wifi'>เปิดใช้งาน Wi-Fi</button> </li> </ul>">
+
+<!ENTITY cspBlocked.title "ปิดกั้นแล้วโดยนโยบายความปลอดภัยของเนื้อหา">
+<!ENTITY cspBlocked.longDesc "<p>&brandShortName; ได้ป้องกันไม่ให้หน้านี้โหลดด้วยวิธีนี้เนื่องจากหน้ามีนโยบายความปลอดภัยของเนื้อหาที่ไม่อนุญาต</p>">
+
+<!ENTITY corruptedContentErrorv2.title "ข้อผิดพลาดเนื้อหาเสียหาย">
+<!ENTITY corruptedContentErrorv2.longDesc "<p>ไม่สามารถแสดงหน้าที่คุณกำลังพยายามจะดูเนื่องจากตรวจพบข้อผิดพลาดในการส่งผ่านข้อมูล</p><ul><li>โปรดติดต่อเจ้าของเว็บไซต์เพื่อแจ้งพวกเขาให้ทราบถึงปัญหานี้</li></ul>">
+
+<!ENTITY securityOverride.linkText "หรือคุณสามารถเพิ่มข้อยกเว้น…">
+<!ENTITY securityOverride.getMeOutOfHereButton "นำฉันออกไปจากที่นี่!">
+<!ENTITY securityOverride.exceptionButtonLabel "เพิ่มข้อยกเว้น…">
+
+<!-- LOCALIZATION NOTE (securityOverride.warningContent) - Do not translate the
+contents of the <xul:button> tags. The only language content is the label= field,
+which uses strings already defined above. The button is included here (instead of
+netError.xhtml) because it exposes functionality specific to firefox. -->
+
+<!ENTITY securityOverride.warningContent "<p>คุณไม่ควรเพิ่มข้อยกเว้นหากคุณกำลังใช้งานการเชื่อมต่ออินเทอร์เน็ตที่คุณไม่เชื่อถือโดยสมบูรณ์ หรือหากคุณไม่เคยเห็นคำเตือนสำหรับเซิร์ฟเวอร์นี้</p> <button id='getMeOutOfHereButton'>&securityOverride.getMeOutOfHereButton;</button> <button id='exceptionDialogButton'>&securityOverride.exceptionButtonLabel;</button>">
+
+<!ENTITY remoteXUL.title "XUL ระยะไกล">
+<!ENTITY remoteXUL.longDesc "<p><ul><li>โปรดติดต่อเจ้าของเว็บไซต์เพื่อแจ้งพวกเขาให้ทราบถึงปัญหานี้</li></ul></p>">
+
+<!ENTITY sslv3Used.title "ไม่สามารถเชื่อมต่ออย่างปลอดภัย">
+<!-- LOCALIZATION NOTE (sslv3Used.longDesc) - Do not translate
+ "SSL_ERROR_UNSUPPORTED_VERSION". -->
+<!ENTITY sslv3Used.longDesc "ข้อมูลขั้นสูง: SSL_ERROR_UNSUPPORTED_VERSION">
+
+<!ENTITY weakCryptoUsed.title "การเชื่อมต่อของคุณไม่ปลอดภัย">
+<!-- LOCALIZATION NOTE (weakCryptoUsed.longDesc) - Do not translate
+ "SSL_ERROR_NO_CYPHER_OVERLAP". -->
+<!ENTITY weakCryptoUsed.longDesc "ข้อมูลขั้นสูง: SSL_ERROR_NO_CYPHER_OVERLAP">
+
+<!ENTITY inadequateSecurityError.title "การเชื่อมต่อของคุณไม่ปลอดภัย">
+<!-- LOCALIZATION NOTE (inadequateSecurityError.longDesc) - Do not translate
+ "NS_ERROR_NET_INADEQUATE_SECURITY". -->
+<!ENTITY inadequateSecurityError.longDesc "<p><span class='hostname'></span> ใช้เทคโนโลยีความปลอดภัยที่ล้าสมัยและเสี่ยงต่อการถูกโจมตี ผู้โจมตีสามารถเปิดเผยข้อมูลที่คุณคิดว่าปลอดภัยได้อย่างง่ายดาย ผู้ดูแลเว็บไซต์จำเป็นต้องแก้ไขเซิร์ฟเวอร์ก่อนที่คุณจะสามารถเยี่ยมชมไซต์ได้</p><p>รหัสข้อผิดพลาด: NS_ERROR_NET_INADEQUATE_SECURITY</p>">
+
+<!ENTITY networkProtocolError.title "ข้อผิดพลาดโปรโตคอลเครือข่าย">
+<!ENTITY networkProtocolError.longDesc "<p>ไม่สามารถแสดงหน้าที่คุณกำลังพยายามจะดูเนื่องจากตรวจพบข้อผิดพลาดในโปรโตคอลเครือข่าย</p><ul><li>โปรดติดต่อเจ้าของเว็บไซต์เพื่อแจ้งพวกเขาให้ทราบถึงปัญหานี้</li></ul>">
diff --git a/l10n-th/netwerk/necko.properties b/l10n-th/netwerk/necko.properties
new file mode 100644
index 0000000000..6a55f0c326
--- /dev/null
+++ b/l10n-th/netwerk/necko.properties
@@ -0,0 +1,109 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+#ResolvingHost=Looking up
+#ConnectedTo=Connected to
+#ConnectingTo=Connecting to
+#SendingRequestTo=Sending request to
+#TransferringDataFrom=Transferring data from
+
+3=กำลังมองหา %1$S…
+4=เชื่อมต่อไปยัง %1$S แล้ว…
+5=กำลังส่งคำขอไปยัง %1$S…
+6=กำลังถ่ายโอนข้อมูลจาก %1$S…
+7=กำลังเชื่อมต่อไปยัง %1$S…
+8=อ่าน %1$S
+9=เขียน %1$S
+10=กำลังรอ %1$S…
+11=มองหา %1$S…
+12=กำลังดำเนินการ TLS handshake กับ %1$S…
+13=เสร็จสิ้นการ TLS handshake สำหรับ %1$S…
+
+27=กำลังเริ่มการดำเนินการ FTP…
+28=กำลังสิ้นสุดการดำเนินการ FTP
+
+RepostFormData=หน้าเว็บนี้กำลังถูกเปลี่ยนเส้นทางไปยังตำแหน่งที่ตั้งใหม่ คุณต้องการส่งข้อมูลแบบฟอร์มที่คุณพิมพ์ใหม่ไปยังตำแหน่งที่ตั้งใหม่หรือไม่?
+
+# Directory listing strings
+DirTitle=ดัชนีของ %1$S
+DirGoUp=ขึ้นไปสู่ไดเรกทอรี่ระดับสูงกว่า
+ShowHidden=แสดงวัตถุที่ซ่อนอยู่
+DirColName=ชื่อ
+DirColSize=ขนาด
+DirColMTime=วันที่เปลี่ยนแปลงล่าสุด
+DirFileLabel=ไฟล์:
+
+SuperfluousAuth=คุณกำลังจะเข้าสู่ระบบไซต์ “%1$S” ด้วยชื่อผู้ใช้ “%2$S” แต่เว็บไซต์ไม่จำเป็นต้องใช้การยืนยันตัวตน สิ่งนี้อาจเป็นความพยายามในการหลอกลวงคุณ\n\n“%1$S” เป็นไซต์ที่คุณต้องการเยี่ยมชมหรือไม่?
+AutomaticAuth=คุณกำลังจะเข้าสู่ระบบไซต์ “%1$S” ด้วยชื่อผู้ใช้ “%2$S”
+
+TrackerUriBlocked=ทรัพยากรที่ “%1$S” ถูกปิดกั้นเนื่องจากการปิดกั้นเนื้อหาถูกเปิดใช้งาน
+UnsafeUriBlocked=ปิดกั้นทรัพยากรที่ “%1$S” โดยการเรียกดูแบบปลอดภัย
+CookieBlockedByPermission=คำขอเข้าถึงคุกกี้หรือที่เก็บข้อมูลบน “%1$S” ถูกปิดกั้นเนื่องจากการอนุญาตคุกกี้ที่กำหนดเอง
+CookieBlockedTracker=คำขอเข้าถึงคุกกี้หรือที่เก็บข้อมูลบน “%1$S” ถูกปิดกั้นเนื่องจากมาจากตัวติดตามและการปิดกั้นเนื้อหาเปิดใช้งานอยู่
+CookieBlockedAll=คำขอเข้าถึงคุกกี้หรือที่เก็บข้อมูลบน “%1$S” ถูกปิดกั้นเนื่องจากเรากำลังปิดกั้นคำขอการเข้าถึงที่เก็บข้อมูลทั้งหมด
+CookieBlockedForeign=คำขอเข้าถึงคุกกี้หรือที่เก็บข้อมูลบน “%1$S” ถูกปิดกั้นเนื่องจากเรากำลังปิดกั้นคำขอการเข้าถึงที่เก็บข้อมูลจากบุคคลที่สามทั้งหมดและการปิดกั้นเนื้อหาเปิดใช้งานอยู่
+
+# As part of dynamic first-party isolation, third-party resources might be limited to "partitioned" storage access that is separate from the first-party context.
+# This allows e.g. cookies to still be set, and prevents tracking without totally blocking storage access. This message is shown in the web console when this happens
+# to inform developers that their storage is isolated.
+CookiePartitionedForeign=การเข้าถึงคุกกี้หรือที่เก็บข้อมูลที่ทำพาร์ติชันแล้วถูกจัดเตรียมให้กับ “%1$S” เนื่องจากถูกโหลดในบริบทของบุคคลที่สามแล้วและการทำพาร์ทิชันที่เก็บข้อมูลเปิดใช้งานอยู่
+
+# LOCALIZATION NOTE (CookieAllowedForOriginByStorageAccessAPI): %2$S and %1$S are URLs.
+CookieAllowedForOriginByStorageAccessAPI=อนุญาตการเข้าถึงที่เก็บข้อมูลสำหรับที่มา “%2$S” บน “%1$S” แล้ว
+# LOCALIZATION NOTE (CookieAllowedForOriginByHeuristic): %2$S and %1$S are URLs.
+CookieAllowedForOriginByHeuristic=อนุญาตการเข้าถึงที่เก็บข้อมูลสำหรับที่มา “%2$S” บน “%1$S” โดยอัตโนมัติแล้ว
+# LOCALIZATION NOTE (CookieAllowedForFpiByHeuristic): %2$S and %1$S are URLs.
+CookieAllowedForFpiByHeuristic=อนุญาตให้เข้าถึงที่เก็บข้อมูลโดยอัตโนมัติสำหรับการแยกบุคคลที่หนึ่ง “%2$S” บน “%1$S” แล้ว
+
+# LOCALIZATION NOTE(CookieRejectedNonRequiresSecure): %1$S is the cookie name. Do not localize "sameSite=none" and "secure".
+CookieRejectedNonRequiresSecure=คุกกี้ “%1$S” ถูกปฏิเสธเนื่องจากมีแอตทริบิวต์ “sameSite=none” แต่แอตทริบิวต์ “secure” ขาดหายไป
+# LOCALIZATION NOTE(CookieRejectedNonRequiresSecureForBeta): %1$S is the cookie name. %2$S is a URL. Do not localize "sameSite", "sameSite=none" and "secure".
+CookieRejectedNonRequiresSecureForBeta=คุกกี้ “%1$S” จะถูกปฏิเสธในไม่ช้าเนื่องจากมีแอตทริบิวต์ “sameSite” ที่ถูกตั้งเป็น “none” หรือค่าที่ไม่ถูกต้องโดยไม่มีแอตทริบิวต์ “secure” หากต้องการรู้ข้อมูลเพิ่มเติมเกี่ยวกับแอตทริบิวต์ “sameSite“ อ่าน %2$S
+# LOCALIZATION NOTE(CookieLaxForced): %1$S is the cookie name. Do not localize "sameSite", "lax" and "sameSite=lax".
+CookieLaxForced=คุกกี้ “%1$S” มีนโยบาย “sameSite” ที่ถูกตั้งเป็น “lax” เนื่องจากมีแอตทริบิวต์ “sameSite” แต่ “sameSite=lax” เป็นค่าตามค่าเริ่มต้นสำหรับแอตทริบิวต์นี้
+# LOCALIZATION NOTE(CookieLaxForcedForBeta): %1$S is the cookie name. %2$S is a URL. Do not localize "sameSite", "lax" and "sameSite=lax", "sameSite=none".
+CookieLaxForcedForBeta=คุกกี้ “%1$S” ไม่มีค่าแอตทริบิวต์ “sameSite” ที่เหมาะสม อีกไม่ช้า คุกกี้ที่ไม่มีแอตทริบิวต์ “sameSite” หรือมีค่าที่ไม่ถูกต้องจะถือว่าเป็น “lax” ซึ่งหมายความว่าคุกกี้จะไม่ถูกส่งในบริบทของบุคคลที่สามอีกต่อไป หากแอปพลิเคชันของคุณต้องการให้มีคุกกี้นี้ในบริบทดังกล่าว โปรดเพิ่มแอตทริบิวต์ “sameSite=none“ หากต้องการรู้ข้อมูลเพิ่มเติมเกี่ยวกับแอตทริบิวต์ “sameSite“ อ่าน %2$S
+# LOCALIZATION NOTE: %1$S is cookie name. Do not localize "sameSite", "lax", "strict" and "none"
+CookieSameSiteValueInvalid=ค่า “sameSite“ ไม่ถูกต้องสำหรับคุกกี้ “%1$S” ค่าที่รองรับได้แก่: “lax“, “strict“, “none“
+
+# LOCALIZATION NOTE(CookieRejectedNonRequiresSecure2): %1$S is the cookie name. Do not localize "SameSite=None" and "secure".
+CookieRejectedNonRequiresSecure2=คุกกี้ “%1$S” ถูกปฏิเสธเนื่องจากมีแอตทริบิวต์ “SameSite=None” แต่แอตทริบิวต์ “secure” ขาดหายไป
+# LOCALIZATION NOTE(CookieRejectedNonRequiresSecureForBeta2): %1$S is the cookie name. %2$S is a URL. Do not localize "SameSite", "SameSite=None" and "secure".
+CookieRejectedNonRequiresSecureForBeta2=คุกกี้ “%1$S” จะถูกปฏิเสธในไม่ช้าเนื่องจากแอตทริบิวต์ “SameSite” ถูกตั้งเป็น “None” หรือค่าที่ไม่ถูกต้องโดยไม่มีแอตทริบิวต์ “secure” หากต้องการรู้ข้อมูลเพิ่มเติมเกี่ยวกับแอตทริบิวต์ “SameSite“ อ่าน %2$S
+# LOCALIZATION NOTE(CookieLaxForced2): %1$S is the cookie name. Do not localize "SameSite", "Lax" and "SameSite=Lax".
+CookieLaxForced2=คุกกี้ “%1$S” มีนโยบาย “SameSite” ที่ถูกตั้งเป็น “Lax” เนื่องจากมีแอตทริบิวต์ “SameSite” แต่ “SameSite=Lax” เป็นค่าตามค่าเริ่มต้นสำหรับแอตทริบิวต์นี้
+# LOCALIZATION NOTE(CookieLaxForcedForBeta2): %1$S is the cookie name. %2$S is a URL. Do not localize "SameSite", "Lax" and "SameSite=Lax", "SameSite=None".
+CookieLaxForcedForBeta2=คุกกี้ “%1$S” ไม่มีค่าแอตทริบิวต์ “SameSite” ที่เหมาะสม อีกไม่ช้า คุกกี้ที่ไม่มีแอตทริบิวต์ “SameSite” หรือมีค่าที่ไม่ถูกต้องจะถือว่าเป็น “Lax” ซึ่งหมายถึงว่าคุกกี้จะไม่ถูกส่งในบริบทของบุคคลที่สามอีกต่อไป หากแอปพลิเคชันของคุณต้องการให้มีคุกกี้นี้ในบริบทดังกล่าว โปรดเพิ่มแอตทริบิวต์ “SameSite=None“ หากต้องการรู้ข้อมูลเพิ่มเติมเกี่ยวกับแอตทริบิวต์ “SameSite“ อ่าน %2$S
+# LOCALIZATION NOTE(CookieSameSiteValueInvalid2): %1$S is cookie name. Do not localize "SameSite", "Lax", "Strict" and "None"
+CookieSameSiteValueInvalid2=ค่า “SameSite“ ไม่ถูกต้องสำหรับคุกกี้ “%1$S” ค่าที่รองรับได้แก่: “Lax“, “Strict“, “None“
+# LOCALIZATION NOTE (CookieOversize): %1$S is the cookie name. %2$S is the number of bytes. "B" means bytes.
+CookieOversize=คุกกี้ “%1$S” ไม่ถูกต้องเนื่องจากมีขนาดใหญ่เกินไป ขนาดสูงสุดคือ %2$S B
+# LOCALIZATION NOTE (CookiePathOversize): %1$S is the cookie name. %2$S is the number of bytes. "B" means bytes.
+CookiePathOversize=คุกกี้ “%1$S” ไม่ถูกต้องเนื่องจากขนาดเส้นทางมีขนาดใหญ่เกินไป ขนาดสูงสุดคือ %2$S B
+# LOCALIZATION NOTE (CookieSchemefulRejectForBeta): %1$S is the cookie name. %2$S is the hostname.
+CookieSchemefulRejectForBeta=คุกกี้ “%1$S” จะถูกจัดว่าเป็นคุกกี้แบบข้ามไซต์สำหรับ “%2$S” ในไม่ช้าเนื่องจากแบบแผนไม่ตรงกัน
+# LOCALIZATION NOTE (CookieSchemefulReject): %1$S is the cookie name. %2$S is the hostname.
+CookieSchemefulReject=คุกกี้ “%1$S” ได้ถูกจัดว่าเป็นคุกกี้แบบข้ามไซต์สำหรับ “%2$S” เนื่องจากแบบแผนไม่ตรงกัน
+# LOCALIZATION NOTE (CookieRejectedByPermissionManager): %1$S is the cookie response header.
+CookieRejectedByPermissionManager=คุกกี้ “%1$S” ได้ถูกปฏิเสธโดยสิทธิอนุญาตที่ตั้งค่าโดยผู้ใช้
+# LOCALIZATION NOTE (CookieRejectedInvalidCharName): %1$S is the cookie name.
+CookieRejectedInvalidCharName=คุกกี้ “%1$S” ได้ถูกปฏิเสธเนื่องจากมีอักขระที่ไม่ถูกต้องในชื่อ
+# LOCALIZATION NOTE (CookieRejectedInvalidDomain): %1$S is the cookie name.
+CookieRejectedInvalidDomain=คุกกี้ “%1$S” ได้ถูกปฏิเสธเนื่องจากโดเมนไม่ถูกต้อง
+# LOCALIZATION NOTE (CookieRejectedInvalidPrefix): %1$S is the cookie name.
+CookieRejectedInvalidPrefix=คุกกี้ “%1$S” ได้ถูกปฏิเสธเนื่องจากคำนำหน้าไม่ถูกต้อง
+# LOCALIZATION NOTE (CookieRejectedInvalidCharValue): %1$S is the cookie name.
+CookieRejectedInvalidCharValue=คุกกี้ “%1$S” ได้ถูกปฏิเสธเนื่องจากมีอักขระที่ไม่ถูกต้องในค่า
+# LOCALIZATION NOTE (CookieRejectedHttpOnlyButFromScript): %1$S is the cookie name.
+CookieRejectedHttpOnlyButFromScript=คุกกี้ “%1$S” ได้ถูกปฏิเสธเนื่องจากมีคุกกี้ HTTP-Only อยู่แล้ว แต่สคริปต์พยายามเก็บคุกกี้ใหม่
+# LOCALIZATION NOTE (CookieRejectedSecureButHttp): %1$S is the cookie name.
+CookieRejectedSecureButNonHttps=คุกกี้ “%1$S” ได้ถูกปฏิเสธเนื่องจากไม่สามารถตั้งค่าคุกกี้ที่ไม่ใช่ HTTPS เป็น “secure” ได้
+# LOCALIZATION NOTE (CookieRejectedThirdParty): %1$S is the cookie response header.
+CookieRejectedThirdParty=คุกกี้ “%1$S” ได้ถูกปฏิเสธเนื่องจากเป็นของบุคคลที่สาม
+# LOCALIZATION NOTE (CookieRejectedNonsecureOverSecure): %1$S is the cookie name.
+CookieRejectedNonsecureOverSecure=คุกกี้ “%1$S” ได้ถูกปฏิเสธเนื่องจากมีคุกกี้ “secure” ที่มีอยู่
+# LOCALIZATION NOTE (CookieRejectedExpired): %1$S is the cookie name.
+CookieRejectedExpired=คุกกี้ “%1$S” ได้ถูกปฏิเสธเนื่องจากหมดอายุแล้ว
+# LOCALIZATION NOTE (CookieRejectedForNonSameSiteness): %1$S is the cookie name.
+CookieRejectedForNonSameSiteness=คุกกี้ “%1$S” ได้ถูกปฏิเสธเนื่องจากอยู่ในบริบทข้ามไซต์และ “SameSite” เป็น “Lax” หรือ “Strict”
diff --git a/l10n-th/security/manager/chrome/pipnss/nsserrors.properties b/l10n-th/security/manager/chrome/pipnss/nsserrors.properties
new file mode 100644
index 0000000000..3403b1f66c
--- /dev/null
+++ b/l10n-th/security/manager/chrome/pipnss/nsserrors.properties
@@ -0,0 +1,331 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+SSL_ERROR_EXPORT_ONLY_SERVER=ไม่สามารถสื่อสารอย่างปลอดภัย อีกฝั่งไม่รองรับการเข้ารหัสระดับสูง
+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=ไม่สามารถสร้าง Symmetric Key ได้
+SSL_ERROR_SYM_KEY_UNWRAP_FAILURE=ไม่สามารถแกะ Symmetric key ที่อยู่ในข้อความ Client Key Exchange ได้
+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=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/l10n-th/security/manager/chrome/pipnss/pipnss.properties b/l10n-th/security/manager/chrome/pipnss/pipnss.properties
new file mode 100644
index 0000000000..d1ba7995ca
--- /dev/null
+++ b/l10n-th/security/manager/chrome/pipnss/pipnss.properties
@@ -0,0 +1,308 @@
+#
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+CertPassPrompt=โปรดป้อนรหัสผ่านหลักสำหรับ %S
+
+CertPassPromptDefault=โปรดป้อนรหัสผ่านหลักของคุณ
+
+CertPasswordPrompt=โปรดใส่รหัสผ่านสำหรับโทเค็น PKCS#11 %S
+
+CertPasswordPromptDefault=โปรดป้อนรหัสผ่านหลักของคุณ
+
+# The following strings have special requirements: they must fit in a 32 or 64
+# bytes buffer after being encoded to UTF-8.
+#
+# It's possible to verify the length of a translation using the Browser Console
+# in Firefox and evaluating the following code:
+#
+# (new TextEncoder('utf-8').encode('YOURSTRING')).length
+#
+# Simply replace YOURSTRING with your translation.
+#
+# If it's not possible to produce an understandable translation within these
+# limits, keeping the English text is an acceptable workaround.
+
+# LOCALIZATION NOTE (RootCertModuleName): string limit is 64 bytes after
+# conversion to UTF-8.
+# length_limit = 64 bytes
+RootCertModuleName=Builtin Roots Module
+# LOCALIZATION NOTE (ManufacturerID): string limit is 32 bytes after conversion
+# to UTF-8.
+# length_limit = 32 bytes
+ManufacturerID=Mozilla.org
+# LOCALIZATION NOTE (LibraryDescription): string limit is 32 bytes after
+# conversion to UTF-8.
+# length_limit = 32 bytes
+LibraryDescription=PSM Internal Crypto Services
+# LOCALIZATION NOTE (TokenDescription): string limit is 32 bytes after
+# conversion to UTF-8.
+# length_limit = 32 bytes
+TokenDescription=Generic Crypto Services
+# LOCALIZATION NOTE (PrivateTokenDescription): string limit is 32 bytes after
+# conversion to UTF-8.
+# length_limit = 32 bytes
+PrivateTokenDescription=Software Security Device
+# LOCALIZATION NOTE (SlotDescription): string limit is 64 bytes after conversion
+# to UTF-8.
+# length_limit = 64 bytes
+SlotDescription=PSM Internal Cryptographic Services
+# LOCALIZATION NOTE (PrivateSlotDescription): string limit is 64 bytes after
+# conversion to UTF-8.
+# length_limit = 64 bytes
+PrivateSlotDescription=PSM Private Keys
+# LOCALIZATION NOTE (Fips140TokenDescription): string limit is 32 bytes after
+# conversion to UTF-8.
+# length_limit = 32 bytes
+Fips140TokenDescription=Software Security Device (FIPS)
+# LOCALIZATION NOTE (Fips140SlotDescription): string limit is 64 bytes after
+# conversion to UTF-8.
+# length_limit = 64 bytes
+Fips140SlotDescription=FIPS 140 Cryptographic, Key and Certificate Services
+
+# LOCALIZATION NOTE (nick_template): $1s is the common name from a cert (e.g. "Mozilla"), $2s is the CA name (e.g. VeriSign)
+nick_template=%1$s's %2$s ID
+#These are the strings set for the ASN1 objects in a certificate.
+CertDumpCertificate=ใบรับรอง
+CertDumpVersion=รุ่น
+# LOCALIZATION NOTE (CertDumpVersionValue): %S is a version number (e.g. "3" in "Version 3")
+CertDumpVersionValue=รุ่น %S
+CertDumpSerialNo=หมายเลขอนุกรม
+CertDumpMD2WithRSA=PKCS #1 MD2 With RSA Encryption
+CertDumpMD5WithRSA=PKCS #1 MD5 With RSA Encryption
+CertDumpSHA1WithRSA=PKCS #1 SHA-1 With RSA Encryption
+CertDumpSHA256WithRSA=PKCS #1 SHA-256 With RSA Encryption
+CertDumpSHA384WithRSA=PKCS #1 SHA-384 With RSA Encryption
+CertDumpSHA512WithRSA=PKCS #1 SHA-512 With RSA Encryption
+CertDumpDefOID=ตัวระบุวัตถุ (%S)
+CertDumpIssuer=ผู้ออก
+CertDumpSubject=Subject
+CertDumpAVACountry=C
+CertDumpAVAState=ST
+CertDumpAVALocality=L
+CertDumpAVAOrg=O
+CertDumpAVAOU=OU
+CertDumpAVACN=CN
+CertDumpUserID=UID
+CertDumpPK9Email=E
+CertDumpAVADN=DN
+CertDumpAVADC=DC
+CertDumpSurname=นามสกุล
+CertDumpGivenName=ชื่อ
+CertDumpValidity=มีผล
+CertDumpNotBefore=หลัง
+CertDumpNotAfter=ก่อน
+CertDumpSPKI=Subject Public Key Info
+CertDumpSPKIAlg=Subject Public Key Algorithm
+CertDumpAlgID=ตัวระบุอัลกอริทึม
+CertDumpParams=Algorithm Parameters
+CertDumpRSAEncr=PKCS #1 RSA Encryption
+CertDumpRSAPSSSignature=PKCS #1 RSASSA-PSS Signature
+CertDumpRSATemplate=Modulus (%S bits):\n%S\nExponent (%S bits):\n%S
+CertDumpECTemplate=Key size: %S bits\nBase point order length: %S bits\nPublic value:\n%S
+CertDumpIssuerUniqueID=Issuer Unique ID
+CertDumpSubjPubKey=Subject's Public Key
+CertDumpSubjectUniqueID=Subject Unique ID
+CertDumpExtensions=นามสกุล
+CertDumpSubjectDirectoryAttr=Certificate Subject Directory Attributes
+CertDumpSubjectKeyID=Certificate Subject Key ID
+CertDumpKeyUsage=Certificate Key Usage
+CertDumpSubjectAltName=Certificate Subject Alt Name
+CertDumpIssuerAltName=Certificate Issuer Alt Name
+CertDumpBasicConstraints=Certificate Basic Constraints
+CertDumpNameConstraints=Certificate Name Constraints
+CertDumpCrlDistPoints=CRL Distribution Points
+CertDumpCertPolicies=นโยบายใบรับรอง
+CertDumpPolicyMappings=Certificate Policy Mappings
+CertDumpPolicyConstraints=Certificate Policy Constraints
+CertDumpAuthKeyID=ตัวระบุกุญแจผู้ออกใบรับรอง
+CertDumpExtKeyUsage=Extended Key Usage
+CertDumpAuthInfoAccess=Authority Information Access
+CertDumpAnsiX9DsaSignature=ANSI X9.57 DSA Signature
+CertDumpAnsiX9DsaSignatureWithSha1=ANSI X9.57 DSA Signature with SHA1 Digest
+CertDumpAnsiX962ECDsaSignatureWithSha1=ANSI X9.62 ECDSA Signature with SHA1
+CertDumpAnsiX962ECDsaSignatureWithSha224=ANSI X9.62 ECDSA Signature with SHA224
+CertDumpAnsiX962ECDsaSignatureWithSha256=ANSI X9.62 ECDSA Signature with SHA256
+CertDumpAnsiX962ECDsaSignatureWithSha384=ANSI X9.62 ECDSA Signature with SHA384
+CertDumpAnsiX962ECDsaSignatureWithSha512=ANSI X9.62 ECDSA Signature with SHA512
+
+CertDumpKUSign=ลงลายเซ็น
+CertDumpKUNonRep=Non-repudiation
+CertDumpKUEnc=Key Encipherment
+CertDumpKUDEnc=Data Encipherment
+CertDumpKUKA=Key Agreement
+CertDumpKUCertSign=ผู้เซ็นใบรับรอง
+CertDumpKUCRLSigner=ผู้เซ็น CRL
+CertDumpCritical=คับขัน
+CertDumpNonCritical=ไม่คับขัน
+CertDumpSigAlg=อัลกอริทึมลายเซ็นใบรับรอง
+CertDumpCertSig=ค่าลายเซ็นใบรับรอง
+CertDumpExtensionFailure=ข้อผิดพลาด: ไม่สามารถประมวลผลนามสกุล
+CertDumpIsCA=Is a Certificate Authority
+CertDumpIsNotCA=Is not a Certificate Authority
+CertDumpPathLen=Maximum number of intermediate CAs: %S
+CertDumpPathLenUnlimited=ไม่จำกัด
+CertDumpEKU_1_3_6_1_5_5_7_3_1=การรับรองความถูกต้องเซิร์ฟเวอร์เว็บ TLS
+CertDumpEKU_1_3_6_1_5_5_7_3_2=การรับรองความถูกต้องเซิร์ฟเวอร์เว็บ TLS
+CertDumpEKU_1_3_6_1_5_5_7_3_3=Code Signing
+CertDumpEKU_1_3_6_1_5_5_7_3_4=E-mail protection
+CertDumpEKU_1_3_6_1_5_5_7_3_8=Time Stamping
+CertDumpEKU_1_3_6_1_5_5_7_3_9=OCSP Signing
+CertDumpEKU_1_3_6_1_4_1_311_2_1_21=Microsoft Individual Code Signing
+CertDumpEKU_1_3_6_1_4_1_311_2_1_22=Microsoft Commercial Code Signing
+CertDumpEKU_1_3_6_1_4_1_311_10_3_1=Microsoft Trust List Signing
+CertDumpEKU_1_3_6_1_4_1_311_10_3_2=Microsoft Time Stamping
+CertDumpEKU_1_3_6_1_4_1_311_10_3_3=Microsoft Server Gated Crypto
+CertDumpEKU_1_3_6_1_4_1_311_10_3_4=Microsoft Encrypting File System
+CertDumpEKU_1_3_6_1_4_1_311_10_3_4_1=Microsoft File Recovery
+CertDumpEKU_1_3_6_1_4_1_311_10_3_5=Microsoft Windows Hardware Driver Verification
+CertDumpEKU_1_3_6_1_4_1_311_10_3_10=Microsoft Qualified Subordination
+CertDumpEKU_1_3_6_1_4_1_311_10_3_11=Microsoft Key Recovery
+CertDumpEKU_1_3_6_1_4_1_311_10_3_12=Microsoft Document Signing
+CertDumpEKU_1_3_6_1_4_1_311_10_3_13=Microsoft Lifetime Signing
+CertDumpEKU_1_3_6_1_4_1_311_20_2_2=Microsoft Smart Card Logon
+CertDumpEKU_1_3_6_1_4_1_311_21_6=Microsoft Key Recovery Agent
+CertDumpMSCerttype=Microsoft Certificate Template Name
+CertDumpMSNTPrincipal=Microsoft Principal Name
+CertDumpMSCAVersion=Microsoft CA Version
+CertDumpMSDomainGUID=Microsoft Domain GUID
+CertDumpEKU_2_16_840_1_113730_4_1=Netscape Server Gated Crypto
+CertDumpRFC822Name=ที่อยู่อีเมล
+CertDumpDNSName=ชื่อ DNS
+CertDumpX400Address=X.400 Address
+CertDumpDirectoryName=X.500 Name
+CertDumpEDIPartyName=EDI Party Name
+CertDumpURI=URI
+CertDumpIPAddress=ที่อยู่ IP
+CertDumpRegisterID=Registered OID
+CertDumpKeyID=ID กุญแจ
+CertDumpVerisignNotices=Verisign User Notices
+CertDumpUnused=Unused
+CertDumpKeyCompromise=Key Compromise
+CertDumpCACompromise=CA Compromise
+CertDumpAffiliationChanged=Affiliation Changed
+CertDumpSuperseded=Superseded
+CertDumpCessation=Cessation of Operation
+CertDumpHold=Certificate Hold
+CertDumpOCSPResponder=OCSP
+CertDumpCAIssuers=ผู้ออก CA
+CertDumpCPSPointer=ตัวชี้ถ้อยแถลงการรับรองการปฏิบัติ
+CertDumpUserNotice=ประกาศผู้ใช้
+CertDumpLogotype=Logotype
+CertDumpECPublicKey=Elliptic Curve Public Key
+CertDumpECDSAWithSHA1=X9.62 ECDSA Signature with SHA1
+CertDumpECprime192v1=ANSI X9.62 elliptic curve prime192v1 (aka secp192r1, NIST P-192)
+CertDumpECprime192v2=ANSI X9.62 elliptic curve prime192v2
+CertDumpECprime192v3=ANSI X9.62 elliptic curve prime192v3
+CertDumpECprime239v1=ANSI X9.62 elliptic curve prime239v1
+CertDumpECprime239v2=ANSI X9.62 elliptic curve prime239v2
+CertDumpECprime239v3=ANSI X9.62 elliptic curve prime239v3
+CertDumpECprime256v1=ANSI X9.62 elliptic curve prime256v1 (aka secp256r1, NIST P-256)
+CertDumpECsecp112r1=SECG elliptic curve secp112r1
+CertDumpECsecp112r2=SECG elliptic curve secp112r2
+CertDumpECsecp128r1=SECG elliptic curve secp128r1
+CertDumpECsecp128r2=SECG elliptic curve secp128r2
+CertDumpECsecp160k1=SECG elliptic curve secp160k1
+CertDumpECsecp160r1=SECG elliptic curve secp160r1
+CertDumpECsecp160r2=SECG elliptic curve secp160r2
+CertDumpECsecp192k1=SECG elliptic curve secp192k1
+CertDumpECsecp224k1=SECG elliptic curve secp224k1
+CertDumpECsecp224r1=SECG elliptic curve secp224r1 (aka NIST P-224)
+CertDumpECsecp256k1=SECG elliptic curve secp256k1
+CertDumpECsecp384r1=SECG elliptic curve secp384r1 (aka NIST P-384)
+CertDumpECsecp521r1=SECG elliptic curve secp521r1 (aka NIST P-521)
+CertDumpECc2pnb163v1=ANSI X9.62 elliptic curve c2pnb163v1
+CertDumpECc2pnb163v2=ANSI X9.62 elliptic curve c2pnb163v2
+CertDumpECc2pnb163v3=ANSI X9.62 elliptic curve c2pnb163v3
+CertDumpECc2pnb176v1=ANSI X9.62 elliptic curve c2pnb176v1
+CertDumpECc2tnb191v1=ANSI X9.62 elliptic curve c2tnb191v1
+CertDumpECc2tnb191v2=ANSI X9.62 elliptic curve c2tnb191v2
+CertDumpECc2tnb191v3=ANSI X9.62 elliptic curve c2tnb191v3
+CertDumpECc2onb191v4=ANSI X9.62 elliptic curve c2onb191v4
+CertDumpECc2onb191v5=ANSI X9.62 elliptic curve c2onb191v5
+CertDumpECc2pnb208w1=ANSI X9.62 elliptic curve c2pnb208w1
+CertDumpECc2tnb239v1=ANSI X9.62 elliptic curve c2tnb239v1
+CertDumpECc2tnb239v2=ANSI X9.62 elliptic curve c2tnb239v2
+CertDumpECc2tnb239v3=ANSI X9.62 elliptic curve c2tnb239v3
+CertDumpECc2onb239v4=ANSI X9.62 elliptic curve c2onb239v4
+CertDumpECc2onb239v5=ANSI X9.62 elliptic curve c2onb239v5
+CertDumpECc2pnb272w1=ANSI X9.62 elliptic curve c2pnb272w1
+CertDumpECc2pnb304w1=ANSI X9.62 elliptic curve c2pnb304w1
+CertDumpECc2tnb359v1=ANSI X9.62 elliptic curve c2tnb359v1
+CertDumpECc2pnb368w1=ANSI X9.62 elliptic curve c2pnb368w1
+CertDumpECc2tnb431r1=ANSI X9.62 elliptic curve c2tnb431r1
+CertDumpECsect113r1=SECG elliptic curve sect113r1
+CertDumpECsect113r2=SECG elliptic curve sect113r2
+CertDumpECsect131r1=SECG elliptic curve sect131r1
+CertDumpECsect131r2=SECG elliptic curve sect131r2
+CertDumpECsect163k1=SECG elliptic curve sect163k1 (aka NIST K-163)
+CertDumpECsect163r1=SECG elliptic curve sect163r1
+CertDumpECsect163r2=SECG elliptic curve sect163r2 (aka NIST B-163)
+CertDumpECsect193r1=SECG elliptic curve sect193r1
+CertDumpECsect193r2=SECG elliptic curve sect193r2
+CertDumpECsect233k1=SECG elliptic curve sect233k1 (aka NIST K-233)
+CertDumpECsect233r1=SECG elliptic curve sect233r1 (aka NIST B-233)
+CertDumpECsect239k1=SECG elliptic curve sect239k1
+CertDumpECsect283k1=SECG elliptic curve sect283k1 (aka NIST K-283)
+CertDumpECsect283r1=SECG elliptic curve sect283r1 (aka NIST B-283)
+CertDumpECsect409k1=SECG elliptic curve sect409k1 (aka NIST K-409)
+CertDumpECsect409r1=SECG elliptic curve sect409r1 (aka NIST B-409)
+CertDumpECsect571k1=SECG elliptic curve sect571k1 (aka NIST K-571)
+CertDumpECsect571r1=SECG elliptic curve sect571r1 (aka NIST B-571)
+CertDumpRawBytesHeader=ขนาด: %S ไบต์ / %S บิต
+AVATemplate=%S = %S
+
+PSMERR_SSL_Disabled=ไม่สามารถเชื่อมต่ออย่างปลอดภัยเนื่องจากโปรโตคอล SSL ถูกปิดใช้งาน
+PSMERR_SSL2_Disabled=ไม่สามารถเชื่อมต่ออย่างปลอดภัยเนื่องจากไซต์ใช้โปรโตคอล SSL รุ่นเก่าที่ไม่ปลอดภัย
+PSMERR_HostReusedIssuerSerial=คุณได้รับใบรับรองที่ไม่ถูกต้อง โปรดติดต่อผู้ดูแลเซิร์ฟเวอร์หรือส่งอีเมลหาผู้ที่เกี่ยวข้องโดบแนบข้อมูลดังกล่าวไปด้วย:\n\nใบรับรองของคุณมีเลขอนุกรมที่เหมือนกับใบรับรองอื่นที่ออกมาแล้ว โปรดรับใบรับรองใหม่ที่มีเลขอนุกรมไม่ซ้ำ (Your certificate contains the same serial number as another certificate issued by the certificate authority. Please get a new certificate containing a unique serial number.)
+
+# LOCALIZATION NOTE (SSLConnectionErrorPrefix2): %1$S is the host string, %2$S is more detailed information (localized as well).
+SSLConnectionErrorPrefix2=เกิดข้อผิดพลาดระหว่างการเชื่อมต่อไปยัง %1$S %2$S\n
+
+certErrorIntro=%S ใช้ใบรับรองความปลอดภัยที่ผิดกฎ
+
+certErrorTrust_SelfSigned=ใบรับรองของไม่น่าเชื่อถือเพราะเป็นการออกใบรับรองโดยเจ้าของเว็บไซต์เอง
+certErrorTrust_UnknownIssuer=ใบรับรองไม่น่าเชื่อถือเพราะรับรองโดยผู้รับรองนิรนาม
+certErrorTrust_UnknownIssuer2=เซิร์ฟเวอร์อาจไม่ส่งใบรับรองระดับกลางที่เหมาะสม
+certErrorTrust_UnknownIssuer3=อาจต้องนำเข้าใบรับรองรากเพิ่มเติม
+certErrorTrust_CaInvalid=ใบรับรองไม่น่าเชื่อถือเพราะออกให้โดยผู้ออกที่ไม่ได้รับอนุญาต
+certErrorTrust_Issuer=ใบรับรองไม่น่าเชื่อถือเพราะออกให้โดยผู้ที่ไม่ได้รับการเชื่อถือ
+certErrorTrust_SignatureAlgorithmDisabled=ใบรับรองไม่น่าเชื่อถือเพราะเซ็นรับโดยใช้อัลกอริทึมลายเซ็นที่ถูกปิดใช้งานเนื่องจากไม่ปลอดภัย
+certErrorTrust_ExpiredIssuer=ใบรับรองไม่น่าเชื่อถือเพราะผู้ให้การรับรองหมดอายุการรับรองแล้ว
+certErrorTrust_Untrusted=ใบรับรองมาจากแหล่งที่ไม่น่าเชื่อถือ
+certErrorTrust_MitM=การเชื่อมต่อของคุณกำลังถูกสกัดกั้นโดยพร็อกซี TLS ถอนการติดตั้งหากเป็นไปได้หรือกำหนดค่าอุปกรณ์ของคุณให้เชื่อถือใบรับรองราก
+
+certErrorMismatch=ใบรับรองใช้ไม่ได้กับ %S
+# LOCALIZATION NOTE (certErrorMismatchSinglePrefix): %S is replaced by the domain for which the certificate is valid
+certErrorMismatchSinglePrefix=ใบรับรองนี้ใช้ได้กับ %S เท่านั้น
+certErrorMismatchMultiple=ใบรับรองถูกต้องเฉพาะสำหรับชื่อดังต่อไปนี้:
+
+# LOCALIZATION NOTE (certErrorExpiredNow): Do not translate %1$S (date+time of expired certificate) or %2$S (current date+time)
+certErrorExpiredNow=ใบรับรองหมดอายุเมื่อ %1$S เวลาปัจจุบันคือ %2$S
+
+# LOCALIZATION NOTE (certErrorNotYetValidNow): Do not translate %1$S (date+time certificate will become valid) or %2$S (current date+time)
+certErrorNotYetValidNow=ใบรับรองจะยังคงใช้ไม่ได้จนกว่า %1$S เวลาปัจจุบันคือ %2$S
+
+certErrorMitM=เว็บไซต์พิสูจน์ข้อมูลประจำตัวของตัวเองผ่านใบรับรองซึ่งออกโดยผู้ออกใบรับรอง
+# LOCALIZATION NOTE (certErrorMitM2): %S is brandShortName
+certErrorMitM2=%S ได้รับการสนับสนุนโดย Mozilla ที่ไม่แสวงหาผลกำไรซึ่งดูแลที่เก็บผู้ออกใบรับรอง (CA) ที่เปิดอย่างสมบูรณ์ ที่เก็บ CA ช่วยให้มั่นใจได้ว่าผู้ออกใบรับรองปฏิบัติตามแนวทางที่ดีที่สุดเพื่อความปลอดภัยของผู้ใช้
+# LOCALIZATION NOTE (certErrorMitM3): %S is brandShortName
+certErrorMitM3=%S ใช้ที่เก็บ Mozilla CA เพื่อตรวจสอบว่าการเชื่อมต่อนั้นปลอดภัยมากกว่าใบรับรองที่จัดทำโดยระบบปฏิบัติการของผู้ใช้ ดังนั้นหากโปรแกรมป้องกันไวรัสหรือเครือข่ายขัดขวางการเชื่อมต่อกับใบรับรองความปลอดภัยที่ออกโดย CA ที่ไม่ได้อยู่ในที่เก็บ Mozilla CA การเชื่อมต่อจะถือว่าไม่ปลอดภัย
+
+certErrorSymantecDistrustAdministrator=คุณสามารถแจ้งปัญหานี้แก่ผู้ดูแลระบบของเว็บไซต์
+
+# LOCALIZATION NOTE (certErrorCodePrefix3): %S is replaced by the error code.
+certErrorCodePrefix3=รหัสข้อผิดพลาด: %S
+
+P12DefaultNickname=ใบรับรองนำเข้า
+CertUnknown=ไม่ทราบ
+CertNoEmailAddress=(ไม่มีที่อยู่อีเมล)
+CaCertExists=ใบรับรองนี้ได้ถูกติดตั้งไว้ให้เป็นใบรับรองที่ใช้งานจริง
+NotACACert=นี่ไม่ใช่ใบรับรองที่ใช้งานจริงจึงไม่สามารถนำเข้าไปยังรายการใบรับรองที่ใช้งานจริงได้
+UserCertIgnoredNoPrivateKey=ไม่สามารถติดตั้งใบรับรองส่วนบุคคลนี้ได้เพราะคุณไม่มีกุญแจส่วนตัวที่ถูกสร้างขึ้นมาพร้อมกับใบรับรองนี้
+UserCertImported=ใบรับรองส่วนบุคคลของคุณได้ถูกติดตั้งแล้ว คุณควรทำการสำรองใบรับรองนี้ไว้
+CertOrgUnknown=(ไม่ทราบ)
+CertNotStored=(ไม่ได้เก็บไว้)
+CertExceptionPermanent=ถาวร
+CertExceptionTemporary=ชั่วคราว
diff --git a/l10n-th/security/manager/chrome/pippki/pippki.properties b/l10n-th/security/manager/chrome/pippki/pippki.properties
new file mode 100644
index 0000000000..8b0390ada1
--- /dev/null
+++ b/l10n-th/security/manager/chrome/pippki/pippki.properties
@@ -0,0 +1,85 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# Download Cert dialog
+# LOCALIZATION NOTE(newCAMessage1):
+# %S is a string representative of the certificate being downloaded/imported.
+newCAMessage1=คุณต้องการเชื่อถือ "%S" ด้วยเหตุผลดังกล่าวหรือไม่?
+unnamedCA=ผู้ออกใบรับรอง (ไม่มีชื่อ)
+
+# PKCS#12 file dialogs
+getPKCS12FilePasswordMessage=โปรดป้อนรหัสผ่านที่ใช้ในการเข้ารหัสข้อมูลสำรองใบรับรองนี้:
+
+# Client auth
+clientAuthRemember=จดจำการตัดสินใจนี้
+# LOCALIZATION NOTE(clientAuthNickAndSerial): Represents a single cert when the
+# user is choosing from a list of certificates.
+# %1$S is the nickname of the cert.
+# %2$S is the serial number of the cert in AA:BB:CC hex format.
+clientAuthNickAndSerial=%1$S [%2$S]
+# LOCALIZATION NOTE(clientAuthHostnameAndPort):
+# %1$S is the hostname of the server.
+# %2$S is the port of the server.
+clientAuthHostnameAndPort=%1$S:%2$S
+# LOCALIZATION NOTE(clientAuthMessage1): %S is the Organization of the server
+# cert.
+clientAuthMessage1=องค์กร: “%S”
+# LOCALIZATION NOTE(clientAuthMessage2): %S is the Organization of the issuer
+# cert of the server cert.
+clientAuthMessage2=ออกให้ภายใต้: “%S”
+# LOCALIZATION NOTE(clientAuthIssuedTo): %1$S is the Distinguished Name of the
+# currently selected client cert, such as "CN=John Doe,OU=Example" (without
+# quotes).
+clientAuthIssuedTo=ออกให้: %1$S
+# LOCALIZATION NOTE(clientAuthSerial): %1$S is the serial number of the selected
+# cert in AA:BB:CC hex format.
+clientAuthSerial=หมายเลขอนุกรม: %1$S
+# LOCALIZATION NOTE(clientAuthValidityPeriod):
+# %1$S is the already localized notBefore date of the selected cert.
+# %2$S is the already localized notAfter date of the selected cert.
+clientAuthValidityPeriod=มีผลตั้งแต่ %1$S ถึง %2$S
+# LOCALIZATION NOTE(clientAuthKeyUsages): %1$S is a comma separated list of
+# already localized key usages the selected cert is valid for.
+clientAuthKeyUsages=การใช้กุญแจ: %1$S
+# LOCALIZATION NOTE(clientAuthEmailAddresses): %1$S is a comma separated list of
+# e-mail addresses the selected cert is valid for.
+clientAuthEmailAddresses=ที่อยู่อีเมล: %1$S
+# LOCALIZATION NOTE(clientAuthIssuedBy): %1$S is the Distinguished Name of the
+# cert which issued the selected cert.
+clientAuthIssuedBy=ออกโดย: %1$S
+# LOCALIZATION NOTE(clientAuthStoredOn): %1$S is the name of the PKCS #11 token
+# the selected cert is stored on.
+clientAuthStoredOn=จัดเก็บไว้ใน: %1$S
+
+# Page Info
+pageInfo_NoEncryption=การเชื่อมต่อไม่ได้ถูกเข้ารหัส
+pageInfo_Privacy_None1=เว็บไซต์ %S ไม่รองรับการเข้ารหัสสำหรับหน้าที่คุณกำลังดู
+pageInfo_Privacy_None2=ข้อมูลที่ถูกส่งผ่านอินเทอร์เน็ตโดยไม่มีการเข้ารหัสสามารถมองเห็นได้โดยผู้คนอื่น ๆ ขณะอยู่ในระหว่างการขนส่ง
+pageInfo_Privacy_None4=หน้าที่คุณกำลังดูไม่ได้ถูกเข้ารหัสก่อนที่จะถูกส่งผ่านอินเทอร์เน็ต
+# LOCALIZATION NOTE (pageInfo_EncryptionWithBitsAndProtocol and pageInfo_BrokenEncryption):
+# %1$S is the name of the encryption standard,
+# %2$S is the key size of the cipher.
+# %3$S is protocol version like "SSL 3" or "TLS 1.2"
+pageInfo_EncryptionWithBitsAndProtocol=การเชื่อมต่อถูกเข้ารหัส (%1$S, กุญแจ %2$S บิต, %3$S)
+pageInfo_BrokenEncryption=การเข้ารหัสเสียหาย (%1$S, กุญแจ %2$S บิต, %3$S)
+pageInfo_Privacy_Encrypted1=หน้าที่คุณกำลังดูถูกเข้ารหัสก่อนที่จะถูกส่งผ่านอินเทอร์เน็ต
+pageInfo_Privacy_Encrypted2=การเข้ารหัสทำให้ผู้คนที่ไม่ได้รับอนุญาตดูข้อมูลที่เดินทางระหว่างคอมพิวเตอร์ได้ยาก ดังนั้นจึงไม่น่ามีใครก็ตามอ่านหน้านี้ในขณะที่หน้าเดินทางผ่านเครือข่าย
+pageInfo_MixedContent=การเชื่อมต่อถูกเข้ารหัสบางส่วน
+pageInfo_MixedContent2=บางส่วนของหน้าที่คุณกำลังดูไม่ได้ถูกเข้ารหัสก่อนที่จะถูกส่งผ่านอินเทอร์เน็ต
+pageInfo_WeakCipher=การเชื่อมต่อของคุณไปยังเว็บไซต์นี้ใช้การเข้ารหัสที่อ่อนแอและไม่เป็นส่วนตัว ผู้คนอื่น ๆ สามารถดูข้อมูลของคุณหรือเปลี่ยนแปลงลักษณะการทำงานของเว็บไซต์
+pageInfo_CertificateTransparency_Compliant=เว็บไซต์นี้สอดคล้องกับนโยบายความโปร่งใสของใบรับรอง
+
+# Token Manager
+password_not_set=(ไม่ได้ตั้ง)
+failed_pw_change=ไม่สามารถเปลี่ยนรหัสผ่านหลักได้
+incorrect_pw=คุณป้อนรหัสผ่านหลักปัจจุบันไม่ถูกต้อง โปรดลองอีกครั้ง
+pw_change_ok=เปลี่ยนรหัสผ่านหลักสำเร็จแล้ว
+pw_erased_ok=คำเตือน! คุณได้ทำการลบรหัสผ่านหลักของคุณ
+pw_not_wanted=คำเตือน! คุณได้ตัดสินใจที่จะไม่ใช้รหัสผ่านหลัก
+pw_empty_warning=รหัสผ่านเว็บและอีเมล, ข้อมูลแบบฟอร์ม และกุญแจส่วนตัวที่คุณจัดเก็บจะไม่ถูกปกป้อง
+pw_change2empty_in_fips_mode=คุณกำลังอยู่ในโหมด FIPS ซึ่ง FIPS จำเป็นต้องมีรหัสผ่านหลักที่ไม่ว่างเปล่า
+enable_fips=เปิดใช้งาน FIPS
+
+resetPasswordConfirmationTitle=ล้างรหัสผ่านหลัก
+resetPasswordConfirmationMessage=รหัสผ่านของคุณได้ถูกล้างแล้ว
diff --git a/l10n-th/security/manager/security/certificates/certManager.ftl b/l10n-th/security/manager/security/certificates/certManager.ftl
new file mode 100644
index 0000000000..ac91eec4cd
--- /dev/null
+++ b/l10n-th/security/manager/security/certificates/certManager.ftl
@@ -0,0 +1,251 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+certmgr-title =
+ .title = ตัวจัดการใบรับรอง
+certmgr-tab-mine =
+ .label = ใบรับรองของคุณ
+certmgr-tab-remembered =
+ .label = การตัดสินใจการรับรองความถูกต้อง
+certmgr-tab-people =
+ .label = ผู้คน
+certmgr-tab-servers =
+ .label = เซิร์ฟเวอร์
+certmgr-tab-ca =
+ .label = หน่วยงาน
+certmgr-mine = คุณมีใบรับรองจากองค์กรเหล่านี้ที่ระบุตัวตนคุณ
+certmgr-remembered = ใบรับรองเหล่านี้ถูกใช้เพื่อระบุตัวตนของคุณต่อเว็บไซต์
+certmgr-people = คุณมีใบรับรองในไฟล์ที่ระบุผู้คนเหล่านี้
+certmgr-servers = คุณมีใบรับรองในไฟล์ที่ระบุเซิร์ฟเวอร์เหล่านี้
+certmgr-server = รายการเหล่านี้ระบุข้อผิดพลาดของใบรับรองเซิร์ฟเวอร์
+certmgr-ca = คุณมีใบรับรองในไฟล์ที่ระบุผู้ออกใบรับรองเหล่านี้
+certmgr-detail-general-tab-title =
+ .label = ทั่วไป
+ .accesskey = ท
+certmgr-detail-pretty-print-tab-title =
+ .label = รายละเอียด
+ .accesskey = ร
+certmgr-pending-label =
+ .value = กำลังตรวจสอบใบรับรอง…
+certmgr-subject-label = ออกให้
+certmgr-issuer-label = ออกโดย
+certmgr-period-of-validity = ระยะเวลาที่มีผล
+certmgr-fingerprints = ลายนิ้วมือ
+certmgr-cert-detail =
+ .title = รายละเอียดใบรับรอง
+ .buttonlabelaccept = ปิด
+ .buttonaccesskeyaccept = ป
+certmgr-cert-detail-commonname = ชื่อสามัญ (CN)
+certmgr-cert-detail-org = องค์กร (O)
+certmgr-cert-detail-orgunit = หน่วยงาน (OU)
+certmgr-cert-detail-serial-number = หมายเลขอนุกรม
+certmgr-cert-detail-sha-256-fingerprint = ลายนิ้วมือ SHA-256
+certmgr-cert-detail-sha-1-fingerprint = ลายนิ้วมือ SHA1
+certmgr-edit-ca-cert =
+ .title = แก้ไขการตั้งค่าความน่าเชื่อถือของใบรับรอง CA
+ .style = width: 48em;
+certmgr-edit-cert-edit-trust = แก้ไขการตั้งค่าความน่าเชื่อถือ :
+certmgr-edit-cert-trust-ssl =
+ .label = ใบรับรองนี้สามารถระบุเว็บไซต์
+certmgr-edit-cert-trust-email =
+ .label = ใบรับรองนี้สามารถระบุผู้ใช้จดหมาย
+certmgr-delete-cert =
+ .title = ลบใบรับรอง
+ .style = width: 48em; height: 24em;
+certmgr-cert-host =
+ .label = โฮสต์
+certmgr-cert-name =
+ .label = ชื่อใบรับรอง
+certmgr-cert-server =
+ .label = เซิร์ฟเวอร์
+certmgr-override-lifetime =
+ .label = อายุการใช้งาน
+certmgr-token-name =
+ .label = อุปกรณ์ความปลอดภัย
+certmgr-begins-on = เริ่มเมื่อ
+certmgr-begins-label =
+ .label = เริ่มเมื่อ
+certmgr-expires-on = หมดอายุเมื่อ
+certmgr-expires-label =
+ .label = หมดอายุเมื่อ
+certmgr-email =
+ .label = ที่อยู่อีเมล
+certmgr-serial =
+ .label = หมายเลขอนุกรม
+certmgr-view =
+ .label = ดู…
+ .accesskey = ด
+certmgr-edit =
+ .label = แก้ไขการเชื่อถือ…
+ .accesskey = ก
+certmgr-export =
+ .label = ส่งออก…
+ .accesskey = ส
+certmgr-delete =
+ .label = ลบ…
+ .accesskey = ล
+certmgr-delete-builtin =
+ .label = ลบหรือเลิกเชื่อถือ…
+ .accesskey = ถ
+certmgr-backup =
+ .label = สำรองข้อมูล…
+ .accesskey = ร
+certmgr-backup-all =
+ .label = สำรองข้อมูลทั้งหมด…
+ .accesskey = อ
+certmgr-restore =
+ .label = นำเข้า…
+ .accesskey = น
+certmgr-details =
+ .value = ข้อมูลใบรับรอง
+ .accesskey = ข
+certmgr-fields =
+ .value = ค่า
+ .accesskey = ค
+certmgr-hierarchy =
+ .value = ลำดับชั้นใบรับรอง
+ .accesskey = ล
+certmgr-add-exception =
+ .label = เพิ่มข้อยกเว้น…
+ .accesskey = ย
+exception-mgr =
+ .title = เพิ่มข้อยกเว้นความปลอดภัย
+exception-mgr-extra-button =
+ .label = ยืนยันข้อยกเว้นความปลอดภัย
+ .accesskey = ย
+exception-mgr-supplemental-warning = ธนาคาร, ห้างร้าน และเว็บไซต์สาธารณะที่ถูกกฎหมายจะไม่ให้คุณทำเช่นนี้
+exception-mgr-cert-location-url =
+ .value = ตำแหน่งที่ตั้ง:
+exception-mgr-cert-location-download =
+ .label = รับใบรับรอง
+ .accesskey = ร
+exception-mgr-cert-status-view-cert =
+ .label = ดู…
+ .accesskey = ด
+exception-mgr-permanent =
+ .label = จัดเก็บข้อยกเว้นนี้อย่างถาวร
+ .accesskey = ถ
+pk11-bad-password = รหัสผ่านที่ป้อนไม่ถูกต้อง
+pkcs12-decode-err = ไม่สามารถถอดรหัสไฟล์ได้ อาจเป็นไปได้ว่าไฟล์ไม่อยู่ในรูปแบบ PKCS #12 เสียหาย หรือรหัสผ่านที่คุณกรอกนั้นไม่ถูกต้อง
+pkcs12-unknown-err-restore = ไม่ทราบสาเหตุที่ไม่สามารถเรียกคืนไฟล์ PKCS #12 ได้
+pkcs12-unknown-err-backup = ไม่ทราบสาเหตุที่ไม่สามารถสร้างไฟล์สำรองข้อมูลของ PKCS #12 ได้
+pkcs12-unknown-err = ไม่ทราบสาเหตุที่การกระทำ PKCS #12 ล้มเหลว
+pkcs12-info-no-smartcard-backup = ไม่สามารถสำรองใบรับรองจากอุปกรณ์รักษาความปลอดภัยเช่นสมาร์ตการ์ดได้
+pkcs12-dup-data = มีใบรับรองและกุญแจส่วนตัวอยู่แล้วในอุปกรณ์รักษาความปลอดภัย
+
+## PKCS#12 file dialogs
+
+choose-p12-backup-file-dialog = ชื่อไฟล์ที่จะสำรองข้อมูล
+file-browse-pkcs12-spec = ไฟล์ PKCS12
+choose-p12-restore-file-dialog = ไฟล์ใบรับรองที่จะนำเข้า
+
+## Import certificate(s) file dialog
+
+file-browse-certificate-spec = ไฟล์ใบรับรอง
+import-ca-certs-prompt = เลือกไฟล์ที่มีใบรับรอง CA เพื่อนำเข้า
+import-email-cert-prompt = เลือกไฟล์ที่มีใบรับรองอีเมลของใครบางคนเพื่อนำเข้า
+
+## For editing certificates trust
+
+# Variables:
+# $certName: the name of certificate
+edit-trust-ca = ใบรับรอง "{ $certName }" เป็น Certificate Authority
+
+## For Deleting Certificates
+
+delete-user-cert-title =
+ .title = ลบใบรับรองของคุณ
+delete-user-cert-confirm = คุณแน่ใจหรือไม่ว่าต้องการลบใบรับรองเหล่านี้?
+delete-user-cert-impact = ถ้าคุณลบใบรับรองใด ๆ ของคุณ คุณจะไม่สามารถระบุตัวคุณเองได้อีกต่อไป
+delete-ssl-cert-title =
+ .title = ลบข้อยกเว้นใบรับรองของเซิร์ฟเวอร์
+delete-ssl-cert-confirm = คุณแน่ใจหรือไม่ว่าต้องการลบข้อยกเว้นเซิร์ฟเวอร์เหล่านี้?
+delete-ssl-cert-impact = ถ้าคุณลบข้อยกเว้นเซิร์ฟเวอร์นี้ นั่นเป็นการเปิดใช้การรักษาความปลอดภัยตามปกติกับเซิร์ฟเวอร์นี้ และเซิร์ฟเวอร์นี้ต้องการใบรับรองที่ถูกต้องเพื่อให้ใช้งานได้
+delete-ssl-override-title =
+ .title = ลบข้อยกเว้นใบรับรองของเซิร์ฟเวอร์
+delete-ssl-override-confirm = คุณแน่ใจหรือไม่ว่าต้องการลบข้อยกเว้นเซิร์ฟเวอร์นี้?
+delete-ssl-override-impact = ถ้าคุณลบข้อยกเว้นเซิร์ฟเวอร์นี้ นั่นเป็นการเปิดใช้การรักษาความปลอดภัยตามปกติกับเซิร์ฟเวอร์นี้ และเซิร์ฟเวอร์นี้ต้องการใบรับรองที่ถูกต้องเพื่อให้ใช้งานได้
+delete-ca-cert-title =
+ .title = ลบหรือเลิกเชื่อถือใบรับรอง CA
+delete-ca-cert-confirm = คุณได้ขอลบใบรับรอง CA เหล่านี้ สำหรับใบรับรองในตัวการเชื่อถือทั้งหมดจะถูกเอาออก ซึ่งมีผลเดียวกัน คุณแน่ใจหรือไม่ว่าต้องการลบหรือเลิกเชื่อถือ?
+delete-ca-cert-impact = หากคุณลบหรือเลิกเชื่อถือใบรับรองของผู้ออกใบรับรอง (CA) แอปพลิเคชันนี้จะไม่เชื่อถือใบรับรองใด ๆ ที่ออกโดย CA นั้นอีกต่อไป
+delete-email-cert-title =
+ .title = ลบใบรับรองอีเมล
+delete-email-cert-confirm = คุณต้องการลบใบรับรองอีเมลของบุคคลเหล่านี้หรือไม่?
+delete-email-cert-impact = หากคุณลบใบรับรองอีเมลของบุคคล คุณจะไม่สามารถส่งอีเมลที่เข้ารหัสให้กับบุคคลนั้นได้อีกต่อไป
+# Used for semi-uniquely representing a cert.
+#
+# Variables:
+# $serialNumber : the serial number of the cert in AA:BB:CC hex format.
+cert-with-serial =
+ .value = ใบรับรองที่มีหมายเลขซีเรียล: { $serialNumber }
+
+## Cert Viewer
+
+# Title used for the Certificate Viewer.
+#
+# Variables:
+# $certificate : a string representative of the certificate being viewed.
+cert-viewer-title =
+ .title = ตัวดูใบรับรอง: “{ $certName }”
+not-present =
+ .value = <ไม่ใช่ส่วนหนึ่งของใบรับรอง>
+# Cert verification
+cert-verified = ใบรับรองนี้ได้รับการพิสูจน์สำหรับการใช้งานดังกล่าว:
+# Add usage
+verify-ssl-client =
+ .value = ใบรับรองลูกข่าย SSL
+verify-ssl-server =
+ .value = ใบรับรองเซิร์ฟเวอร์ SSL
+verify-ssl-ca =
+ .value = ผู้ออกใบรับรอง SSL
+verify-email-signer =
+ .value = ใบรับรองผู้เซ็นอีเมล
+verify-email-recip =
+ .value = ใบรับรองผู้รับอีเมล
+# Cert verification
+cert-not-verified-cert-revoked = ไม่สามารถตรวจสอบใบรับรองนี้เนื่องจากใบรับรองถูกเพิกถอน
+cert-not-verified-cert-expired = ไม่สามารถตรวจสอบใบรับรองนี้เนื่องจากใบรับรองหมดอายุ
+cert-not-verified-cert-not-trusted = ไม่สามารถตรวจสอบใบรับรองนี้เนื่องจากใบรับรองไม่น่าเชื่อถือ
+cert-not-verified-issuer-not-trusted = ไม่สามารถพิสูจน์ใบรับรองที่ผู้ออกไม่น่าเชื่อถือได้
+cert-not-verified-issuer-unknown = ไม่สามารถพิสูจน์ใบรับรองที่ผู้ออกนิรนามได้
+cert-not-verified-ca-invalid = ไม่สามารถพิสูจน์ใบรับรองที่ CA ไม่ถูกต้องได้
+cert-not-verified_algorithm-disabled = ไม่สามารถพิสูจน์ใบรับรองนี้ เพราะถูกเซ็นรับโดยใช้อัลกอริทึมลายเซ็นที่ถูกปิดใช้งานเนื่องจากใช้อัลกอริทึมที่ไม่ปลอดภัย
+cert-not-verified-unknown = ไม่สามารถพิสูจน์ใบรับรองนี้โดยไม่ทราบสาเหตุ
+# Used to indicate that the user chose not to send a client authentication certificate to a server that requested one in a TLS handshake.
+send-no-client-certificate = ไม่ต้องส่งใบรับรองไคลเอ็นต์ใด ๆ
+# Used when no cert is stored for an override
+no-cert-stored-for-override = (ไม่ได้เก็บไว้)
+
+## Used to show whether an override is temporary or permanent
+
+permanent-override = ถาวร
+temporary-override = ชั่วคราว
+
+## Add Security Exception dialog
+
+add-exception-branded-warning = คุณกำลังก้าวล่วงวิธีการที่ { -brand-short-name } จะทำการระบุตัวตนเว็บไซต์นี้
+add-exception-invalid-header = ไซต์นี้พยายามจะระบุตัวเองด้วยข้อมูลที่ไม่ถูกต้อง
+add-exception-domain-mismatch-short = เว็บไซต์ผิด
+add-exception-domain-mismatch-long = ใบรับรองเป็นของไซต์อื่น ซึ่งอาจหมายความว่ามีคนพยายามเลียนแบบไซต์นี้
+add-exception-expired-short = ข้อมูลล้าสมัย
+add-exception-expired-long = ใบรับรองไม่ถูกต้องในขณะนี้ อาจถูกขโมยหรือสูญหาย และอาจถูกนำไปใช้โดยบางคนเพื่อปลอมแปลงไซต์นี้
+add-exception-unverified-or-bad-signature-short = ไม่ทราบข้อมูลประจำตัว
+add-exception-unverified-or-bad-signature-long = ใบรับรองไม่น่าเชื่อถือ เพราะไม่ได้รับการตรวจสอบจากองค์กรรับรองที่เป็นที่รู้จักโดยใช้ลายเซ็นที่ปลอดภัย
+add-exception-valid-short = ใบรับรองถูกต้อง
+add-exception-valid-long = เว็บไซต์นี้มีการระบุตัวตนที่ถูกต้อง คุณไม่จำเป็นต้องทำการเพิ่มข้อยกเว้น
+add-exception-checking-short = กำลังตรวจสอบข้อมูล
+add-exception-checking-long = กำลังพยายามระบุไซต์นี้…
+add-exception-no-cert-short = ไม่มีข้อมูล
+add-exception-no-cert-long = ไม่สามารถรับสถานะการระบุตัวตนสำหรับไซต์นี้
+
+## Certificate export "Save as" and error dialogs
+
+save-cert-as = บันทึกใบรับรองเป็นไฟล์
+cert-format-base64 = ใบรับรอง X.509 (PEM)
+cert-format-base64-chain = ใบรับรอง X.509 พร้อม chian (PEM)
+cert-format-der = ใบรับรอง X.509 (DER)
+cert-format-pkcs7 = ใบรับรอง X.509 (PKCS#7)
+cert-format-pkcs7-chain = ใบรับรอง X.509 พร้อม chain (PKCS#7)
+write-file-failure = ข้อผิดพลาดไฟล์
diff --git a/l10n-th/security/manager/security/certificates/deviceManager.ftl b/l10n-th/security/manager/security/certificates/deviceManager.ftl
new file mode 100644
index 0000000000..4bf2b5a41e
--- /dev/null
+++ b/l10n-th/security/manager/security/certificates/deviceManager.ftl
@@ -0,0 +1,101 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+
+## Strings used for device manager
+
+devmgr =
+ .title = ตัวจัดการอุปกรณ์
+ .style = width: 67em; height: 32em;
+devmgr-devlist =
+ .label = โมดูลและอุปกรณ์ความปลอดภัย
+devmgr-header-details =
+ .label = รายละเอียด
+devmgr-header-value =
+ .label = ค่า
+devmgr-button-login =
+ .label = เข้าสู่ระบบ
+ .accesskey = ข
+devmgr-button-logout =
+ .label = ออกจากระบบ
+ .accesskey = อ
+devmgr-button-changepw =
+ .label = เปลี่ยนรหัสผ่าน
+ .accesskey = ป
+devmgr-button-load =
+ .label = โหลด
+ .accesskey = ห
+devmgr-button-unload =
+ .label = เลิกโหลด
+ .accesskey = ล
+devmgr-button-enable-fips =
+ .label = เปิดใช้งาน FIPS
+ .accesskey = F
+devmgr-button-disable-fips =
+ .label = ปิดใช้งาน FIPS
+ .accesskey = F
+
+## Strings used for load device
+
+load-device =
+ .title = โหลดไดรเวอร์อุปกรณ์ PKCS#11
+load-device-info = ใส่ข้อมูลโมดูลที่ต้องการ
+load-device-modname =
+ .value = ชื่อโมดูล
+ .accesskey = ช
+load-device-modname-default =
+ .value = สร้างโมดูล PKCS#11
+load-device-filename =
+ .value = ชื่อไฟล์โมดูล
+ .accesskey = อ
+load-device-browse =
+ .label = เรียกดู…
+ .accesskey = ร
+
+## Token Manager
+
+devinfo-status =
+ .label = สถานะ
+devinfo-status-disabled =
+ .label = ปิดใช้งานอยู่
+devinfo-status-not-present =
+ .label = ไม่ระบุ
+devinfo-status-uninitialized =
+ .label = ไม่ได้เตรียมใช้งาน
+devinfo-status-not-logged-in =
+ .label = ไม่ได้เข้าสู่ระบบ
+devinfo-status-logged-in =
+ .label = เข้าสู่ระบบแล้ว
+devinfo-status-ready =
+ .label = พร้อม
+devinfo-desc =
+ .label = คำอธิบาย
+devinfo-man-id =
+ .label = ผู้ผลิต
+devinfo-hwversion =
+ .label = รุ่น HW
+devinfo-fwversion =
+ .label = รุ่น FW
+devinfo-modname =
+ .label = โมดูล
+devinfo-modpath =
+ .label = เส้นทาง
+login-failed = ไม่สามารถเข้าสู่ระบบ
+devinfo-label =
+ .label = ป้ายชื่อ
+devinfo-serialnum =
+ .label = หมายเลขอนุกรม
+fips-nonempty-password-required = รูปแบบ FIPS จำเป็นต้องใช้รหัสผ่านหลักที่ตั้งไว้กับอุปกรณ์รักษาความปลอดภัยแต่ละตัว กรุณาตั้งรหัสผ่านก่อนการเปิดใช้งานรูปแบบ FIPS
+fips-nonempty-primary-password-required = โหมด FIPS ต้องการให้คุณตั้งรหัสผ่านหลักสำหรับอุปกรณ์ความปลอดภัยแต่ละเครื่อง โปรดตั้งรหัสผ่านก่อนลองเปิดใช้งานโหมด FIPS
+unable-to-toggle-fips = ไม่สามารถเปลี่ยนโหมด FIPS ให้เข้ากับอุปกรณ์รักษาความปลอดภัย แนะนำให้คุณออกและเริ่มโปรแกรมใหม่
+load-pk11-module-file-picker-title = เลือกไดรเวอร์อุปกรณ์ PKCS#11 ที่จะโหลด
+# Load Module Dialog
+load-module-help-empty-module-name =
+ .value = ชื่อโมดูลต้องไม่ว่างเปล่า
+# Do not translate 'Root Certs'
+load-module-help-root-certs-module-name =
+ .value = ‘Root Certs‘ ถูกสงวนไว้และไม่สามารถนำมาใช้เป็นชื่อโมดูลได้
+add-module-failure = ไม่สามารถเพิ่มโมดูล
+del-module-warning = คุณแน่ใจหรือไม่ว่าต้องการลบโมดูลความปลอดภัยนี้?
+del-module-error = ไม่สามารถลบโมดูล
diff --git a/l10n-th/security/manager/security/pippki/pippki.ftl b/l10n-th/security/manager/security/pippki/pippki.ftl
new file mode 100644
index 0000000000..8b27a386e1
--- /dev/null
+++ b/l10n-th/security/manager/security/pippki/pippki.ftl
@@ -0,0 +1,84 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+password-quality-meter = มาตรวัดคุณภาพรหัสผ่าน
+
+## Change Password dialog
+
+change-password-window =
+ .title = เปลี่ยนรหัสผ่านหลัก
+change-device-password-window =
+ .title = เปลี่ยนรหัสผ่าน
+# Variables:
+# $tokenName (String) - Security device of the change password dialog
+change-password-token = อุปกรณ์ความปลอดภัย: { $tokenName }
+change-password-old = รหัสผ่านปัจจุบัน:
+change-password-new = รหัสผ่านใหม่:
+change-password-reenter = รหัสผ่านใหม่ (อีกครั้ง):
+
+## Reset Password dialog
+
+reset-password-window =
+ .title = ล้างรหัสผ่านหลัก
+ .style = width: 40em
+pippki-failed-pw-change = ไม่สามารถเปลี่ยนรหัสผ่านได้
+pippki-incorrect-pw = คุณใส่รหัสผ่านปัจจุบันไม่ถูกต้อง โปรดลองอีกครั้ง
+pippki-pw-change-ok = เปลี่ยนรหัสผ่านสำเร็จแล้ว
+pippki-pw-empty-warning = รหัสผ่านที่บันทึกไว้และคีย์ส่วนตัวของคุณจะไม่ได้รับการปกป้อง
+pippki-pw-erased-ok = คุณได้ลบรหัสผ่านของคุณแล้ว { pippki-pw-empty-warning }
+pippki-pw-not-wanted = คำเตือน! คุณได้ตัดสินใจไม่ใช้รหัสผ่าน { pippki-pw-empty-warning }
+pippki-pw-change2empty-in-fips-mode = ขณะนี้คุณอยู่ในโหมด FIPS ซึ่ง FIPS จำเป็นต้องมีรหัสผ่านที่ไม่ว่างเปล่า
+
+## Reset Primary Password dialog
+
+reset-primary-password-window =
+ .title = ตั้งรหัสผ่านหลักใหม่
+ .style = width: 40em
+reset-password-button-label =
+ .label = ตั้งค่าใหม่
+reset-password-text = หากคุณตั้งรหัสผ่านหลักของคุณใหม่ รหัสผ่านเว็บและอีเมล, ข้อมูลแบบฟอร์ม, ใบรับรองส่วนบุคคล และกุญแจส่วนตัวทั้งหมดที่คุณจัดเก็บจะถูกลืม คุณแน่ใจหรือไม่ว่าต้องการตั้งรหัสผ่านหลักของคุณใหม่?
+reset-primary-password-text = หากคุณตั้งรหัสผ่านหลักของคุณใหม่ รหัสผ่านเว็บและอีเมล, ใบรับรองส่วนบุคคล, และกุญแจส่วนตัวทั้งหมดที่คุณจัดเก็บจะถูกลืม คุณแน่ใจหรือไม่ว่าต้องการตั้งรหัสผ่านหลักของคุณใหม่?
+pippki-reset-password-confirmation-title = ตั้งรหัสผ่านหลักใหม่
+pippki-reset-password-confirmation-message = รหัสผ่านหลักของคุณถูกตั้งใหม่แล้ว
+
+## Downloading cert dialog
+
+download-cert-window =
+ .title = กำลังดาวน์โหลดใบรับรอง
+ .style = width: 46em
+download-cert-message = คุณได้รับคำขอให้เชื่อถือผู้ออกใบรับรอง (CA) ใหม่
+download-cert-trust-ssl =
+ .label = เชื่อถือ CA นี้เพื่อระบุเว็บไซต์
+download-cert-trust-email =
+ .label = เชื่อถือ CA นี้เพื่อระบุผู้ใช้อีเมล
+download-cert-message-desc = ก่อนที่จะเชื่อมั่น CA แห่งนี้ไม่ว่าเพื่อวัตถุประสงค์ใดก็ตาม คุณควรตรวจสอบใบรับรองตลอดจนนโยบายและขั้นตอนการรับรองของ CA แห่งนั้นเสียก่อน (ถ้ามี)
+download-cert-view-cert =
+ .label = ดู
+download-cert-view-text = ตรวจสอบใบรับรอง CA
+
+## Client Authorization Ask dialog
+
+client-auth-window =
+ .title = คำขออัตลักษณ์ผู้ใช้
+client-auth-site-description = ไซต์นี้ได้ขอให้คุณระบุตัวคุณเองด้วยใบรับรอง:
+client-auth-choose-cert = เลือกใบรับรองเพื่อระบุตัวตน:
+client-auth-cert-details = รายละเอียดของใบรับรองที่เลือก:
+
+## Set password (p12) dialog
+
+set-password-window =
+ .title = เลือกรหัสผ่านสำรองใบรับรอง :
+set-password-message = รหัสผ่านสำรองใบรับรองที่กำลังจะตั้งนี้จะช่วยปกป้องไฟล์ข้อมูลสำรองที่คุณกำลังจะสร้างขึ้น คุณจำเป็นต้องตั้งรหัสผ่านนี้ก่อนที่จะดำเนินการสำรองข้อมูลต่อ
+set-password-backup-pw =
+ .value = รหัสผ่านสำรองใบรับรอง :
+set-password-repeat-backup-pw =
+ .value = รหัสผ่านสำรองใบรับรอง (อีกครั้ง) :
+set-password-reminder = สำคัญมาก : หากคุณลืมรหัสผ่านสำรองใบรับรอง คุณจะไม่สามารถเรียกคืนข้อมูลที่สำรองไว้ได้อีกต่อไป ควรบันทึกรหัสผ่านนี้ไว้ในที่ปลอดภัย
+
+## Protected Auth dialog
+
+protected-auth-window =
+ .title = การพิสูจน์ว่าโทเค็นที่ปกป้องไว้เป็นของจริง
+protected-auth-msg = โปรดพิสูจน์ว่าโทเค็นเป็นของจริง วิธีพิสูจน์จะขึ้นกับชนิดของโทเค็น
+protected-auth-token = โทเค็น:
diff --git a/l10n-th/services/sync/sync.properties b/l10n-th/services/sync/sync.properties
new file mode 100644
index 0000000000..889922411d
--- /dev/null
+++ b/l10n-th/services/sync/sync.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/.
+
+# %1: the user name (Ed), %2: the app name (Firefox), %3: the operating system (Android)
+client.name2 = %2$S ของ %1$S บน %3$S
+
+# %S is the date and time at which the last sync successfully completed
+lastSync2.label = ซิงค์ล่าสุด: %S
+
+# signInToSync.description is the tooltip for the Sync buttons when Sync is
+# not configured.
+signInToSync.description = ลงชื่อเข้า Sync
+
diff --git a/l10n-th/toolkit/chrome/alerts/alert.dtd b/l10n-th/toolkit/chrome/alerts/alert.dtd
new file mode 100644
index 0000000000..37c6611237
--- /dev/null
+++ b/l10n-th/toolkit/chrome/alerts/alert.dtd
@@ -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/. -->
+
+<!ENTITY closeAlert.tooltip "ปิดการแจ้งเตือนนี้">
+<!ENTITY settings.label "การตั้งค่า">
diff --git a/l10n-th/toolkit/chrome/alerts/alert.properties b/l10n-th/toolkit/chrome/alerts/alert.properties
new file mode 100644
index 0000000000..bc12c0d785
--- /dev/null
+++ b/l10n-th/toolkit/chrome/alerts/alert.properties
@@ -0,0 +1,23 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE(closeButton.title): Used as the close button text for web notifications on OS X.
+# This should ideally match the string that OS X uses for the close button on alert-type
+# notifications. OS X will truncate the value if it's too long.
+closeButton.title = ปิด
+# LOCALIZATION NOTE(actionButton.label): Used as the button label to provide more actions on OS X notifications. OS X will truncate this if it's too long.
+actionButton.label = …
+# LOCALIZATION NOTE(webActions.disableForOrigin.label): %S is replaced
+# with the hostname origin of the notification.
+webActions.disableForOrigin.label = ปิดใช้งานการแจ้งเตือนจาก %S
+
+# LOCALIZATION NOTE(source.label): Used to show the URL of the site that
+# sent the notification (e.g., "via mozilla.org"). "%1$S" is the source host
+# and port.
+source.label=ผ่าน %1$S
+webActions.settings.label = การตั้งค่าการแจ้งเตือน
+
+# LOCALIZATION NOTE(pauseNotifications.label): %S is replaced with the
+# brandShortName of the application.
+pauseNotifications.label = หยุดการแจ้งเตือนชั่วคราวจนกระทั่ง %S เริ่มการทำงานใหม่
diff --git a/l10n-th/toolkit/chrome/autoconfig/autoconfig.properties b/l10n-th/toolkit/chrome/autoconfig/autoconfig.properties
new file mode 100644
index 0000000000..1374be9446
--- /dev/null
+++ b/l10n-th/toolkit/chrome/autoconfig/autoconfig.properties
@@ -0,0 +1,12 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+readConfigTitle = การตั้งค่าผิดพลาด
+readConfigMsg = การอ่านไฟล์กำหนดค่าล้มเหลว โปรดติดต่อผู้ดูแลระบบของคุณ
+
+autoConfigTitle = เตือน AutoConfig
+autoConfigMsg = Netscape.cfg/AutoConfig ล้มเหลว กรุณาติดต่อผู้ดูแลระบบของคุณ \n ผิดพลาด: %S ล้มเหลว:
+
+emailPromptTitle = ที่อยู่อีเมล
+emailPromptMsg = ป้อนที่อยู่อีเมลของคุณ
diff --git a/l10n-th/toolkit/chrome/global-platform/mac/intl.properties b/l10n-th/toolkit/chrome/global-platform/mac/intl.properties
new file mode 100644
index 0000000000..71265a9ef1
--- /dev/null
+++ b/l10n-th/toolkit/chrome/global-platform/mac/intl.properties
@@ -0,0 +1,7 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE (intl.ellipsis): Use the unicode ellipsis char, \u2026,
+# or use "..." if \u2026 doesn't suit traditions in your locale.
+intl.ellipsis=…
diff --git a/l10n-th/toolkit/chrome/global-platform/mac/platformKeys.properties b/l10n-th/toolkit/chrome/global-platform/mac/platformKeys.properties
new file mode 100644
index 0000000000..725e977441
--- /dev/null
+++ b/l10n-th/toolkit/chrome/global-platform/mac/platformKeys.properties
@@ -0,0 +1,30 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# Platform: Mac
+# This file defines the on-screen display names for the various modifier keys
+# and the Return key (VK_RETURN).
+# These are used in XP menus to show keyboard shortcuts.
+
+# The Shift key - open up arrow symbol (ctrl-e)
+VK_SHIFT=\u21e7
+
+# The Command key - clover leaf symbol (ctrl-q)
+VK_META=\u2318
+
+# The Win key - never generated by native key event
+VK_WIN=win
+
+# The Option/Alt key - splitting tracks symbol (ctrl-g)
+VK_ALT=\u2325
+
+# The Control key - hat symbol (ctrl-f)
+VK_CONTROL=\u2303
+
+# The Return key (on the main keyboard or numpad):
+# "Enter" on Windows/Unix, "Return" on Mac
+VK_RETURN=Return
+
+# The separator character used between modifiers (none on Mac OS)
+MODIFIER_SEPARATOR=
diff --git a/l10n-th/toolkit/chrome/global-platform/unix/intl.properties b/l10n-th/toolkit/chrome/global-platform/unix/intl.properties
new file mode 100644
index 0000000000..71265a9ef1
--- /dev/null
+++ b/l10n-th/toolkit/chrome/global-platform/unix/intl.properties
@@ -0,0 +1,7 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE (intl.ellipsis): Use the unicode ellipsis char, \u2026,
+# or use "..." if \u2026 doesn't suit traditions in your locale.
+intl.ellipsis=…
diff --git a/l10n-th/toolkit/chrome/global-platform/unix/platformKeys.properties b/l10n-th/toolkit/chrome/global-platform/unix/platformKeys.properties
new file mode 100644
index 0000000000..3a1394d871
--- /dev/null
+++ b/l10n-th/toolkit/chrome/global-platform/unix/platformKeys.properties
@@ -0,0 +1,30 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# Platform: Unix
+# This file defines the on-screen display names for the various modifier keys
+# and the Enter key (VK_RETURN).
+# These are used in XP menus to show keyboard shortcuts.
+
+# The Shift key
+VK_SHIFT=Shift
+
+# The Command key
+VK_META=Meta
+
+# The Win key (Super key and Hyper keys are mapped to DOM Win key)
+VK_WIN=Win
+
+# The Alt key
+VK_ALT=Alt
+
+# The Control key
+VK_CONTROL=Ctrl
+
+# The Enter key (on the main keyboard or numpad):
+# "Enter" on Windows/Unix, "Return" on Mac
+VK_RETURN=Enter
+
+# The separator character used between modifiers
+MODIFIER_SEPARATOR=+
diff --git a/l10n-th/toolkit/chrome/global-platform/win/intl.properties b/l10n-th/toolkit/chrome/global-platform/win/intl.properties
new file mode 100644
index 0000000000..71265a9ef1
--- /dev/null
+++ b/l10n-th/toolkit/chrome/global-platform/win/intl.properties
@@ -0,0 +1,7 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE (intl.ellipsis): Use the unicode ellipsis char, \u2026,
+# or use "..." if \u2026 doesn't suit traditions in your locale.
+intl.ellipsis=…
diff --git a/l10n-th/toolkit/chrome/global-platform/win/platformKeys.properties b/l10n-th/toolkit/chrome/global-platform/win/platformKeys.properties
new file mode 100644
index 0000000000..e05354c9ae
--- /dev/null
+++ b/l10n-th/toolkit/chrome/global-platform/win/platformKeys.properties
@@ -0,0 +1,30 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# Platform: Windows
+# This file defines the on-screen display names for the various modifier keys
+# and the Enter key (VK_RETURN).
+# These are used in XP menus to show keyboard shortcuts.
+
+# The Shift key
+VK_SHIFT=Shift
+
+# The Command key
+VK_META=Meta
+
+# The Win key
+VK_WIN=Win
+
+# The Alt key
+VK_ALT=Alt
+
+# The Control key
+VK_CONTROL=Ctrl
+
+# The Enter key (on the main keyboard or numpad):
+# "Enter" on Windows/Unix, "Return" on Mac
+VK_RETURN=Enter
+
+# The separator character used between modifiers
+MODIFIER_SEPARATOR=+
diff --git a/l10n-th/toolkit/chrome/global/aboutReader.properties b/l10n-th/toolkit/chrome/global/aboutReader.properties
new file mode 100644
index 0000000000..4fad6c5433
--- /dev/null
+++ b/l10n-th/toolkit/chrome/global/aboutReader.properties
@@ -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/.
+
+#LOCALIZATION NOTE (aboutReader.loading2):
+# Use the unicode ellipsis char, \u2026,
+# or use "..." if \u2026 doesn't suit traditions in your locale.
+aboutReader.loading2=กำลังโหลด…
+aboutReader.loadError=ไม่สามารถโหลดบทความจากหน้า
+
+aboutReader.colorScheme.light=สว่าง
+aboutReader.colorScheme.dark=มืด
+aboutReader.colorScheme.sepia=ซีเปีย
+aboutReader.colorScheme.auto=อัตโนมัติ
+
+# LOCALIZATION NOTE (aboutReader.estimatedReadTimeValue1): Semi-colon list of plural forms.
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# #1 is the number of minutes it is estimated to take to read the article
+# example: `3 minutes`
+aboutReader.estimatedReadTimeValue1=#1 นาที
+
+#LOCALIZATION NOTE (aboutReader.estimatedReadTimeRange1): Semi-colon list of plural forms.
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# When there is some uncertainty in how long the article will take to read show a range of
+# minutes it is expected to take.
+# #1 is the number of minutes it is estimated to take to read the article for a fast reader
+# #2 is the number of minutes it is estimated to take to read the article for a slow reader
+# #2 is the variable used to determine the plural form to use.
+# example: `5-8 minutes`
+aboutReader.estimatedReadTimeRange1=#1-#2 นาที
+
+# LOCALIZATION NOTE (aboutReader.fontType.serif, aboutReader.fontType.sans-serif):
+# These are the styles of typeface that are options in the reader view controls.
+aboutReader.fontType.serif=มีเชิง
+aboutReader.fontType.sans-serif=ไม่มีเชิง
+
+# LOCALIZATION NOTE (aboutReader.fontTypeSample): String used to sample font types.
+# For followup see: https://bugzilla.mozilla.org/show_bug.cgi?id=1637089
+aboutReader.fontTypeSample=Aa
+
+aboutReader.toolbar.close=ปิดมุมมองผู้อ่าน
+aboutReader.toolbar.typeControls=ปุ่มควบคุมชนิด
+
+# This is used as a label for the Reader View toolbar button.
+# This is a label used for the Save to Pocket option in the toolbar.
+# %S is replaced by Pocket.
+readerView.savetopocket.label=บันทึกไปยัง %S
+# This is a label used for done option in the toolbar
+readerView.done.label=เสร็จสิ้น
+# These are used for the Reader View toolbar button and the menuitem within the
+# View menu.
+readerView.enter=เข้าสู่มุมมองผู้อ่าน
+readerView.enter.accesskey=ผ
+readerView.close=ปิดมุมมองผู้อ่าน
+readerView.close.accesskey=ผ
+
+# These are used as tooltips in Type Control
+aboutReader.toolbar.minus = ลดขนาดแบบอักษร
+aboutReader.toolbar.plus = เพิ่มขนาดแบบอักษร
+aboutReader.toolbar.contentwidthminus = ลดความกว้างของเนื้อหา
+aboutReader.toolbar.contentwidthplus = เพิ่มความกว้างของเนื้อหา
+aboutReader.toolbar.lineheightminus = ลดความสูงของบรรทัด
+aboutReader.toolbar.lineheightplus = เพิ่มความสูงของบรรทัด
+aboutReader.toolbar.colorschemelight = แบบแผนชุดสีสว่าง
+aboutReader.toolbar.colorschemedark = แบบแผนชุดสีมืด
+aboutReader.toolbar.colorschemesepia = แบบแผนชุดสีซีเปีย
diff --git a/l10n-th/toolkit/chrome/global/aboutStudies.properties b/l10n-th/toolkit/chrome/global/aboutStudies.properties
new file mode 100644
index 0000000000..12192ab069
--- /dev/null
+++ b/l10n-th/toolkit/chrome/global/aboutStudies.properties
@@ -0,0 +1,32 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+
+# LOCALIZATION NOTE (title): keep "Shield" in English. See
+# https://wiki.mozilla.org/Firefox/Shield/Shield_Studies for more information
+title = การศึกษา Shield
+removeButton = เอาออก
+
+# LOCALIZATION NOTE (activeStudiesList): Title above a list of active studies
+activeStudiesList = การศึกษาที่ใช้งานอยู่
+# LOCALIZATION NOTE (activeStudiesList): Title above a list of completed studies
+completedStudiesList = การศึกษาที่เสร็จสมบูรณ์
+# LOCALIZATION NOTE (activeStatus): Displayed for an active study
+activeStatus = ใช้งานอยู่
+# LOCALIZATION NOTE (completeStatus): Displayed for a study that is already complete
+completeStatus = เสร็จสมบูรณ์
+
+updateButtonWin = อัปเดตตัวเลือก
+updateButtonUnix = อัปเดตค่ากำหนด
+learnMore = เรียนรู้เพิ่มเติม
+noStudies = คุณไม่ได้เข้าร่วมในการศึกษาใด ๆ
+disabledList = นี่คือรายการของการศึกษาที่คุณเข้าร่วม ไม่มีการศึกษาใหม่ที่จะทำงาน
+# LOCALIZATION NOTE (enabledList): %S is brandShortName (e.g. Firefox)
+enabledList = สิ่งนี้คืออะไร? %S อาจติดตั้งและเรียกใช้การศึกษาเป็นครั้งคราว
+
+# LOCALIZATION NOTE (preferenceStudyDescription) $1%S will be replaced with the
+# name of a preference (such as "stream.improvesearch.topSiteSearchShortcuts")
+# and $2%S will be replaced with the value of that preference. Both values will
+# be formatted differently than the surrounding text.
+preferenceStudyDescription = การศึกษานี้ตั้ง %1$S เป็น %2$S \ No newline at end of file
diff --git a/l10n-th/toolkit/chrome/global/aboutWebrtc.properties b/l10n-th/toolkit/chrome/global/aboutWebrtc.properties
new file mode 100644
index 0000000000..b3756cf7bd
--- /dev/null
+++ b/l10n-th/toolkit/chrome/global/aboutWebrtc.properties
@@ -0,0 +1,190 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.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 (document_title):
+# The text "WebRTC" is a proper noun and should not be translated.
+# It is the general label for the standards based technology. see http://www.webrtc.org
+document_title = WebRTC Internals
+cannot_retrieve_log = ไม่สามารถเรียกข้อมูลบันทึก WebRTC
+
+# LOCALIZATION NOTE (save_page_msg):
+# %1$S will be replaced by a full path file name: the target of the SavePage operation.
+save_page_msg = ได้บันทึกหน้าลงใน: %1$S
+
+# LOCALIZATION NOTE (save_page_dialog_title): "about:webrtc" is a internal browser URL and should not be
+# translated. This string is used as a title for a file save dialog box.
+save_page_dialog_title = บันทึก about:webrtc เป็น
+
+# LOCALIZATION NOTE (debug_mode_off_state_msg):
+# %1$S will be replaced by the full path file name of the debug log.
+debug_mode_off_state_msg = บันทึกร่องรอยสามารถพบได้ที่: %1$S
+
+# LOCALIZATION NOTE (debug_mode_on_state_msg):
+# %1$S will be replaced by the full path file name of the debug log.
+debug_mode_on_state_msg = โหมดดีบั๊กทำงานอยู่ บันทึกการติดตามอยู่ที่: %1$S
+
+# LOCALIZATION NOTE (aec_logging_msg_label, aec_logging_off_state_label,
+# aec_logging_on_state_label, aec_logging_on_state_msg):
+# AEC is an abbreviation for Acoustic Echo Cancellation.
+aec_logging_msg_label = การบันทึก AEC
+aec_logging_off_state_label = เริ่มการบันทึก AEC
+aec_logging_on_state_label = หยุดการบันทึก AEC
+aec_logging_on_state_msg = การบันทึก AEC ทำงานอยู่ (พูดกับผู้โทรไม่กี่นาทีแล้วหยุดการจับ)
+
+# LOCALIZATION NOTE (aec_logging_off_state_msg):
+# %1$S will be replaced by the full path to the directory containing the captured log files.
+# AEC is an abbreviation for Acoustic Echo Cancellation.
+aec_logging_off_state_msg = ไฟล์บันทึกที่จับสามารถพบได้ใน: %1$S
+
+# LOCALIZATION NOTE (peer_connection_id_label): "PeerConnection" is a proper noun
+# associated with the WebRTC module. "ID" is an abbreviation for Identifier. This string
+# should not normally be translated and is used as a data label.
+peer_connection_id_label = PeerConnection ID
+
+# LOCALIZATION NOTE (sdp_heading, local_sdp_heading, remote_sdp_heading, sdp_history_heading, sdp_parsing_errors_heading):
+# "SDP" is an abbreviation for Session Description Protocol, an IETF standard.
+# See http://wikipedia.org/wiki/Session_Description_Protocol
+sdp_heading = SDP
+local_sdp_heading = SDP ในเครื่อง
+remote_sdp_heading = SDP ระยะไกล
+
+sdp_history_heading = ประวัติ SDP
+sdp_parsing_errors_heading = ข้อผิดพลาดในการแยกวิเคราะห์ SDP
+# LOCALIZATION NOTE (sdp_set_at_timestamp): the local or remote SDP and when it was set
+# %1$S will be replaced by local_sdp_heading or remote sdp_heading and %2$S
+# will be a numeric timestamp.
+sdp_set_at_timestamp = ตั้งค่า %1$S ที่การประทับเวลา %2$S
+# LOCALIZATION NOTE (sdp_set_timestamp): the absolute and relative times
+# when the sdp was set. %1$S and $2$S are both numeric timestamps. The
+# first is the absolute time, the second is the elapsed time since the
+# first sdp was set. ms is an abbreviation for milliseconds.
+sdp_set_timestamp = ประทับเวลา %1$S (+ %2$S ms)
+# LOCALIZATION NOTE (offer, answer):
+# offer and answer describe whether the local sdp is an offer or answer or
+# the remote sdp is an offer or answer. These are appended to the local and
+# remote sdp headings.
+offer = ข้อเสนอ
+answer = คำตอบ
+
+# LOCALIZATION NOTE (rtp_stats_heading): "RTP" is an abbreviation for the
+# Real-time Transport Protocol, an IETF specification, and should not
+# normally be translated. "Stats" is an abbreviation for Statistics.
+rtp_stats_heading = สถิติ RTP
+
+# LOCALIZATION NOTE (ice_state, ice_stats_heading): "ICE" is an abbreviation
+# for Interactive Connectivity Establishment, which is an IETF protocol,
+# and should not normally be translated. "Stats" is an abbreviation for
+# Statistics.
+ice_state = สถานะ ICE
+ice_stats_heading = สถิติ ICE
+ice_restart_count_label = การเริ่มการทำงานใหม่ของ ICE
+ice_rollback_count_label = การย้อนกลับของ ICE
+ice_pair_bytes_sent = จำนวนไบต์ที่ส่ง
+ice_pair_bytes_received = จำนวนไบต์ที่รับ
+ice_component_id = ID ส่วนประกอบ
+
+# LOCALIZATION NOTE (avg_bitrate_label, avg_framerate_label): "Avg." is an abbreviation
+# for Average. These are used as data labels.
+avg_bitrate_label = บิตเรตเฉลี่ย
+avg_framerate_label = เฟรมเรตเฉลี่ย
+
+# LOCALIZATION NOTE (typeLocal, typeRemote): These adjectives are used to label a
+# line of statistics collected for a peer connection. The data represents
+# either the local or remote end of the connection.
+typeLocal = ในเครื่อง
+typeRemote = ระยะไกล
+
+# LOCALIZATION NOTE (nominated): This adjective is used to label a table column.
+# Cells in this column contain the localized javascript string representation of "true"
+# or are left blank.
+nominated = ถูกกำหนด
+
+# LOCALIZATION NOTE (selected): This adjective is used to label a table column.
+# Cells in this column contain the localized javascript string representation of "true"
+# or are left blank. This represents an attribute of an ICE candidate.
+selected = เลือกแล้ว
+
+# LOCALIZATION NOTE (trickle_caption_msg2, trickle_highlight_color_name2): ICE
+# candidates arriving after the remote answer arrives are considered trickled
+# (an attribute of an ICE candidate). These are highlighted in the ICE stats
+# table with light blue background. %S is replaced by
+# trickle_highlight_color_name2 ("blue"), highlighted with a light blue
+# background to visually match the trickled ICE candidates.
+trickle_caption_msg2 = แคนดิเดตแบบ Trickled (ที่มาถึงหลังจากคำตอบ) จะถูกเน้นเป็น %S
+trickle_highlight_color_name2 = น้ำเงิน
+
+save_page_label = บันทึกหน้า
+debug_mode_msg_label = โหมดดีบั๊ก
+debug_mode_off_state_label = เริ่มโหมดดีบั๊ก
+debug_mode_on_state_label = หยุดโหมดดีบั๊ก
+stats_heading = สถิติวาระ
+stats_clear = ล้างประวัติ
+log_heading = รายการบันทึกการเชื่อมต่อ
+log_clear = ล้างรายการบันทึก
+log_show_msg = แสดงรายการบันทึก
+log_hide_msg = ซ่อนรายการบันทึก
+connection_closed = ปิดแล้ว
+local_candidate = แคนดิเดตภายใน
+remote_candidate = แคนดิเดตระยะไกล
+raw_candidates_heading = แคนดิเดตดิบทั้งหมด
+raw_local_candidate = แคนดิเดตภายในดิบ
+raw_remote_candidate = แคนดิเดตระยะไกลดิบ
+raw_cand_show_msg = แสดงแคนดิเดตดิบ
+raw_cand_hide_msg = ซ่อนแคนดิเดตดิบ
+priority = ความสำคัญ
+fold_show_msg = แสดงรายละเอียด
+fold_show_hint = คลิกเพื่อขยายส่วนนี้
+fold_hide_msg = ซ่อนรายละเอียด
+fold_hide_hint = คลิกเพื่อยุบส่วนนี้
+dropped_frames_label = เฟรมที่ถูกดรอป
+discarded_packets_label = แพ็คเก็ตที่ถูกละทิ้ง
+decoder_label = ตัวถอดรหัส
+encoder_label = ตัวเข้ารหัส
+received_label = รับ
+packets = แพ็กเก็ต
+lost_label = สูญหาย
+jitter_label = จิทเทอร์
+sent_label = ส่ง
+
+show_tab_label = แสดงแท็บ
+
+frame_stats_heading = สถิติเฟรมวิดีโอ
+n_a = ไม่มี
+width_px = ความกว้าง (px)
+height_px = ความสูง (px)
+consecutive_frames = เฟรมต่อเนื่อง
+time_elapsed = เวลาที่ผ่านไป (วินาที)
+estimated_framerate = อัตราเฟรมโดยประมาณ
+rotation_degrees = การหมุน (องศา)
+first_frame_timestamp = การประทับเวลาการรับข้อมูลเฟรมแรก
+last_frame_timestamp = การประทับเวลาการรับข้อมูลเฟรมสุดท้าย
+# SSRCs are identifiers that represent endpoints in an RTP stream
+# This is an SSRC on the local side of the connection that is receiving RTP
+local_receive_ssrc = SSRC การรับข้อมูลภายใน
+# This is an SSRC on the remote side of the connection that is sending RTP
+remote_send_ssrc = SSRC การส่งข้อมูลระยะไกล
+# An option whose value will not be displayed but instead noted as having been
+# provided
+configuration_element_provided = จัดเตรียมไว้
+# An option whose value will not be displayed but instead noted as having not
+# been provided
+configuration_element_not_provided = ไม่ได้จัดเตรียมไว้
+# The options set by the user in about:config that could impact a WebRTC call
+custom_webrtc_configuration_heading = ค่ากำหนด WebRTC ที่ตั้งโดยผู้ใช้
+# Section header for estimated bandwidths of WebRTC media flows
+bandwidth_stats_heading = แบนด์วิดท์โดยประมาณ
+# The ID of the MediaStreamTrack
+track_identifier = ตัวระบุแทร็ก
+# The estimated bandwidth available for sending WebRTC media in bytes per second
+send_bandwidth_bytes_sec = แบนด์วิดท์ที่ส่ง (ไบต์/วินาที)
+# The estimated bandwidth available for receiving WebRTC media in bytes per second
+receive_bandwidth_bytes_sec = แบนด์วิดท์ที่ได้รับ (ไบต์/วินาที)
+# Maximum number of bytes per second that will be padding zeros at the ends of packets
+max_padding_bytes_sec = ช่องว่างสูงสุด (ไบต์/วินาที)
+# The amount of time inserted between packets to keep them spaced out
+pacer_delay_ms = หน่วงเวลาระยะห่าง ms
+# The amount of time it takes for a packet to travel from the local machine to the remote machine,
+# and then have a packet return
+round_trip_time_ms = RTT ms
+
diff --git a/l10n-th/toolkit/chrome/global/appPicker.dtd b/l10n-th/toolkit/chrome/global/appPicker.dtd
new file mode 100644
index 0000000000..1dbab1f383
--- /dev/null
+++ b/l10n-th/toolkit/chrome/global/appPicker.dtd
@@ -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/. -->
+
+<!ENTITY NoAppFound.label "ไม่พบแอปพลิเคชันสำหรับชนิดไฟล์นี้">
+<!ENTITY BrowseButton.label "เรียกดู…">
+<!ENTITY SendMsg.label "ส่งรายการนี้ไปยัง:">
diff --git a/l10n-th/toolkit/chrome/global/autocomplete.properties b/l10n-th/toolkit/chrome/global/autocomplete.properties
new file mode 100644
index 0000000000..a4da1c2488
--- /dev/null
+++ b/l10n-th/toolkit/chrome/global/autocomplete.properties
@@ -0,0 +1,29 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE (searchWithEngine, searchInPrivateWindowWithEngine): %S will
+# be replaced with the search engine provider's name. This format was chosen
+# because the provider can also end with "Search" (e.g.: MSN Search).
+searchWithEngine = ค้นหาด้วย %S
+
+searchInPrivateWindowWithEngine = ค้นหาด้วย %S ในหน้าต่างส่วนตัว
+
+# LOCALIZATION NOTE (searchInPrivateWindow): Used when the private browsing
+# engine is the same as the default engine.
+searchInPrivateWindow = ค้นหาในหน้าต่างส่วนตัว
+
+# LOCALIZATION NOTE (switchToTab2): This is the same as the older switchToTab
+# string that it's replacing, except it uses title case, so "Switch" and "Tab"
+# are capitalized.
+switchToTab2 = สลับไปยังแท็บ
+
+# LOCALIZATION NOTE (visit): This is shown next to autocomplete entries that are
+# simple URLs or sites, which will be visited when the user selects them.
+visit = เยี่ยมชม
+
+# LOCALIZATION NOTE (bookmarkKeywordSearch): This is the title of autocomplete
+# entries that are bookmark keyword searches. %1$S will be replaced with the
+# domain name of the bookmark, and %2$S will be replaced with the keyword
+# search text that the user is typing. %2$S will not be empty.
+bookmarkKeywordSearch = %1$S: %2$S
diff --git a/l10n-th/toolkit/chrome/global/browser.properties b/l10n-th/toolkit/chrome/global/browser.properties
new file mode 100644
index 0000000000..ef0b2d9fa9
--- /dev/null
+++ b/l10n-th/toolkit/chrome/global/browser.properties
@@ -0,0 +1,7 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+formPostSecureToInsecureWarning.title = คำเตือนความปลอดภัย
+formPostSecureToInsecureWarning.message = ข้อมูลที่คุณได้ป้อนในหน้านี้จะถูกส่งผ่านการเชื่อมต่อที่ไม่ปลอดภัยและอาจถูกอ่านได้โดยบุคคลที่สาม\n\nคุณแน่ใจหรือไม่ว่าต้องการส่งข้อมูลนี้?
+formPostSecureToInsecureWarning.continue = ดำเนินการต่อ
diff --git a/l10n-th/toolkit/chrome/global/charsetMenu.dtd b/l10n-th/toolkit/chrome/global/charsetMenu.dtd
new file mode 100644
index 0000000000..633470aaca
--- /dev/null
+++ b/l10n-th/toolkit/chrome/global/charsetMenu.dtd
@@ -0,0 +1,5 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!ENTITY charsetMenu2.label "รหัสอักขระ">
diff --git a/l10n-th/toolkit/chrome/global/charsetMenu.properties b/l10n-th/toolkit/chrome/global/charsetMenu.properties
new file mode 100644
index 0000000000..2d7af17347
--- /dev/null
+++ b/l10n-th/toolkit/chrome/global/charsetMenu.properties
@@ -0,0 +1,127 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE: The property keys ending with ".key" are for access keys.
+# Localizations may add or delete properties where the property key ends with
+# ".key" as appropriate for the localization. The code that uses this data can
+# deal with the absence of an access key for an item.
+#
+# For gbk, gbk.bis and gbk.bis.key are used to trigger string changes in
+# localizations.
+#
+# In the en-US version of this file, access keys are given to the following:
+# * UTF-8
+# * All encodings that are the fallback encoding for some locale in Firefox
+# * All encodings that are the fallback encoding for some locale in IE
+# * All Japanese encodings
+#
+# For the items whose property key does not end in ".key" and whose value
+# includes "(" U+0028 LEFT PARENTHESIS, the "(" character is significant for
+# processing by CharsetMenu.jsm. If your localization does not use ASCII
+# parentheses where en-US does in this file, please file a bug to make
+# CharsetMenu.jsm also recognize the delimiter your localization uses.
+# (When this code was developed, all localizations appeared to use
+# U+0028 LEFT PARENTHESIS for this purpose.)
+
+# Auto-Detect (sub)menu
+charsetMenuCharsets = รหัสอักขระ
+charsetMenuAutodet = ตรวจพบอัตโนมัติ
+# 'A' is reserved for Arabic:
+charsetMenuAutodet.key = D
+charsetMenuAutodet.off = (ปิด)
+charsetMenuAutodet.off.key = o
+charsetMenuAutodet.ru = รัสเซีย
+charsetMenuAutodet.ru.key = R
+charsetMenuAutodet.uk = ยูเครน
+charsetMenuAutodet.uk.key = U
+
+# Globally-relevant
+
+_autodetect_all.key = m
+_autodetect_all = อัตโนมัติ
+UTF-8.key = U
+UTF-8 = ยูนิโค้ด
+windows-1252.key = W
+windows-1252 = ตะวันตก
+
+# Arabic
+windows-1256.key = A
+windows-1256 = อาหรับ (Windows)
+ISO-8859-6 = อาหรับ (ISO)
+
+# Baltic
+windows-1257.key = B
+windows-1257 = บอลติก (Windows)
+ISO-8859-4 = บอลติก (ISO)
+
+# Central European
+windows-1250.key = E
+windows-1250 = ยุโรปกลาง (Windows)
+ISO-8859-2.key = l
+ISO-8859-2 = ยุโรปกลาง (ISO)
+
+# Chinese, Simplified
+gbk.bis.key = S
+gbk.bis = จีนตัวย่อ
+
+# Chinese, Traditional
+Big5.key = T
+Big5 = จีนตัวเต็ม
+
+# Cyrillic
+windows-1251.key = C
+windows-1251 = ซีริลลิก (Windows)
+ISO-8859-5 = ซีริลลิก (ISO)
+KOI8-R = ซีริลลิก (KOI8-R)
+KOI8-U = ซีริลลิก (KOI8-U)
+IBM866 = ซีริลลิก (DOS)
+
+# UI string in anticipation of Cyrillic analog of bug 1543077;
+# deliberately not in use yet
+
+# LOCALIZATION NOTE (Cyrillic.key): If taken into use, this string will appear
+# instead of the string for windows-1251.key, so the use of the same
+# accelerator is deliberate.
+Cyrillic.key = C
+# LOCALIZATION NOTE (Cyrillic): If taken into use, this string will appear
+# as a single item instead of the five items windows-1251, ISO-8859-5,
+# KOI8-R, KOI8-U, and IBM866, so this string does not need to make sense
+# together with those strings and should be translated the way those were
+# but omitting the part in parentheses.
+Cyrillic = ซีริลลิก
+
+# Greek
+windows-1253.key = G
+windows-1253 = กรีก (Windows)
+ISO-8859-7.key = O
+ISO-8859-7 = กรีก (ISO)
+
+# Hebrew
+windows-1255.key = H
+windows-1255 = ฮิบรู
+# LOCALIZATION NOTE (ISO-8859-8): The value for this item should begin with
+# the same word for Hebrew as the value for windows-1255 so that this item
+# sorts right after that one in the collation order for your locale.
+ISO-8859-8 = ฮิบรูซ้ายไปขวา
+
+# Japanese (NOT AN ENCODING NAME)
+Japanese.key = J
+Japanese = ญี่ปุ่น
+
+# Korean
+EUC-KR.key = K
+EUC-KR = เกาหลี
+
+# Thai
+windows-874.key = i
+windows-874 = ไทย
+
+# Turkish
+windows-1254.key = r
+windows-1254 = ตุรกี
+
+# Vietnamese
+windows-1258.key = V
+windows-1258 = เวียดนาม
+
diff --git a/l10n-th/toolkit/chrome/global/commonDialog.dtd b/l10n-th/toolkit/chrome/global/commonDialog.dtd
new file mode 100644
index 0000000000..e2aa0aa09b
--- /dev/null
+++ b/l10n-th/toolkit/chrome/global/commonDialog.dtd
@@ -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/. -->
+
+<!ENTITY editfield0.label "ชื่อผู้ใช้:">
+<!ENTITY editfield1.label "รหัสผ่าน:">
+<!ENTITY copyCmd.label "คัดลอก">
+<!ENTITY copyCmd.accesskey "ค">
+<!ENTITY selectAllCmd.label "เลือกทั้งหมด">
+<!ENTITY selectAllCmd.accesskey "ท">
diff --git a/l10n-th/toolkit/chrome/global/commonDialogs.properties b/l10n-th/toolkit/chrome/global/commonDialogs.properties
new file mode 100644
index 0000000000..a1c8351ff4
--- /dev/null
+++ b/l10n-th/toolkit/chrome/global/commonDialogs.properties
@@ -0,0 +1,34 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+Alert=แจ้งเตือน
+Confirm=ยืนยัน
+ConfirmCheck=ยืนยัน
+Prompt=ถาม
+# LOCALIZATION NOTE - %S is brandFullName
+PromptUsernameAndPassword3=ต้องมีการรับรองความถูกต้อง - %S
+# LOCALIZATION NOTE - %S is brandFullName
+PromptPassword3=ต้องการรหัสผ่าน - %S
+Select=เลือก
+OK=ตกลง
+Cancel=ยกเลิก
+Yes=ใ&ช่
+No=ไ&ม่
+Save=&บันทึก
+Revert=เ&ปลี่ยนกลับ
+DontSave=ไ&ม่บันทึก
+ScriptDlgGenericHeading=[แอปพลิเคชัน JavaScript]
+ScriptDlgHeading=หน้าที่ %S ระบุว่า:
+ScriptDialogLabel=ป้องกันไม่ให้หน้านี้สร้างกล่องโต้ตอบเพิ่มเติม
+ScriptDialogPreventTitle=ค่ากำหนดกล่องโต้ตอบสำหรับยืนยัน
+# LOCALIZATION NOTE (EnterLoginForRealm3, EnterLoginForProxy3):
+# %1 is an untrusted string provided by a remote server. It could try to
+# take advantage of sentence structure in order to mislead the user (see
+# bug 244273). %1 should be integrated into the translated sentences as
+# little as possible. %2 is the url of the site being accessed.
+EnterLoginForRealm3=%2$S กำลังขอชื่อผู้ใช้และรหัสผ่านของคุณ ไซต์ระบุว่า: “%1$S”
+EnterLoginForProxy3=พร็อกซี %2$S กำลังขอชื่อผู้ใช้และรหัสผ่าน ไซต์ระบุว่า: “%1$S”
+EnterUserPasswordFor2=%1$S กำลังขอชื่อผู้ใช้และรหัสผ่านของคุณ
+EnterUserPasswordForCrossOrigin2=%1$S กำลังขอชื่อผู้ใช้และรหัสผ่านของคุณ คำเตือน: รหัสผ่านของคุณจะไม่ถูกส่งไปยังเว็บไซต์ที่คุณกำลังเยี่ยมชมอยู่ในขณะนี้!
+EnterPasswordFor=ป้อนรหัสผ่านสำหรับ %1$S บน %2$S
diff --git a/l10n-th/toolkit/chrome/global/contentAreaCommands.properties b/l10n-th/toolkit/chrome/global/contentAreaCommands.properties
new file mode 100644
index 0000000000..439da70fc6
--- /dev/null
+++ b/l10n-th/toolkit/chrome/global/contentAreaCommands.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/.
+
+# context menu strings
+
+SaveImageTitle=บันทึกภาพ
+SaveMediaTitle=บันทึกสื่อ
+SaveVideoTitle=บันทึกวิดีโอ
+SaveAudioTitle=บันทึกเสียง
+SaveLinkTitle=บันทึกเป็น
+DefaultSaveFileName=index
+WebPageCompleteFilter=หน้าเว็บแบบสมบูรณ์
+WebPageHTMLOnlyFilter=หน้าเว็บ HTML เท่านั้น
+WebPageXHTMLOnlyFilter=หน้าเว็บ XHTML เท่านั้น
+WebPageSVGOnlyFilter=หน้าเว็บ SVG เท่านั้น
+WebPageXMLOnlyFilter=หน้าเว็บ XML เท่านั้น
+
+# LOCALIZATION NOTE (filesFolder):
+# This is the name of the folder that is created parallel to a HTML file
+# when it is saved "With Images". The %S section is replaced with the
+# leaf name of the file being saved (minus extension).
+filesFolder=ไฟล์_%S
diff --git a/l10n-th/toolkit/chrome/global/datetimebox.dtd b/l10n-th/toolkit/chrome/global/datetimebox.dtd
new file mode 100644
index 0000000000..0714d0a98c
--- /dev/null
+++ b/l10n-th/toolkit/chrome/global/datetimebox.dtd
@@ -0,0 +1,35 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!-- Placeholders for input type=time -->
+
+<!ENTITY time.hour.placeholder "--">
+<!ENTITY time.minute.placeholder "--">
+<!ENTITY time.second.placeholder "--">
+<!ENTITY time.millisecond.placeholder "--">
+<!ENTITY time.dayperiod.placeholder "--">
+
+<!-- Field labels for input type=time -->
+
+<!ENTITY time.hour.label "ชั่วโมง">
+<!ENTITY time.minute.label "นาที">
+<!ENTITY time.second.label "วินาที">
+<!ENTITY time.millisecond.label "มิลลิวินาที">
+<!ENTITY time.dayperiod.label "AM/PM">
+
+<!-- Placeholders for input type=date -->
+
+<!ENTITY date.year.placeholder "ปปปป">
+<!ENTITY date.month.placeholder "ดด">
+<!ENTITY date.day.placeholder "วว">
+
+<!-- Field labels for input type=date -->
+
+<!ENTITY date.year.label "ปี">
+<!ENTITY date.month.label "เดือน">
+<!ENTITY date.day.label "วัน">
+
+<!-- Date/time clear button -->
+
+<!ENTITY datetime.reset.label "ล้าง">
diff --git a/l10n-th/toolkit/chrome/global/dialog.properties b/l10n-th/toolkit/chrome/global/dialog.properties
new file mode 100644
index 0000000000..1dd3c8e247
--- /dev/null
+++ b/l10n-th/toolkit/chrome/global/dialog.properties
@@ -0,0 +1,12 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+button-accept=ตกลง
+button-cancel=ยกเลิก
+button-help=ช่วยเหลือ
+button-disclosure=ข้อมูลเพิ่มเติม
+accesskey-accept=
+accesskey-cancel=
+accesskey-help=ช
+accesskey-disclosure=ข
diff --git a/l10n-th/toolkit/chrome/global/dialogOverlay.dtd b/l10n-th/toolkit/chrome/global/dialogOverlay.dtd
new file mode 100644
index 0000000000..ce4dfdd577
--- /dev/null
+++ b/l10n-th/toolkit/chrome/global/dialogOverlay.dtd
@@ -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/. -->
+
+<!-- WARNING!!! This file is obsoleted by the dialog.xml widget -->
+
+<!-- OK Cancel Buttons -->
+<!ENTITY okButton.label "ตกลง">
+<!ENTITY cancelButton.label "ยกเลิก">
diff --git a/l10n-th/toolkit/chrome/global/editMenuOverlay.dtd b/l10n-th/toolkit/chrome/global/editMenuOverlay.dtd
new file mode 100644
index 0000000000..9736106d0f
--- /dev/null
+++ b/l10n-th/toolkit/chrome/global/editMenuOverlay.dtd
@@ -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/. -->
+
+<!ENTITY findCmd.label "ค้นหา">
+<!ENTITY findCmd.key "F">
+<!ENTITY findCmd.accesskey "น">
+<!ENTITY findAgainCmd.label "ค้นหาอีกครั้ง">
+<!ENTITY findAgainCmd.key "G">
+<!ENTITY findAgainCmd.key2 "VK_F3">
+<!ENTITY findAgainCmd.accesskey "ห">
diff --git a/l10n-th/toolkit/chrome/global/extensions.properties b/l10n-th/toolkit/chrome/global/extensions.properties
new file mode 100644
index 0000000000..867b7ca7f2
--- /dev/null
+++ b/l10n-th/toolkit/chrome/global/extensions.properties
@@ -0,0 +1,43 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+csp.error.missing-directive = นโยบายไม่มีคำสั่ง ‘%S’ ที่จำเป็น
+
+#LOCALIZATION NOTE (csp.error.illegal-keyword) %1$S is the name of a CSP directive, such as "script-src". %2$S is the name of a CSP keyword, usually 'unsafe-inline'.
+csp.error.illegal-keyword = คำสั่ง ‘%1$S’ มีคำสำคัญ %2$S ที่ไม่ได้รับอนุญาต
+
+#LOCALIZATION NOTE (csp.error.illegal-protocol) %2$S a protocol name, such as "http", which appears as "http:", as it would in a URL.
+csp.error.illegal-protocol = คำสั่ง ‘%1$S’ มี %2$S: แหล่งโปรโตคอลที่ไม่ได้รับอนุญาต
+
+#LOCALIZATION NOTE (csp.error.missing-host) %2$S a protocol name, such as "http", which appears as "http:", as it would in a URL.
+csp.error.missing-host = %2$S: โปรโตคอลจำเป็นต้องมีโฮสต์ในคำสั่ง ‘%1$S’
+
+#LOCALIZATION NOTE (csp.error.missing-source) %1$S is the name of a CSP directive, such as "script-src". %2$S is the name of a CSP source, usually 'self'.
+csp.error.missing-source = ‘%1$S’ ต้องมีแหล่ง %2$S
+
+#LOCALIZATION NOTE (csp.error.illegal-host-wildcard) %2$S a protocol name, such as "http", which appears as "http:", as it would in a URL.
+csp.error.illegal-host-wildcard = %2$S: แหล่งที่เป็นอักขระตัวแทนในคำสั่ง ‘%1$S’ ต้องมีโดเมนย่อยแบบไม่ใช่ชนิดทั่วไปอย่างน้อยหนึ่งโดเมน (เช่น *.example.com แทนที่จะเป็น *.com)
+
+#LOCALIZATION NOTE (uninstall.confirmation.title) %S is the name of the extension which is about to be uninstalled.
+uninstall.confirmation.title = ถอนการติดตั้ง %S
+
+#LOCALIZATION NOTE (uninstall.confirmation.message) %S is the name of the extension which is about to be uninstalled.
+uninstall.confirmation.message = ส่วนขยาย “%S” กำลังขอเพื่อถอนการติดตั้ง คุณต้องการทำอะไร?
+
+uninstall.confirmation.button-0.label = ถอนการติดตั้ง
+uninstall.confirmation.button-1.label = ติดตั้งไว้ต่อไป
+
+saveaspdf.saveasdialog.title = บันทึกเป็น
+
+#LOCALIZATION NOTE (newTabControlled.message2) %S is the icon and name of the extension which updated the New Tab page.
+newTabControlled.message2 = ส่วนขยาย %S ได้เปลี่ยนหน้าที่คุณเห็นเมื่อคุณเปิดแท็บใหม่
+newTabControlled.learnMore = เรียนรู้เพิ่มเติม
+
+#LOCALIZATION NOTE (homepageControlled.message) %S is the icon and name of the extension which updated the homepage.
+homepageControlled.message = ส่วนขยาย %S ได้เปลี่ยนสิ่งที่คุณเห็นเมื่อคุณเปิดหน้าแรกและหน้าต่างใหม่ของคุณ
+homepageControlled.learnMore = เรียนรู้เพิ่มเติม
+
+#LOCALIZATION NOTE (tabHideControlled.message) %1$S is the icon and name of the extension which hid tabs, %2$S is the icon of the all tabs button.
+tabHideControlled.message = ส่วนขยาย %1$S กำลังซ่อนแท็บบางแท็บของคุณอยู่ คุณยังสามารถเข้าถึงแท็บทั้งหมดของคุณได้จาก %2$S
+tabHideControlled.learnMore = เรียนรู้เพิ่มเติม
diff --git a/l10n-th/toolkit/chrome/global/fallbackMenubar.properties b/l10n-th/toolkit/chrome/global/fallbackMenubar.properties
new file mode 100644
index 0000000000..5b737c6f43
--- /dev/null
+++ b/l10n-th/toolkit/chrome/global/fallbackMenubar.properties
@@ -0,0 +1,8 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# OSX only. Default menu label when there is no xul menubar.
+
+quitMenuitem.label=ออก
+quitMenuitem.key=q
diff --git a/l10n-th/toolkit/chrome/global/filepicker.properties b/l10n-th/toolkit/chrome/global/filepicker.properties
new file mode 100644
index 0000000000..fe2fe9be7d
--- /dev/null
+++ b/l10n-th/toolkit/chrome/global/filepicker.properties
@@ -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/.
+
+# LOCALIZATION NOTE: The extensions to which these descriptions refer
+# now live in toolkit/content/filepicker.properties
+allTitle=ไฟล์ทั้งหมด
+htmlTitle=ไฟล์ HTML
+textTitle=ไฟล์ข้อความ
+imageTitle=ไฟล์ภาพ
+xmlTitle=ไฟล์ XML
+xulTitle=ไฟล์ XUL
+appsTitle=แอปพลิเคชัน
+audioTitle=ไฟล์เสียง
+videoTitle=ไฟล์วิดีโอ
+
+formatLabel=รูปแบบ:
+
diff --git a/l10n-th/toolkit/chrome/global/findbar.properties b/l10n-th/toolkit/chrome/global/findbar.properties
new file mode 100644
index 0000000000..2ae368635a
--- /dev/null
+++ b/l10n-th/toolkit/chrome/global/findbar.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/.
+
+# strings used by the Find bar, split from browser.properties
+NotFound=ไม่พบวลี
+WrappedToTop=ค้นหาถึงจุดสิ้นสุดหน้า เริ่มค้นต่อจากด้านบน
+WrappedToBottom=ค้นหาถึงจุดเริ่มต้นของหน้า เริ่มค้นต่อจากด้านล่าง
+NormalFind=ค้นหาในหน้า
+FastFind=ค้นแบบเร็ว
+FastFindLinks=ค้นแบบเร็ว (ลิงก์เท่านั้น)
+CaseSensitive=(ตัวพิมพ์ใหญ่เล็กตรงกัน)
+MatchDiacritics=(ตรงกับเครื่องหมายการออกเสียง)
+EntireWord=(ทั้งคำเท่านั้น)
+# LOCALIZATION NOTE (FoundMatches): Semicolon-separated list of plural forms.
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# #1 is currently selected match and #2 the total amount of matches.
+FoundMatches=#1 จาก #2 ที่ตรงกัน
+# LOCALIZATION NOTE (FoundMatchesCountLimit): Semicolon-separated list of plural
+# forms.
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# #1 is the total amount of matches allowed before counting stops.
+FoundMatchesCountLimit=มากกว่า #1 ที่ตรงกัน
diff --git a/l10n-th/toolkit/chrome/global/global-extension-fields.properties b/l10n-th/toolkit/chrome/global/global-extension-fields.properties
new file mode 100644
index 0000000000..536265c798
--- /dev/null
+++ b/l10n-th/toolkit/chrome/global/global-extension-fields.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 (extension.default-theme@mozilla.org.name, extension.default-theme@mozilla.org.description): This is displayed in about:addons -> Appearance
+extension.default-theme@mozilla.org.name=ค่าเริ่มต้น
+extension.default-theme@mozilla.org.description=ชุดตกแต่งที่มีแบบแผนชุดสีของระบบปฏิบัติการ
+
diff --git a/l10n-th/toolkit/chrome/global/globalKeys.dtd b/l10n-th/toolkit/chrome/global/globalKeys.dtd
new file mode 100644
index 0000000000..76b9235713
--- /dev/null
+++ b/l10n-th/toolkit/chrome/global/globalKeys.dtd
@@ -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/. -->
+
+<!ENTITY openHelp.commandkey "VK_F1">
+<!ENTITY openHelpMac.commandkey "?">
diff --git a/l10n-th/toolkit/chrome/global/intl.css b/l10n-th/toolkit/chrome/global/intl.css
new file mode 100644
index 0000000000..2f54eb367d
--- /dev/null
+++ b/l10n-th/toolkit/chrome/global/intl.css
@@ -0,0 +1,11 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+/*
+ * This file contains all localizable skin settings such as
+ * font, layout, and geometry
+ */
+window {
+ font: 3mm tahoma,arial,helvetica,sans-serif;
+}
diff --git a/l10n-th/toolkit/chrome/global/intl.properties b/l10n-th/toolkit/chrome/global/intl.properties
new file mode 100644
index 0000000000..07441e99ef
--- /dev/null
+++ b/l10n-th/toolkit/chrome/global/intl.properties
@@ -0,0 +1,51 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE (intl.accept_languages):
+# This is a comma-separated list of valid BCP 47 language tags.
+#
+# Begin with the value of 'general.useragent.locale'. Next, include language
+# tags for other languages that you expect most users of your locale to be
+# able to speak, so that their browsing experience degrades gracefully if
+# content is not available in their primary language.
+#
+# It is recommended that you include "en-US, en" at the end of the list as a
+# last resort. However, if you know that users of your locale would prefer a
+# different variety of English, or if they are not likely to understand
+# English at all, you may opt to include a different English language tag, or
+# to exclude English altogether.
+#
+# For example, the Breton [br] locale might consider including French and
+# British English in their list, since those languages are commonly spoken in
+# the same area as Breton:
+# intl.accept_languages=br, fr-FR, fr, en-GB, en
+intl.accept_languages=th, en-US, en
+
+# LOCALIZATION NOTE (font.language.group):
+# This preference controls the initial setting of the language drop-down menu
+# in the Content > Fonts & Colors > Advanced preference panel.
+#
+# Set it to the value of one of the menuitems in the "selectLangs" menulist in
+# http://dxr.mozilla.org/mozilla-central/source/browser/components/preferences/fonts.xul
+font.language.group=th
+
+# LOCALIZATION NOTE (intl.charset.detector):
+# This preference controls the initial setting for the character encoding
+# detector. Valid values are ja_parallel_state_machine for Japanese, ruprob
+# for Russian and ukprob for Ukrainian and the empty string to turn detection
+# off. The value must be empty for locales other than Japanese, Russian and
+# Ukrainian.
+intl.charset.detector=
+
+# LOCALIZATION NOTE (pluralRule): Pick the appropriate plural rule for your
+# language. This will determine how many plural forms of a word you will need
+# to provide and in what order.
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+pluralRule=0
+
+# LOCALIZATION NOTE (intl.menuitems.alwaysappendaccesskeys, intl.menuitems.insertseparatorbeforeaccesskeys):
+# Valid values are: true, false, <empty string>
+# Missing preference or empty value equals false.
+intl.menuitems.alwaysappendaccesskeys=
+intl.menuitems.insertseparatorbeforeaccesskeys=true
diff --git a/l10n-th/toolkit/chrome/global/keys.properties b/l10n-th/toolkit/chrome/global/keys.properties
new file mode 100644
index 0000000000..e7da94b0a4
--- /dev/null
+++ b/l10n-th/toolkit/chrome/global/keys.properties
@@ -0,0 +1,70 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE : FILE This file contains the application's labels for keys on the keyboard.
+# If you decide to translate this file, you should translate it based on
+# the prevalent kind of keyboard for your target user.
+# LOCALIZATION NOTE : There are two types of keys, those w/ text on their labels
+# and those w/ glyphs.
+# LOCALIZATION NOTE : VK_<…> represents a key on the keyboard.
+#
+# For more information please see bugzilla bug 90888.
+
+# F1..F10 should probably not be translated unless there are keyboards that actually have other labels
+# F11..F20 might be something else, but are really keyboard specific and not region/language specific
+# there are actually two different F11/F12 keys, I don't know which one these labels represent.
+# eg, F13..F20 on a sparc keyboard are labeled Props, Again .. Find, Cut
+# sparc also has Stop, Again and F11/F12. VK_F11/VK_F12 probably map to Stop/Again
+# LOCALIZATION NOTE : BLOCK Do not translate the next block
+VK_F1=F1
+VK_F2=F2
+VK_F3=F3
+VK_F4=F4
+VK_F5=F5
+VK_F6=F6
+VK_F7=F7
+VK_F8=F8
+VK_F9=F9
+VK_F10=F10
+
+VK_F11=F11
+VK_F12=F12
+VK_F13=F13
+VK_F14=F14
+VK_F15=F15
+VK_F16=F16
+VK_F17=F17
+VK_F18=F18
+VK_F19=F19
+VK_F20=F20
+# LOCALIZATION NOTE : BLOCK end do not translate block
+
+# LOCALIZATION NOTE : BLOCK GLYPHS, DO translate this block
+VK_UP=ลูกศรขึ้น
+VK_DOWN=ลูกศรลง
+VK_LEFT=ลูกศรซ้าย
+VK_RIGHT=ลูกศรขวา
+VK_PAGE_UP=เลื่อนหน้าขึ้น
+VK_PAGE_DOWN=เลื่อนหน้าลง
+# LOCALIZATION NOTE : BLOCK end GLYPHS
+
+# Enter, backspace, and Tab might have both glyphs and text
+# if the keyboards usually have a glyph,
+# if there is a meaningful translation,
+# or if keyboards are localized
+# then translate them or insert the appropriate glyph
+# otherwise you should probably just translate the glyph regions
+
+# LOCALIZATION NOTE : BLOCK maybe GLYPHS
+VK_TAB=Tab
+VK_BACK=Backspace
+VK_DELETE=Del
+# LOCALIZATION NOTE : BLOCK end maybe GLYPHS
+# LOCALIZATION NOTE : BLOCK typing state keys
+VK_HOME=Home
+VK_END=End
+
+VK_ESCAPE=Esc
+VK_INSERT=Ins
+# LOCALIZATION NOTE : BLOCK end
diff --git a/l10n-th/toolkit/chrome/global/mozilla.dtd b/l10n-th/toolkit/chrome/global/mozilla.dtd
new file mode 100644
index 0000000000..112d9cdc6b
--- /dev/null
+++ b/l10n-th/toolkit/chrome/global/mozilla.dtd
@@ -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/. -->
+
+<!ENTITY mozilla.title.11.14
+'หนังสือ Mozilla, 11:14'>
+
+<!ENTITY mozilla.quote.11.14
+'The Beast adopted <em>new raiment</em> and studied the ways of <em>Time</em> and <em>Space</em>
+and <em>Light</em> and the <em>Flow</em> of energy through the Universe. From its studies,
+the Beast fashioned new structures from <em>oxidised metal</em> and proclaimed their glories.
+And the Beast’s followers rejoiced, finding renewed purpose in these <em>teachings</em>.'>
+
+<!ENTITY mozilla.from.11.14
+'จาก <strong>หนังสือ Mozilla,</strong> 11:14'>
diff --git a/l10n-th/toolkit/chrome/global/narrate.properties b/l10n-th/toolkit/chrome/global/narrate.properties
new file mode 100644
index 0000000000..af7e6d37f6
--- /dev/null
+++ b/l10n-th/toolkit/chrome/global/narrate.properties
@@ -0,0 +1,20 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# "Listen, which allows users to listen to Firefox reading the text,
+# instead of having to read it themselves." This is the name
+# of the feature and it is the label for the popup button.
+listen = ฟัง
+back = ย้อนกลับ
+start = เริ่ม
+stop = หยุด
+forward = เดินหน้า
+speed = ความเร็ว
+selectvoicelabel = เสียงพูด:
+# Default voice is determined by the language of the document.
+defaultvoice = ค่าเริ่มต้น
+
+# Voice name and language.
+# eg. David (English)
+voiceLabel = %S (%S)
diff --git a/l10n-th/toolkit/chrome/global/notification.dtd b/l10n-th/toolkit/chrome/global/notification.dtd
new file mode 100644
index 0000000000..86fb04a1b5
--- /dev/null
+++ b/l10n-th/toolkit/chrome/global/notification.dtd
@@ -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/. -->
+
+<!ENTITY closeNotification.tooltip "ปิดข้อความนี้">
+
+<!ENTITY checkForUpdates "ตรวจสอบการอัปเดต…">
+
+<!ENTITY learnMoreNoEllipsis "เรียนรู้เพิ่มเติม">
+
+<!ENTITY defaultButton.label "ตกลง!">
+<!ENTITY defaultButton.accesskey "ต">
+
+<!ENTITY moreActionsButton.accessibleLabel "การกระทำเพิ่มเติม">
diff --git a/l10n-th/toolkit/chrome/global/printdialog.properties b/l10n-th/toolkit/chrome/global/printdialog.properties
new file mode 100644
index 0000000000..e1645dfc49
--- /dev/null
+++ b/l10n-th/toolkit/chrome/global/printdialog.properties
@@ -0,0 +1,52 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# These strings are used in the native GTK, Mac and Windows print dialogs.
+
+# GTK titles:
+printTitleGTK=พิมพ์
+optionsTabLabelGTK=ตัวเลือก
+
+# Mac titles:
+optionsTitleMac=ตัวเลือก:
+appearanceTitleMac=ลักษณะที่ปรากฏ:
+pageHeadersTitleMac=ส่วนหัวหน้า:
+pageFootersTitleMac=ส่วนท้ายหน้า:
+
+# Windows titles:
+optionsTitleWindows=ตัวเลือก
+
+# TRANSLATOR NOTE: For radio button labels and check button labels, an underscore _
+# before a character will turn that character into an accesskey in the GTK dialog.
+# e.g. "_As laid out" will make A the accesskey.
+# In the Windows labels, use an ampersand (&).
+# On Mac, underscores will be stripped.
+
+shrinkToFit=ไม่สนใจสัดส่วนและ_ย่อให้พอดีความกว้างหน้า
+selectionOnly=พิมพ์ส่วนที่เลือก_เท่านั้น
+printBGOptions=พิมพ์พื้นหลัง
+printBGColors=พิมพ์_สีพื้นหลัง
+printBGImages=พิมพ์_ภาพพื้นหลัง
+headerFooter=ส่วนหัวและส่วนท้าย
+left=ซ้าย
+center=กึ่งกลาง
+right=ขวา
+headerFooterBlank=--ว่าง--
+headerFooterTitle=ชื่อเรื่อง
+headerFooterURL=URL
+headerFooterDate=วันที่/เวลา
+headerFooterPage=หน้า #
+headerFooterPageTotal=หน้า # จาก #
+headerFooterCustom=กำหนดเอง…
+customHeaderFooterPrompt=โปรดป้อนข้อความส่วนหัว/ส่วนท้ายที่กำหนดเองของคุณ
+
+summarySelectionOnlyTitle=พิมพ์ส่วนที่เลือก
+summaryShrinkToFitTitle=ย่อให้พอดี
+summaryPrintBGColorsTitle=พิมพ์สีพื้นหลัง
+summaryPrintBGImagesTitle=พิมพ์ภาพพื้นหลัง
+summaryHeaderTitle=ส่วนหัวหน้า
+summaryFooterTitle=ส่วนท้ายหน้า
+summaryNAValue=ไม่มี
+summaryOnValue=เปิด
+summaryOffValue=ปิด
diff --git a/l10n-th/toolkit/chrome/global/resetProfile.dtd b/l10n-th/toolkit/chrome/global/resetProfile.dtd
new file mode 100644
index 0000000000..dd51e0ec72
--- /dev/null
+++ b/l10n-th/toolkit/chrome/global/resetProfile.dtd
@@ -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/. -->
+
+<!ENTITY refreshProfile.dialog.title "ล้าง &brandShortName; ใหม่">
+
+<!ENTITY refreshProfile.cleaning.description "เกือบเสร็จสิ้น…">
diff --git a/l10n-th/toolkit/chrome/global/resetProfile.properties b/l10n-th/toolkit/chrome/global/resetProfile.properties
new file mode 100644
index 0000000000..6cd4d7a234
--- /dev/null
+++ b/l10n-th/toolkit/chrome/global/resetProfile.properties
@@ -0,0 +1,14 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE: These strings are used for profile reset.
+
+# LOCALIZATION NOTE (resetUnusedProfile.message): %S is brandShortName.
+resetUnusedProfile.message=ดูเหมือนว่าคุณไม่ได้เปิด %S มาสักพักแล้ว คุณต้องการล้างทุกอย่างเพื่อเริ่มต้นใหม่หมดจดหรือไม่? อ้อแล้วนอกจากนั้น ยินดีต้อนรับกลับ!
+# LOCALIZATION NOTE (resetUninstalled.message): %S is brandShortName.
+resetUninstalled.message=ดูเหมือนว่าคุณได้ติดตั้ง %S ใหม่ ต้องการให้เราล้างทุกอย่างเพื่อเริ่มต้นใหม่หมดจด?
+
+# LOCALIZATION NOTE (refreshProfile.resetButton.label): %S is brandShortName.
+refreshProfile.resetButton.label=ล้าง %S ใหม่…
+refreshProfile.resetButton.accesskey=ล
diff --git a/l10n-th/toolkit/chrome/global/textcontext.dtd b/l10n-th/toolkit/chrome/global/textcontext.dtd
new file mode 100644
index 0000000000..fee90ed859
--- /dev/null
+++ b/l10n-th/toolkit/chrome/global/textcontext.dtd
@@ -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/. -->
+
+<!ENTITY spellAddToDictionary.label "เพิ่มลงในพจนานุกรม">
+<!ENTITY spellAddToDictionary.accesskey "พ">
+<!ENTITY spellUndoAddToDictionary.label "ยกเลิกการเพิ่มลงในพจนานุกรม">
+<!ENTITY spellUndoAddToDictionary.accesskey "ย">
+<!ENTITY spellCheckToggle.label "ตรวจสอบการสะกดคำ">
+<!ENTITY spellCheckToggle.accesskey "ร">
+<!ENTITY spellNoSuggestions.label "(ไม่มีข้อเสนอแนะการสะกดคำ)">
+<!ENTITY spellDictionaries.label "ภาษา">
+<!ENTITY spellDictionaries.accesskey "ภ">
+
+<!ENTITY searchTextBox.clear.label "ล้าง">
+
+<!ENTITY fillLoginMenu.label "กรอกการเข้าสู่ระบบ">
+<!ENTITY fillLoginMenu.accesskey "ก">
+<!ENTITY fillPasswordMenu.label "กรอกรหัสผ่าน">
+<!ENTITY fillPasswordMenu.accesskey "ก">
+<!ENTITY fillUsernameMenu.label "กรอกชื่อผู้ใช้">
+<!ENTITY fillUsernameMenu.accesskey "ก">
+<!ENTITY noLoginSuggestions.label "(ไม่มีข้อเสนอแนะการเข้าสู่ระบบ)">
+<!ENTITY viewSavedLogins.label "ดูข้อมูลการเข้าสู่ระบบที่บันทึกไว้">
diff --git a/l10n-th/toolkit/chrome/global/tree.dtd b/l10n-th/toolkit/chrome/global/tree.dtd
new file mode 100644
index 0000000000..36dc10a60c
--- /dev/null
+++ b/l10n-th/toolkit/chrome/global/tree.dtd
@@ -0,0 +1,5 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!ENTITY restoreColumnOrder.label "คืนค่าลำดับสดมภ์">
diff --git a/l10n-th/toolkit/chrome/global/videocontrols.dtd b/l10n-th/toolkit/chrome/global/videocontrols.dtd
new file mode 100644
index 0000000000..6d7fd14e05
--- /dev/null
+++ b/l10n-th/toolkit/chrome/global/videocontrols.dtd
@@ -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/. -->
+
+<!ENTITY % brandDTD
+ SYSTEM "chrome://branding/locale/brand.dtd">
+ %brandDTD;
+
+<!ENTITY playButton.playLabel "เล่น">
+<!ENTITY playButton.pauseLabel "หยุดชั่วคราว">
+<!ENTITY muteButton.muteLabel "ปิดเสียง">
+<!ENTITY muteButton.unmuteLabel "เลิกปิดเสียง">
+<!ENTITY fullscreenButton.enterfullscreenlabel "เต็มหน้าจอ">
+<!ENTITY fullscreenButton.exitfullscreenlabel "ออกจากภาพเต็มหน้าจอ">
+<!ENTITY castingButton.castingLabel "ฉายขึ้นหน้าจอ">
+<!ENTITY closedCaption.off "ปิด">
+<!-- LOCALIZATION NOTE (volumeScrubber.label): This label is exposed to
+ accessibility software to clarify what the slider is for. -->
+<!ENTITY volumeScrubber.label "แถบเลื่อนระดับเสียง">
+
+<!-- LOCALIZATION NOTE (pictureInPicture.label): This string is used as part of
+the Picture-in-Picture video toggle button when the mouse is hovering it. -->
+<!ENTITY pictureInPicture.label "ภาพที่เล่นควบคู่">
+
+<!-- LOCALIZATION NOTE (pictureInPictureToggle.label): This string is used as the
+label for a variation of the Picture-in-Picture video toggle button when the mouse is
+hovering over the video. -->
+<!ENTITY pictureInPictureToggle.label "ดูในแบบภาพที่เล่นควบคู่">
+<!-- LOCALIZATION NOTE (pictureInPictureExplainer): This string is used as part of
+a variation of the Picture-in-Picture video toggle button. When using this variation,
+this string appears below the toggle when the mouse hovers the toggle. -->
+<!ENTITY pictureInPictureExplainer "เล่นวิดีโอในเบื้องหน้าขณะที่คุณทำอย่างอื่นใน &brandShortName;">
+
+<!ENTITY error.aborted "วิดีโอหยุดโหลด">
+<!ENTITY error.network "การเล่นวิดีโอถูกยกเลิกเนื่องจากข้อผิดพลาดทางเครือข่าย">
+<!ENTITY error.decode "ไม่สามารถเล่นวิดีโอได้เนื่องจากไฟล์เสียหาย">
+<!ENTITY error.srcNotSupported "ไม่สามารถเล่นวิดีโอรูปแบบนี้ หรือ MIME ชนิดนี้ได้">
+<!ENTITY error.noSource2 "ไม่พบวิดีโอที่อยู่ในรูปแบบหรือชนิดของ MIME ที่เล่นได้">
+<!ENTITY error.generic "การเล่นวิดีโอถูกยกเลิกเนื่องจากข้อผิดพลาดที่ไม่ระบุไม่ได้">
+
+<!ENTITY status.pictureInPicture "วิดีโอนี้กำลังเล่นในโหมดภาพที่เล่นควบคู่">
+
+<!-- LOCALIZATION NOTE (positionAndDuration.nameFormat): the #1 string is the current
+media position, and the #2 string is the total duration. For example, when at
+the 5 minute mark in a 6 hour long video, #1 would be "5:00" and #2 would be
+"6:00:00", result string would be "5:00 / 6:00:00".
+Note that #2 is not always available. For example, when at the 5 minute mark in an
+unknown duration video, #1 would be "5:00" and the string which is surrounded by
+<span> would be deleted, result string would be "5:00".
+-->
+<!ENTITY positionAndDuration.nameFormat "#1<span> / #2</span>">
+
diff --git a/l10n-th/toolkit/chrome/global/viewSource.properties b/l10n-th/toolkit/chrome/global/viewSource.properties
new file mode 100644
index 0000000000..96d5bb4e4c
--- /dev/null
+++ b/l10n-th/toolkit/chrome/global/viewSource.properties
@@ -0,0 +1,16 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+goToLineTitle = ไปยังบรรทัดที่
+goToLineText = ป้อนหมายเลขบรรทัด
+invalidInputTitle = ข้อมูลนำเข้าผิดพลาด
+invalidInputText = หมายเลขบรรทัดที่ป้อนผิดพลาด
+outOfRangeTitle = ไม่พบบรรทัด
+outOfRangeText = ไม่พบบรรทัดที่ระบุ
+viewSelectionSourceTitle = ต้นฉบับ DOM ของส่วนที่เลือก
+
+context_goToLine_label = ไปยังบรรทัดที่…
+context_goToLine_accesskey = ป
+context_wrapLongLines_label = ปัดบรรทัดล้น
+context_highlightSyntax_label = การเน้นสีไวยากรณ์
diff --git a/l10n-th/toolkit/chrome/global/wizard.properties b/l10n-th/toolkit/chrome/global/wizard.properties
new file mode 100644
index 0000000000..a3228bb26b
--- /dev/null
+++ b/l10n-th/toolkit/chrome/global/wizard.properties
@@ -0,0 +1,8 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+default-first-title=ยินดีต้อนรับสู่ %S
+default-last-title=เสร็จสิ้นการ %S
+default-first-title-mac=หน้าแนะนำ
+default-last-title-mac=หน้าสรุป
diff --git a/l10n-th/toolkit/chrome/mozapps/downloads/downloads.properties b/l10n-th/toolkit/chrome/mozapps/downloads/downloads.properties
new file mode 100644
index 0000000000..004a43030e
--- /dev/null
+++ b/l10n-th/toolkit/chrome/mozapps/downloads/downloads.properties
@@ -0,0 +1,115 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.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 (shortSeconds): Semi-colon list of plural
+# forms. See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# s is the short form for seconds
+shortSeconds=s
+
+# LOCALIZATION NOTE (shortMinutes): Semi-colon list of plural
+# forms. See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# m is the short form for minutes
+shortMinutes=m
+
+# LOCALIZATION NOTE (shortHours): Semi-colon list of plural
+# forms. See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# h is the short form for hours
+shortHours=h
+
+# LOCALIZATION NOTE (shortDays): Semi-colon list of plural
+# forms. See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# d is the short form for days
+shortDays=d
+
+downloadErrorAlertTitle=ข้อผิดพลาดการดาวน์โหลด
+# LOCALIZATION NOTE (downloadErrorBlockedBy): %S is the name of the blocking
+# extension.
+downloadErrorBlockedBy=ไม่สามารถบันทึกการดาวน์โหลดได้เนื่องจากถูกปิดกั้นโดย %S
+# LOCALIZATION NOTE (downloadErrorExtension): used when the blocking extension
+# name is unavailable.
+downloadErrorExtension=ไม่สามารถบันทึกการดาวน์โหลดได้เนื่องจากถูกปิดกั้นโดยส่วนขยาย
+downloadErrorGeneric=ไม่สามารถบันทึกการดาวน์โหลดเนื่องจากเกิดข้อผิดพลาดที่ไม่รู้จัก\n\nโปรดลองอีกครั้ง
+
+# LOCALIZATION NOTE: we don't have proper plural support in the CPP code; bug 463102
+quitCancelDownloadsAlertTitle=ยกเลิกการดาวน์โหลดทั้งหมด?
+quitCancelDownloadsAlertMsg=หากคุณออกตอนนี้ 1 การดาวน์โหลดจะถูกยกเลิก คุณแน่ใจหรือไม่ว่าต้องการออก?
+quitCancelDownloadsAlertMsgMultiple=หากคุณออกตอนนี้ %S การดาวน์โหลดจะถูกยกเลิก คุณแน่ใจหรือไม่ว่าต้องการออก?
+quitCancelDownloadsAlertMsgMac=หากคุณออกตอนนี้ 1 การดาวน์โหลดจะถูกยกเลิก คุณแน่ใจหรือไม่ว่าต้องการออก?
+quitCancelDownloadsAlertMsgMacMultiple=หากคุณออกตอนนี้ %S การดาวน์โหลดจะถูกยกเลิก คุณแน่ใจหรือไม่ว่าต้องการออก?
+offlineCancelDownloadsAlertTitle=ยกเลิกการดาวน์โหลดทั้งหมด?
+offlineCancelDownloadsAlertMsg=หากคุณออฟไลน์ตอนนี้ 1 การดาวน์โหลดจะถูกยกเลิก คุณแน่ใจหรือไม่ว่าต้องการออฟไลน์?
+offlineCancelDownloadsAlertMsgMultiple=หากคุณออฟไลน์ตอนนี้ %S การดาวน์โหลดจะถูกยกเลิก คุณแน่ใจหรือไม่ว่าต้องการออฟไลน์?
+leavePrivateBrowsingCancelDownloadsAlertTitle=ยกเลิกการดาวน์โหลดทั้งหมด?
+leavePrivateBrowsingWindowsCancelDownloadsAlertMsg2=หากคุณปิดหน้าต่างเรียกดูแบบส่วนตัวทั้งหมดตอนนี้ 1 การดาวน์โหลดจะถูกยกเลิก คุณแน่ใจหรือไม่ว่าต้องการออกจากการเรียกดูแบบส่วนตัว?
+leavePrivateBrowsingWindowsCancelDownloadsAlertMsgMultiple2=หากคุณปิดหน้าต่างเรียกดูแบบส่วนตัวทั้งหมดตอนนี้ %S การดาวน์โหลดจะถูกยกเลิก คุณแน่ใจหรือไม่ว่าต้องการออกจากการเรียกดูแบบส่วนตัว?
+cancelDownloadsOKText=ยกเลิก 1 การดาวน์โหลด
+cancelDownloadsOKTextMultiple=ยกเลิก %S การดาวน์โหลด
+dontQuitButtonWin=ไม่ออก
+dontQuitButtonMac=ไม่ออก
+dontGoOfflineButton=คงการออนไลน์
+dontLeavePrivateBrowsingButton2=คงอยู่ในการเรียกดูแบบส่วนตัว
+
+# LOCALIZATION NOTE (infiniteRate):
+# If download speed is a JavaScript Infinity value, this phrase is used
+infiniteRate=เร็วจริง ๆ
+
+# LOCALIZATION NOTE (statusFormat3): — is the "em dash" (long dash)
+# %1$S transfer progress; %2$S rate number; %3$S rate unit; %4$S time left
+# example: 4 minutes left — 1.1 of 11.1 GB (2.2 MB/sec)
+statusFormat3=%4$S — %1$S (%2$S %3$S/วินาที)
+
+# LOCALIZATION NOTE (statusFormatInfiniteRate): — is the "em dash" (long dash)
+# %1$S transfer progress; %2$S substitute phrase for Infinity speed; %3$S time left
+# example: 4 minutes left — 1.1 of 11.1 GB (Really fast)
+statusFormatInfiniteRate=%3$S — %1$S (%2$S)
+
+# LOCALIZATION NOTE (statusFormatNoRate): — is the "em dash" (long dash)
+# %1$S transfer progress; %2$S time left
+# example: 4 minutes left — 1.1 of 11.1 GB
+statusFormatNoRate=%2$S — %1$S
+
+bytes=ไบต์
+kilobyte=KB
+megabyte=MB
+gigabyte=GB
+
+# LOCALIZATION NOTE (transferSameUnits2):
+# %1$S progress number; %2$S total number; %3$S total unit
+# example: 1.1 of 333 MB
+transferSameUnits2=%1$S จาก %2$S %3$S
+# LOCALIZATION NOTE (transferDiffUnits2):
+# %1$S progress number; %2$S progress unit; %3$S total number; %4$S total unit
+# example: 11.1 MB of 3.3 GB
+transferDiffUnits2=%1$S %2$S จาก %3$S %4$S
+# LOCALIZATION NOTE (transferNoTotal2):
+# %1$S progress number; %2$S unit
+# example: 111 KB
+transferNoTotal2=%1$S %2$S
+
+# LOCALIZATION NOTE (timePair3): %1$S time number; %2$S time unit
+# example: 1m; 11h
+timePair3=%1$S%2$S
+# LOCALIZATION NOTE (timeLeftSingle3): %1$S time left
+# example: 1m left; 11h left
+timeLeftSingle3=เหลืออีก %1$S
+# LOCALIZATION NOTE (timeLeftDouble3): %1$S time left; %2$S time left sub units
+# example: 11h 2m left; 1d 22h left
+timeLeftDouble3=เหลืออีก %1$S %2$S
+timeFewSeconds2=เหลืออีกไม่กี่วินาที
+timeUnknown2=ไม่ทราบเวลาที่เหลือ
+
+# LOCALIZATION NOTE (doneScheme2): #1 URI scheme like data: jar: about:
+doneScheme2=ทรัพยากร %1$S
+# LOCALIZATION NOTE (doneFileScheme): Special case of doneScheme for file:
+# This is used as an eTLD replacement for local files, so make it lower case
+doneFileScheme=ไฟล์ในเครื่อง
+
+# LOCALIZATION NOTE (yesterday): Displayed time for files finished yesterday
+yesterday=เมื่อวานนี้
+
+fileExecutableSecurityWarning=“%S” เป็นไฟล์ปฏิบัติการ ไฟล์ปฏิบัติการอาจมีไวรัสหรือโค้ดที่ประสงค์ร้ายอื่นที่อาจเป็นอันตรายต่อคอมพิวเตอร์ของคุณ ใช้ความระมัดระวังเมื่อเปิดไฟล์นี้ คุณแน่ใจหรือไม่ว่าต้องการเปิด “%S”?
+fileExecutableSecurityWarningTitle=เปิดไฟล์ปฏิบัติการ?
+
+# Desktop folder name for downloaded files
+downloadsFolder=การดาวน์โหลด
diff --git a/l10n-th/toolkit/chrome/mozapps/downloads/settingsChange.dtd b/l10n-th/toolkit/chrome/mozapps/downloads/settingsChange.dtd
new file mode 100644
index 0000000000..d18e20d37c
--- /dev/null
+++ b/l10n-th/toolkit/chrome/mozapps/downloads/settingsChange.dtd
@@ -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/. -->
+
+<!ENTITY settingsChangePreferences.label "การตั้งค่าสามารถเปลี่ยนได้ในค่ากำหนดของ &brandShortName;">
+<!ENTITY settingsChangeOptions.label "การตั้งค่าสามารถเปลี่ยนได้ในตัวเลือกของ &brandShortName;">
diff --git a/l10n-th/toolkit/chrome/mozapps/downloads/unknownContentType.dtd b/l10n-th/toolkit/chrome/mozapps/downloads/unknownContentType.dtd
new file mode 100644
index 0000000000..0a9ae3f347
--- /dev/null
+++ b/l10n-th/toolkit/chrome/mozapps/downloads/unknownContentType.dtd
@@ -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/. -->
+
+<!ENTITY intro2.label "คุณได้เลือกที่จะเปิด:">
+<!ENTITY from.label "จาก:">
+<!ENTITY actionQuestion.label "&brandShortName; ควรจะทำอะไรกับไฟล์นี้?">
+
+<!ENTITY openWith.label "เปิดด้วย">
+<!ENTITY openWith.accesskey "ป">
+<!ENTITY other.label "อื่น ๆ…">
+
+<!ENTITY saveFile.label "บันทึกไฟล์">
+<!ENTITY saveFile.accesskey "บ">
+
+<!ENTITY rememberChoice.label "ทำสิ่งนี้กับไฟล์ชนิดนี้โดยอัตโนมัติในครั้งถัดไป">
+<!ENTITY rememberChoice.accesskey "ท">
+
+<!ENTITY whichIs.label "ซึ่งเป็น:">
+
+<!ENTITY chooseHandlerMac.label "เลือก…">
+<!ENTITY chooseHandlerMac.accesskey "ล">
+<!ENTITY chooseHandler.label "เรียกดู…">
+<!ENTITY chooseHandler.accesskey "ร">
+
+<!ENTITY unknownPromptText.label "คุณต้องการบันทึกไฟล์นี้หรือไม่?">
diff --git a/l10n-th/toolkit/chrome/mozapps/downloads/unknownContentType.properties b/l10n-th/toolkit/chrome/mozapps/downloads/unknownContentType.properties
new file mode 100644
index 0000000000..11a402736b
--- /dev/null
+++ b/l10n-th/toolkit/chrome/mozapps/downloads/unknownContentType.properties
@@ -0,0 +1,24 @@
+# -*- Mode: Java; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+title=กำลังเปิด %S
+saveDialogTitle=ป้อนชื่อไฟล์ที่จะบันทึก…
+defaultApp=%S (ค่าเริ่มต้น)
+chooseAppFilePickerTitle=เลือกแอปพลิเคชันช่วย
+badApp=ไม่พบแอปพลิเคชันที่คุณเลือก (“%S”)  ตรวจสอบชื่อไฟล์หรือเลือกแอปพลิเคชันอื่น
+badApp.title=ไม่พบแอปพลิเคชัน
+badPermissions=ไม่สามารถบันทึกไฟล์เนื่องจากคุณไม่มีสิทธิที่เหมาะสม เลือกไดเรกทอรีอื่นเพื่อบันทึก
+badPermissions.title=สิทธิอนุญาตการบันทึกไม่ถูกต้อง
+unknownAccept.label=บันทึกไฟล์
+unknownCancel.label=ยกเลิก
+fileType=ไฟล์ %S
+# LOCALIZATION NOTE (orderedFileSizeWithType): first %S is type, second %S is size, and third %S is unit
+orderedFileSizeWithType=%1$S (%2$S %3$S)
+pdfHandlerDescription=Portable Document Format
+avifExtHandlerDescription=AV1 Image File (AVIF)
+pdfExtHandlerDescription=Portable Document Format (PDF)
+svgExtHandlerDescription=Scalable Vector Graphics (SVG)
+webpExtHandlerDescription=WebP Image
+xmlExtHandlerDescription=Extensible Markup Language (XML)
diff --git a/l10n-th/toolkit/chrome/mozapps/extensions/extensions.dtd b/l10n-th/toolkit/chrome/mozapps/extensions/extensions.dtd
new file mode 100644
index 0000000000..6af259acfd
--- /dev/null
+++ b/l10n-th/toolkit/chrome/mozapps/extensions/extensions.dtd
@@ -0,0 +1,5 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!ENTITY setting.learnmore "เรียนรู้เพิ่มเติม…">
diff --git a/l10n-th/toolkit/chrome/mozapps/extensions/extensions.properties b/l10n-th/toolkit/chrome/mozapps/extensions/extensions.properties
new file mode 100644
index 0000000000..865f85efd7
--- /dev/null
+++ b/l10n-th/toolkit/chrome/mozapps/extensions/extensions.properties
@@ -0,0 +1,84 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+#LOCALIZATION NOTE (notification.incompatible) %1$S is the add-on name, %2$S is brand name, %3$S is application version
+notification.incompatible=%1$S เข้ากันไม่ได้กับ %2$S %3$S
+#LOCALIZATION NOTE (notification.unsigned, notification.unsignedAndDisabled) %1$S is the add-on name, %2$S is brand name
+notification.unsignedAndDisabled=%1$S ไม่สามารถยืนยันสำหรับใช้ใน %2$S และถูกปิดใช้งาน
+notification.unsigned=%1$S ไม่สามารถยืนยันสำหรับใช้ใน %2$S ดำเนินการต่อด้วยความระมัดระวัง
+notification.unsigned.link=ข้อมูลเพิ่มเติม
+#LOCALIZATION NOTE (notification.blocked) %1$S is the add-on name
+notification.blocked=%1$S ถูกปิดใช้งานเนื่องจากปัญหาด้านความปลอดภัยหรือเสถียรภาพ
+notification.blocked.link=ข้อมูลเพิ่มเติม
+#LOCALIZATION NOTE (notification.softblocked) %1$S is the add-on name
+notification.softblocked=%1$S เป็นที่ทราบว่าก่อให้เกิดปัญหาด้านความปลอดภัยหรือเสถียรภาพ
+notification.softblocked.link=ข้อมูลเพิ่มเติม
+#LOCALIZATION NOTE (notification.outdated) %1$S is the add-on name
+notification.outdated=มีการอัปเดตสำคัญสำหรับ %1$S
+notification.outdated.link=อัปเดตตอนนี้
+#LOCALIZATION NOTE (notification.vulnerableUpdatable) %1$S is the add-on name
+notification.vulnerableUpdatable=%1$S เป็นที่ทราบว่ามีความเสี่ยงและควรได้รับการอัปเดต
+notification.vulnerableUpdatable.link=อัปเดตตอนนี้
+#LOCALIZATION NOTE (notification.vulnerableNoUpdate) %1$S is the add-on name
+notification.vulnerableNoUpdate=%1$S เป็นที่ทราบว่ามีความเสี่ยง ใช้ด้วยความระมัดระวัง
+notification.vulnerableNoUpdate.link=ข้อมูลเพิ่มเติม
+#LOCALIZATION NOTE (notification.restartless-uninstall) %1$S is the add-on name
+notification.restartless-uninstall=%1$S จะถูกถอนการติดตั้งหลังจากคุณปิดแท็บนี้
+#LOCALIZATION NOTE (notification.downloadError) %1$S is the add-on name.
+notification.downloadError=เกิดข้อผิดพลาดในการดาวน์โหลด %1$S
+notification.downloadError.retry=ลองอีกครั้ง
+notification.downloadError.retry.tooltip=ลองดาวน์โหลดส่วนเสริมนี้อีกครั้ง
+#LOCALIZATION NOTE (notification.installError) %1$S is the add-on name.
+notification.installError=เกิดข้อผิดพลาดในการติดตั้ง %1$S
+notification.installError.retry=ลองอีกครั้ง
+notification.installError.retry.tooltip=ลองดาวน์โหลดและติดตั้งส่วนเสริมนี้อีกครั้ง
+#LOCALIZATION NOTE (notification.gmpPending) %1$S is the add-on name.
+notification.gmpPending=%1$S จะถูกติดตั้งในไม่ช้า
+
+#LOCALIZATION NOTE (details.notification.incompatible) %1$S is the add-on name, %2$S is brand name, %3$S is application version
+details.notification.incompatible=%1$S เข้ากันไม่ได้กับ %2$S %3$S
+#LOCALIZATION NOTE (details.notification.unsigned, details.notification.unsignedAndDisabled) %1$S is the add-on name, %2$S is brand name
+details.notification.unsignedAndDisabled=%1$S ไม่สามารถยืนยันสำหรับใช้ใน %2$S และถูกปิดใช้งาน
+details.notification.unsigned=%1$S ไม่สามารถยืนยันสำหรับใช้ใน %2$S ดำเนินการต่อด้วยความระมัดระวัง
+details.notification.unsigned.link=ข้อมูลเพิ่มเติม
+#LOCALIZATION NOTE (details.notification.blocked) %1$S is the add-on name
+details.notification.blocked=%1$S ถูกปิดใช้งานเนื่องจากปัญหาด้านความปลอดภัยหรือเสถียรภาพ
+details.notification.blocked.link=ข้อมูลเพิ่มเติม
+#LOCALIZATION NOTE (details.notification.softblocked) %1$S is the add-on name
+details.notification.softblocked=%1$S เป็นที่ทราบว่าก่อให้เกิดปัญหาด้านความปลอดภัยหรือเสถียรภาพ
+details.notification.softblocked.link=ข้อมูลเพิ่มเติม
+#LOCALIZATION NOTE (details.notification.outdated) %1$S is the add-on name
+details.notification.outdated=มีการอัปเดตสำคัญสำหรับ %1$S
+details.notification.outdated.link=อัปเดตตอนนี้
+#LOCALIZATION NOTE (details.notification.vulnerableUpdatable) %1$S is the add-on name
+details.notification.vulnerableUpdatable=%1$S เป็นที่ทราบว่ามีความเสี่ยงและควรได้รับการอัปเดต
+details.notification.vulnerableUpdatable.link=อัปเดตตอนนี้
+#LOCALIZATION NOTE (details.notification.vulnerableNoUpdate) %1$S is the add-on name
+details.notification.vulnerableNoUpdate=%1$S เป็นที่ทราบว่ามีความเสี่ยง ใช้ด้วยความระมัดระวัง
+details.notification.vulnerableNoUpdate.link=ข้อมูลเพิ่มเติม
+#LOCALIZATION NOTE (details.notification.restartless-uninstall) %1$S is the add-on name.
+details.notification.restartless-uninstall=%1$S จะถูกถอนการติดตั้งหลังจากคุณปิดแท็บนี้
+#LOCALIZATION NOTE (details.notification.gmpPending) %1$S is the add-on name
+details.notification.gmpPending=%1$S จะถูกติดตั้งในไม่ช้า
+
+type.extension.name=ส่วนขยาย
+type.themes.name=ชุดตกแต่ง
+type.locale.name=ภาษา
+type.plugin.name=ปลั๊กอิน
+type.dictionary.name=พจนานุกรม
+type.service.name=บริการ
+type.legacy.name=ส่วนขยายแบบเก่า
+type.unsupported.name=ไม่รองรับ
+
+#LOCALIZATION NOTE(listHeading.discover) %S is the brandShortName
+listHeading.discover=ปรับแต่ง %S ของคุณ
+listHeading.extension=จัดการส่วนขยายของคุณ
+listHeading.shortcuts=จัดการทางลัดส่วนขยาย
+listHeading.theme=จัดการชุดตกแต่งของคุณ
+listHeading.plugin=จัดการปลั๊กอินของคุณ
+listHeading.locale=จัดการภาษาของคุณ
+listHeading.dictionary=จัดการพจนานุกรมของคุณ
+
+searchLabel.extension=ค้นหาส่วนขยายเพิ่มเติม
+searchLabel.theme=ค้นหาชุดตกแต่งเพิ่มเติม
diff --git a/l10n-th/toolkit/chrome/mozapps/handling/handling.dtd b/l10n-th/toolkit/chrome/mozapps/handling/handling.dtd
new file mode 100644
index 0000000000..bbc834d079
--- /dev/null
+++ b/l10n-th/toolkit/chrome/mozapps/handling/handling.dtd
@@ -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/. -->
+
+<!ENTITY window.emWidth "26em">
+<!ENTITY window.emHeight "26em">
+<!ENTITY ChooseOtherApp.description "เลือกแอปพลิเคชันอื่น">
+<!ENTITY ChooseApp.label "เลือก…">
+<!ENTITY ChooseApp.accessKey "ล">
+<!ENTITY accept "เปิดลิงก์">
diff --git a/l10n-th/toolkit/chrome/mozapps/handling/handling.properties b/l10n-th/toolkit/chrome/mozapps/handling/handling.properties
new file mode 100644
index 0000000000..fc3eb7b655
--- /dev/null
+++ b/l10n-th/toolkit/chrome/mozapps/handling/handling.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/.
+
+protocol.title=เปิดแอปพลิเคชัน
+protocol.description=ลิงก์นี้จำเป็นต้องเปิดด้วยแอปพลิเคชัน
+protocol.choices.label=ส่งไปยัง:
+protocol.checkbox.label=จดจำการเลือกของฉันสำหรับ %S ลิงก์
+protocol.checkbox.accesskey=จ
+protocol.checkbox.extra=สิ่งนี้สามารถเปลี่ยนได้ในค่ากำหนดของ %S
+
+# Displayed under the name of a protocol handler in the Launch Application dialog.
+privatebrowsing.disabled.label=ถูกปิดใช้งานในหน้าต่างส่วนตัว
+
+choose.application.title=แอปพลิเคชันอื่น…
diff --git a/l10n-th/toolkit/chrome/mozapps/profile/profileSelection.properties b/l10n-th/toolkit/chrome/mozapps/profile/profileSelection.properties
new file mode 100644
index 0000000000..7ed24e7567
--- /dev/null
+++ b/l10n-th/toolkit/chrome/mozapps/profile/profileSelection.properties
@@ -0,0 +1,57 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE: These strings are used for startup/profile problems and the profile manager.
+
+# Application not responding
+# LOCALIZATION NOTE (restartTitle, restartMessageNoUnlocker2, restartMessageUnlocker, restartMessageNoUnlockerMac, restartMessageUnlockerMac): Messages displayed when the application is running but is not responding to commands. %S is the application name.
+restartTitle=ปิด %S
+restartMessageNoUnlocker2=%S กำลังทำงานอยู่แล้ว แต่ไม่ตอบสนอง หากต้องการใช้ %S คุณต้องปิดกระบวนการ %S ที่มีอยู่ก่อน แล้วเริ่มการทำงานของอุปกรณ์ของคุณใหม่ หรือใช้โปรไฟล์อื่น
+restartMessageUnlocker=%S กำลังทำงานอยู่ แต่ไม่มีการตอบสนอง จำเป็นต้องปิดการทำงานของ %S ก่อนที่จะเปิดหน้าต่างใหม่ได้
+restartMessageNoUnlockerMac=มี %S เปิดใช้งานอยู่ คุณสามารถเปิดใช้งาน %S ได้ครั้งละหนึ่งตัว
+restartMessageUnlockerMac=มี %S เปิดใช้งานอยู่ %S ที่กำลังทำงานอยู่จะถูกปิดเพื่อเปิดให้ตัวนี้ทำงาน
+
+# Profile manager
+# LOCALIZATION NOTE (profileTooltip): First %S is the profile name, second %S is the path to the profile folder.
+profileTooltip=โปรไฟล์: ‘%S’ - เส้นทาง: ‘%S’
+
+pleaseSelectTitle=เลือกโปรไฟล์
+pleaseSelect=โปรดเลือกโปรไฟล์ที่จะเริ่ม %S หรือสร้างโปรไฟล์ใหม่
+
+renameProfileTitle=เปลี่ยนชื่อโปรไฟล์
+renameProfilePrompt=เปลี่ยนชื่อโปรไฟล์ “%S” เป็น:
+
+profileNameInvalidTitle=ชื่อโปรไฟล์ไม่ถูกต้อง
+profileNameInvalid=ไม่อนุญาตให้ใช้ชื่อโปรไฟล์ “%S”
+
+chooseFolder=เลือกโฟลเดอร์โปรไฟล์
+profileNameEmpty=ไม่อนุญาตให้ใช้ชื่อโปรไฟล์ว่างเปล่า
+invalidChar=ไม่อนุญาตให้ใช้ตัวอักษร “%S” ในชื่อโปรไฟล์ โปรดเลือกชื่ออื่น
+
+deleteTitle=ลบโปรไฟล์
+deleteProfileConfirm=การลบโปรไฟล์จะเอาโปรไฟล์ออกจากรายการโปรไฟล์ที่มีและไม่สามารถเลิกทำได้\nคุณยังอาจเลือกที่จะลบไฟล์ข้อมูลของโปรไฟล์ รวมไปถึงการตั้งค่า, ใบรับรอง และข้อมูลที่เกี่ยวข้องกับผู้ใช้ ตัวเลือกนี้จะลบโฟลเดอร์ “%S” และไม่สามารถเลิกทำได้\nคุณต้องการลบไฟล์ข้อมูลของโปรไฟล์หรือไม่?
+deleteFiles=ลบไฟล์
+dontDeleteFiles=ไม่ลบไฟล์
+
+profileCreationFailed=ไม่สามารถสร้างโปรไฟล์ โฟลเดอร์ที่เลือกอาจไม่สามารถเขียนได้
+profileCreationFailedTitle=การสร้างโปรไฟล์ล้มเหลว
+profileExists=มีโปรไฟล์ที่มีชื่อนี้อยู่แล้ว โปรดเลือกชื่ออื่น
+profileFinishText=คลิก เสร็จสิ้น เพื่อสร้างโปรไฟล์ใหม่นี้
+profileFinishTextMac=คลิก เสร็จสิ้น เพื่อสร้างโปรไฟล์ใหม่นี้
+profileMissing=ไม่สามารถโหลดโปรไฟล์ %S ของคุณ โปรไฟล์อาจขาดหายไปหรือไม่สามารถเข้าถึงได้
+profileMissingTitle=โปรไฟล์หายไป
+profileDeletionFailed=โปรไฟล์ไม่สามารถลบได้เนื่องจากอาจยังถูกใช้งานอยู่
+profileDeletionFailedTitle=การลบล้มเหลว
+
+# Profile reset
+# LOCALIZATION NOTE (resetBackupDirectory): Directory name for the profile directory backup created during reset. This directory is placed in a location users will see it (ie. their desktop). %S is the application name.
+resetBackupDirectory=ข้อมูลเก่าของ %S
+
+flushFailTitle=ไม่ได้บันทึกการเปลี่ยนแปลง
+# LOCALIZATION NOTE (conflictMessage): %1$S is brandProductName, %2$S is brandShortName.
+conflictMessage=สำเนาอื่นของ %1$S ได้ทำการเปลี่ยนแปลงกับโปรไฟล์ คุณต้องเริ่มการทำงาน %2$S ใหม่ก่อนจึงจะสามารถทำการเปลี่ยนแปลงเพิ่มเติมได้
+flushFailMessage=ข้อผิดพลาดที่ไม่คาดคิดได้ขัดขวางการบันทึกการเปลี่ยนแปลงของคุณ
+# LOCALIZATION NOTE (flushFailRestartButton): $S is brandShortName.
+flushFailRestartButton=เริ่มการทำงาน %S ใหม่
+flushFailExitButton=ออก
diff --git a/l10n-th/toolkit/chrome/mozapps/update/updates.properties b/l10n-th/toolkit/chrome/mozapps/update/updates.properties
new file mode 100644
index 0000000000..12c114eafa
--- /dev/null
+++ b/l10n-th/toolkit/chrome/mozapps/update/updates.properties
@@ -0,0 +1,45 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE: The 1st %S is brandShortName and 2nd %S is update version
+# where update version from the update xml
+# example: MyApplication 10.0.5
+updateName=%S %S
+
+noThanksButton=ไม่ ขอบคุณ
+noThanksButton.accesskey=ม
+# NOTE: The restartLaterButton string is also used in
+# mozapps/extensions/content/blocklist.js
+restartLaterButton=เริ่มการทำงานใหม่ในภายหลัง
+restartLaterButton.accesskey=ม
+restartNowButton=เริ่มการทำงาน %S ใหม่
+restartNowButton.accesskey=ร
+
+statusFailed=การติดตั้งล้มเหลว
+
+installSuccess=ติดตั้งการอัปเดตสำเร็จ
+installPending=รอการติดตั้ง
+patchApplyFailure=ไม่สามารถติดตั้งการอัปเดต (การใช้แพตช์ล้มเหลว)
+elevationFailure=คุณไม่มีสิทธิอนุญาตที่จำเป็นในการติดตั้งการอัปเดตนี้ โปรดติดต่อผู้ดูแลระบบของคุณ
+
+check_error-200=ไฟล์ XML การอัปเดตผิดรูปแบบ (200)
+check_error-403=การเข้าถึงถูกปฏิเสธ (403)
+check_error-404=ไม่พบไฟล์ XML การอัปเดต (404)
+check_error-500=ข้อผิดพลาดเซิร์ฟเวอร์ภายใน (500)
+check_error-2152398849=ล้มเหลว (ไม่ทราบสาเหตุ)
+check_error-2152398861=การเชื่อมต่อถูกปฏิเสธ
+check_error-2152398862=การเชื่อมต่อหมดเวลา
+# NS_ERROR_OFFLINE
+check_error-2152398864=เครือข่ายออฟไลน์อยู่ (ต้องออนไลน์)
+check_error-2152398867=พอร์ตไม่อนุญาต
+check_error-2152398868=ไม่มีข้อมูลที่ได้รับ (โปรดลองอีกครั้ง)
+check_error-2152398878=ไม่พบเซิร์ฟเวอร์อัปเดต (ตรวจสอบการเชื่อมต่ออินเทอร์เน็ตของคุณ)
+check_error-2152398890=ไม่พบเซิร์ฟเวอร์พร็อกซี (ตรวจสอบการเชื่อมต่ออินเทอร์เน็ตของคุณ)
+# NS_ERROR_DOCUMENT_NOT_CACHED
+check_error-2152398918=เครือข่ายออฟไลน์อยู่ (ต้องออนไลน์)
+check_error-2152398919=การถ่ายโอนข้อมูลถูกขัดจังหวะ (โปรดลองอีกครั้ง)
+check_error-2152398920=การเชื่อมต่อเซิร์ฟเวอร์พร็อกซีถูกปฏิเสธ
+check_error-2153390069=ใบรับรองเซิร์ฟเวอร์หมดอายุ (โปรดปรับนาฬิกาในระบบของคุณให้เป็นวันที่และเวลาที่ถูกต้องหากยังไม่ถูกต้อง)
+check_error-verification_failed=ไม่สามารถยืนยันความสมบูรณ์ของการอัปเดต
+check_error-move_failed=ไม่สามารถเตรียมการอัปเดตสำหรับการติดตั้งได้
diff --git a/l10n-th/toolkit/chrome/passwordmgr/passwordmgr.properties b/l10n-th/toolkit/chrome/passwordmgr/passwordmgr.properties
new file mode 100644
index 0000000000..a53cd942f5
--- /dev/null
+++ b/l10n-th/toolkit/chrome/passwordmgr/passwordmgr.properties
@@ -0,0 +1,74 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+rememberPassword = ใช้ตัวจัดการรหัสผ่านเพื่อจดจำรหัสผ่านนี้
+savePasswordTitle = ยืนยัน
+# LOCALIZATION NOTE (saveLoginMsg, saveLoginMsgNoUser):
+# %1$S is brandShortName, %2$S is the login's hostname.
+saveLoginMsg = คุณต้องการให้ %1$S บันทึกการเข้าสู่ระบบนี้สำหรับ %2$S หรือไม่?
+saveLoginMsgNoUser = คุณต้องการให้ %1$S บันทึกรหัสผ่านนี้สำหรับ %2$S หรือไม่?
+saveLoginButtonAllow.label = บันทึก
+saveLoginButtonAllow.accesskey = บ
+saveLoginButtonDeny.label = ไม่บันทึก
+saveLoginButtonDeny.accesskey = ม
+saveLoginButtonNever.label = ไม่บันทึกเสมอ
+saveLoginButtonNever.accesskey = ส
+updateLoginMsg = คุณต้องการอัปเดตการเข้าสู่ระบบนี้หรือไม่?
+updateLoginMsgNoUser = คุณต้องการอัปเดตรหัสผ่านนี้หรือไม่?
+updateLoginMsgAddUsername = คุณต้องการเพิ่มชื่อผู้ใช้ไปยังรหัสผ่านที่บันทึกไว้หรือไม่?
+updateLoginButtonText = อัปเดต
+updateLoginButtonAccessKey = อ
+updateLoginButtonDeny.label = ไม่อัปเดต
+updateLoginButtonDeny.accesskey = ม
+updateLoginButtonDelete.label = เอาการเข้าสู่ระบบที่บันทึกไว้ออก
+updateLoginButtonDelete.accesskey = อ
+# LOCALIZATION NOTE (rememberPasswordMsg):
+# 1st string is the username for the login, 2nd is the login's hostname.
+# Note that long usernames may be truncated.
+rememberPasswordMsg = คุณต้องการให้จดจำรหัสผ่านสำหรับ “%1$S” บน %2$S หรือไม่?
+# LOCALIZATION NOTE (rememberPasswordMsgNoUsername):
+# String is the login's hostname.
+rememberPasswordMsgNoUsername = คุณต้องการให้จดจำรหัสผ่านบน %S หรือไม่?
+# LOCALIZATION NOTE (noUsernamePlaceholder):
+# This is displayed in place of the username when it is missing.
+noUsernamePlaceholder=ไม่มีชื่อผู้ใช้
+togglePasswordLabel=แสดงรหัสผ่าน
+togglePasswordAccessKey2=ส
+notNowButtonText = ไ&ม่ใช่ตอนนี้
+neverForSiteButtonText = ไม่&เลยสำหรับไซต์นี้
+rememberButtonText = &จดจำ
+passwordChangeTitle = ยืนยันการเปลี่ยนรหัสผ่าน
+# LOCALIZATION NOTE (updatePasswordMsg):
+# String is the username for the login.
+updatePasswordMsg = คุณต้องการอัปเดตรหัสผ่านที่บันทึกไว้สำหรับ “%S” หรือไม่?
+updatePasswordMsgNoUser = คุณต้องการอัปเดตรหัสผ่านที่บันทึกไว้หรือไม่?
+userSelectText2 = เลือกการเข้าสู่ระบบที่จะอัปเดต:
+loginsDescriptionAll2=ข้อมูลการเข้าสู่ระบบสำหรับไซต์ดังต่อไปนี้ถูกจัดเก็บไว้ในคอมพิวเตอร์ของคุณ
+
+# LOCALIZATION NOTE (useASecurelyGeneratedPassword):
+# Shown in the autocomplete popup to allow filling a generated password into a password field.
+useASecurelyGeneratedPassword=ใช้รหัสผ่านที่สร้างขึ้นอย่างปลอดภัย
+# LOCALIZATION NOTE (generatedPasswordWillBeSaved):
+# %S will contain the brandShorterName. This informs the user that the generated password will be automatically saved.
+generatedPasswordWillBeSaved=%S จะบันทึกรหัสผ่านสำหรับเว็บไซต์นี้
+# LOCALIZATION NOTE (loginHostAge):
+# This is used to show the context menu login items with their age.
+# 1st string is the username for the login, 2nd is the login's age.
+loginHostAge=%1$S (%2$S)
+# LOCALIZATION NOTE (noUsername):
+# String is used on the context menu when a login doesn't have a username.
+noUsername=ไม่มีชื่อผู้ใช้
+
+# LOCALIZATION NOTE (displaySameOrigin):
+# String is used on the autocomplete row when the login origin is a domain match with the document origin
+displaySameOrigin=จากเว็บไซต์นี้
+
+# LOCALIZATION NOTE (insecureFieldWarningDescription2):
+# %1$S will contain insecureFieldWarningLearnMore and look like a link to indicate that clicking will open a tab with support information.
+insecureFieldWarningDescription2 = การเชื่อมต่อนี้ไม่ปลอดภัย ข้อมูลการเข้าสู่ระบบที่ใส่ไว้ที่นี่อาจถูกบุกรุกได้ %1$S
+insecureFieldWarningLearnMore = เรียนรู้เพิ่มเติม
+
+# LOCALIZATION NOTE (viewSavedLogins.label):
+# This label is used in the footer of login autocomplete menus.
+viewSavedLogins.label= ดูข้อมูลการเข้าสู่ระบบที่บันทึกไว้
diff --git a/l10n-th/toolkit/chrome/places/places.properties b/l10n-th/toolkit/chrome/places/places.properties
new file mode 100644
index 0000000000..118276d010
--- /dev/null
+++ b/l10n-th/toolkit/chrome/places/places.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/.
+
+BookmarksMenuFolderTitle=เมนูที่คั่นหน้า
+BookmarksToolbarFolderTitle=แถบเครื่องมือที่คั่นหน้า
+OtherBookmarksFolderTitle=ที่คั่นหน้าอื่น ๆ
+TagsFolderTitle=ป้ายกำกับ
+MobileBookmarksFolderTitle=ที่คั่นหน้าในมือถือ
+
+OrganizerQueryHistory=ประวัติ
+OrganizerQueryDownloads=การดาวน์โหลด
+OrganizerQueryAllBookmarks=ที่คั่นหน้าทั้งหมด
+
+# LOCALIZATION NOTE :
+# These are used to generate history containers when history is grouped by date
+finduri-AgeInDays-is-0=วันนี้
+finduri-AgeInDays-is-1=เมื่อวานนี้
+finduri-AgeInDays-is=%S วันที่แล้ว
+finduri-AgeInDays-last-is=%S วันที่ผ่านมา
+finduri-AgeInDays-isgreater=นานกว่า %S วันที่แล้ว
+finduri-AgeInMonths-is-0=เดือนนี้
+finduri-AgeInMonths-isgreater=เก่ากว่า %S เดือน
+
+# LOCALIZATION NOTE (localhost):
+# This is used to generate local files container when history is grouped by site
+localhost=(ไฟล์ในเครื่อง)
+
+# LOCALIZATION NOTE (backupFileSizeText):
+# The string is used for showing file size of each backup in the "fileRestorePopup" popup
+# %1$S is the file size
+# %2$S is the file size unit
+backupFileSizeText=%1$S %2$S
diff --git a/l10n-th/toolkit/chrome/pluginproblem/pluginproblem.dtd b/l10n-th/toolkit/chrome/pluginproblem/pluginproblem.dtd
new file mode 100644
index 0000000000..c0cf6ed7e6
--- /dev/null
+++ b/l10n-th/toolkit/chrome/pluginproblem/pluginproblem.dtd
@@ -0,0 +1,32 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!-- LOCALIZATION NOTE (tapToPlayPlugin): Mobile (used for touch interfaces) only has one type of plugin possible. -->
+<!ENTITY tapToPlayPlugin "แตะที่นี่เพื่อเปิดใช้งานปลั๊กอิน">
+<!ENTITY clickToActivatePlugin "เปิดใช้งานปลั๊กอิน">
+<!ENTITY checkForUpdates "ตรวจสอบการอัปเดต…">
+<!ENTITY blockedPlugin.label "ปลั๊กอินนี้ถูกปิดกั้นเพื่อปกป้องคุณ">
+<!ENTITY hidePluginBtn.label "ซ่อนปลั๊กอิน">
+<!ENTITY managePlugins "จัดการปลั๊กอิน…">
+
+<!-- LOCALIZATION NOTE (reloadPlugin.pre): include a trailing space as needed -->
+<!-- LOCALIZATION NOTE (reloadPlugin.middle): avoid leading/trailing spaces, this text is a link -->
+<!-- LOCALIZATION NOTE (reloadPlugin.post): include a starting space as needed -->
+<!ENTITY reloadPlugin.pre "">
+<!ENTITY reloadPlugin.middle "โหลดหน้าใหม่">
+<!ENTITY reloadPlugin.post " เพื่อลองอีกครั้ง">
+<!-- LOCALIZATION NOTE (report.please): This and the other report.* strings should be as short as possible, ideally 2-3 words. -->
+<!ENTITY report.please "ส่งรายงานข้อผิดพลาด">
+<!ENTITY report.submitting "กำลังส่งรายงาน…">
+<!ENTITY report.submitted "ส่งรายงานแล้ว">
+<!ENTITY report.disabled "รายงานข้อผิดพลาดถูกปิดใช้งาน">
+<!ENTITY report.failed "การส่งล้มเหลว">
+<!ENTITY report.unavailable "ไม่มีรายงาน">
+<!ENTITY report.comment "เพิ่มความคิดเห็น (ความคิดเห็นจะปรากฏต่อสาธารณะ)">
+<!ENTITY report.pageURL "รวม URL ของหน้า">
+
+<!ENTITY plugin.file "ไฟล์">
+<!ENTITY plugin.mimeTypes "ชนิด MIME">
+<!ENTITY plugin.flashProtectedMode.label "เปิดใช้งาน Adobe Flash ในโหมดป้องกัน">
+<!ENTITY plugin.enableBlocklists.label "ปิดกั้นเนื้อหา Flash ที่เป็นอันตรายและบุกรุก">
diff --git a/l10n-th/toolkit/chrome/search/search.properties b/l10n-th/toolkit/chrome/search/search.properties
new file mode 100644
index 0000000000..76ae95eda7
--- /dev/null
+++ b/l10n-th/toolkit/chrome/search/search.properties
@@ -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/.
+
+addEngineConfirmTitle=เพิ่มเครื่องมือค้นหา
+addEngineConfirmation=เพิ่ม “%S” ไปยังรายชื่อเครื่องมือค้นหาในช่องค้นหาหรือไม่?\n\nจาก: %S
+addEngineAsCurrentText=ทำให้เป็นตัวค้นหาเว็บ&หลัก
+addEngineAddButtonLabel=เพิ่ม
+
+error_loading_engine_title=ข้อผิดพลาดการดาวน์โหลด
+# LOCALIZATION NOTE (error_loading_engine_msg2): %1$S = brandShortName, %2$S = location
+error_loading_engine_msg2=%S ไม่สามารถดาวน์โหลดส่วนเสริมการค้นหาจาก:\n%S
+error_duplicate_engine_msg=%S ไม่สามารถติดตั้งส่วนเสริมการค้นหาจาก “%S” เพราะมีเครื่องมือค้นหาที่ใช้ชื่อเดียวกันอยู่แล้ว
+
+error_invalid_engine_title=การติดตั้งผิดพลาด
+error_invalid_format_title=รูปแบบผิดพลาด
+# LOCALIZATION NOTE (error_invalid_engine_msg2): %1$S = brandShortName, %2$S = location (url)
+error_invalid_engine_msg2=%1$S ไม่สามารถติดตั้งเครื่องค้นหาจาก: %2$S
+
diff --git a/l10n-th/toolkit/crashreporter/aboutcrashes.ftl b/l10n-th/toolkit/crashreporter/aboutcrashes.ftl
new file mode 100644
index 0000000000..5b0ea1b39f
--- /dev/null
+++ b/l10n-th/toolkit/crashreporter/aboutcrashes.ftl
@@ -0,0 +1,31 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v- 2-0- If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla-org/MPL/2-0/-
+
+
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+crash-reports-title = รายงานข้อขัดข้อง
+
+submit-all-button-label = ส่งทั้งหมด
+delete-button-label = ล้างทั้งหมด
+delete-confirm-title = คุณแน่ใจหรือไม่?
+delete-unsubmitted-description = สิ่งนี้จะลบรายงานข้อขัดข้องที่ยังไม่ได้ส่งทั้งหมดและไม่สามารถเลิกทำได้
+delete-submitted-description = สิ่งนี้จะเอารายการรายงานข้อขัดข้องที่ส่งแล้วออกแต่จะไม่ลบข้อมูลที่ส่งแล้ว สิ่งนี้ไม่สามารถเลิกทำได้
+
+crashes-unsubmitted-label = รายงานข้อขัดข้องที่ยังไม่ได้ส่ง
+id-heading = ID รายงาน
+date-crashed-heading = วันที่ขัดข้อง
+submit-crash-button-label = ส่ง
+# This text is used to replace the label of the crash submit button
+# if the crash submission fails.
+submit-crash-button-failure-label = ล้มเหลว
+
+crashes-submitted-label = รายงานข้อขัดข้องที่ส่งแล้ว
+date-submitted-heading = วันที่ส่ง
+view-crash-button-label = ดู
+
+no-reports-label = ยังไม่เคยมีการรายงานข้อขัดข้อง
+no-config-label = แอปพลิเคชันนี้ไม่ได้ถูกกำหนดค่าให้แสดงผลรายงานข้อขัดข้อง ค่ากำหนด <code>breakpad.reportURL</code> ต้องถูกตั้ง
diff --git a/l10n-th/toolkit/crashreporter/crashreporter.ini b/l10n-th/toolkit/crashreporter/crashreporter.ini
new file mode 100644
index 0000000000..36c6289e9d
--- /dev/null
+++ b/l10n-th/toolkit/crashreporter/crashreporter.ini
@@ -0,0 +1,60 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# This file is in the UTF-8 encoding
+[Strings]
+# LOCALIZATION NOTE (isRTL):
+# Leave this entry empty unless your language requires right-to-left layout,
+# for example like Arabic, Hebrew, Persian. If your language needs RTL, please
+# use the untranslated English word "yes" as value
+isRTL=
+CrashReporterTitle=ตัวรายงานข้อขัดข้อง
+# LOCALIZATION NOTE (CrashReporterVendorTitle): %s is replaced with the vendor name. (i.e. "Mozilla")
+CrashReporterVendorTitle=ตัวรายงานข้อขัดข้องของ %s
+# LOCALIZATION NOTE (CrashReporterErrorText): %s is replaced with another string containing detailed information.
+CrashReporterErrorText=แอปพลิเคชันมีปัญหาและขัดข้อง\n\nโชคไม่ดีที่ตัวรายงานข้อขัดข้องไม่สามารถส่งรายงานข้อขัดข้องนี้ได้\n\nรายละเอียด: %s
+# LOCALIZATION NOTE (CrashReporterProductErrorText2): The first %s is replaced with the product name (i.e. "Firefox"), the second is replaced with another string containing detailed information. These two substitutions can not be reordered!
+CrashReporterProductErrorText2=%s มีปัญหาและขัดข้อง\n\nโชคไม่ดีที่ตัวรายงานข้อขัดข้องไม่สามารถส่งรายงานข้อขัดข้องได้\n\nรายละเอียด: %s
+CrashReporterSorry=เราขออภัย
+# LOCALIZATION NOTE (CrashReporterDescriptionText2): The %s is replaced with the product name.
+CrashReporterDescriptionText2=%s มีปัญหาและขัดข้อง\n\nเพื่อช่วยเราวินิจฉัยและแก้ไขปัญหา คุณสามารถส่งรายงานข้อขัดข้องให้กับเรา
+CrashReporterDefault=แอปพลิเคชันนี้จะทำงานหลังจากเกิดข้อขัดข้องเพื่อรายงานปัญหาไปยังผู้จำหน่ายแอปพลิเคชัน  แอปพลิเคชันไม่ควรถูกเรียกใช้โดยตรง
+Details=รายละเอียด…
+ViewReportTitle=เนื้อหารายงาน
+CommentGrayText=เพิ่มความคิดเห็น (ความคิดเห็นจะปรากฏต่อสาธารณะ)
+ExtraReportInfo=รายงานนี้ยังมีข้อมูลทางเทคนิคเกี่ยวกับสถานะของแอปพลิเคชันขณะขัดข้อง
+# LOCALIZATION NOTE (CheckSendReport): The %s is replaced with the vendor name.
+CheckSendReport=บอก %s เกี่ยวกับข้อขัดข้องนี้เพื่อให้สามารถแก้ไขได้
+CheckIncludeURL=รวมที่อยู่ของหน้าที่ฉันเข้าชมอยู่
+CheckAllowEmail=อนุญาตให้ %s ติดต่อฉันเกี่ยวกับรายงานนี้
+EmailGrayText=ป้อนที่อยู่อีเมลของคุณที่นี่
+ReportPreSubmit2=รายงานข้อขัดข้องของคุณจะถูกส่งก่อนคุณจะออกหรือเริ่มการทำงานใหม่
+ReportDuringSubmit2=กำลังส่งรายงานของคุณ…
+ReportSubmitSuccess=ส่งรายงานสำเร็จ!
+ReportSubmitFailed=เกิดปัญหาในการส่งรายงานของคุณ
+ReportResubmit=กำลังส่งรายงานที่ก่อนหน้านี้ส่งไม่ผ่านใหม่…
+# LOCALIZATION NOTE (Quit2): The %s is replaced with the product name.
+Quit2=ออกจาก %s
+# LOCALIZATION NOTE (Restart): The %s is replaced with the product name.
+Restart=เริ่มการทำงาน %s ใหม่
+Ok=ตกลง
+Close=ปิด
+
+# LOCALIZATION NOTE (CrashID): The %s is replaced with the Crash ID from the server, which is a string like abc12345-6789-0abc-def1-23456abcdef1
+CrashID=ID ข้อขัดข้อง: %s
+# LOCALIZATION NOTE (CrashDetailsURL): The %s is replaced with a URL that the user can visit to view the crash details.
+CrashDetailsURL=คุณสามารถดูรายละเอียดข้อขัดข้องนี้ได้ที่ %s
+ErrorBadArguments=แอปพลิเคชันส่งอาร์กิวเมนต์ที่ไม่ถูกต้อง
+ErrorExtraFileExists=แอปพลิเคชันไม่ได้สร้างไฟล์ข้อมูลแอปพลิเคชันไว้
+ErrorExtraFileRead=ไม่สามารถอ่านไฟล์ข้อมูลแอปพลิเคชัน
+ErrorExtraFileMove=ไม่สามารถย้ายไฟล์ข้อมูลแอปพลิเคชัน
+ErrorDumpFileExists=แอปพลิเคชันไม่ได้สร้างไฟล์บันทึกข้อขัดข้องไว้
+ErrorDumpFileMove=ไม่สามารถย้ายบันทึกข้อขัดข้อง
+ErrorNoProductName=แอปพลิเคชันไม่ได้ระบุตัวเอง
+ErrorNoServerURL=แอปพลิเคชันไม่ได้ระบุเซิร์ฟเวอร์สำหรับรายงานข้อขัดข้อง
+ErrorNoSettingsPath=ไม่พบการตั้งค่าของตัวรายงานข้อขัดข้อง
+ErrorCreateDumpDir=ไม่สามารถสร้างไดเรกทอรีสำหรับรอดำเนินการบันทึก
+# LOCALIZATION NOTE (ErrorEndOfLife): The %s is replaced with the product name.
+ErrorEndOfLife=%s รุ่นที่คุณกำลังใช้ไม่ได้รับการสนับสนุนอีกต่อไป รายงานข้อขัดข้องในรุ่นนี้จึงไม่ได้รับการยอมรับ โปรดพิจารณาอัปเกรดเป็นรุ่นที่ได้รับการสนับสนุน
+
diff --git a/l10n-th/toolkit/defines.inc b/l10n-th/toolkit/defines.inc
new file mode 100644
index 0000000000..897ef575a9
--- /dev/null
+++ b/l10n-th/toolkit/defines.inc
@@ -0,0 +1 @@
+#define MOZ_LANG_TITLE ไทย
diff --git a/l10n-th/toolkit/toolkit/about/aboutAbout.ftl b/l10n-th/toolkit/toolkit/about/aboutAbout.ftl
new file mode 100644
index 0000000000..59ba1b5995
--- /dev/null
+++ b/l10n-th/toolkit/toolkit/about/aboutAbout.ftl
@@ -0,0 +1,6 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+about-about-title = เกี่ยวกับเกี่ยวกับ
+about-about-note = นี่คือรายการของหน้า “เกี่ยวกับ” เพื่อความสะดวกของคุณ<br/> บางหน้าอาจทำให้เกิดความสับสน บางหน้ามีเพื่อวัตถุประสงค์ในการวินิจฉัยเท่านั้น<br/> และบางหน้าถูกละเว้นไว้เนื่องจากจำเป็นต้องส่งค่าสตริง
diff --git a/l10n-th/toolkit/toolkit/about/aboutAddons.ftl b/l10n-th/toolkit/toolkit/about/aboutAddons.ftl
new file mode 100644
index 0000000000..691ebf0784
--- /dev/null
+++ b/l10n-th/toolkit/toolkit/about/aboutAddons.ftl
@@ -0,0 +1,426 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+addons-window =
+ .title = ตัวจัดการส่วนเสริม
+addons-page-title = ตัวจัดการส่วนเสริม
+search-header =
+ .placeholder = ค้นหา addons.mozilla.org
+ .searchbuttonlabel = ค้นหา
+search-header-shortcut =
+ .key = f
+list-empty-installed =
+ .value = คุณไม่ได้ติดตั้งส่วนเสริมประเภทนี้ไว้
+list-empty-available-updates =
+ .value = ไม่พบการอัปเดต
+list-empty-recent-updates =
+ .value = คุณไม่ได้อัปเดตส่วนเสริมใด ๆ เมื่อเร็ว ๆ นี้
+list-empty-find-updates =
+ .label = ตรวจสอบการอัปเดต
+list-empty-button =
+ .label = เรียนรู้เพิ่มเติมเกี่ยวกับส่วนเสริม
+help-button = การสนับสนุนของส่วนเสริม
+sidebar-help-button-title =
+ .title = การสนับสนุนของส่วนเสริม
+preferences =
+ { PLATFORM() ->
+ [windows] ตัวเลือก { -brand-short-name }
+ *[other] ค่ากำหนด { -brand-short-name }
+ }
+sidebar-preferences-button-title =
+ .title =
+ { PLATFORM() ->
+ [windows] ตัวเลือก { -brand-short-name }
+ *[other] ค่ากำหนด { -brand-short-name }
+ }
+show-unsigned-extensions-button =
+ .label = ไม่สามารถยืนยันส่วนขยายบางตัว
+show-all-extensions-button =
+ .label = แสดงส่วนขยายทั้งหมด
+cmd-show-details =
+ .label = แสดงข้อมูลเพิ่มเติม
+ .accesskey = ส
+cmd-find-updates =
+ .label = ค้นหาการอัปเดต
+ .accesskey = น
+cmd-preferences =
+ .label =
+ { PLATFORM() ->
+ [windows] ตัวเลือก
+ *[other] ค่ากำหนด
+ }
+ .accesskey =
+ { PLATFORM() ->
+ [windows] ต
+ *[other] ค
+ }
+cmd-enable-theme =
+ .label = ใช้ชุดตกแต่ง
+ .accesskey = ช
+cmd-disable-theme =
+ .label = เลิกใช้ชุดตกแต่ง
+ .accesskey = ช
+cmd-install-addon =
+ .label = ติดตั้ง
+ .accesskey = ต
+cmd-contribute =
+ .label = มีส่วนร่วม
+ .accesskey = ม
+ .tooltiptext = มีส่วนร่วมกับการพัฒนาส่วนเสริมนี้
+detail-version =
+ .label = รุ่น
+detail-last-updated =
+ .label = อัปเดตล่าสุด
+detail-contributions-description = นักพัฒนาส่วนเสริมนี้ใคร่ขอให้คุณช่วยสนับสนุนการพัฒนาอย่างต่อเนื่องโดยการสมทบทุนสักเล็กน้อย
+detail-contributions-button = มีส่วนร่วม
+ .title = มีส่วนร่วมกับการพัฒนาส่วนเสริมนี้
+ .accesskey = ม
+detail-update-type =
+ .value = การอัปเดตอัตโนมัติ
+detail-update-default =
+ .label = ค่าเริ่มต้น
+ .tooltiptext = ติดตั้งการอัปเดตโดยอัตโนมัติเฉพาะเมื่อเป็นค่าเริ่มต้น
+detail-update-automatic =
+ .label = เปิด
+ .tooltiptext = ติดตั้งการอัปเดตโดยอัตโนมัติ
+detail-update-manual =
+ .label = ปิด
+ .tooltiptext = ไม่ติดตั้งการอัปเดตโดยอัตโนมัติ
+# Used as a description for the option to allow or block an add-on in private windows.
+detail-private-browsing-label = เรียกใช้ในหน้าต่างส่วนตัว
+# Some add-ons may elect to not run in private windows by setting incognito: not_allowed in the manifest. This
+# cannot be overridden by the user.
+detail-private-disallowed-label = ไม่อนุญาตในหน้าต่างส่วนตัว
+detail-private-disallowed-description2 = ส่วนขยายนี้จะไม่ทำงานในขณะที่เรียกดูแบบส่วนตัว<a data-l10n-name="learn-more">เรียนรู้เพิ่มเติม</a>
+# Some special add-ons are privileged, run in private windows automatically, and this permission can't be revoked
+detail-private-required-label = จำเป็นต้องเข้าถึงหน้าต่างแบบส่วนตัว
+detail-private-required-description2 = ส่วนขยายนี้สามารถเข้าถึงกิจกรรมออนไลน์ของคุณในขณะที่เรียกดูแบบส่วนตัว<a data-l10n-name="learn-more">เรียนรู้เพิ่มเติม</a>
+detail-private-browsing-on =
+ .label = อนุญาต
+ .tooltiptext = เปิดใช้งานในการเรียกดูแบบส่วนตัว
+detail-private-browsing-off =
+ .label = ไม่อนุญาต
+ .tooltiptext = ปิดใช้งานในการเรียกดูแบบส่วนตัว
+detail-home =
+ .label = หน้าแรก
+detail-home-value =
+ .value = { detail-home.label }
+detail-repository =
+ .label = โปรไฟล์ส่วนเสริม
+detail-repository-value =
+ .value = { detail-repository.label }
+detail-check-for-updates =
+ .label = ตรวจสอบการอัปเดต
+ .accesskey = ต
+ .tooltiptext = ตรวจสอบการอัปเดตสำหรับส่วนเสริมนี้
+detail-show-preferences =
+ .label =
+ { PLATFORM() ->
+ [windows] ตัวเลือก
+ *[other] ค่ากำหนด
+ }
+ .accesskey =
+ { PLATFORM() ->
+ [windows] ต
+ *[other] ค
+ }
+ .tooltiptext =
+ { PLATFORM() ->
+ [windows] เปลี่ยนตัวเลือกของส่วนเสริมนี้
+ *[other] เปลี่ยนค่ากำหนดของส่วนเสริมนี้
+ }
+detail-rating =
+ .value = การจัดอันดับ
+addon-restart-now =
+ .label = เริ่มการทำงานใหม่ตอนนี้
+disabled-unsigned-heading =
+ .value = ส่วนเสริมบางตัวถูกปิดใช้งาน
+disabled-unsigned-description = ส่วนเสริมดังต่อไปนี้ไม่ได้รับการยืนยันสำหรับใช้ใน { -brand-short-name } คุณสามารถ <label data-l10n-name="find-addons">ค้นหาตัวทดแทน</label> หรือขอนักพัฒนาให้นำส่วนเสริมไปรับการยืนยัน
+disabled-unsigned-learn-more = เรียนรู้เพิ่มเติมเกี่ยวกับความพยายามของเราที่ช่วยให้คุณปลอดภัยขณะออนไลน์
+disabled-unsigned-devinfo = นักพัฒนาที่สนใจนำส่วนเสริมของเขาไปรับการยืนยันสามารถดำเนินการต่อโดยอ่าน <label data-l10n-name="learn-more">ด้วยตนเอง</label>
+plugin-deprecation-description = มีบางอย่างขาดหายไป? ปลั๊กอินบางตัวไม่ได้รับการสนับสนุนโดย { -brand-short-name } อีกต่อไป <label data-l10n-name="learn-more">เรียนรู้เพิ่มเติม</label>
+legacy-warning-show-legacy = แสดงส่วนขยายแบบเก่า
+legacy-extensions =
+ .value = ส่วนขยายแบบเก่า
+legacy-extensions-description = ส่วนขยายเหล่านี้ไม่ตรงตามมาตรฐานปัจจุบันของ { -brand-short-name } จึงถูกปิดใช้งาน <label data-l10n-name="legacy-learn-more">เรียนรู้เกี่ยวกับการเปลี่ยนแปลงกับส่วนเสริม</label>
+private-browsing-description2 =
+ { -brand-short-name } กำลังเปลี่ยนวิธีที่ส่วนขยายทำงานในขณะที่เรียกดูแบบส่วนตัว ส่วนขยายใด ๆ ที่คุณเพิ่มไปยัง { -brand-short-name }
+ จะไม่ทำงานตามค่าเริ่มต้นในหน้าต่างแบบส่วนตัว นอกจากคุณจะอนุญาตในการตั้งค่า ส่วนขยายจะไม่ทำงาน
+ ในขณะที่เรียกดูแบบส่วนตัว และจะไม่สามารถเข้าถึงกิจกรรมออนไลน์ของคุณที่นั่นได้ เราได้ทำการเปลี่ยนแปลง
+ นี้เพื่อรักษาความเป็นส่วนตัวให้กับการเรียกดูแบบส่วนตัวของคุณ
+ <label data-l10n-name="private-browsing-learn-more">เรียนรู้วิธีจัดการการตั้งค่าส่วนขยาย</label>
+addon-category-discover = คำแนะนำ
+addon-category-discover-title =
+ .title = คำแนะนำ
+addon-category-extension = ส่วนขยาย
+addon-category-extension-title =
+ .title = ส่วนขยาย
+addon-category-theme = ชุดตกแต่ง
+addon-category-theme-title =
+ .title = ชุดตกแต่ง
+addon-category-plugin = ปลั๊กอิน
+addon-category-plugin-title =
+ .title = ปลั๊กอิน
+addon-category-dictionary = พจนานุกรม
+addon-category-dictionary-title =
+ .title = พจนานุกรม
+addon-category-locale = ภาษา
+addon-category-locale-title =
+ .title = ภาษา
+addon-category-available-updates = การอัปเดตที่มี
+addon-category-available-updates-title =
+ .title = การอัปเดตที่มี
+addon-category-recent-updates = การอัปเดตล่าสุด
+addon-category-recent-updates-title =
+ .title = การอัปเดตล่าสุด
+
+## These are global warnings
+
+extensions-warning-safe-mode = ส่วนเสริมทั้งหมดถูกปิดใช้งานโดยโหมดปลอดภัย
+extensions-warning-check-compatibility = การตรวจสอบความเข้ากันได้ของส่วนเสริมถูกปิดใช้งาน คุณอาจมีส่วนเสริมที่เข้ากันไม่ได้
+extensions-warning-check-compatibility-button = เปิดใช้งาน
+ .title = เปิดใช้งานการตรวจสอบความเข้ากันได้ของส่วนเสริม
+extensions-warning-update-security = การตรวจสอบความปลอดภัยของการอัปเดตส่วนเสริมถูกปิดใช้งาน คุณอาจถูกบุกรุกโดยการอัปเดต
+extensions-warning-update-security-button = เปิดใช้งาน
+ .title = เปิดใช้งานการตรวจสอบความปลอดภัยของการอัปเดตส่วนเสริม
+
+## Strings connected to add-on updates
+
+addon-updates-check-for-updates = ตรวจสอบการอัปเดต
+ .accesskey = ต
+addon-updates-view-updates = ดูการอัปเดตล่าสุด
+ .accesskey = ด
+
+# This menu item is a checkbox that toggles the default global behavior for
+# add-on update checking.
+
+addon-updates-update-addons-automatically = อัปเดตส่วนเสริมโดยอัตโนมัติ
+ .accesskey = อ
+
+## Specific add-ons can have custom update checking behaviors ("Manually",
+## "Automatically", "Use default global behavior"). These menu items reset the
+## update checking behavior for all add-ons to the default global behavior
+## (which itself is either "Automatically" or "Manually", controlled by the
+## extensions-updates-update-addons-automatically.label menu item).
+
+addon-updates-reset-updates-to-automatic = กลับค่าเดิมของส่วนเสริมทั้งหมดเป็นอัปเดตโดยอัตโนมัติ
+ .accesskey = ก
+addon-updates-reset-updates-to-manual = กลับค่าเดิมของส่วนเสริมทั้งหมดเป็นอัปเดตด้วยตนเอง
+ .accesskey = ก
+
+## Status messages displayed when updating add-ons
+
+addon-updates-updating = กำลังอัปเดตส่วนเสริม
+addon-updates-installed = อัปเดตส่วนเสริมของคุณแล้ว
+addon-updates-none-found = ไม่พบการอัปเดต
+addon-updates-manual-updates-found = ดูการอัปเดตที่มี
+
+## Add-on install/debug strings for page options menu
+
+addon-install-from-file = ติดตั้งส่วนเสริมจากไฟล์…
+ .accesskey = ง
+addon-install-from-file-dialog-title = เลือกส่วนเสริมที่จะติดตั้ง
+addon-install-from-file-filter-name = ส่วนเสริม
+addon-open-about-debugging = ดีบั๊กส่วนเสริม
+ .accesskey = บ
+
+## Extension shortcut management
+
+# This is displayed in the page options menu
+addon-manage-extensions-shortcuts = จัดการทางลัดส่วนขยาย
+ .accesskey = จ
+shortcuts-no-addons = คุณไม่ได้เปิดใช้งานส่วนขยายใด ๆ
+shortcuts-no-commands = ส่วนขยายดังต่อไปนี้ไม่มีทางลัด:
+shortcuts-input =
+ .placeholder = พิมพ์ทางลัด
+shortcuts-browserAction2 = เปิดใช้งานปุ่มแถบเครื่องมือ
+shortcuts-pageAction = เปิดใช้งานการกระทำหน้า
+shortcuts-sidebarAction = เปิด/ปิดแถบข้าง
+shortcuts-modifier-mac = รวม Ctrl, Alt หรือ ⌘
+shortcuts-modifier-other = รวม Ctrl หรือ Alt
+shortcuts-invalid = ลำดับแป้นพิมพ์ไม่ถูกต้อง
+shortcuts-letter = พิมพ์ตัวอักษร
+shortcuts-system = ไม่สามารถเขียนทับทางลัด { -brand-short-name }
+# String displayed in warning label when there is a duplicate shortcut
+shortcuts-duplicate = ทางลัดซ้ำกัน
+# String displayed when a keyboard shortcut is already assigned to more than one add-on
+# Variables:
+# $shortcut (string) - Shortcut string for the add-on
+shortcuts-duplicate-warning-message = { $shortcut } กำลังถูกใช้เป็นทางลัดในกรณีมากกว่าหนึ่งกรณี ทางลัดที่ซ้ำกันอาจทำให้เกิดลักษณะการทำงานที่ไม่คาดคิด
+# String displayed when a keyboard shortcut is already used by another add-on
+# Variables:
+# $addon (string) - Name of the add-on
+shortcuts-exists = มีการใช้งานอยู่แล้วโดย { $addon }
+shortcuts-card-expand-button =
+ { $numberToShow ->
+ *[other] แสดงเพิ่มเติมอีก { $numberToShow }
+ }
+shortcuts-card-collapse-button = แสดงน้อยลง
+header-back-button =
+ .title = ย้อนกลับ
+
+## Recommended add-ons page
+
+# Explanatory introduction to the list of recommended add-ons. The action word
+# ("recommends") in the final sentence is a link to external documentation.
+discopane-intro =
+ ส่วนขยายและชุดตกแต่งเป็นเหมือนแอปสำหรับเบราว์เซอร์ของคุณ ซึ่งให้คุณป้องกัน
+ รหัสผ่าน, ดาวน์โหลดวิดีโอ, ค้นหาดีล, ปิดกั้นโฆษณาที่น่ารำคาญ, เปลี่ยนรูปลักษณ์ของ
+ เบราว์เซอร์ของคุณ, และอื่น ๆ อีกมากมาย โปรแกรมซอฟต์แวร์ขนาดเล็กเหล่านั้นมักถูก
+ พัฒนาโดยบุคคลที่สาม นี่คือตัวเลือกที่ { -brand-product-name } <a data-l10n-name="learn-more-trigger">แนะนำ</a>เพื่อ
+ ความปลอดภัย, ประสิทธิภาพ, และการทำงานที่ดีกว่า
+# Notice to make user aware that the recommendations are personalized.
+discopane-notice-recommendations =
+ บางคำแนะนำเหล่านี้ถูกปรับเปลี่ยนตามแบบส่วนบุคคล ซึ่งขึ้นอยู่กับส่วนขยายอื่นที่คุณติดตั้ง,
+ ค่ากำหนดโปรไฟล์, และสถิติการใช้งาน
+discopane-notice-learn-more = เรียนรู้เพิ่มเติม
+privacy-policy = นโยบายความเป็นส่วนตัว
+# Refers to the author of an add-on, shown below the name of the add-on.
+# Variables:
+# $author (string) - The name of the add-on developer.
+created-by-author = โดย <a data-l10n-name="author">{ $author }</a>
+# Shows the number of daily users of the add-on.
+# Variables:
+# $dailyUsers (number) - The number of daily users.
+user-count = ผู้ใช้: { $dailyUsers }
+install-extension-button = เพิ่มลงใน { -brand-product-name }
+install-theme-button = ติดตั้งชุดตกแต่ง
+# The label of the button that appears after installing an add-on. Upon click,
+# the detailed add-on view is opened, from where the add-on can be managed.
+manage-addon-button = จัดการ
+find-more-addons = ค้นหาส่วนเสริมเพิ่มเติม
+# This is a label for the button to open the "more options" menu, it is only
+# used for screen readers.
+addon-options-button =
+ .aria-label = ตัวเลือกเพิ่มเติม
+
+## Add-on actions
+
+report-addon-button = รายงาน
+remove-addon-button = เอาออก
+# The link will always be shown after the other text.
+remove-addon-disabled-button = ไม่สามารถเอาออกได้ <a data-l10n-name="link">ทำไม?</a>
+disable-addon-button = ปิดใช้งาน
+enable-addon-button = เปิดใช้งาน
+# This is used for the toggle on the extension card, it's a checkbox and this
+# is always its label.
+extension-enable-addon-button-label =
+ .aria-label = เปิดใช้งาน
+preferences-addon-button =
+ { PLATFORM() ->
+ [windows] ตัวเลือก
+ *[other] ค่ากำหนด
+ }
+details-addon-button = รายละเอียด
+release-notes-addon-button = บันทึกประจำรุ่น
+permissions-addon-button = การอนุญาต
+extension-enabled-heading = ถูกเปิดใช้งาน
+extension-disabled-heading = ถูกปิดใช้งาน
+theme-enabled-heading = ถูกเปิดใช้งาน
+theme-disabled-heading = ถูกปิดใช้งาน
+plugin-enabled-heading = ถูกเปิดใช้งาน
+plugin-disabled-heading = ถูกปิดใช้งาน
+dictionary-enabled-heading = ถูกเปิดใช้งาน
+dictionary-disabled-heading = ถูกปิดใช้งาน
+locale-enabled-heading = ถูกเปิดใช้งาน
+locale-disabled-heading = ถูกปิดใช้งาน
+ask-to-activate-button = ถามเพื่อเปิดใช้งาน
+always-activate-button = เปิดใช้งานเสมอ
+never-activate-button = ไม่เปิดใช้งานเสมอ
+addon-detail-author-label = ผู้สร้าง
+addon-detail-version-label = รุ่น
+addon-detail-last-updated-label = อัปเดตล่าสุด
+addon-detail-homepage-label = หน้าแรก
+addon-detail-rating-label = การจัดอันดับ
+# Message for add-ons with a staged pending update.
+install-postponed-message = ส่วนขยายนี้จะถูกอัปเดตเมื่อ { -brand-short-name } เริ่มการทำงานใหม่
+install-postponed-button = อัปเดตตอนนี้
+# The average rating that the add-on has received.
+# Variables:
+# $rating (number) - A number between 0 and 5. The translation should show at most one digit after the comma.
+five-star-rating =
+ .title = ได้รับการจัดอันดับ { NUMBER($rating, maximumFractionDigits: 1) } จาก 5
+# This string is used to show that an add-on is disabled.
+# Variables:
+# $name (string) - The name of the add-on
+addon-name-disabled = { $name } (ปิดใช้งานอยู่)
+# The number of reviews that an add-on has received on AMO.
+# Variables:
+# $numberOfReviews (number) - The number of reviews received
+addon-detail-reviews-link =
+ { $numberOfReviews ->
+ *[other] { $numberOfReviews } บทวิจารณ์
+ }
+
+## Pending uninstall message bar
+
+# Variables:
+# $addon (string) - Name of the add-on
+pending-uninstall-description = เอา <span data-l10n-name="addon-name">{ $addon }</span> ออกแล้ว
+pending-uninstall-undo-button = เลิกทำ
+addon-detail-updates-label = อนุญาตให้อัปเดตโดยอัตโนมัติ
+addon-detail-updates-radio-default = ค่าเริ่มต้น
+addon-detail-updates-radio-on = เปิด
+addon-detail-updates-radio-off = ปิด
+addon-detail-update-check-label = ตรวจสอบการอัปเดต
+install-update-button = อัปเดต
+# This is the tooltip text for the private browsing badge in about:addons. The
+# badge is the private browsing icon included next to the extension's name.
+addon-badge-private-browsing-allowed2 =
+ .title = อนุญาตในหน้าต่างส่วนตัวแล้ว
+ .aria-label = { addon-badge-private-browsing-allowed2.title }
+addon-detail-private-browsing-help = เมื่อได้รับอนุญาต ส่วนขยายจะสามารถเข้าถึงกิจกรรมออนไลน์ของคุณได้ในขณะที่เรียกดูแบบส่วนตัว <a data-l10n-name="learn-more">เรียนรู้เพิ่มเติม</a>
+addon-detail-private-browsing-allow = อนุญาต
+addon-detail-private-browsing-disallow = ไม่อนุญาต
+
+## This is the tooltip text for the recommended badges for an extension in about:addons. The
+## badge is a small icon displayed next to an extension when it is recommended on AMO.
+
+addon-badge-recommended2 =
+ .title = { -brand-product-name } แนะนำเฉพาะส่วนขยายที่ตรงตามมาตรฐานของเราเท่านั้นเพื่อความปลอดภัยและประสิทธิภาพ
+ .aria-label = { addon-badge-recommended2.title }
+addon-badge-line =
+ .title = ส่วนขยายนี้สร้างโดยผู้สร้าง { -brand-product-name }
+ .aria-label = { addon-badge-line.title }
+addon-badge-verified =
+ .title = ส่วนขยายนี้ผ่านการตรวจทานรหัสเพื่อความปลอดภัยแล้ว
+ .aria-label = { addon-badge-verified.title }
+addon-badge-line2 =
+ .title = นี่คือส่วนขยายอย่างเป็นทางการที่สร้างโดยผู้สร้าง { -brand-product-name }
+ .aria-label = { addon-badge-line2.title }
+addon-badge-verified2 =
+ .title = ส่วนขยายนี้ได้รับการตรวจสอบว่าเป็นไปตามมาตรฐานด้านความปลอดภัยและประสิทธิภาพของเรา
+ .aria-label = { addon-badge-verified2.title }
+
+##
+
+available-updates-heading = การอัปเดตที่มี
+recent-updates-heading = การอัปเดตล่าสุด
+release-notes-loading = กำลังโหลด…
+release-notes-error = ขออภัย แต่เกิดข้อผิดพลาดในการโหลดบันทึกประจำรุ่น
+addon-permissions-empty = ส่วนขยายนี้ไม่ต้องการการอนุญาตใด ๆ
+addon-permissions-required = สิทธิอนุญาตที่ต้องการสำหรับฟังก์ชันการทำงานหลัก:
+addon-permissions-optional = สิทธิอนุญาตที่เลือกได้สำหรับฟังก์ชันการทำงานที่เพิ่ม:
+addon-permissions-learnmore = เรียนรู้เพิ่มเติมเกี่ยวกับสิทธิอนุญาต
+recommended-extensions-heading = ส่วนขยายที่แนะนำ
+recommended-themes-heading = ชุดตกแต่งที่แนะนำ
+# A recommendation for the Firefox Color theme shown at the bottom of the theme
+# list view. The "Firefox Color" name itself should not be translated.
+recommended-theme-1 = รู้สึกสร้างสรรค์ใช่ไหม? <a data-l10n-name="link">สร้างชุดตกแต่งในรูปแบบของคุณเองด้วย Firefox Color</a>
+
+## Page headings
+
+extension-heading = จัดการส่วนขยายของคุณ
+theme-heading = จัดการชุดตกแต่งของคุณ
+plugin-heading = จัดการปลั๊กอินของคุณ
+dictionary-heading = จัดการพจนานุกรมของคุณ
+locale-heading = จัดการภาษาของคุณ
+updates-heading = จัดการการอัปเดตของคุณ
+discover-heading = ปรับแต่ง { -brand-short-name } ของคุณ
+shortcuts-heading = จัดการทางลัดส่วนขยาย
+default-heading-search-label = ค้นหาส่วนเสริมเพิ่มเติม
+addons-heading-search-input =
+ .placeholder = ค้นหา addons.mozilla.org
+addon-page-options-button =
+ .title = เครื่องมือสำหรับส่วนเสริมทั้งหมด
diff --git a/l10n-th/toolkit/toolkit/about/aboutCompat.ftl b/l10n-th/toolkit/toolkit/about/aboutCompat.ftl
new file mode 100644
index 0000000000..4dc3fcf8ac
--- /dev/null
+++ b/l10n-th/toolkit/toolkit/about/aboutCompat.ftl
@@ -0,0 +1,13 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+label-disable = ปิดใช้งาน
+label-enable = เปิดใช้งาน
+label-interventions = การแทรกแซง
+label-more-information = ข้อมูลเพิ่มเติม: ข้อบกพร่อง { $bug }
+label-overrides = การแทนที่ตัวแทนผู้ใช้
+text-disabled-in-about-config = คุณลักษณะนี้ได้ถูกปิดใช้งานใน about:config
+text-no-interventions = ไม่มีการแทรกแซงใด ๆ ที่ถูกใช้
+text-no-overrides = ไม่มีการแทนที่ตัวแทนผู้ใช้ใด ๆ ที่ถูกใช้
+text-title = about:compat
diff --git a/l10n-th/toolkit/toolkit/about/aboutConfig.ftl b/l10n-th/toolkit/toolkit/about/aboutConfig.ftl
new file mode 100644
index 0000000000..10205dba76
--- /dev/null
+++ b/l10n-th/toolkit/toolkit/about/aboutConfig.ftl
@@ -0,0 +1,109 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+config-window =
+ .title = about:config
+
+## Strings used to display a warning in about:config
+
+# This text should be attention grabbing and playful
+config-about-warning-title =
+ .value = โปรดระวัง แก้แล้วพังเราจะไม่รับผิดชอบนะ!
+config-about-warning-text = การเปลี่ยนการตั้งค่าขั้นสูงเหล่านี้อาจเป็นอันตรายต่อเสถียรภาพ ความปลอดภัย และประสิทธิภาพของแอปพลิเคชันนี้ คุณควรดำเนินการต่อเฉพาะเมื่อคุณแน่ใจว่าคุณกำลังทำอะไรอยู่เท่านั้น
+config-about-warning-button =
+ .label = ฉันยอมรับความเสี่ยง!
+config-about-warning-checkbox =
+ .label = แสดงคำเตือนนี้ในครั้งถัดไป
+
+config-search-prefs =
+ .value = ค้นหา:
+ .accesskey = ห
+
+config-focus-search =
+ .key = r
+
+config-focus-search-2 =
+ .key = f
+
+## These strings are used for column headers
+
+config-pref-column =
+ .label = ชื่อค่ากำหนด
+config-lock-column =
+ .label = สถานะ
+config-type-column =
+ .label = ชนิด
+config-value-column =
+ .label = ค่า
+
+## These strings are used for tooltips
+
+config-pref-column-header =
+ .tooltip = คลิกเพื่อเรียงลำดับ
+config-column-chooser =
+ .tooltip = คลิกเพื่อเลือกคอลัมน์ที่จะแสดงผล
+
+## These strings are used for the context menu
+
+config-copy-pref =
+ .key = C
+ .label = คัดลอก
+ .accesskey = ค
+
+config-copy-name =
+ .label = คัดลอกชื่อ
+ .accesskey = ด
+
+config-copy-value =
+ .label = คัดลอกค่า
+ .accesskey = ล
+
+config-modify =
+ .label = เปลี่ยนแปลง
+ .accesskey = ป
+
+config-toggle =
+ .label = เปิด/ปิด
+ .accesskey = ป
+
+config-reset =
+ .label = กลับค่าเดิม
+ .accesskey = ก
+
+config-new =
+ .label = ใหม่
+ .accesskey = ม
+
+config-string =
+ .label = สตริง
+ .accesskey = ส
+
+config-integer =
+ .label = จำนวนเต็ม
+ .accesskey = จ
+
+config-boolean =
+ .label = ค่าตรรกะ
+ .accesskey = ค
+
+config-default = ค่าเริ่มต้น
+config-modified = ถูกเปลี่ยนแปลง
+config-locked = ล็อก
+
+config-property-string = สตริง
+config-property-int = จำนวนเต็ม
+config-property-bool = ค่าตรรกะ
+
+config-new-prompt = ป้อนชื่อค่ากำหนด
+
+config-nan-title = ค่าไม่ถูกต้อง
+config-nan-text = ข้อความที่คุณกรอกไม่ใช่ตัวเลข
+
+# Variables:
+# $type (String): type of value (boolean, integer or string)
+config-new-title = ค่า { $type } ใหม่
+
+# Variables:
+# $type (String): type of value (boolean, integer or string)
+config-modify-title = กรอกค่าของ { $type }
diff --git a/l10n-th/toolkit/toolkit/about/aboutGlean.ftl b/l10n-th/toolkit/toolkit/about/aboutGlean.ftl
new file mode 100644
index 0000000000..061512a4a7
--- /dev/null
+++ b/l10n-th/toolkit/toolkit/about/aboutGlean.ftl
@@ -0,0 +1,14 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+
+### "Glean" and "Glean SDK" should remain in English.
+
+about-glean-page-title = เกี่ยวกับ Glean
+about-glean-description = <a data-l10n-name="glean-sdk-doc-link">Glean SDK</a> เป็นไลบรารีการรวบรวมข้อมูลที่ใช้ในผลิตภัณฑ์ของ Mozilla หน้านี้มีไว้สำหรับนักพัฒนาและนักทดสอบที่ต้องการ<a data-l10n-name="fog-debug-doc-link">กำหนดค่าสถานะการดีบั๊กและการบันทึกใน Glean SDK</a>
+about-glean-warning = การใช้อินเทอร์เฟซนี้ในทางที่ผิดอาจทำให้ { -brand-short-name } ล่ม
+tag-pings-label = เพิ่มแท็ก Ping ที่ส่งทั้งหมดด้วยแท็กนี้
+log-pings-label = บันทึกเพย์โหลด Ping ลงรายการก่อนส่งหรือไม่?
+send-pings-label = ส่ง Ping ที่มีชื่อ
+controls-button-label = ส่งการตั้งค่า
diff --git a/l10n-th/toolkit/toolkit/about/aboutHttpsOnlyError.ftl b/l10n-th/toolkit/toolkit/about/aboutHttpsOnlyError.ftl
new file mode 100644
index 0000000000..238ee1d366
--- /dev/null
+++ b/l10n-th/toolkit/toolkit/about/aboutHttpsOnlyError.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/.
+
+about-httpsonly-insecure-title = การเชื่อมต่อปลอดภัยไม่พร้อมใช้งาน
+# Variables:
+# $websiteUrl (String) - Url of the website that failed to load. Example: www.example.com
+about-httpsonly-insecure-explanation-unavailable = คุณกำลังเรียกดูในโหมด HTTPS-Only และรุ่น HTTPS ของ <em>{ $websiteUrl }</em> ไม่พร้อมใช้งาน
+about-httpsonly-insecure-explanation-reasons = อาจเป็นไปได้ว่าเว็บไซต์ไม่สนับสนุน HTTPS แต่ก็เป็นไปได้เช่นกันว่าผู้โจมตีกำลังปิดกั้นรุ่น HTTPS อยู่
+about-httpsonly-insecure-explanation-exception = ในขณะที่ความเสี่ยงด้านความปลอดภัยมีน้อย หากคุณตัดสินใจเยี่ยมชมรุ่น HTTP ของเว็บไซต์ คุณไม่ควรใส่ข้อมูลใด ๆ ที่ละเอียดอ่อน เช่น รหัสผ่าน อีเมล หรือรายละเอียดบัตรเครดิต
+about-httpsonly-button-make-exception = ยอมรับความเสี่ยงแล้วไปยังไซต์ต่อ
+about-httpsonly-title = { -brand-short-name } ตรวจพบปัญหาด้านความปลอดภัยที่อาจเกิดขึ้น
+# Variables:
+# $websiteUrl (String) - Url of the website that failed to load. Example: www.example.com
+about-httpsonly-explanation-unavailable = คุณกำลังเรียกดูในโหมด HTTPS-Only และรุ่น HTTPS ของ <em>{ $websiteUrl }</em> ไม่พร้อมใช้งาน
+about-httpsonly-title-alert = การแจ้งเตือนโหมด HTTPS-Only
+about-httpsonly-title-connection-not-available = การเชื่อมต่อปลอดภัยไม่พร้อมใช้งาน
+# Variables:
+# $websiteUrl (String) - Url of the website that failed to load. Example: www.example.com
+about-httpsonly-explanation-unavailable2 = คุณได้เปิดใช้งานโหมด HTTPS-Only สำหรับความปลอดภัยที่มากขึ้น และรุ่น HTTPS ของ <em>{ $websiteUrl }</em> ไม่พร้อมใช้งาน
+about-httpsonly-explanation-question = ปัญหานี้อาจเกิดจากอะไรได้บ้าง?
+about-httpsonly-explanation-nosupport = อาจเป็นไปได้มากว่าเว็บไซต์ไม่รองรับ HTTPS
+about-httpsonly-explanation-risk = อาจเป็นไปได้ว่ามีผู้โจมตีเข้ามาเกี่ยวข้องด้วย หากคุณตัดสินใจเยี่ยมชมเว็บไซต์ คุณไม่ควรใส่ข้อมูลใด ๆ ที่ละเอียดอ่อน เช่น รหัสผ่าน อีเมล หรือรายละเอียดบัตรเครดิต
+about-httpsonly-button-accept-and-continue = ยอมรับความเสี่ยงและดำเนินการต่อ
+about-httpsonly-explanation-continue = หากคุณดำเนินการต่อ โหมด HTTPS-Only จะถูกปิดชั่วคราวสำหรับไซต์นี้
+about-httpsonly-button-continue-to-site = ดำเนินการต่อไปยังไซต์ HTTP
+about-httpsonly-button-go-back = ย้อนกลับ
+about-httpsonly-link-learn-more = เรียนรู้เพิ่มเติม…
diff --git a/l10n-th/toolkit/toolkit/about/aboutMozilla.ftl b/l10n-th/toolkit/toolkit/about/aboutMozilla.ftl
new file mode 100644
index 0000000000..b63497f9e0
--- /dev/null
+++ b/l10n-th/toolkit/toolkit/about/aboutMozilla.ftl
@@ -0,0 +1,11 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+about-mozilla-title-6-27 = หนังสือ Mozilla, 6:27
+about-mozilla-quote-6-27 =
+ The Beast continued its studies with renewed <em>Focus</em>, building great <em>Reference</em>
+ works and contemplating new <em>Realities</em>. The Beast brought forth its followers and
+ acolytes to create a renewed smaller form of itself and, through <em>Mischievous</em> means,
+ sent it out across the world.
+about-mozilla-from-6-27 = จาก <strong>หนังสือ Mozilla,</strong> 6:27
diff --git a/l10n-th/toolkit/toolkit/about/aboutNetworking.ftl b/l10n-th/toolkit/toolkit/about/aboutNetworking.ftl
new file mode 100644
index 0000000000..60834a5256
--- /dev/null
+++ b/l10n-th/toolkit/toolkit/about/aboutNetworking.ftl
@@ -0,0 +1,71 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+about-networking-title = เกี่ยวกับเครือข่าย
+about-networking-http = HTTP
+about-networking-sockets = ซ็อกเก็ต
+about-networking-dns = DNS
+about-networking-dns-clear-cache-button = ล้างแคช DNS
+about-networking-dns-trr-url = URL DoH
+about-networking-dns-suffix = คำลงท้าย DNS
+about-networking-websockets = WebSockets
+about-networking-refresh = เรียกใหม่
+about-networking-auto-refresh = เรียกใหม่อัตโนมัติทุก 3 วินาที
+about-networking-hostname = ชื่อโฮสต์
+about-networking-port = พอร์ต
+about-networking-http-version = รุ่น HTTP
+about-networking-ssl = SSL
+about-networking-active = ใช้งานอยู่
+about-networking-idle = ว่าง
+about-networking-host = โฮสต์
+about-networking-tcp = TCP
+about-networking-sent = ส่ง
+about-networking-received = รับ
+about-networking-family = กลุ่ม
+about-networking-trr = TRR
+about-networking-addresses = ที่อยู่
+about-networking-expires = หมดอายุ (วินาที)
+about-networking-originAttributesSuffix = คีย์การแยก
+about-networking-messages-sent = ข้อความที่ส่ง
+about-networking-messages-received = ข้อความที่รับ
+about-networking-bytes-sent = จำนวนไบต์ที่ส่ง
+about-networking-bytes-received = จำนวนไบต์ที่รับ
+about-networking-logging = การบันทึก
+about-networking-log-tutorial = ดู<a data-l10n-name="logging">การบันทึกล็อก HTTP</a>สำหรับคำแนะนำเกี่ยวกับวิธีการใช้เครื่องมือนี้
+about-networking-current-log-file = ไฟล์รายการบันทึกปัจจุบัน:
+about-networking-current-log-modules = โมดูลรายการบันทึกปัจจุบัน:
+about-networking-set-log-file = ตั้งไฟล์รายการบันทึก
+about-networking-set-log-modules = ตั้งโมดูลรายการบันทึก
+about-networking-start-logging = เริ่มการบันทึก
+about-networking-stop-logging = หยุดการบันทึก
+about-networking-dns-lookup = การค้นหา DNS
+about-networking-dns-lookup-button = แปลงที่อยู่
+about-networking-dns-domain = โดเมน:
+about-networking-dns-lookup-table-column = IP
+about-networking-dns-https-rr-lookup-table-column = RR HTTP
+about-networking-rcwn = สถิติ RCWN
+about-networking-rcwn-status = สถานะ RCWN
+about-networking-rcwn-cache-won-count = จำนวนการใช้แคช
+about-networking-rcwn-net-won-count = จำนวนการใช้เครือข่าย
+about-networking-total-network-requests = จำนวนคำขอเครือข่ายรวม
+about-networking-rcwn-operation = การดำเนินการแคช
+about-networking-rcwn-perf-open = เปิด
+about-networking-rcwn-perf-read = อ่าน
+about-networking-rcwn-perf-write = เขียน
+about-networking-rcwn-perf-entry-open = เปิดรายการ
+about-networking-rcwn-avg-short = ค่าเฉลี่ยแบบสั้น
+about-networking-rcwn-avg-long = ค่าเฉลี่ยแบบยาว
+about-networking-rcwn-std-dev-long = ค่าเบี่ยงเบนมาตรฐานแบบยาว
+about-networking-rcwn-cache-slow = จำนวนแคชที่หน่วงเวลา
+about-networking-rcwn-cache-not-slow = จำนวนแคชที่ไม่ได้หน่วงเวลา
+about-networking-networkid = ID เครือข่าย
+about-networking-networkid-id = ID เครือข่าย
+
+## Link is intended as "network link"
+
+about-networking-networkid-is-up = ลิงก์ถูกเชื่อมต่อแล้ว
+about-networking-networkid-status-known = ทราบสถานะลิงก์แล้ว
+
+##
+
diff --git a/l10n-th/toolkit/toolkit/about/aboutPerformance.ftl b/l10n-th/toolkit/toolkit/about/aboutPerformance.ftl
new file mode 100644
index 0000000000..dd3238bd6a
--- /dev/null
+++ b/l10n-th/toolkit/toolkit/about/aboutPerformance.ftl
@@ -0,0 +1,67 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# Page title
+about-performance-title = ตัวจัดการงาน
+
+## Column headers
+
+column-name = ชื่อ
+column-type = ชนิด
+column-energy-impact = ผลกระทบด้านพลังงาน
+column-memory = หน่วยความจำ
+
+## Special values for the Name column
+
+ghost-windows = แท็บที่ปิดล่าสุด
+# Variables:
+# $title (String) - the title of the preloaded page, typically 'New Tab'
+preloaded-tab = โหลดไว้ล่วงหน้า: { $title }
+
+## Values for the Type column
+
+type-tab = แท็บ
+type-subframe = เฟรมย่อย
+type-tracker = ตัวติดตาม
+type-addon = ส่วนเสริม
+type-browser = เบราว์เซอร์
+type-worker = ตัวทำงาน
+type-other = อื่น ๆ
+
+## Values for the Energy Impact column
+##
+## Variables:
+## $value (Number) - Value of the energy impact, eg. 0.25 (low),
+## 5.38 (medium), 105.38 (high)
+
+energy-impact-high = สูง ({ $value })
+energy-impact-medium = ปานกลาง ({ $value })
+energy-impact-low = ต่ำ ({ $value })
+
+## Values for the Memory column
+##
+## Variables:
+## $value (Number) - How much memory is used
+
+size-KB = { $value } KB
+size-MB = { $value } MB
+size-GB = { $value } GB
+
+## Tooltips for the action buttons
+
+close-tab =
+ .title = ปิดแท็บ
+show-addon =
+ .title = แสดงในตัวจัดการส่วนเสริม
+
+# Tooltip when hovering an item of the about:performance table
+# Variables:
+# $totalDispatches (Number) - how many dispatches occurred for this page since it loaded
+# $totalDuration (Number) - how much CPU time was used by this page since it loaded
+# $dispatchesSincePrevious (Number) - how many dispatches occurred in the last 2 seconds
+# $durationSincePrevious (Number) - how much CPU time was used in the last 2 seconds
+item =
+ .title =
+ การแยกส่งตั้งแต่โหลด: { $totalDispatches } ({ $totalDuration }ms)
+ การแยกส่งในช่วงวินาทีที่ผ่านมา: { $dispatchesSincePrevious } ({ $durationSincePrevious }ms)
diff --git a/l10n-th/toolkit/toolkit/about/aboutPlugins.ftl b/l10n-th/toolkit/toolkit/about/aboutPlugins.ftl
new file mode 100644
index 0000000000..fa3822a40d
--- /dev/null
+++ b/l10n-th/toolkit/toolkit/about/aboutPlugins.ftl
@@ -0,0 +1,35 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+title-label = เกี่ยวกับปลั๊กอิน
+
+installed-plugins-label = ปลั๊กอินที่ติดตั้ง
+no-plugins-are-installed-label = ไม่พบปลั๊กอินที่ติดตั้ง
+
+deprecation-description = มีบางอย่างขาดหายไป? ปลั๊กอินบางตัวไม่ได้รับการสนับสนุนอีกต่อไป <a data-l10n-name="deprecation-link">เรียนรู้เพิ่มเติม</a>
+
+## The information of plugins
+##
+## Variables:
+## $pluginLibraries: the plugin library
+## $pluginFullPath: path of the plugin
+## $version: version of the plugin
+
+file-dd = <span data-l10n-name="file">ไฟล์:</span> { $pluginLibraries }
+path-dd = <span data-l10n-name="path">เส้นทาง:</span> { $pluginFullPath }
+version-dd = <span data-l10n-name="version">รุ่น:</span> { $version }
+
+## These strings describe the state of plugins
+##
+## Variables:
+## $blockListState: show some special state of the plugin, such as blocked, outdated
+
+state-dd-enabled = <span data-l10n-name="state">สถานะ:</span> ถูกเปิดใช้งาน
+state-dd-enabled-block-list-state = <span data-l10n-name="state">สถานะ:</span> ถูกเปิดใช้งาน ({ $blockListState })
+state-dd-Disabled = <span data-l10n-name="state">สถานะ:</span> ถูกปิดใช้งาน
+state-dd-Disabled-block-list-state = <span data-l10n-name="state">สถานะ:</span> ถูกปิดใช้งาน ({ $blockListState })
+
+mime-type-label = ชนิดของ MIME
+description-label = คำอธิบาย
+suffixes-label = ส่วนต่อท้าย
diff --git a/l10n-th/toolkit/toolkit/about/aboutProcesses.ftl b/l10n-th/toolkit/toolkit/about/aboutProcesses.ftl
new file mode 100644
index 0000000000..037bd9f203
--- /dev/null
+++ b/l10n-th/toolkit/toolkit/about/aboutProcesses.ftl
@@ -0,0 +1,133 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# Page title
+about-processes-title = ตัวจัดการกระบวนการ
+# The Actions column
+about-processes-column-action =
+ .title = การกระทำ
+
+## Tooltips
+
+about-processes-shutdown-process =
+ .title = เลิกโหลดแท็บและหยุดการทำงานของกระบวนการ
+about-processes-shutdown-tab =
+ .title = ปิดแท็บ
+
+## Column headers
+
+about-processes-column-name = ชื่อ
+about-processes-column-memory-resident = หน่วยความจำ
+about-processes-column-cpu-total = CPU
+
+## Process names
+## Variables:
+## $pid (String) The process id of this process, assigned by the OS.
+## $origin (String) The domain name for this process.
+## $type (String) The raw type for this process. Used for unknown processes.
+
+about-processes-browser-process-name = { -brand-short-name } (กระบวนการ { $pid })
+about-processes-web-process-name = เว็บ (กระบวนการ { $pid }, ใช้ร่วมกัน)
+about-processes-web-isolated-process-name = เว็บ (กระบวนการ { $pid }) สำหรับ { $origin }
+about-processes-web-large-allocation = เว็บ (กระบวนการ { $pid }, ขนาดใหญ่) สำหรับ { $origin }
+about-processes-with-coop-coep-process-name = เว็บ (กระบวนการ { $pid }, แยกแบบข้ามที่มา) สำหรับ { $origin }
+about-processes-file-process-name = ไฟล์ (กระบวนการ { $pid })
+about-processes-extension-process-name = ส่วนขยาย (กระบวนการ { $pid })
+about-processes-privilegedabout-process-name = เกี่ยวกับ (กระบวนการ { $pid })
+about-processes-plugin-process-name = ปลั๊กอิน (กระบวนการ { $pid })
+about-processes-privilegedmozilla-process-name = เว็บ (กระบวนการ { $pid }) สำหรับไซต์ { -vendor-short-name }
+about-processes-gmp-plugin-process-name = ปลั๊กอินสื่อของ Gecko (กระบวนการ { $pid })
+about-processes-gpu-process-name = GPU (กระบวนการ { $pid })
+about-processes-vr-process-name = VR (กระบวนการ { $pid })
+about-processes-rdd-process-name = ตัวถอดรหัสข้อมูล (กระบวนการ { $pid })
+about-processes-socket-process-name = เครือข่าย (กระบวนการ { $pid })
+about-processes-remote-sandbox-broker-process-name = ตัวกลาง Sandbox ระยะไกล (กระบวนการ { $pid })
+about-processes-fork-server-process-name = เซิร์ฟเวอร์ Fork (กระบวนการ { $pid })
+about-processes-preallocated-process-name = จัดสรรล่วงหน้า (กระบวนการ { $pid })
+about-processes-unknown-process-name = อื่นๆ ({ $type }, กระบวนการ { $pid })
+# Process
+# Variables:
+# $name (String) The name assigned to the process.
+# $pid (String) The process id of this process, assigned by the OS.
+about-processes-process-name = กระบวนการ { $pid }: { $name }
+
+## Details within processes
+
+# Single-line summary of threads
+# Variables:
+# $number (Number) The number of threads in the process. Typically larger
+# than 30. We don't expect to ever have processes with less
+# than 5 threads.
+about-processes-thread-summary = เธรด ({ $number })
+# Thread details
+# Variables:
+# $name (String) The name assigned to the thread.
+# $tid (String) The thread id of this thread, assigned by the OS.
+about-processes-thread-name = เธรด { $tid }: { $name }
+# Tab
+# Variables:
+# $name (String) The name of the tab (typically the title of the page, might be the url while the page is loading).
+about-processes-tab-name = แท็บ: { $name }
+about-processes-preloaded-tab = แท็บใหม่ที่โหลดไว้ล่วงหน้า
+# Single subframe
+# Variables:
+# $url (String) The full url of this subframe.
+about-processes-frame-name-one = เฟรมย่อย: { $url }
+# Group of subframes
+# Variables:
+# $number (Number) The number of subframes in this group. Always ≥ 1.
+# $shortUrl (String) The shared prefix for the subframes in the group.
+about-processes-frame-name-many = เฟรมย่อย ({ $number }): { $shortUrl }
+
+## Displaying CPU (percentage and total)
+## Variables:
+## $percent (Number) The percentage of CPU used by the process or thread.
+## Always > 0, generally <= 200.
+## $total (Number) The amount of time used by the process or thread since
+## its start.
+## $unit (String) The unit in which to display $total. See the definitions
+## of `duration-unit-*`.
+
+# Common case.
+about-processes-cpu-user-and-kernel = { NUMBER($percent, maximumSignificantDigits: 2, style: "percent") } ({ NUMBER($total, maximumFractionDigits: 0) }{ $unit })
+# Special case: data is not available yet.
+about-processes-cpu-user-and-kernel-not-ready = (กำลังวัด)
+# Special case: process or thread is currently idle.
+about-processes-cpu-user-and-kernel-idle = ไม่ได้ใช้งาน ({ NUMBER($total, maximumFractionDigits: 2) }{ $unit })
+
+## Displaying Memory (total and delta)
+## Variables:
+## $total (Number) The amount of memory currently used by the process.
+## $totalUnit (String) The unit in which to display $total. See the definitions
+## of `memory-unit-*`.
+## $delta (Number) The absolute value of the amount of memory added recently.
+## $deltaSign (String) Either "+" if the amount of memory has increased
+## or "-" if it has decreased.
+## $deltaUnit (String) The unit in which to display $delta. See the definitions
+## of `memory-unit-*`.
+
+# Common case.
+about-processes-total-memory-size = { NUMBER($total, maximumFractionDigits: 0) }{ $totalUnit } ({ $deltaSign }{ NUMBER($delta, maximumFractionDigits: 0) }{ $deltaUnit })
+# Special case: no change.
+about-processes-total-memory-size-no-change = { NUMBER($total, maximumFractionDigits: 0) }{ $totalUnit }
+
+## Duration units
+
+duration-unit-ns = ns
+duration-unit-us = µs
+duration-unit-ms = ms
+duration-unit-s = วินาที
+duration-unit-m = นาที
+duration-unit-h = ชม.
+duration-unit-d = วัน
+
+## Memory units
+
+memory-unit-B = B
+memory-unit-KB = KB
+memory-unit-MB = MB
+memory-unit-GB = GB
+memory-unit-TB = TB
+memory-unit-PB = PB
+memory-unit-EB = EB
diff --git a/l10n-th/toolkit/toolkit/about/aboutProfiles.ftl b/l10n-th/toolkit/toolkit/about/aboutProfiles.ftl
new file mode 100644
index 0000000000..7aeaa0abed
--- /dev/null
+++ b/l10n-th/toolkit/toolkit/about/aboutProfiles.ftl
@@ -0,0 +1,74 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+
+profiles-title = เกี่ยวกับโปรไฟล์
+profiles-subtitle = หน้านี้ช่วยให้คุณจัดการโปรไฟล์ของคุณ แต่ละโปรไฟล์นั้นเป็นโลกที่แบ่งแยกออกจากกันซึ่งมีประวัติ, ที่คั่นหน้า, การตั้งค่า และส่วนเสริมที่แยกกัน
+profiles-create = สร้างโปรไฟล์ใหม่
+profiles-restart-title = เริ่มการทำงานใหม่
+profiles-restart-in-safe-mode = เริ่มการทำงานใหม่พร้อมปิดใช้งานส่วนเสริม…
+profiles-restart-normal = เริ่มการทำงานใหม่ปกติ…
+profiles-conflict = สำเนาอื่นของ { -brand-product-name } ได้ทำการเปลี่ยนแปลงกับโปรไฟล์ คุณต้องเริ่มการทำงาน { -brand-short-name } ใหม่ก่อนจึงจะสามารถทำการเปลี่ยนแปลงเพิ่มเติมได้
+profiles-flush-fail-title = ไม่ได้บันทึกการเปลี่ยนแปลง
+profiles-flush-conflict = { profiles-conflict }
+profiles-flush-failed = ข้อผิดพลาดที่ไม่คาดคิดได้ขัดขวางการบันทึกการเปลี่ยนแปลงของคุณ
+profiles-flush-restart-button = เริ่มการทำงาน { -brand-short-name } ใหม่
+
+# Variables:
+# $name (String) - Name of the profile
+profiles-name = โปรไฟล์: { $name }
+profiles-is-default = โปรไฟล์เริ่มต้น
+profiles-rootdir = ไดเรกทอรีราก
+
+# localDir is used to show the directory corresponding to
+# the main profile directory that exists for the purpose of storing data on the
+# local filesystem, including cache files or other data files that may not
+# represent critical user data. (e.g., this directory may not be included as
+# part of a backup scheme.)
+# In case localDir and rootDir are equal, localDir is not shown.
+profiles-localdir = ไดเรกทอรีในเครื่อง
+profiles-current-profile = นี่เป็นโปรไฟล์ที่ใช้งานอยู่และไม่สามารถลบได้
+profiles-in-use-profile = โปรไฟล์นี้ถูกใช้งานในแอปพลิเคชันอื่นและไม่สามารถลบได้
+
+profiles-rename = เปลี่ยนชื่อ
+profiles-remove = เอาออก
+profiles-set-as-default = ตั้งเป็นโปรไฟล์เริ่มต้น
+profiles-launch-profile = เปิดโปรไฟล์ในเบราว์เซอร์ใหม่
+
+profiles-cannot-set-as-default-title = ไม่สามารถตั้งค่าเริ่มต้น
+profiles-cannot-set-as-default-message = ไม่สามารถเปลี่ยนแปลงโปรไฟล์เริ่มต้นสำหรับ { -brand-short-name }
+
+profiles-yes = ใช่
+profiles-no = ไม่
+
+profiles-rename-profile-title = เปลี่ยนชื่อโปรไฟล์
+# Variables:
+# $name (String) - Name of the profile
+profiles-rename-profile = เปลี่ยนชื่อโปรไฟล์ { $name }
+
+profiles-invalid-profile-name-title = ชื่อโปรไฟล์ไม่ถูกต้อง
+# Variables:
+# $name (String) - Name of the profile
+profiles-invalid-profile-name = ไม่อนุญาตให้ใช้ชื่อโปรไฟล์ “{ $name }”
+
+profiles-delete-profile-title = ลบโปรไฟล์
+# Variables:
+# $dir (String) - Path to be displayed
+profiles-delete-profile-confirm =
+ การลบโปรไฟล์จะเอาโปรไฟล์ออกจากรายการโปรไฟล์ที่มีและไม่สามารถเลิกทำได้
+ คุณยังอาจเลือกที่จะลบไฟล์ข้อมูลของโปรไฟล์ รวมไปถึงการตั้งค่า, ใบรับรอง และข้อมูลที่เกี่ยวข้องกับผู้ใช้ ตัวเลือกนี้จะลบโฟลเดอร์ “{ $dir }” และไม่สามารถเลิกทำได้
+ คุณต้องการลบไฟล์ข้อมูลของโปรไฟล์หรือไม่?
+profiles-delete-files = ลบไฟล์
+profiles-dont-delete-files = ไม่ลบไฟล์
+
+profiles-delete-profile-failed-title = ข้อผิดพลาด
+profiles-delete-profile-failed-message = เกิดข้อผิดพลาดขณะพยายามลบโปรไฟล์นี้
+
+
+profiles-opendir =
+ { PLATFORM() ->
+ [macos] แสดงใน Finder
+ [windows] เปิดโฟลเดอร์
+ *[other] เปิดไดเรกทอรี
+ }
diff --git a/l10n-th/toolkit/toolkit/about/aboutRights.ftl b/l10n-th/toolkit/toolkit/about/aboutRights.ftl
new file mode 100644
index 0000000000..b5819c2a74
--- /dev/null
+++ b/l10n-th/toolkit/toolkit/about/aboutRights.ftl
@@ -0,0 +1,36 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+rights-title = เกี่ยวกับสิทธิของคุณ
+rights-intro = { -brand-full-name } เป็นซอฟต์แวร์เสรีและเปิดต้นฉบับ สร้างขึ้นโดยชุมชนของคนนับพันจากทั่วโลก มีบางสิ่งที่คุณควรทราบ:
+rights-intro-point-1 = { -brand-short-name } ให้คุณใช้ภายใต้เงื่อนไขของ <a data-l10n-name="mozilla-public-license-link">Mozilla Public License</a> สิ่งนี้หมายถึงคุณอาจใช้งาน คัดลอก และแจกจ่าย { -brand-short-name } ให้กับผู้อื่น คุณยังสามารถแก้ไขโค้ดต้นฉบับของ { -brand-short-name } ตามที่คุณต้องการเพื่อให้ตรงกับความต้องการของคุณ Mozilla Public License ยังให้สิทธิคุณในการแจกจ่ายรุ่นที่คุณแก้ไขอีกด้วย
+rights-intro-point-2 = คุณไม่ได้รับสิทธิหรือสัญญาอนุญาตเครื่องหมายการค้าใด ๆ ในเครื่องหมายการค้าของมูลนิธิ Mozilla หรือบุคคลใด ๆ ไม่จำกัดทั้งชื่อหรือโลโก้ Firefox ข้อมูลเพิ่มเติมเกี่ยวกับเครื่องหมายการค้าอาจพบได้ <a data-l10n-name="mozilla-trademarks-link">ที่นี่</a>
+rights-intro-point-3 = บางคุณลักษณะใน { -brand-short-name } อย่างตัวรายงานข้อขัดข้อง ให้ตัวเลือกคุณในการเสนอข้อคิดเห็นมายัง { -vendor-short-name } โดยการเลือกส่งข้อคิดเห็นหมายถึงคุณให้อนุญาต { -vendor-short-name } ในการใช้ข้อคิดเห็นนั้นเพื่อปรับปรุงผลิตภัณฑ์ เผยแพร่ข้อคิดเห็นบนเว็บไซต์ และแจกจ่ายข้อคิดเห็น
+rights-intro-point-4 = วิธีที่เราใช้ข้อมูลส่วนบุคคลและข้อคิดเห็นของคุณที่ส่งมายัง { -vendor-short-name } ผ่าน { -brand-short-name } ได้รับการอธิบายไว้ใน <a data-l10n-name="mozilla-privacy-policy-link">นโยบายความเป็นส่วนตัว { -brand-short-name }</a>
+rights-intro-point-4-unbranded = นโยบายความเป็นส่วนตัวใด ๆ ที่บังคับใช้สำหรับผลิตภัณฑ์นี้ควรถูกแสดงรายการไว้ที่นี่
+rights-intro-point-5 = บางคุณสมบัติของ { -brand-short-name } ใช้บริการข้อมูลจากเว็บภายนอก อย่างไรก็ตาม เราไม่สามารถรับประกันได้ว่าบริการเหล่านั้นจะทำงานได้ถูกต้อง 100% หรือปราศจากความผิดพลาด รายละเอียดเพิ่มเติมรวมไปถึงวิธียกเลิกใช้บริการเหล่านั้น สามารถอ่านได้ที่ <a data-l10n-name="mozilla-service-terms-link">ข้อตกลงบริการ</a>
+rights-intro-point-5-unbranded = ถ้าผลิตภัณฑ์นี้ได้ทำการรวมบริการเว็บไว้ ข้อตกลงบริการใด ๆ สำหรับบริการนั้น ๆ ที่สามารถนำไปปรับใช้ได้จะถูกลงรายการไว้ที่ส่วน<a data-l10n-name="mozilla-website-services-link">บริการเว็บ</a> หัวข้อ
+rights-intro-point-6 = เพื่อเล่นเนื้อหาวิดีโอบางชนิด { -brand-short-name } ดาวน์โหลดโมดูลถอดรหัสเนื้อหาบางส่วนจากบุคคลที่สาม
+rights-webservices-header = บริการข้อมูลผ่านเว็บ { -brand-full-name }
+rights-webservices = { -brand-full-name } ใช้บริการข้อมูลผ่านเว็บ ("บริการ") ในการเสนอความสามารถให้กับคุณใน { -brand-short-name } รุ่นนี้ภายใต้ข้อตกลงที่อธิบายไว้ข้างล่าง ถ้าคุณไม่ต้องการใช้งานบริการเหล่านั้นหรือข้อตกลงข้างล่างนั้นไม่สามารถยอมรับได้ คุณอาจจะปิดการใช้งานความสามารถเหล่านั้น วิธีการปิดใช้งานความสามารถส่วนใดส่วนหนึ่งอาจจะพบได้ <a data-l10n-name="mozilla-disable-service-link">ที่นี่</a> คุณลักษณะและบริการอื่น ๆ สามารถปิดใช้งานได้ในค่ากำหนดแอปพลิเคชัน
+rights-safebrowsing = <strong>การท่องเว็บแบบปลอดภัย: </strong>ไม่แนะนำให้ปิดใช้งานการท่องเว็บแบบปลอดภัยเพราะอาจจะส่งผลให้คุณเข้าไปยังเว็บไซต์ที่ไม่ปลอดภัย ถ้าคุณต้องการปิดความสามารถนี้อย่างถาวร โปรแกรมทำตามขั้นตอนนี้:
+rights-safebrowsing-term-1 = เปิดค่ากำหนดแอปพลิเคชัน
+rights-safebrowsing-term-2 = เลือก ความปลอดภัย
+rights-safebrowsing-term-3 = ยกเลิกการกาเครื่องหมายตัวเลือก "{ enableSafeBrowsing-label }"
+enableSafeBrowsing-label = ปิดกั้นเนื้อหาที่เป็นอันตรายและหลอกลวง
+rights-safebrowsing-term-4 = ปิดใช้งานการเรียกดูแบบปลอดภัยแล้ว
+rights-locationawarebrowsing = <strong>การท่องเว็บที่ผูกพันกับสถานที่: </strong>เป็นการใช้งานตามความสมัครใจเสมอ ข้อมูลที่เกี่ยวข้องกับสถานที่จะไม่ถูกส่งออกหากคุณไม่อนุญาต ถ้าคุณต้องการปิดใช้งาน โปรดทำตามขั้นตอนนี้:
+rights-locationawarebrowsing-term-1 = ในแถบ URL พิมพ์ <code>about:config</code>
+rights-locationawarebrowsing-term-2 = พิมพ์ geo.enabled
+rights-locationawarebrowsing-term-3 = คลิกสองครั้งที่ค่ากำหนด geo.enabled
+rights-locationawarebrowsing-term-4 = การท่องเว็บที่ผูกพันกับสถานที่ถูกปิดใช้งานแล้ว
+rights-webservices-unbranded = ภาพรวมของบริการเว็บที่ได้รวมเข้าในผลิตภัณฑ์ รวมไปถึงวิธีใช้การยกเลิกใช้งานบริการเหล่านั้น ควรนำมารวมไว้ที่นี่
+rights-webservices-term-unbranded = ข้อกำหนดการของบริการใดๆ ที่เข้ากันควรจะแสดงไว้ที่นี่
+rights-webservices-term-1 = { -vendor-short-name } ตลอดจนผู้ร่วมสมทบ ผู้อนุญาตให้ใช้สิทธิ และภาคีได้ร่วมทำงานเพื่อสร้างฐานข้อมูลเว็บไซต์หลอกลวงและมัลแวร์ที่มีความเที่ยงตรงและทันสมัยที่สุด อย่างไรก็ตาม กลุ่มผู้ร่วมทำงานไม่สามารถรับประกันได้ว่าข้อมูลเหล่านี้จะครอบคลุมและปราศจากความผิดพลาด เว็บไซต์ที่มีความเสี่ยงบางเว็บอาจจะไม่ถูกบ่งชี้ว่าอันตรายและบางเว็บไซต์ที่ปลอดภัยอาจจะถูกบ่งชี้ว่าอันตรายได้
+rights-webservices-term-2 = { -vendor-short-name } อาจพิจารณายกเลิกหรือแก้ไขบริการเหล่านี้ได้ในภายหลัง
+rights-webservices-term-3 = คุณสามารถใช้บริการเหล่านี้ในรุ่นเพิ่มเติมของ { -brand-short-name } และ { -vendor-short-name } ให้สิทธิในการทำเช่นนั้น { -vendor-short-name } และเจ้าของสัญญาอนุญาตที่เกี่ยวข้องขอสงวนสิทธิ์ต่างๆ ในบริการ ข้อตกลงเหล่านี้ไม่ได้มีไว้เพื่อจำกัดสิทธิ์ที่ถูกให้ไว้ภายใต้สัญญาอนุญาตซอฟต์แวร์เปิดรหัสใดๆ ที่ { -brand-short-name } ใช้งานอยู่และที่สอดคล้องกับต้นรหัสของ { -brand-short-name }
+rights-webservices-term-4 = <strong>บริการเหล่านี้ได้รับการจัดหาให้ "ตามที่เป็น" { -vendor-short-name }, ผู้ร่วมสมทบ ผู้อนุญาตให้ใช้สิทธิ์ และผู้แจกจ่ายขอปฏิเสธการรับประกันใด ๆ ทั้งที่แจ้งไว้และโดยนัยยะ รวมถึงโดยไม่จำกัดเพียงการรับประกันว่าบริการนั้นสามารถใช้เพื่อการค้าได้และตรงตามความวัตถุประสงค์เฉพาะของคุณ คุณได้ยอมรับความเสี่ยงรวมไปถึงคุณภาพและประสิทธิภาพในการใช้บริการเพื่อวัตถุประสงค์ของคุณ เขตอำนาจศาลบางแห่งไม่อนุญาตการยกเว้นหรือจำกัดการรับประกันโดยนัยยะ ดังนั้นข้อความปฏิเสธความรับผิดนี้อาจจะไม่มีผลกับคุณ</strong>
+rights-webservices-term-5 = <strong>เว้นแต่ที่กฎหมายบังคับไว้ { -vendor-short-name } ผู้ร่วมสมทบ ผู้อนุญาตให้ใช้สิทธิ์ และผู้แจกจ่ายไม่พึงต้องรับผิดแก่ความเสียหายไม่ว่าจะในรูปแบบใด ไม่ว่าจะในทางตรงหรือทางอ้อมอันเนื่องมาจากการใช้งาน { -brand-short-name } และบริการต่าง ๆ ทั้งนี้ความเสียหายตามข้อตกลงข้างต้นนี้จะต้องไม่เกิน $500 (ห้าร้อยดอลลาร์สหรัฐอเมริกา) เขตอำนาจศาลบางแห่งไม่อนุญาตการยกเว้นหรือจำกัดความเสียหายบางประเภท ดังนั้นข้อความยกเว้นและข้อจำกัดเหล่านี้อาจไม่มีผลกับคุณ</strong>
+rights-webservices-term-6 = { -vendor-short-name } อาจแก้ไขข้อกำหนดเงื่อนไขเหล่านี้ได้ตามความจำเป็นเมื่อเวลาผ่านไป ข้อกำหนดเงื่อนไขเหล่านี้ไม่อาจถูกแก้ไขหรือยกเลิกได้โดยไม่มีข้อตกลงที่เป็นลายลักษณ์อักษรจาก { -vendor-short-name }.
+rights-webservices-term-7 = ข้อตกลงบริการเหล่านี้บังคับใช้โดยกฎหมายแห่งรัฐแคลิฟอร์เนีย ประเทศสหรัฐอเมริกา ทั้งนี้เว้นแต่มีข้อขัดแย้งของบทบัญญัติ หากส่วนหนึ่งส่วนใดของข้อกำหนดเงื่อนไขเหล่านี้เป็นโมฆะหรือไม่สามารถบังคับใช้ได้ ส่วนที่เหลือยังคงมีผลบังคับใช้เช่นเดิม ในกรณีที่เกิดความขัดแย้งระหว่างข้อกำหนดเงื่อนไขรุ่นที่แปลแล้วกับรุ่นภาษาอังกฤษ ให้ยึดถือรุ่นภาษาอังกฤษเป็นหลัก
diff --git a/l10n-th/toolkit/toolkit/about/aboutServiceWorkers.ftl b/l10n-th/toolkit/toolkit/about/aboutServiceWorkers.ftl
new file mode 100644
index 0000000000..9bd83977c9
--- /dev/null
+++ b/l10n-th/toolkit/toolkit/about/aboutServiceWorkers.ftl
@@ -0,0 +1,40 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+
+### The term "Service Workers" and "Workers" should not be translated
+
+about-service-workers-title = เกี่ยวกับตัวทำงานบริการ
+about-service-workers-main-title = ตัวทำงานบริการที่ลงทะเบียน
+about-service-workers-warning-not-enabled = ไม่ได้เปิดใช้งานตัวทำงานบริการ
+about-service-workers-warning-no-service-workers = ไม่มีตัวทำงานบริการที่ได้ลงทะเบียนไว้
+
+# The original title of service workers' information
+#
+# Variables:
+# $originTitle: original title
+origin-title = แหล่งที่มา: { $originTitle }
+
+## These strings are for showing the information of workers.
+##
+## Variables:
+## $name: the name of scope, active cache, waiting cache and the push end point.
+## $url: the url of script specification and current worker.
+
+scope = <strong>ขอบเขต:</strong> { $name }
+script-spec = <strong>ข้อมูลจำเพาะของสคริปต์:</strong> <a data-l10n-name="link">{ $url }</a>
+current-worker-url = <strong>URL ของตัวทำงานปัจจุบัน:</strong> <a data-l10n-name="link">{ $url }</a>
+active-cache-name = <strong>ชื่อแคชที่ใช้งานอยู่:</strong> { $name }
+waiting-cache-name = <strong>ชื่อแคชที่กำลังรออยู่:</strong> { $name }
+push-end-point-waiting = <strong>จุดปลายทางการสื่อสารสำหรับรับแจ้งแบบทันที:</strong> { waiting }
+push-end-point-result = <strong>จุดปลายทางการสื่อสารสำหรับรับแจ้งแบบทันที:</strong> { $name }
+
+# This term is used as a button label (verb, not noun).
+update-button = อัปเดต
+
+unregister-button = เลิกลงทะเบียน
+
+unregister-error = ไม่สามารถเลิกลงทะเบียนตัวทำงานบริการนี้
+
+waiting = กำลังรอ…
diff --git a/l10n-th/toolkit/toolkit/about/aboutSupport.ftl b/l10n-th/toolkit/toolkit/about/aboutSupport.ftl
new file mode 100644
index 0000000000..9c6eab5e71
--- /dev/null
+++ b/l10n-th/toolkit/toolkit/about/aboutSupport.ftl
@@ -0,0 +1,381 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+page-title = ข้อมูลการแก้ไขปัญหา
+page-subtitle = หน้านี้มีข้อมูลทางเทคนิคที่อาจเป็นประโยชน์เมื่อคุณกำลังพยายามแก้ไขปัญหา หากคุณกำลังมองหาคำตอบสำหรับคำถามที่พบบ่อยเกี่ยวกับ { -brand-short-name } ตรวจสอบ <a data-l10n-name="support-link">เว็บไซต์สนับสนุน</a> ของเรา
+crashes-title = รายงานข้อขัดข้อง
+crashes-id = ID รายงาน
+crashes-send-date = ส่งข้อมูลแล้ว
+crashes-all-reports = รายงานข้อขัดข้องทั้งหมด
+crashes-no-config = แอปพลิเคชันนี้ไม่ได้ถูกกำหนดค่าให้แสดงผลรายงานข้อข้อง
+extensions-title = ส่วนขยาย
+extensions-name = ชื่อ
+extensions-enabled = เปิดใช้งานอยู่
+extensions-version = รุ่น
+extensions-id = ID
+support-addons-title = ส่วนเสริม
+support-addons-name = ชื่อ
+support-addons-type = ชนิด
+support-addons-enabled = ถูกเปิดใช้งาน
+support-addons-version = รุ่น
+support-addons-id = ID
+security-software-title = ซอฟต์แวร์ความปลอดภัย
+security-software-type = ชนิด
+security-software-name = ชื่อ
+security-software-antivirus = ป้องกันไวรัส
+security-software-antispyware = ป้องกันสปายแวร์
+security-software-firewall = ไฟร์วอลล์
+features-title = คุณลักษณะของ { -brand-short-name }
+features-name = ชื่อ
+features-version = รุ่น
+features-id = ID
+processes-title = โปรเซสระยะไกล
+processes-type = ชนิด
+processes-count = ครั้ง
+app-basics-title = พื้นฐานแอปพลิเคชัน
+app-basics-name = ชื่อ
+app-basics-version = รุ่น
+app-basics-build-id = Build ID
+app-basics-distribution-id = ID การแจกจ่าย
+app-basics-update-channel = ช่องทางการอัปเดต
+# This message refers to the folder used to store updates on the device,
+# as in "Folder for updates". "Update" is a noun, not a verb.
+app-basics-update-dir =
+ { PLATFORM() ->
+ [linux] อัปเดตไดเรกทอรี
+ *[other] อัปเดตโฟลเดอร์
+ }
+app-basics-update-history = ประวัติการอัปเดต
+app-basics-show-update-history = แสดงประวัติการอัปเดต
+# Represents the path to the binary used to start the application.
+app-basics-binary = ไบนารีแอปพลิเคชัน
+app-basics-profile-dir =
+ { PLATFORM() ->
+ [linux] ไดเรกทอรีโปรไฟล์
+ *[other] โฟลเดอร์โปรไฟล์
+ }
+app-basics-enabled-plugins = ปลั๊กอินที่เปิดใช้งาน
+app-basics-build-config = การกำหนดค่าการสร้าง
+app-basics-user-agent = ตัวแทนผู้ใช้
+app-basics-os = ระบบปฏิบัติการ
+# Rosetta is Apple's translation process to run apps containing x86_64
+# instructions on Apple Silicon. This should remain in English.
+app-basics-rosetta = แปลด้วย Rosetta
+app-basics-memory-use = หน่วยความจำที่ใช้
+app-basics-performance = ประสิทธิภาพ
+app-basics-service-workers = ตัวทำงานบริการที่ลงทะเบียน
+app-basics-profiles = โปรไฟล์
+app-basics-launcher-process-status = โปรเซสของตัวเรียกใช้
+app-basics-multi-process-support = หน้าต่างแบบหลายโปรเซส
+app-basics-fission-support = หน้าต่าง Fission
+app-basics-remote-processes-count = โปรเซสระยะไกล
+app-basics-enterprise-policies = นโยบายองค์กร
+app-basics-location-service-key-google = คีย์ Google Location Service
+app-basics-safebrowsing-key-google = คีย์ Google Safebrowsing
+app-basics-key-mozilla = คีย์ Mozilla Location Service
+app-basics-safe-mode = โหมดปลอดภัย
+show-dir-label =
+ { PLATFORM() ->
+ [macos] แสดงใน Finder
+ [windows] เปิดโฟลเดอร์
+ *[other] เปิดไดเรกทอรี
+ }
+environment-variables-title = ตัวแปรสภาพแวดล้อม
+environment-variables-name = ชื่อ
+environment-variables-value = ค่า
+experimental-features-title = คุณลักษณะทดลอง
+experimental-features-name = ชื่อ
+experimental-features-value = ค่า
+modified-key-prefs-title = ค่ากำหนดสำคัญที่ถูกเปลี่ยนแปลง
+modified-prefs-name = ชื่อ
+modified-prefs-value = ค่า
+user-js-title = ค่ากำหนด user.js
+user-js-description = โฟลเดอร์โปรไฟล์ของคุณมี <a data-l10n-name="user-js-link">ไฟล์ user.js</a> ซึ่งมีค่ากำหนดที่ไม่ได้ถูกสร้างโดย { -brand-short-name }
+locked-key-prefs-title = ค่ากำหนดสำคัญที่ถูกล็อค
+locked-prefs-name = ชื่อ
+locked-prefs-value = ค่า
+graphics-title = กราฟิก
+graphics-features-title = คุณลักษณะ
+graphics-diagnostics-title = การวินิจฉัย
+graphics-failure-log-title = รายการบันทึกความล้มเหลว
+graphics-gpu1-title = GPU #1
+graphics-gpu2-title = GPU #2
+graphics-decision-log-title = รายการบันทึกการตัดสินใจ
+graphics-crash-guards-title = คุณสมบัติที่ถูกปิดใช้งานโดย Crash Guard
+graphics-workarounds-title = วิธีการแก้ไข
+# Windowing system in use on Linux (e.g. X11, Wayland).
+graphics-window-protocol = โปรโตคอลหน้าต่าง
+# Desktop environment in use on Linux (e.g. GNOME, KDE, XFCE, etc).
+graphics-desktop-environment = สภาพแวดล้อมเดสก์ท็อป
+place-database-title = ฐานข้อมูลสถานที่
+place-database-integrity = ความสมบูรณ์
+place-database-verify-integrity = ยืนยันความสมบูรณ์
+a11y-title = การช่วยการเข้าถึง
+a11y-activated = เปิดใช้งานแล้ว
+a11y-force-disabled = ป้องกันการช่วยการเข้าถึง
+a11y-handler-used = ใช้ตัวจัดการที่เข้าถึงได้
+a11y-instantiator = ตัวสร้างอินสแตนซ์การช่วยการเข้าถึง
+library-version-title = รุ่น Library
+copy-text-to-clipboard-label = คัดลอกข้อความไปยังคลิปบอร์ด
+copy-raw-data-to-clipboard-label = คัดลอกข้อมูลดิบไปยังคลิปบอร์ด
+sandbox-title = กระบะทราย
+sandbox-sys-call-log-title = ปฏิเสธการเรียกของระบบ
+sandbox-sys-call-index = #
+sandbox-sys-call-age = วินาทีที่แล้ว
+sandbox-sys-call-pid = PID
+sandbox-sys-call-tid = TID
+sandbox-sys-call-proc-type = ชนิดโปรเซส
+sandbox-sys-call-number = การเรียกของระบบ
+sandbox-sys-call-args = อาร์กิวเมนต์
+safe-mode-title = ลองใช้โหมดปลอดภัย
+restart-in-safe-mode-label = เริ่มการทำงานใหม่พร้อมปิดใช้งานส่วนเสริม…
+clear-startup-cache-title = ลองล้างแคชเมื่อเริ่มการทำงาน
+clear-startup-cache-label = ล้างแคชเมื่อเริ่มการทำงาน…
+startup-cache-dialog-title = ล้างแคชเมื่อเริ่มการทำงาน
+startup-cache-dialog-body = เริ่มการทำงาน { -brand-short-name } ใหม่เพื่อล้างแคชเมื่อเริ่มการทำงาน การดำเนินการนี้จะไม่เปลี่ยนแปลงการตั้งค่าของคุณหรือเอาส่วนขยายต่าง ๆ ที่คุณเพิ่มใน { -brand-short-name } ออก
+restart-button-label = เริ่มการทำงานใหม่
+
+## Media titles
+
+audio-backend = แบ็กเอนด์เสียง
+max-audio-channels = จำนวนแชนเนลสูงสุด
+sample-rate = อัตราการสุ่มตัวอย่างที่ต้องการ
+roundtrip-latency = เวลาหน่วงในการเดินทางแบบเป็นรอบ (ค่าเบี่ยงเบนมาตรฐาน)
+media-title = สื่อ
+media-output-devices-title = อุปกรณ์ส่งออก
+media-input-devices-title = อุปกรณ์รับข้อมูล
+media-device-name = ชื่อ
+media-device-group = กลุ่ม
+media-device-vendor = ผู้จำหน่าย
+media-device-state = สถานะ
+media-device-preferred = ที่ต้องการ
+media-device-format = รูปแบบ
+media-device-channels = ช่อง
+media-device-rate = อัตรา
+media-device-latency = เวลาแฝง
+media-capabilities-title = ความสามารถของสื่อ
+# List all the entries of the database.
+media-capabilities-enumerate = แจงนับฐานข้อมูล
+
+##
+
+intl-title = การทำให้เป็นสากลและการแปลเป็นภาษาท้องถิ่น
+intl-app-title = การตั้งค่าแอปพลิเคชัน
+intl-locales-requested = ภาษาที่ขอ
+intl-locales-available = ภาษาที่มี
+intl-locales-supported = ภาษาของแอป
+intl-locales-default = ภาษาเริ่มต้น
+intl-os-title = ระบบปฏิบัติการ
+intl-os-prefs-system-locales = ภาษาของระบบ
+intl-regional-prefs = ค่ากำหนดภูมิภาค
+
+## Remote Debugging
+##
+## The Firefox remote protocol provides low-level debugging interfaces
+## used to inspect state and control execution of documents,
+## browser instrumentation, user interaction simulation,
+## and for subscribing to browser-internal events.
+##
+## See also https://firefox-source-docs.mozilla.org/remote/
+
+remote-debugging-title = การดีบั๊กระยะไกล (โปรโตคอล Chromium)
+remote-debugging-accepting-connections = การยอมรับการเชื่อมต่อ
+remote-debugging-url = URL
+
+##
+
+support-third-party-modules-title = โมดูลบุคคลที่สาม
+support-third-party-modules-module = ไฟล์โมดูล
+support-third-party-modules-version = รุ่นไฟล์
+support-third-party-modules-vendor = ข้อมูลผู้จำหน่าย
+support-third-party-modules-occurrence = จำนวนเหตุการณ์
+support-third-party-modules-process = ชนิดและ ID โปรเซส
+support-third-party-modules-thread = เธรด
+support-third-party-modules-base = ที่อยู่ Imagebase
+support-third-party-modules-uptime = ระยะเวลาทำงานของกระบวนการ (ms)
+support-third-party-modules-duration = ระยะเวลาในการโหลด (ms)
+support-third-party-modules-empty = ไม่ได้โหลดโมดูลบุคคลที่สามใด
+support-third-party-modules-no-value = (ไม่มีค่า)
+support-third-party-modules-button-open =
+ .title = เปิดตำแหน่งที่ตั้งไฟล์…
+support-third-party-modules-expand =
+ .title = แสดงข้อมูลโดยละเอียด
+support-third-party-modules-collapse =
+ .title = ยุบข้อมูลโดยละเอียด
+support-third-party-modules-unsigned-icon =
+ .title = โมดูลนี้ไม่มีการลงลายเซ็น
+support-third-party-modules-folder-icon =
+ .title = เปิดตำแหน่งที่ตั้งไฟล์…
+support-third-party-modules-down-icon =
+ .title = แสดงข้อมูลโดยละเอียด
+support-third-party-modules-up-icon =
+ .title = ยุบข้อมูลโดยละเอียด
+# Variables
+# $days (Integer) - Number of days of crashes to log
+report-crash-for-days = รายงานข้อขัดข้องของ { $days } วันที่ผ่านมา
+# Variables
+# $minutes (integer) - Number of minutes since crash
+crashes-time-minutes = { $minutes } นาทีที่แล้ว
+# Variables
+# $hours (integer) - Number of hours since crash
+crashes-time-hours = { $hours } ชั่วโมงที่แล้ว
+# Variables
+# $days (integer) - Number of days since crash
+crashes-time-days = { $days } วันที่แล้ว
+# Variables
+# $reports (integer) - Number of pending reports
+pending-reports = รายงานข้อขัดข้องทั้งหมด (รวม { $reports } ข้อขัดข้องที่ยังไม่ได้รายงานในช่วงเวลาที่กำหนด)
+raw-data-copied = คัดลอกข้อมูลดิบไปยังคลิปบอร์ดแล้ว
+text-copied = คัดลอกข้อความไปยังคลิปบอร์ดแล้ว
+
+## The verb "blocked" here refers to a graphics feature such as "Direct2D" or "OpenGL layers".
+
+blocked-driver = ถูกปิดกั้นจากรุ่นไดรเวอร์กราฟิกของคุณ
+blocked-gfx-card = ถูกปิดกั้นจากการ์ดกราฟิกของคุณเนื่องจากปัญหาไดรเวอร์ที่ยังไม่ได้รับการแก้ไข
+blocked-os-version = ถูกปิดกั้นจากรุ่นระบบปฏิบัติการของคุณ
+blocked-mismatched-version = ถูกปิดกั้นจากรุ่นไดรเวอร์กราฟิกของคุณไม่ตรงกันระหว่าง registry และ DLL
+# Variables
+# $driverVersion - The graphics driver version string
+try-newer-driver = ถูกปิดกั้นจากรุ่นไดรเวอร์กราฟิกของคุณ ลองปรับปรุงไดรเวอร์กราฟิกของคุณเป็นรุ่น { $driverVersion } หรือใหม่กว่า
+# "ClearType" is a proper noun and should not be translated. Feel free to leave English strings if
+# there are no good translations, these are only used in about:support
+clear-type-parameters = พารามิเตอร์ ClearType
+compositing = การจัดองค์ประกอบ
+hardware-h264 = การถอดรหัสฮาร์ดแวร์ H264
+main-thread-no-omtc = เธรดหลัก ไม่มี OMTC
+yes = ใช่
+no = ไม่
+unknown = ไม่ทราบ
+virtual-monitor-disp = จอแสดงผลเสมือนจริง
+
+## The following strings indicate if an API key has been found.
+## In some development versions, it's expected for some API keys that they are
+## not found.
+
+found = พบ
+missing = หายไป
+gpu-process-pid = GPUProcessPid
+gpu-process = GPUProcess
+gpu-description = คำอธิบาย
+gpu-vendor-id = ID ผู้จำหน่าย
+gpu-device-id = ID อุปกรณ์
+gpu-subsys-id = Subsys ID
+gpu-drivers = ไดรเวอร์
+gpu-ram = RAM
+gpu-driver-vendor = ผู้จำหน่ายไดรเวอร์
+gpu-driver-version = รุ่นไดรเวอร์
+gpu-driver-date = วันที่ไดรเวอร์
+gpu-active = ใช้งานอยู่
+webgl1-wsiinfo = ข้อมูลไดรเวอร์ WebGL 1
+webgl1-renderer = ตัวเรนเดอร์ไดรเวอร์ WebGL 1
+webgl1-version = รุ่นไดรเวอร์ WebGL 1
+webgl1-driver-extensions = ส่วนขยายไดรเวอร์ WebGL 1
+webgl1-extensions = ส่วนขยาย WebGL 1
+webgl2-wsiinfo = ข้อมูลไดรเวอร์ WebGL 2
+webgl2-renderer = ตัวเรนเดอร์ไดรเวอร์ WebGL 2
+webgl2-version = รุ่นไดรเวอร์ WebGL 2
+webgl2-driver-extensions = ส่วนขยายไดรเวอร์ WebGL 2
+webgl2-extensions = ส่วนขยาย WebGL 2
+blocklisted-bug = ถูกเพิ่มในรายการปิดกั้นเนื่องจากปัญหาที่ทราบ
+# Variables
+# $bugNumber (string) - String of bug number from Bugzilla
+bug-link = ข้อบกพร่อง { $bugNumber }
+# Variables
+# $bugNumber (string) - Bug number on Bugzilla
+support-blocklisted-bug = ถูกเพิ่มในรายการปิดกั้นเนื่องจากมีปัญหาที่ทราบสาเหตุ: <a data-l10n-name="bug-link">bug { $bugNumber }</a>
+# Variables
+# $failureCode (string) - String that can be searched in the source tree.
+unknown-failure = ถูกเพิ่มในรายการปิดกั้นแล้ว; รหัสความล้มเหลว { $failureCode }
+d3d11layers-crash-guard = คอมโพสิเตอร์ D3D11
+d3d11video-crash-guard = ตัวถอดรหัสวิดีโอ D3D11
+d3d9video-crash-guard = ตัวถอดรหัสวิดีโอ D3D9
+glcontext-crash-guard = OpenGL
+wmfvpxvideo-crash-guard = ตัวถอดรหัสวิดีโอ WMF VPX
+reset-on-next-restart = กลับค่าเดิมเมื่อเริ่มการทำงานใหม่ในครั้งถัดไป
+gpu-process-kill-button = สิ้นสุดโปรเซส GPU
+gpu-device-reset = การกลับค่าเดิมของอุปกรณ์
+gpu-device-reset-button = ทริกเกอร์การกลับค่าเดิมของอุปกรณ์
+uses-tiling = ใช้ Tiling
+content-uses-tiling = ใช้ Tiling (เนื้อหา)
+off-main-thread-paint-enabled = เปิดใช้งาน Off Main Thread Painting แล้ว
+off-main-thread-paint-worker-count = จำนวนตัวทำงาน Off Main Thread Painting
+target-frame-rate = อัตราเฟรมเป้าหมาย
+min-lib-versions = รุ่นต่ำสุดที่ใช้ได้
+loaded-lib-versions = รุ่นที่ใช้อยู่
+has-seccomp-bpf = Seccomp-BPF (System Call Filtering)
+has-seccomp-tsync = Seccomp Thread Synchronization
+has-user-namespaces = เนมสเปซผู้ใช้
+has-privileged-user-namespaces = เนมสเปซผู้ใช้สำหรับโปรเซสที่ได้รับสิทธิ์
+can-sandbox-content = Content Process Sandboxing
+can-sandbox-media = Media Plugin Sandboxing
+content-sandbox-level = ระดับ Sandbox ของโปรเซสเนื้อหา
+effective-content-sandbox-level = ระดับ Sandbox ของโปรเซสเนื้อหาที่มีประสิทธิภาพ
+sandbox-proc-type-content = เนื้อหา
+sandbox-proc-type-file = เนื้อหาไฟล์
+sandbox-proc-type-media-plugin = ปลั๊กอินสื่อ
+sandbox-proc-type-data-decoder = ตัวถอดรหัสข้อมูล
+startup-cache-title = แคชเมื่อเริ่มการทำงาน
+startup-cache-disk-cache-path = เส้นทางแคชดิสก์
+startup-cache-ignore-disk-cache = ละเว้นแคชดิสก์
+startup-cache-found-disk-cache-on-init = แคชดิสก์ที่พบเมื่อเตรียมใช้งาน
+startup-cache-wrote-to-disk-cache = ที่เขียนลงในแคชดิสก์
+launcher-process-status-0 = เปิดใช้งานอยู่
+launcher-process-status-1 = ถูกปิดใช้งานเนื่องจากความล้มเหลว
+launcher-process-status-2 = ถูกปิดใช้งานโดยการบังคับ
+launcher-process-status-unknown = ไม่ทราบสถานะ
+# Variables
+# $remoteWindows (integer) - Number of remote windows
+# $totalWindows (integer) - Number of total windows
+multi-process-windows = { $remoteWindows }/{ $totalWindows }
+multi-process-status-0 = เปิดใช้งานอยู่โดยผู้ใช้
+multi-process-status-1 = เปิดใช้งานอยู่โดยค่าเริ่มต้น
+multi-process-status-2 = ปิดใช้งานอยู่
+multi-process-status-4 = ถูกปิดใช้งานโดยเครื่องมือการช่วยการเข้าถึง
+multi-process-status-6 = ถูกปิดใช้งานโดยการรับค่าข้อความที่ไม่รองรับ
+multi-process-status-7 = ถูกปิดใช้งานโดยส่วนเสริม
+multi-process-status-8 = ถูกปิดใช้งานโดยการบังคับ
+multi-process-status-unknown = ไม่ทราบสถานะ
+# Variables
+# $fissionWindows (integer) - Number of remote windows
+# $totalWindows (integer) - Number of total windows
+fission-windows = { $fissionWindows }/{ $totalWindows }
+fission-status-experiment-control = ถูกปิดใช้งานโดยการทดสอบ
+fission-status-experiment-treatment = ถูกเปิดใช้งานโดยการทดสอบ
+fission-status-disabled-by-e10s-env = ถูกปิดใช้งานโดยสภาพแวดล้อม
+fission-status-enabled-by-env = ถูกเปิดใช้งานโดยสภาพแวดล้อม
+fission-status-disabled-by-safe-mode = ถูกปิดใช้งานโดยโหมดปลอดภัย
+fission-status-enabled-by-default = ถูกเปิดใช้งานตามค่าเริ่มต้น
+fission-status-disabled-by-default = ถูกปิดใช้งานตามค่าเริ่มต้น
+fission-status-enabled-by-user-pref = ถูกเปิดใช้งานโดยผู้ใช้
+fission-status-disabled-by-user-pref = ถูกปิดใช้งานโดยผู้ใช้
+fission-status-disabled-by-e10s-other = ปิดใช้งาน E10s แล้ว
+async-pan-zoom = การเลื่อน/ซูมแบบอะซิงโครนัส
+apz-none = ไม่มี
+wheel-enabled = เปิดใช้งานการป้อนข้อมูลด้วยล้อแล้ว
+touch-enabled = เปิดใช้งานการป้อนข้อมูลด้วยการสัมผัสแล้ว
+drag-enabled = เปิดใช้งานการลากแถบเลื่อนแล้ว
+keyboard-enabled = เปิดใช้งานแป้นพิมพ์แล้ว
+autoscroll-enabled = เปิดใช้งานการเลื่อนอัตโนมัติแล้ว
+zooming-enabled = เปิดใช้งานการซูมโดยการหุบ/กางนิ้วแบบราบรื่นแล้ว
+
+## Variables
+## $preferenceKey (string) - String ID of preference
+
+wheel-warning = การป้อนข้อมูลด้วยล้อแบบอะซิงโครนัสถูกปิดใช้งานเนื่องจากค่ากำหนดที่ไม่รองรับ: { $preferenceKey }
+touch-warning = การป้อนข้อมูลด้วยการสัมผัสแบบอะซิงโครนัสถูกปิดใช้งานเนื่องจากค่ากำหนดที่ไม่รองรับ: { $preferenceKey }
+
+## Strings representing the status of the Enterprise Policies engine.
+
+policies-inactive = ไม่มีการใช้งานอยู่
+policies-active = ใช้งานอยู่
+policies-error = ข้อผิดพลาด
+
+## Printing section
+
+support-printing-title = การพิมพ์
+support-printing-troubleshoot = การแก้ไขปัญหา
+support-printing-clear-settings-button = ล้างการตั้งค่าการพิมพ์ที่บันทึกไว้
+support-printing-modified-settings = การตั้งค่าการพิมพ์ที่ถูกเปลี่ยนแปลง
+support-printing-prefs-name = ชื่อ
+support-printing-prefs-value = ค่า
diff --git a/l10n-th/toolkit/toolkit/about/aboutTelemetry.ftl b/l10n-th/toolkit/toolkit/about/aboutTelemetry.ftl
new file mode 100644
index 0000000000..0002000339
--- /dev/null
+++ b/l10n-th/toolkit/toolkit/about/aboutTelemetry.ftl
@@ -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/.
+
+about-telemetry-ping-data-source = แหล่งข้อมูล Ping:
+about-telemetry-show-current-data = ข้อมูลปัจจุบัน
+about-telemetry-show-archived-ping-data = ข้อมูล ping ที่เก็บถาวร
+about-telemetry-show-subsession-data = แสดงข้อมูลการส่ง
+about-telemetry-choose-ping = เลือก ping:
+about-telemetry-archive-ping-type = ชนิด Ping
+about-telemetry-archive-ping-header = Ping
+about-telemetry-option-group-today = วันนี้
+about-telemetry-option-group-yesterday = เมื่อวานนี้
+about-telemetry-option-group-older = เก่ากว่า
+about-telemetry-previous-ping = <<
+about-telemetry-next-ping = >>
+about-telemetry-page-title = ข้อมูลการวัดและส่งข้อมูลทางไกล
+about-telemetry-current-store = ส่วนจัดเก็บปัจจุบัน:
+about-telemetry-more-information = กำลังมองหาข้อมูลเพิ่มเติม?
+about-telemetry-firefox-data-doc = <a data-l10n-name="data-doc-link">เอกสารข้อมูล Firefox</a> มีคำแนะนำเกี่ยวกับวิธีการทำงานกับเครื่องมือข้อมูลของเรา
+about-telemetry-telemetry-client-doc = <a data-l10n-name="client-doc-link">เอกสารเกี่ยวกับไคลเอนต์การวัดและส่งข้อมูลทางไกลของ Firefox</a> มีคำจำกัดความสำหรับหลักการทำงาน, เอกสาร API และการอ้างอิงข้อมูล
+about-telemetry-telemetry-dashboard = <a data-l10n-name="dashboard-link">แดชบอร์ดการวัดและส่งข้อมูลทางไกล</a>ช่วยให้คุณเห็นภาพข้อมูลที่ Mozilla ได้รับผ่านการวัดและส่งข้อมูลทางไกล
+about-telemetry-telemetry-probe-dictionary = <a data-l10n-name="probe-dictionary-link">Probe Dictionary</a> มีรายละเอียดและคำอธิบายสำหรับโพรบที่รวบรวมโดยการวัดและส่งข้อมูลทางไกล
+about-telemetry-show-in-Firefox-json-viewer = เปิดในตัวดู JSON
+about-telemetry-home-section = หน้าแรก
+about-telemetry-general-data-section = ข้อมูลทั่วไป
+about-telemetry-environment-data-section = ข้อมูลสภาพแวดล้อม
+about-telemetry-session-info-section = ข้อมูลวาระ
+about-telemetry-scalar-section = สเกลาร์
+about-telemetry-keyed-scalar-section = สเกลาร์ที่สำคัญ
+about-telemetry-histograms-section = ฮิสโทแกรม
+about-telemetry-keyed-histogram-section = ฮิสโทแกรมที่สำคัญ
+about-telemetry-events-section = เหตุการณ์
+about-telemetry-simple-measurements-section = การวัดอย่างง่าย
+about-telemetry-slow-sql-section = คำสั่ง SQL ที่ช้า
+about-telemetry-addon-details-section = รายละเอียดส่วนเสริม
+about-telemetry-captured-stacks-section = สแตกที่ถูกจับ
+about-telemetry-late-writes-section = การเขียนทีหลัง
+about-telemetry-raw-payload-section = ส่วนข้อมูลดิบ
+about-telemetry-raw = ข้อมูลดิบ JSON
+about-telemetry-full-sql-warning = หมายเหตุ: การดีบั๊ก SQL ที่ทำงานช้าถูกเปิดใช้งาน คำสั่ง SQL แบบเต็มอาจถูกแสดงไว้ด้านล่างแต่จะไม่ถูกส่งออกไป
+about-telemetry-fetch-stack-symbols = ดึงข้อมูลชื่อของฟังก์ชันสำหรับสแตก
+about-telemetry-hide-stack-symbols = แสดงข้อมูลสแตกดิบ
+# Selects the correct release version
+# Variables:
+# $channel (String): represents the corresponding release data string
+about-telemetry-data-type =
+ { $channel ->
+ [release] ข้อมูลการเปิดตัว
+ *[prerelease] ข้อมูลก่อนเปิดตัว
+ }
+# Selects the correct upload string
+# Variables:
+# $uploadcase (String): represents a corresponding upload string
+about-telemetry-upload-type =
+ { $uploadcase ->
+ [enabled] เปิดใช้งานแล้ว
+ *[disabled] ปิดใช้งานแล้ว
+ }
+# Example Output: 1 sample, average = 0, sum = 0
+# Variables:
+# $sampleCount (Integer): amount of histogram samples
+# $prettyAverage (Integer): average of histogram samples
+# $sum (Integer): sum of histogram samples
+about-telemetry-histogram-stats =
+ { $sampleCount ->
+ *[other] { $sampleCount } ตัวอย่าง, เฉลี่ย = { $prettyAverage }, ผลรวม = { $sum }
+ }
+# Variables:
+# $telemetryServerOwner (String): the value of the toolkit.telemetry.server_owner preference. Typically "Mozilla"
+about-telemetry-page-subtitle = หน้านี้แสดงข้อมูลเกี่ยวกับประสิทธิภาพ, ฮาร์ดแวร์, การใช้งาน และการปรับแต่งที่เก็บรวบรวมไว้โดยตัววัดและส่งข้อมูลทางไกล ข้อมูลนี้จะถูกส่งไปยัง { $telemetryServerOwner } เพื่อช่วยปรับปรุง { -brand-full-name }
+about-telemetry-settings-explanation = การวัดและส่งข้อมูลทางไกลกำลังรวบรวม { about-telemetry-data-type } และการอัปโหลด<a data-l10n-name="upload-link">{ about-telemetry-upload-type }</a>
+# Variables:
+# $name (String): ping name, e.g. “saved-session”
+# $timeStamp (String): ping localized timestamp, e.g. “2017/07/08 10:40:46”
+about-telemetry-ping-details = ข้อมูลแต่ละชิ้นจะถูกส่งไปรวมไว้ใน “<a data-l10n-name="ping-link">pings</a>” คุณกำลังดู ping { $name }, { $timestamp }
+about-telemetry-data-details-current = ข้อมูลแต่ละชิ้นจะถูกส่งไปรวมไว้ใน “<a data-l10n-name="ping-link">pings</a>” คุณกำลังดูข้อมูลปัจจุบัน
+# string used as a placeholder for the search field
+# More info about it can be found here:
+# https://firefox-source-docs.mozilla.org/toolkit/components/telemetry/telemetry/data/main-ping.html
+# Variables:
+# $selectedTitle (String): the section name from the structure of the ping.
+about-telemetry-filter-placeholder =
+ .placeholder = ค้นหาใน { $selectedTitle }
+about-telemetry-filter-all-placeholder =
+ .placeholder = ค้นหาในส่วนทั้งหมด
+# Variables:
+# $searchTerms (String): the searched terms
+about-telemetry-results-for-search = ผลลัพธ์สำหรับ “{ $searchTerms }”
+# More info about it can be found here: https://firefox-source-docs.mozilla.org/toolkit/components/telemetry/telemetry/data/main-ping.html
+# Variables:
+# $sectionName (String): the section name from the structure of the ping.
+# $currentSearchText (String): the current text in the search input
+about-telemetry-no-search-results = ขออภัย! ไม่มีผลลัพธ์ใน { $sectionName } สำหรับ “{ $currentSearchText }”
+# Variables:
+# $searchTerms (String): the searched terms
+about-telemetry-no-search-results-all = ขออภัย! ไม่มีผลลัพธ์ในส่วนใด ๆ สำหรับ “{ $searchTerms }”
+# This message is displayed when a section is empty.
+# Variables:
+# $sectionName (String): is replaced by the section name.
+about-telemetry-no-data-to-display = ขออภัย! ขณะนี้ไม่มีข้อมูลใน “{ $sectionName }”
+# used as a tooltip for the “current” ping title in the sidebar
+about-telemetry-current-data-sidebar = ข้อมูลปัจจุบัน
+# used in the “Ping Type” select
+about-telemetry-telemetry-ping-type-all = ทั้งหมด
+# button label to copy the histogram
+about-telemetry-histogram-copy = คัดลอก
+# these strings are used in the “Slow SQL Statements” section
+about-telemetry-slow-sql-main = คำสั่ง SQL ที่ช้าในเธรดหลัก
+about-telemetry-slow-sql-other = คำสั่ง SQL ที่ช้าในเธรดตัวช่วย
+about-telemetry-slow-sql-hits = ครั้ง
+about-telemetry-slow-sql-average = เวลาเฉลี่ย (ms)
+about-telemetry-slow-sql-statement = คำสั่ง
+# these strings are used in the “Add-on Details” section
+about-telemetry-addon-table-id = ID ส่วนเสริม
+about-telemetry-addon-table-details = รายละเอียด
+# Variables:
+# $addonProvider (String): the name of an Add-on Provider (e.g. “XPI”, “Plugin”)
+about-telemetry-addon-provider = ผู้ให้บริการ { $addonProvider }
+about-telemetry-keys-header = คุณสมบัติ
+about-telemetry-names-header = ชื่อ
+about-telemetry-values-header = ค่า
+# Variables:
+# $stackKey (String): the string key for this stack
+# $capturedStacksCount (Integer): the number of times this stack was captured
+about-telemetry-captured-stacks-title = { $stackKey } (จำนวนครั้งที่จับ: { $capturedStacksCount })
+# Variables:
+# $lateWriteCount (Integer): the number of the late writes
+about-telemetry-late-writes-title = การเขียนภายหลัง #{ $lateWriteCount }
+about-telemetry-stack-title = สแตก:
+about-telemetry-memory-map-title = ผังหน่วยความจำ:
+about-telemetry-error-fetching-symbols = เกิดข้อผิดพลาดระหว่างการดึงข้อมูลสัญลักษณ์ ตรวจสอบว่าคุณเชื่อมต่อกับอินเทอร์เน็ตอยู่แล้วลองใหม่อีกครั้ง
+about-telemetry-time-stamp-header = บันทึกเวลา
+about-telemetry-category-header = หมวดหมู่
+about-telemetry-method-header = วิธีการ
+about-telemetry-object-header = วัตถุ
+about-telemetry-extra-header = พิเศษ
+about-telemetry-origin-section = Origin Telemetry
+about-telemetry-origin-origin = ที่มา
+about-telemetry-origin-count = จำนวน
+# Variables:
+# $telemetryServerOwner (String): the value of the toolkit.telemetry.server_owner preference. Typically "Mozilla"
+about-telemetry-origins-explanation = <a data-l10n-name="origin-doc-link">Firefox Origin Telemetry</a> เข้ารหัสข้อูลทก่อนที่จะถูกส่งเพื่อให้ { $telemetryServerOwner } สามารถนับจำนวนสิ่งต่าง ๆ ได้ แต่จะไม่ทราบว่ามี { -brand-product-name } ที่ระบุใดมีส่วนร่วมกับการนับนั้น (<a data-l10n-name="prio-blog-link">เรียนรู้เพิ่มเติม</a>)
+# Variables:
+# $process (String): type of process in subsection headers ( e.g. "content", "parent" )
+about-telemetry-process = โปรเซส { $process }
diff --git a/l10n-th/toolkit/toolkit/about/aboutWebrtc.ftl b/l10n-th/toolkit/toolkit/about/aboutWebrtc.ftl
new file mode 100644
index 0000000000..0773779e21
--- /dev/null
+++ b/l10n-th/toolkit/toolkit/about/aboutWebrtc.ftl
@@ -0,0 +1,210 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+
+### Localization for about:webrtc, a troubleshooting and diagnostic page
+### for WebRTC calls. See https://developer.mozilla.org/en-US/docs/Web/API/WebRTC_API.
+
+# The text "WebRTC" is a proper noun and should not be translated.
+about-webrtc-document-title = WebRTC Internals
+# "about:webrtc" is a internal browser URL and should not be
+# translated. This string is used as a title for a file save dialog box.
+about-webrtc-save-page-dialog-title = บันทึก about:webrtc เป็น
+
+## AEC is an abbreviation for Acoustic Echo Cancellation.
+
+about-webrtc-aec-logging-msg-label = การบันทึก AEC
+about-webrtc-aec-logging-off-state-label = เริ่มการบันทึก AEC
+about-webrtc-aec-logging-on-state-label = หยุดการบันทึก AEC
+about-webrtc-aec-logging-on-state-msg = การบันทึก AEC ทำงานอยู่ (พูดกับผู้โทรไม่กี่นาทีแล้วหยุดการจับ)
+
+##
+
+# "PeerConnection" is a proper noun associated with the WebRTC module. "ID" is
+# an abbreviation for Identifier. This string should not normally be translated
+# and is used as a data label.
+about-webrtc-peerconnection-id-label = PeerConnection ID:
+
+## "SDP" is an abbreviation for Session Description Protocol, an IETF standard.
+## See http://wikipedia.org/wiki/Session_Description_Protocol
+
+about-webrtc-sdp-heading = SDP
+about-webrtc-local-sdp-heading = SDP ในเครื่อง
+about-webrtc-local-sdp-heading-offer = SDP ในเครื่อง (ข้อเสนอ)
+about-webrtc-local-sdp-heading-answer = SDP ในเครื่อง (คำตอบ)
+about-webrtc-remote-sdp-heading = SDP ระยะไกล
+about-webrtc-remote-sdp-heading-offer = SDP ระยะไกล (ข้อเสนอ)
+about-webrtc-remote-sdp-heading-answer = SDP ระยะไกล (คำตอบ)
+about-webrtc-sdp-history-heading = ประวัติ SDP
+about-webrtc-sdp-parsing-errors-heading = ข้อผิดพลาดในการแยกวิเคราะห์ SDP
+
+##
+
+# "RTP" is an abbreviation for the Real-time Transport Protocol, an IETF
+# specification, and should not normally be translated. "Stats" is an
+# abbreviation for Statistics.
+about-webrtc-rtp-stats-heading = สถิติ RTP
+
+## "ICE" is an abbreviation for Interactive Connectivity Establishment, which
+## is an IETF protocol, and should not normally be translated.
+
+about-webrtc-ice-state = สถานะ ICE
+# "Stats" is an abbreviation for Statistics.
+about-webrtc-ice-stats-heading = สถิติ ICE
+about-webrtc-ice-restart-count-label = การเริ่มการทำงานใหม่ของ ICE:
+about-webrtc-ice-rollback-count-label = การย้อนกลับของ ICE:
+about-webrtc-ice-pair-bytes-sent = จำนวนไบต์ที่ส่ง:
+about-webrtc-ice-pair-bytes-received = จำนวนไบต์ที่รับ:
+about-webrtc-ice-component-id = ID ส่วนประกอบ
+
+##
+
+
+## "Avg." is an abbreviation for Average. These are used as data labels.
+
+
+##
+
+
+## These adjectives are used to label a line of statistics collected for a peer
+## connection. The data represents either the local or remote end of the
+## connection.
+
+about-webrtc-type-local = ในเครื่อง
+about-webrtc-type-remote = ระยะไกล
+
+##
+
+# This adjective is used to label a table column. Cells in this column contain
+# the localized javascript string representation of "true" or are left blank.
+about-webrtc-nominated = ถูกกำหนด
+# This adjective is used to label a table column. Cells in this column contain
+# the localized javascript string representation of "true" or are left blank.
+# This represents an attribute of an ICE candidate.
+about-webrtc-selected = เลือกแล้ว
+about-webrtc-save-page-label = บันทึกหน้า
+about-webrtc-debug-mode-msg-label = โหมดดีบั๊ก
+about-webrtc-debug-mode-off-state-label = เริ่มโหมดดีบั๊ก
+about-webrtc-debug-mode-on-state-label = หยุดโหมดดีบั๊ก
+about-webrtc-stats-heading = สถิติวาระ
+about-webrtc-stats-clear = ล้างประวัติ
+about-webrtc-log-heading = รายการบันทึกการเชื่อมต่อ
+about-webrtc-log-clear = ล้างรายการบันทึก
+about-webrtc-log-show-msg = แสดงรายการบันทึก
+ .title = คลิกเพื่อขยายส่วนนี้
+about-webrtc-log-hide-msg = ซ่อนรายการบันทึก
+ .title = คลิกเพื่อยุบส่วนนี้
+
+## These are used to display a header for a PeerConnection.
+## Variables:
+## $browser-id (Number) - A numeric id identifying the browser tab for the PeerConnection.
+## $id (String) - A globally unique identifier for the PeerConnection.
+## $url (String) - The url of the site which opened the PeerConnection.
+## $now (Date) - The JavaScript timestamp at the time the report was generated.
+
+about-webrtc-connection-open = [ { $browser-id } | { $id } ] { $url } { $now }
+about-webrtc-connection-closed = [ { $browser-id } | { $id } ] { $url } (ปิดแล้ว) { $now }
+
+##
+
+about-webrtc-local-candidate = แคนดิเดตภายใน
+about-webrtc-remote-candidate = แคนดิเดตระยะไกล
+about-webrtc-raw-candidates-heading = แคนดิเดตดิบทั้งหมด
+about-webrtc-raw-local-candidate = แคนดิเดตภายในดิบ
+about-webrtc-raw-remote-candidate = แคนดิเดตระยะไกลดิบ
+about-webrtc-raw-cand-show-msg = แสดงแคนดิเดตดิบ
+ .title = คลิกเพื่อขยายส่วนนี้
+about-webrtc-raw-cand-hide-msg = ซ่อนแคนดิเดตดิบ
+ .title = คลิกเพื่อยุบส่วนนี้
+about-webrtc-priority = ความสำคัญ
+about-webrtc-fold-show-msg = แสดงรายละเอียด
+ .title = คลิกเพื่อขยายส่วนนี้
+about-webrtc-fold-hide-msg = ซ่อนรายละเอียด
+ .title = คลิกเพื่อยุบส่วนนี้
+about-webrtc-decoder-label = ตัวถอดรหัส
+about-webrtc-encoder-label = ตัวเข้ารหัส
+about-webrtc-show-tab-label = แสดงแท็บ
+about-webrtc-width-px = ความกว้าง (px)
+about-webrtc-height-px = ความสูง (px)
+about-webrtc-consecutive-frames = เฟรมต่อเนื่อง
+about-webrtc-time-elapsed = เวลาที่ผ่านไป (วินาที)
+about-webrtc-estimated-framerate = อัตราเฟรมโดยประมาณ
+about-webrtc-rotation-degrees = การหมุน (องศา)
+about-webrtc-first-frame-timestamp = การประทับเวลาการรับข้อมูลเฟรมแรก
+about-webrtc-last-frame-timestamp = การประทับเวลาการรับข้อมูลเฟรมสุดท้าย
+
+## SSRCs are identifiers that represent endpoints in an RTP stream
+
+# This is an SSRC on the local side of the connection that is receiving RTP
+about-webrtc-local-receive-ssrc = SSRC การรับข้อมูลภายใน
+# This is an SSRC on the remote side of the connection that is sending RTP
+about-webrtc-remote-send-ssrc = SSRC การส่งข้อมูลระยะไกล
+
+##
+
+# An option whose value will not be displayed but instead noted as having been
+# provided
+about-webrtc-configuration-element-provided = จัดเตรียมไว้
+# An option whose value will not be displayed but instead noted as having not
+# been provided
+about-webrtc-configuration-element-not-provided = ไม่ได้จัดเตรียมไว้
+# The options set by the user in about:config that could impact a WebRTC call
+about-webrtc-custom-webrtc-configuration-heading = ค่ากำหนด WebRTC ที่ตั้งโดยผู้ใช้
+# Section header for estimated bandwidths of WebRTC media flows
+about-webrtc-bandwidth-stats-heading = แบนด์วิดท์โดยประมาณ
+# The ID of the MediaStreamTrack
+about-webrtc-track-identifier = ตัวระบุแทร็ก
+# The estimated bandwidth available for sending WebRTC media in bytes per second
+about-webrtc-send-bandwidth-bytes-sec = แบนด์วิดท์ที่ส่ง (ไบต์/วินาที)
+# The estimated bandwidth available for receiving WebRTC media in bytes per second
+about-webrtc-receive-bandwidth-bytes-sec = แบนด์วิดท์ที่ได้รับ (ไบต์/วินาที)
+# Maximum number of bytes per second that will be padding zeros at the ends of packets
+about-webrtc-max-padding-bytes-sec = ช่องว่างสูงสุด (ไบต์/วินาที)
+# The amount of time inserted between packets to keep them spaced out
+about-webrtc-pacer-delay-ms = หน่วงเวลาระยะห่าง ms
+# The amount of time it takes for a packet to travel from the local machine to the remote machine,
+# and then have a packet return
+about-webrtc-round-trip-time-ms = RTT ms
+
+## These are paths used for saving the about:webrtc page or log files so
+## they can be attached to bug reports.
+## Variables:
+## $path (String) - The path to which the file is saved.
+
+about-webrtc-save-page-msg = ได้บันทึกหน้าลงใน: { $path }
+about-webrtc-debug-mode-off-state-msg = บันทึกร่องรอยสามารถพบได้ที่: { $path }
+about-webrtc-debug-mode-on-state-msg = โหมดดีบั๊กทำงานอยู่ บันทึกการติดตามอยู่ที่: { $path }
+about-webrtc-aec-logging-off-state-msg = ไฟล์บันทึกที่จับสามารถพบได้ใน: { $path }
+
+##
+
+# Jitter is the variance in the arrival time of packets.
+# See: https://w3c.github.io/webrtc-stats/#dom-rtcreceivedrtpstreamstats-jitter
+# Variables:
+# $jitter (Number) - The jitter.
+about-webrtc-jitter-label = จิทเทอร์ { $jitter }
+# ICE candidates arriving after the remote answer arrives are considered trickled
+# (an attribute of an ICE candidate). These are highlighted in the ICE stats
+# table with light blue background.
+about-webrtc-trickle-caption-msg = แคนดิเดตแบบ Trickled (ที่มาถึงหลังจากคำตอบ) จะถูกเน้นเป็น น้ำเงิน
+
+## "SDP" is an abbreviation for Session Description Protocol, an IETF standard.
+## See http://wikipedia.org/wiki/Session_Description_Protocol
+
+# This is used as a header for local SDP.
+# Variables:
+# $timestamp (Number) - The Unix Epoch time at which the SDP was set.
+about-webrtc-sdp-set-at-timestamp-local = ตั้งค่า SDP ในเครื่อง ที่การประทับเวลา { NUMBER($timestamp, useGrouping: "false") }
+# This is used as a header for remote SDP.
+# Variables:
+# $timestamp (Number) - The Unix Epoch time at which the SDP was set.
+about-webrtc-sdp-set-at-timestamp-remote = ตั้งค่า SDP ระยะไกล ที่การประทับเวลา { NUMBER($timestamp, useGrouping: "false") }
+# This is used as a header for an SDP section contained in two columns allowing for side-by-side comparisons.
+# Variables:
+# $timestamp (Number) - The Unix Epoch time at which the SDP was set.
+# $relative-timestamp (Number) - The timestamp relative to the timestamp of the earliest received SDP.
+about-webrtc-sdp-set-timestamp = ประทับเวลา { NUMBER($timestamp, useGrouping: "false") } (+ { $relative-timestamp } ms)
+
+##
+
diff --git a/l10n-th/toolkit/toolkit/about/abuseReports.ftl b/l10n-th/toolkit/toolkit/about/abuseReports.ftl
new file mode 100644
index 0000000000..4d7bcce3e3
--- /dev/null
+++ b/l10n-th/toolkit/toolkit/about/abuseReports.ftl
@@ -0,0 +1,92 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# Localized string used as the dialog window title (a new behavior locked
+# behind the "extensions.abuseReport.openDialog" preference).
+# "Report" is a noun in this case, "Report for AddonName".
+#
+# Variables:
+# $addon-name (string) - Name of the add-on being reported
+abuse-report-dialog-title = รายงานสำหรับ { $addon-name }
+
+abuse-report-title-extension = รายงานส่วนขยายนี้ไปยัง { -vendor-short-name }
+abuse-report-title-theme = รายงานชุดตกแต่งนี้ไปยัง { -vendor-short-name }
+abuse-report-subtitle = มีปัญหาอะไร?
+
+# Variables:
+# $author-name (string) - Name of the add-on author
+abuse-report-addon-authored-by = โดย <a data-l10n-name="author-name">{ $author-name }</a>
+
+abuse-report-learnmore =
+ ไม่มั่นใจว่าประเด็นอะไรที่จะเลือก?
+ <a data-l10n-name="learnmore-link">เรียนรู้เพิ่มเติมเกี่ยวกับการรายงานส่วนขยายและธีม</a>
+
+abuse-report-submit-description = อธิบายปัญหา (เพิ่มเติม)
+abuse-report-textarea =
+ .placeholder = เราจะสามารถแก้ไขปัญหาได้ง่ายขึ้นหากคุณระบุปัญหาที่เกิดขึ้นให้เราทราบ โปรดอธิบายปัญหาที่คุณพบ ขอบคุณที่ช่วยเรารักษาเว็บให้แข็งแรง
+abuse-report-submit-note =
+ หมายเหตุ: ไม่ต้องรวมข้อมูลส่วนบุคคล (เช่น ชื่อ ที่อยู่อีเมล เบอร์โทรศัพท์ ที่อยู่จริง)
+ { -vendor-short-name } เป็นผู้เก็บบันทึกรายงานนี้ไว้อย่างถาวร
+
+## Panel buttons.
+
+abuse-report-cancel-button = ยกเลิก
+abuse-report-next-button = ถัดไป
+abuse-report-goback-button = ย้อนกลับ
+abuse-report-submit-button = ส่ง
+
+## Message bars descriptions.
+
+
+## Variables:
+## $addon-name (string) - Name of the add-on
+
+abuse-report-messagebar-aborted = รายงานสำหรับ <span data-l10n-name="addon-name">{ $addon-name }</span> ถูกยกเลิก
+abuse-report-messagebar-submitting = ส่งรายงานสำหรับ <span data-l10n-name="addon-name">{ $addon-name }</span>
+abuse-report-messagebar-submitted = ขอบคุณที่ส่งรายงาน คุณต้องการลบ <span data-l10n-name="addon-name">{ $addon-name }</span> ไหม?
+abuse-report-messagebar-submitted-noremove = ขอบคุณที่ส่งรายงาน
+abuse-report-messagebar-removed-extension = ขอบคุณที่ส่งรายงาน คุณได้ลบส่วนขยาย <span data-l10n-name="addon-name">{ $addon-name }</span> แล้ว
+abuse-report-messagebar-removed-theme = ขอบคุณที่ส่งรายงาน เราได้ลบธีม <span data-l10n-name="addon-name">{ $addon-name }</span> แล้ว
+abuse-report-messagebar-error = เกิดข้อผิดพลาดขึ้นขณะส่งรายงานสำหรับ <span data-l10n-name="addon-name">{ $addon-name }</span>
+abuse-report-messagebar-error-recent-submit = รายงานของ <span data-l10n-name="addon-name">{ $addon-name }</span> ไม่สามารถส่งได้เนื่องจากเพิ่งมีรายงานอีกฉบับถูกส่งไปเร็ว ๆ นี้
+
+## Message bars actions.
+
+abuse-report-messagebar-action-remove-extension = ใช่ เอาออก
+abuse-report-messagebar-action-keep-extension = ไม่ เก็บไว้
+abuse-report-messagebar-action-remove-theme = ใช่ เอาออก
+abuse-report-messagebar-action-keep-theme = ไม่ เก็บไว้
+abuse-report-messagebar-action-retry = ลองใหม่
+abuse-report-messagebar-action-cancel = ยกเลิก
+
+## Abuse report reasons (optionally paired with related examples and/or suggestions)
+
+abuse-report-damage-reason-v2 = มันทำให้คอมพิวเตอร์หรือข้อมูลของฉันเสียหาย
+abuse-report-damage-example = ตัวอย่างเช่น: สอดแทรกมัลแวร์หรือขโมยข้อมูล
+
+abuse-report-spam-reason-v2 = มันมีสแปมหรือแทรกโฆษณาที่ไม่พึงประสงค์
+abuse-report-spam-example = ตัวอย่างเช่น: ใส่โฆษณาบนหน้าเว็บ
+
+abuse-report-settings-reason-v2 = มันเปลี่ยนเครื่องมือค้นหา, หน้าแรก, หรือแท็บใหม่ของฉันโดยไม่แจ้งหรือถามฉัน
+abuse-report-settings-suggestions = ก่อนรายงานส่วนขยายนี้ คุณสามารถทดลองเปลี่ยนการตั้งค่าของคุณ:
+abuse-report-settings-suggestions-search = เปลี่ยนการตั้งค่าการค้นหาเริ่มต้นของคุณ
+abuse-report-settings-suggestions-homepage = เปลี่ยนหน้าแรกและแท็บใหม่ของคุณ
+
+abuse-report-deceptive-reason-v2 = มันอ้างว่าเป็นอย่างอื่นที่มันไม่ได้เป็น
+abuse-report-deceptive-example = ตัวอย่างเช่น: คำอธิบายหรือรูปภาพชี้นำไปในทางที่ผิด
+
+abuse-report-broken-reason-extension-v2 = มันไม่ทำงาน, ทำให้เว็บไซต์ล่ม, หรือทำให้ { -brand-product-name } ช้าลง
+abuse-report-broken-reason-theme-v2 = มันไม่ทำงานหรือทำให้การแสดงผลของเบราว์เซอร์เสียหาย
+abuse-report-broken-example = ตัวอย่างเช่น: คุณลักษณะใช้งานได้ช้า ใช้งานได้ยาก หรือใช้งานไม่ได้เลย บางส่วนของเว็บไซต์ไม่โหลดหรือดูผิดปกติ
+abuse-report-broken-suggestions-extension = ดูเหมือนคุณจะระบุบั๊กแล้ว นอกจากคุณจะส่งรายงานที่นี่แล้ว วิธีที่ดีที่สุดเพื่อให้ปัญหาเกี่ยวกับการทำงานได้รับการแก้ไขคือให้ติดต่อนักพัฒนาส่วนขยาย <a data-l10n-name="support-link">เยี่ยมชมเว็บไซต์ของส่วนขยาย</a>เพื่อดูข้อมูลเพิ่มเติมเกี่ยวกับนักพัฒนา
+abuse-report-broken-suggestions-theme = ดูเหมือนคุณจะระบุบั๊กแล้ว นอกจากคุณจะส่งรายงานที่นี่แล้ว วิธีที่ดีที่สุดเพื่อให้ปัญหาเกี่ยวกับการทำงานได้รับการแก้ไขคือให้ติดต่อนักพัฒนาชุดตกแต่ง <a data-l10n-name="support-link">เยี่ยมชมเว็บไซต์ของชุดตกแต่ง</a>เพื่อดูข้อมูลเพิ่มเติมเกี่ยวกับนักพัฒนา
+
+abuse-report-policy-reason-v2 = มันมีเนื้อหาที่แสดงความเกลียดชัง ความรุนแรง หรือผิดกฎหมาย
+abuse-report-policy-suggestions = หมายเหตุ: ประเด็นด้านลิขสิทธิ์และเครื่องหมายการค้าจะต้องถูกรายงานในกระบวนการแยกจากนี้ <a data-l10n-name="report-infringement-link">ใช้คำแนะนำเหล่านี้</a>ในการรายงานปัญหา
+
+abuse-report-unwanted-reason-v2 = ฉันไม่เคยต้องการมันและไม่รู้จะกำจัดมันได้อย่างไร
+abuse-report-unwanted-example = ตัวอย่าง: แอปพลิเคชันติดตั้งส่วนขยายนี้โดยที่ฉันไม่อนุญาต
+
+abuse-report-other-reason = อื่น ๆ
+
diff --git a/l10n-th/toolkit/toolkit/about/certviewer.ftl b/l10n-th/toolkit/toolkit/about/certviewer.ftl
new file mode 100644
index 0000000000..2c96da802b
--- /dev/null
+++ b/l10n-th/toolkit/toolkit/about/certviewer.ftl
@@ -0,0 +1,120 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+certificate-viewer-certificate-section-title = ใบรับรอง
+
+## Error messages
+
+certificate-viewer-error-message = เราไม่พบข้อมูลใบรับรองหรือใบรับรองเสียหาย โปรดลองอีกครั้ง
+certificate-viewer-error-title = มีบางอย่างผิดพลาด
+
+## Certificate information labels
+
+certificate-viewer-algorithm = อัลกอริทึม
+certificate-viewer-certificate-authority = ผู้ออกใบรับรอง
+certificate-viewer-cipher-suite = ชุดการเข้ารหัส
+certificate-viewer-common-name = ชื่อทั่วไป
+certificate-viewer-email-address = ที่อยู่อีเมล
+# Variables:
+# $firstCertName (String) - Common Name for the displayed certificate
+certificate-viewer-tab-title = ใบรับรองสำหรับ { $firstCertName }
+# Inc. means Incorporated, e.g GitHub is incorporated in Delaware
+certificate-viewer-inc-country = ประเทศที่จดทะเบียน
+certificate-viewer-country = ประเทศ
+certificate-viewer-curve = เส้นโค้ง
+certificate-viewer-distribution-point = จุดแจกจ่าย
+certificate-viewer-dns-name = ชื่อ DNS
+certificate-viewer-ip-address = ที่อยู่ IP
+certificate-viewer-other-name = ชื่ออื่น
+certificate-viewer-exponent = เลขชี้กำลัง
+certificate-viewer-id = ID
+certificate-viewer-key-exchange-group = กลุ่มการแลกเปลี่ยนคีย์
+certificate-viewer-key-id = ID คีย์
+certificate-viewer-key-size = ขนาดคีย์
+# Inc. means Incorporated, e.g GitHub is incorporated in Delaware
+certificate-viewer-inc-locality = สถานที่ที่ก่อตั้ง
+certificate-viewer-locality = สถานที่
+certificate-viewer-location = ตำแหน่งที่ตั้ง
+certificate-viewer-logid = ID รายการบันทึก
+certificate-viewer-method = วิธีการ
+certificate-viewer-modulus = โมดูลัส
+certificate-viewer-name = ชื่อ
+certificate-viewer-not-after = ก่อน
+certificate-viewer-not-before = หลัง
+certificate-viewer-organization = องค์กร
+certificate-viewer-organizational-unit = หน่วยงาน
+certificate-viewer-policy = นโยบาย
+certificate-viewer-protocol = โปรโตคอล
+certificate-viewer-public-value = ค่าสาธารณะ
+certificate-viewer-purposes = จุดประสงค์
+certificate-viewer-qualifier = ตัวบ่งคุณลักษณะ
+certificate-viewer-qualifiers = ตัวบ่งคุณลักษณะ
+certificate-viewer-required = จำเป็น
+certificate-viewer-unsupported = &lt;ไม่รองรับ&gt;
+# Inc. means Incorporated, e.g GitHub is incorporated in Delaware
+certificate-viewer-inc-state-province = รัฐ/จังหวัดที่จดทะเบียน
+certificate-viewer-state-province = รัฐ/จังหวัด
+certificate-viewer-sha-1 = SHA-1
+certificate-viewer-sha-256 = SHA-256
+certificate-viewer-serial-number = หมายเลขอนุกรม
+certificate-viewer-signature-algorithm = อัลกอริธึมลายเซ็น
+certificate-viewer-signature-scheme = แบบแผนลายเซ็น
+certificate-viewer-timestamp = การประทับเวลา
+certificate-viewer-value = ค่า
+certificate-viewer-version = รุ่น
+certificate-viewer-business-category = หมวดหมู่ธุรกิจ
+certificate-viewer-subject-name = ชื่อหัวเรื่อง
+certificate-viewer-issuer-name = ชื่อผู้ออก
+certificate-viewer-validity = ความถูกต้อง
+certificate-viewer-subject-alt-names = ชื่อหัวเรื่องแสดงแทน
+certificate-viewer-public-key-info = ข้อมูลคีย์สาธารณะ
+certificate-viewer-miscellaneous = เบ็ดเตล็ด
+certificate-viewer-fingerprints = ลายนิ้วมือ
+certificate-viewer-basic-constraints = ข้อจำกัดพื้นฐาน
+certificate-viewer-key-usages = การใช้คีย์
+certificate-viewer-extended-key-usages = การใช้คีย์แบบขยาย
+certificate-viewer-ocsp-stapling = OCSP Stapling
+certificate-viewer-subject-key-id = ID คีย์หัวเรื่อง
+certificate-viewer-authority-key-id = ID คีย์ของผู้อนุมัติ
+certificate-viewer-authority-info-aia = ข้อมูลผู้อนุมัติ (AIA)
+certificate-viewer-certificate-policies = นโยบายใบรับรอง
+certificate-viewer-embedded-scts = SCT ที่ฝัง
+certificate-viewer-crl-endpoints = ปลายทาง CRL
+# This message is used as a row header in the Miscellaneous section.
+# The associated data cell contains links to download the certificate.
+certificate-viewer-download = ดาวน์โหลด
+# This message is used to replace boolean values (true/false) in several certificate fields, e.g. Certificate Authority
+# Variables:
+# $boolean (String) - true/false value for the specific field
+certificate-viewer-boolean =
+ { $boolean ->
+ [true] ใช่
+ *[false] ไม่
+ }
+
+## Variables:
+## $fileName (String) - The file name to save the PEM data in, derived from the common name from the certificate being displayed.
+
+certificate-viewer-download-pem = PEM (cert)
+ .download = { $fileName }.pem
+certificate-viewer-download-pem-chain = PEM (chain)
+ .download = { $fileName }-chain.pem
+# The title attribute for Critical Extension icon
+certificate-viewer-critical-extension =
+ .title = ส่วนขยายนี้ถูกทำเครื่องหมายว่าสำคัญ ซึ่งหมายความว่าไคลเอนต์จะต้องปฏิเสธใบรับรองหากพวกเขาไม่เข้าใจดีพอ
+certificate-viewer-export = ส่งออก
+ .download = { $fileName }.pem
+
+##
+
+# Label for a tab where we haven't found a better label:
+certificate-viewer-unknown-group-label = (ไม่ทราบ)
+
+## Labels for tabs displayed in stand-alone about:certificate page
+
+certificate-viewer-tab-mine = ใบรับรองของคุณ
+certificate-viewer-tab-people = ผู้คน
+certificate-viewer-tab-servers = เซิร์ฟเวอร์
+certificate-viewer-tab-ca = หน่วยงาน
+certificate-viewer-tab-unkonwn = ไม่ทราบ
diff --git a/l10n-th/toolkit/toolkit/about/config.ftl b/l10n-th/toolkit/toolkit/about/config.ftl
new file mode 100644
index 0000000000..7f4b9cb23e
--- /dev/null
+++ b/l10n-th/toolkit/toolkit/about/config.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/l10n-th/toolkit/toolkit/about/url-classifier.ftl b/l10n-th/toolkit/toolkit/about/url-classifier.ftl
new file mode 100644
index 0000000000..b95cce1e02
--- /dev/null
+++ b/l10n-th/toolkit/toolkit/about/url-classifier.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/.
+
+url-classifier-title = ข้อมูลตัวจําแนก URL
+url-classifier-search-title = ค้นหา
+url-classifier-search-result-title = ผลลัพธ์
+url-classifier-search-result-uri = URI: { $uri }
+url-classifier-search-result-list = รายการตาราง: { $list }
+url-classifier-search-input = URL
+url-classifier-search-error-invalid-url = URL ไม่ถูกต้อง
+url-classifier-search-error-no-features = ไม่ได้เลือกคุณลักษณะใด
+url-classifier-search-btn = เริ่มการค้นหา
+url-classifier-search-features = คุณลักษณะ
+url-classifier-search-listType = ชนิดรายการ
+url-classifier-provider-title = ผู้ให้บริการ
+url-classifier-provider = ผู้ให้บริการ
+url-classifier-provider-last-update-time = เวลาที่อัปเดตล่าสุด
+url-classifier-provider-next-update-time = เวลาที่อัปเดตถัดไป
+url-classifier-provider-back-off-time = เวลาแบ็กออฟ
+url-classifier-provider-last-update-status = สถานะการอัปเดตล่าสุด
+url-classifier-provider-update-btn = อัปเดต
+url-classifier-cache-title = แคช
+url-classifier-cache-refresh-btn = เรียกใหม่
+url-classifier-cache-clear-btn = ล้าง
+url-classifier-cache-table-name = ชื่อตาราง
+url-classifier-cache-ncache-entries = จำนวนรายการแคชค่าลบ
+url-classifier-cache-pcache-entries = จำนวนรายการแคชค่าบวก
+url-classifier-cache-show-entries = แสดงรายการ
+url-classifier-cache-entries = รายการแคช
+url-classifier-cache-prefix = คำนำหน้า
+url-classifier-cache-ncache-expiry = วันหมดอายุแคชค่าลบ
+url-classifier-cache-fullhash = แฮชแบบเต็ม
+url-classifier-cache-pcache-expiry = วันหมดอายุแคชค่าบวก
+url-classifier-debug-title = ดีบั๊ก
+url-classifier-debug-module-btn = ตั้งโมดูลรายการบันทึก
+url-classifier-debug-file-btn = ตั้งไฟล์รายการบันทึก
+url-classifier-debug-js-log-chk = ตั้งรายการบันทึก JS
+url-classifier-debug-sb-modules = โมดูลรายการบันทึกการท่องเว็บแบบปลอดภัย
+url-classifier-debug-modules = โมดูลรายการบันทึกปัจจุบัน
+url-classifier-debug-sbjs-modules = รายการบันทึก JS การท่องเว็บแบบปลอดภัย
+url-classifier-debug-file = ไฟล์รายการบันทึกปัจจุบัน
+
+url-classifier-trigger-update = กระตุ้นการอัปเดต
+url-classifier-not-available = ไม่มี
+url-classifier-disable-sbjs-log = ปิดใช้งานรายการบันทึก JS การท่องเว็บแบบปลอดภัย
+url-classifier-enable-sbjs-log = เปิดใช้งานรายการบันทึก JS การท่องเว็บแบบปลอดภัย
+url-classifier-enabled = เปิดใช้งานอยู่
+url-classifier-disabled = ปิดใช้งานอยู่
+url-classifier-updating = กำลังอัปเดต
+url-classifier-cannot-update = ไม่สามารถอัปเดต
+url-classifier-success = สำเร็จ
+url-classifier-update-error = ข้อผิดพลาดการอัปเดต ({ $error })
+url-classifier-download-error = ข้อผิดพลาดการดาวน์โหลด ({ $error })
diff --git a/l10n-th/toolkit/toolkit/extensions/blocklist.ftl b/l10n-th/toolkit/toolkit/extensions/blocklist.ftl
new file mode 100644
index 0000000000..2f582555ca
--- /dev/null
+++ b/l10n-th/toolkit/toolkit/extensions/blocklist.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
+
+blocklist-window =
+ .title = ส่วนเสริมที่อาจก่อให้เกิดปัญหา
+ .style = width: 45em; height: 30em
+blocklist-accept =
+ .label = เริ่มการทำงาน { -brand-short-name } ใหม่
+ .accesskey = ร
+
+blocklist-label-summary = { -brand-short-name } ได้ตรวจสอบแล้วว่าส่วนเสริมดังกล่าวอาจจะสร้างปัญหาด้านเสถียรภาพและความปลอดภัย:
+blocklist-soft-and-hard = ส่วนเสริมมีความเสี่ยงสูงที่จะก่อให้เกิดปัญหาด้านเสถียรภาพหรือความปลอดภัยและถูกปิดกั้น ส่วนเสริมอื่น ๆ มีความเสี่ยงต่ำกว่า แต่ก็แนะนำอย่างยิ่งให้คุณเริ่มการทำงานใหม่พร้อมปิดใช้งานส่วนเสริม
+blocklist-hard-blocked = ส่วนเสริมเหล่านี้มีความเสี่ยงสูงที่จะก่อให้เกิดปัญหาด้านเสถียรภาพหรือความปลอดภัยและถูกปิดกั้น แต่จำเป็นต้องเริ่มการทำงานใหม่เพื่อปิดใช้งานส่วนเสริมโดยสมบูรณ์
+blocklist-soft-blocked = เพื่อปกป้องคุณ จึงแนะนำเป็นอย่างสูงให้คุณเริ่มการทำงานใหม่พร้อมปิดใช้งานส่วนเสริมเหล่านี้
+blocklist-more-information =
+ .value = ข้อมูลเพิ่มเติม
+
+blocklist-blocked =
+ .label = ปิดกั้นแล้ว
+blocklist-checkbox =
+ .label = ปิดใช้งาน
diff --git a/l10n-th/toolkit/toolkit/featuregates/features.ftl b/l10n-th/toolkit/toolkit/featuregates/features.ftl
new file mode 100644
index 0000000000..aa97977e2b
--- /dev/null
+++ b/l10n-th/toolkit/toolkit/featuregates/features.ftl
@@ -0,0 +1,103 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# The title of the experiment should be kept in English as it may be referenced
+# by various online articles and is technical in nature.
+experimental-features-css-masonry2 =
+ .label = CSS: Masonry Layout
+experimental-features-css-masonry-description = เปิดใช้งานการรองรับคุณลักษณะ CSS Masonry Layout ทดลอง ดูที่<a data-l10n-name="explainer">ตัวอธิบาย</a>สำหรับคำอธิบายระดับสูงของคุณลักษณะ หากต้องการให้คำติชม โปรดแสดงความคิดเห็นใน<a data-l10n-name="w3c-issue">ปัญหา GitHub นี้</a>หรือ<a data-l10n-name="bug">บั๊กนี้</a>
+# The title of the experiment should be kept in English as it may be referenced
+# by various online articles and is technical in nature.
+experimental-features-web-gpu2 =
+ .label = Web API: WebGPU
+experimental-features-web-gpu-description2 = API ใหม่นี้จัดเตรียมการรองรับการคำนวณและการแสดงผลกราฟิกโดยใช้<a data-l10n-name="wikipedia">หน่วยประมวลผลกราฟิก (GPU)</a> ของอุปกรณ์หรือคอมพิวเตอร์ของผู้ใช้ <a data-l10n-name="spec">ข้อมูลจำเพาะ</a>ยังคงอยู่ระหว่างดำเนินการ ดู <a data-l10n-name="bugzilla">bug 1602129</a> สำหรับรายละเอียดเพิ่มเติม
+# The title of the experiment should be kept in English as it may be referenced
+# by various online articles and is technical in nature.
+experimental-features-media-avif =
+ .label = Media: AVIF
+experimental-features-media-avif-description = เมื่อเปิดใช้งานคุณลักษณะนี้ { -brand-short-name } จะรองรับรูปแบบ AV1 Image File (AVIF) ซึ่งเป็นรูปแบบไฟล์ภาพนิ่งที่ใช้ประโยชน์จากความสามารถของอัลกอริธึมการบีบอัดวิดีโอ AV1 เพื่อลดขนาดภาพ ดูที่ <a data-l10n-name="bugzilla">bug 1443863</a> สำหรับรายละเอียดเพิ่มเติม
+# The title of the experiment should be kept in English as it may be referenced
+# by various online articles and is technical in nature.
+experimental-features-web-api-inputmode =
+ .label = Web API: inputmode
+# "inputmode" and "contenteditable" are technical terms and shouldn't be translated.
+experimental-features-web-api-inputmode-description = การใช้งานแอตทริบิวต์ส่วนกลาง <a data-l10n-name="mdn-inputmode">inputmode</a> ของเราได้รับการอัปเดตตาม<a data-l10n-name="whatwg">ข้อกำหนด WHATWG</a> แต่เรายังต้องทำการเปลี่ยนแปลงอื่น ๆ ด้วย เช่น ทำให้พร้อมใช้งานในเนื้อหา contenteditable ดู <a data-l10n-name="bugzilla">bug 1205133</a> สำหรับรายละเอียดเพิ่มเติม
+# The title of the experiment should be kept in English as it may be referenced
+# by various online articles and is technical in nature.
+experimental-features-web-api-link-preload =
+ .label = Web API: <link rel="preload">
+# Do not translate "rel", "preload" or "link" here, as they are all HTML spec
+# values that do not get translated.
+experimental-features-web-api-link-preload-description = แอตทริบิวต์ <a data-l10n-name="rel">rel</a> ที่มีค่า <code>"preload"</code> บนองค์ประกอบ <a data-l10n-name="link">&lt;link&gt;</a> มีวัตถุประสงค์เพื่อช่วยเพิ่มประสิทธิภาพโดยให้คุณดาวน์โหลดทรัพยากรได้เร็วขึ้นในวงจรชีวิตของหน้าเพื่อให้แน่ใจว่าพร้อมใช้งานเร็วขึ้นและมีโอกาสน้อยที่จะปิดกั้นการแสดงผลหน้า อ่าน <a data-l10n-name="readmore">“Preloading content with <code>rel="preload"</code>”</a> หรือดู <a data-l10n-name="bugzilla">bug 1583604</a> สำหรับรายละเอียดเพิ่มเติม
+# The title of the experiment should be kept in English as it may be referenced
+# by various online articles and is technical in nature.
+experimental-features-css-focus-visible =
+ .label = CSS: Pseudo-class: :focus-visible
+experimental-features-css-focus-visible-description = อนุญาตให้นำสไตล์การโฟกัสไปใช้กับองค์ประกอบต่าง ๆ เช่น ปุ่ม และส่วนควบคุมฟอร์ม ได้เฉพาะเมื่อโฟกัสโดยใช้แป้นพิมพ์ (เช่น เมื่อสลับองค์ประกอบไปมาโดยใช้แป้น Tab) ไม่ใช่เมื่อโฟกัสโดยใช้เมาส์หรืออุปกรณ์ชี้ตำแหน่งอื่น ๆ ดู <a data-l10n-name="bugzilla">bug 1617600</a> สำหรับรายละเอียดเพิ่มเติม
+# The title of the experiment should be kept in English as it may be referenced
+# by various online articles and is technical in nature.
+experimental-features-web-api-beforeinput =
+ .label = Web API: beforeinput Event
+# The terms "beforeinput", "input", "textarea", and "contenteditable" are technical terms
+# and shouldn't be translated.
+experimental-features-web-api-beforeinput-description = เหตุการณ์ <a data-l10n-name="mdn-beforeinput">beforeinput</a> ส่วนกลางจะเริ่มทำงานบนองค์ประกอบ <a data-l10n-name="mdn-input">&lt;input&gt;</a> และ <a data-l10n-name="mdn-textarea">&lt;textarea&gt;</a> หรือองค์ประกอบใด ๆ ที่เปิดใช้งานแอตทริบิวต์ <a data-l10n-name="mdn-contenteditable">contenteditable</a> ทันทีก่อนที่ค่าขององค์ประกอบจะเปลี่ยนไป เหตุการณ์นี้ช่วยให้เว็บแอปสามารถเขียนทับลักษณะการทำงานเริ่มต้นของเบราว์เซอร์สำหรับการโต้ตอบกับผู้ใช้ เช่น เว็บแอปสามารถยกเลิกการป้อนข้อมูลของผู้ใช้สำหรับอักขระที่ระบุ หรือสามารถแก้ไขการวางข้อความที่มีลักษณะด้วยลักษณะที่ได้รับอนุมัติเท่านั้น
+# The title of the experiment should be kept in English as it may be referenced
+# by various online articles and is technical in nature.
+experimental-features-css-constructable-stylesheets =
+ .label = CSS: Constructable Stylesheets
+experimental-features-css-constructable-stylesheets-description = การเพิ่มตัวสร้างไปยังอินเทอร์เฟซ <a data-l10n-name="mdn-cssstylesheet">CSSStyleSheet</a> รวมทั้งการเปลี่ยนแปลงที่เกี่ยวข้องต่าง ๆ ทำให้สามารถสร้างสไตล์ชีตใหม่ได้โดยตรงโดยไม่ต้องเพิ่มชีตไปยัง HTML วิธีนี้ทำให้การสร้างสไตล์ชีตที่ใช้ซ้ำได้สำหรับใช้กับ <a data-l10n-name="mdn-shadowdom">Shadow DOM</a> ได้ง่ายขึ้น ดู <a data-l10n-name="bugzilla">bug 1520690</a> สำหรับรายละเอียดเพิ่มเติม
+experimental-features-devtools-color-scheme-simulation =
+ .label = เครื่องมือนักพัฒนา: การจำลองแบบแผนสี
+experimental-features-devtools-color-scheme-simulation-description = เพิ่มตัวเลือกในการจำลองแบบแผนสีที่แตกต่างกันเพื่อให้คุณสามารถทดสอบการสอบถามสื่อ <a data-l10n-name="mdn-preferscolorscheme">@prefers-color-scheme</a> ได้ การใช้การสอบถามสื่อนี้ช่วยให้สไตล์ชีตของคุณตอบสนองว่าผู้ใช้ชอบอินเทอร์เฟซผู้ใช้สีสว่างหรือสีเข้มได้ คุณลักษณะนี้ช่วยให้คุณสามารถทดสอบโค้ดของคุณได้โดยไม่ต้องเปลี่ยนการตั้งค่าในเบราว์เซอร์ (หรือระบบปฏิบัติการ หากเบราว์เซอร์ใช้การตั้งค่าโทนสีตามทั้งระบบ) ดู <a data-l10n-name="bugzilla1">bug 1550804</a> และ <a data-l10n-name="bugzilla2">bug 1137699</a> สำหรับรายละเอียดเพิ่มเติม
+experimental-features-devtools-execution-context-selector =
+ .label = เครื่องมือนักพัฒนา: ตัวเลือกบริบทการดำเนินการ
+experimental-features-devtools-execution-context-selector-description = คุณลักษณะนี้จะแสดงปุ่มบนบรรทัดคำสั่งของคอนโซลที่ให้คุณเปลี่ยนบริบทที่จะเรียกใช้นิพจน์ที่คุณป้อนได้ ดู <a data-l10n-name="bugzilla1">bug 1605154</a> และ <a data-l10n-name="bugzilla2">bug 1605153</a> สำหรับรายละเอียดเพิ่มเติม
+experimental-features-devtools-compatibility-panel =
+ .label = เครื่องมือนักพัฒนา: แผงความเข้ากันได้
+experimental-features-devtools-compatibility-panel-description = แผงด้านข้างสำหรับ “ตัวตรวจสอบเพจ” ที่จะแสดงข้อมูลที่ระบุรายละเอียดเกี่ยวกับสถานะความเข้ากันได้ข้ามเบราว์เซอร์ของแอปของคุณ ดู <a data-l10n-name="bugzilla">bug 1584464</a> สำหรับรายละเอียดเพิ่มเติม
+# Do not translate 'SameSite', 'Lax' and 'None'.
+experimental-features-cookie-samesite-lax-by-default2 =
+ .label = คุกกี้: SameSite=Lax ตามค่าเริ่มต้น
+experimental-features-cookie-samesite-lax-by-default2-description = ถือคุกกี้เป็น “SameSite=Lax” ตามค่าเริ่มต้นหากไม่ได้ระบุแอตทริบิวต์ “SameSite” ใด นักพัฒนาต้องเลือกใช้สถานะปัจจุบันของการใช้งานที่ไม่ถูกจำกัด โดยยืนยันอย่างชัดเจนว่า “SameSite=None”
+# Do not translate 'SameSite', 'Lax' and 'None'.
+experimental-features-cookie-samesite-none-requires-secure2 =
+ .label = คุกกี้: SameSite=None ต้องการแอตทริบิวต์ secure
+experimental-features-cookie-samesite-none-requires-secure2-description = คุกกี้ที่มีแอตทริบิวต์ “SameSite=None” ต้องการแอตทริบิวต์ที่ปลอดภัย คุณลักษณะนี้ต้องการ “คุกกี้: SameSite=Lax ตามค่าเริ่มต้น”
+# about:home should be kept in English, as it refers to the the URI for
+# the internal default home page.
+experimental-features-abouthome-startup-cache =
+ .label = แคชเมื่อเริ่มการทำงานของ about:home
+experimental-features-abouthome-startup-cache-description = แคชสำหรับเอกสาร about:home เริ่มต้นที่จะถูกโหลดตามค่าเริ่มต้นเมื่อเริ่มการทำงาน วัตถุประสงค์ของแคชคือเพื่อปรับปรุงประสิทธิภาพการเริ่มการทำงาน
+experimental-features-print-preview-tab-modal =
+ .label = การออกแบบตัวอย่างก่อนพิมพ์ใหม่
+experimental-features-print-preview-tab-modal-description = แนะนำตัวอย่างก่อนพิมพ์ที่ออกแบบใหม่และทำให้ตัวอย่างก่อนพิมพ์พร้อมใช้งานบน macOS ซึ่งอาจมีปัญหาและไม่รวมการตั้งค่าเกี่ยวกับการพิมพ์ทั้งหมด หากต้องการเข้าถึงการตั้งค่าที่เกี่ยวข้องกับการพิมพ์ทั้งหมด ให้เลือก “พิมพ์โดยใช้กล่องโต้ตอบระบบ…” จากในแผง “พิมพ์”
+# The title of the experiment should be kept in English as it may be referenced
+# by various online articles and is technical in nature.
+experimental-features-cookie-samesite-schemeful =
+ .label = คุกกี้: Schemeful SameSite
+experimental-features-cookie-samesite-schemeful-description = ถือคุกกี้ที่มาจากโดเมนเดียวกัน แต่มีแบบแผนที่แตกต่างกัน (เช่น http://example.com และ https://example.com) เป็นแบบข้ามไซต์แทนที่จะเป็นแบบไซต์เดียวกัน ซึ่งจะปรับปรุงเรื่องความปลอดภัย แต่อาจมีปัญหาได้
+# "Service Worker" is an API name and is usually not translated.
+experimental-features-devtools-serviceworker-debugger-support =
+ .label = เครื่องมือนักพัฒนา: การดีบั๊ก Service Worker
+# "Service Worker" is an API name and is usually not translated.
+experimental-features-devtools-serviceworker-debugger-support-description = เปิดใช้งานการสนับสนุนแบบทดลองสำหรับ Service Worker ในแผง "ตัวดีบั๊ก" คุณลักษณะนี้อาจทำให้เครื่องมือนักพัฒนาทำงานช้าลงและเพิ่มการใช้หน่วยความจำ
+# WebRTC global mute toggle controls
+experimental-features-webrtc-global-mute-toggles =
+ .label = WebRTC Global Mute Toggles
+experimental-features-webrtc-global-mute-toggles-description = เพิ่มตัวควบคุมลงในตัวบ่งชี้การใช้ร่วมกันส่วนกลางของ WebRTC ซึ่งทำให้ผู้ใช้สามารถปิดเสียงไมโครโฟนและฟีดกล้องแบบส่วนกลางได้
+# JS JIT Warp project
+experimental-features-js-warp =
+ .label = JavaScript JIT: Warp
+experimental-features-js-warp-description = เปิดใช้งาน Warp ซึ่งเป็นโครงการในการปรับปรุงประสิทธิภาพของ JavaScript และการใช้หน่วยความจำ
+# Fission is the name of the feature and should not be translated.
+experimental-features-fission =
+ .label = Fission (การแยกไซต์)
+experimental-features-fission-description = Fission (การแยกไซต์) เป็นคุณลักษณะทดลองใน { -brand-short-name } เพื่อเพิ่มการป้องกันอีกชั้นจากบั๊กความปลอดภัย Fission จะทำให้เว็บไซต์ที่เป็นอันตรายสามารถเข้าถึงข้อมูลจากหน้าอื่น ๆ ที่คุณเยี่ยมชมอยู่ได้ยากขึ้นโดยการแยกไซต์แต่ละไซต์เป็นกระบวนการที่แยกต่างหาก คุณลักษณะนี้ถือเป็นการเปลี่ยนแปลงด้านสถาปัตยกรรมครั้งใหญ่ใน { -brand-short-name } และเราขอบคุณที่ทดสอบและรายงานปัญหาที่คุณพบ สำหรับรายละเอียด ดูที่<a data-l10n-name="wiki">วิกิ</a>
+# Support for having multiple Picture-in-Picture windows open simultaneously
+experimental-features-multi-pip =
+ .label = การรองรับภาพที่เล่นควบคู่หลายภาพ
+experimental-features-multi-pip-description = การรองรับแบบทดลองสำหรับอนุญาตให้เปิดหน้าต่างภาพที่เล่นควบคู่ได้พร้อมกันหลายภาพ
+experimental-features-http3 =
+ .label = โปรโตคอล HTTP/3
+experimental-features-http3-description = การรองรับแบบทดลองสำหรับโปรโตคอล HTTP/3
diff --git a/l10n-th/toolkit/toolkit/global/createProfileWizard.ftl b/l10n-th/toolkit/toolkit/global/createProfileWizard.ftl
new file mode 100644
index 0000000000..eb00331d66
--- /dev/null
+++ b/l10n-th/toolkit/toolkit/global/createProfileWizard.ftl
@@ -0,0 +1,53 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+create-profile-window =
+ .title = ตัวช่วยสร้างโปรไฟล์
+ .style = width: 45em; height: 32em;
+
+## First wizard page
+
+create-profile-first-page-header =
+ { PLATFORM() ->
+ [macos] หน้าแนะนำ
+ *[other] ยินดีต้อนรับสู่ { create-profile-window.title }
+ }
+
+profile-creation-explanation-1 = { -brand-short-name } จัดเก็บข้อมูลเกี่ยวกับการตั้งค่าและค่ากำหนดของคุณในโปรไฟล์ส่วนบุคคลของคุณ
+
+profile-creation-explanation-2 = หากคุณกำลังใช้สำเนานี้ของ { -brand-short-name } ร่วมกับผู้ใช้อื่น ๆ คุณสามารถใช้โปรไฟล์เพื่อเก็บข้อมูลของผู้ใช้แต่ละคนแยกกัน เพื่อทำสิ่งนี้ ผู้ใช้แต่ละคนควรสร้างโปรไฟล์ของตนเอง
+
+profile-creation-explanation-3 = หากคุณเป็นเพียงคนเดียวที่ใช้สำเนานี้ของ { -brand-short-name } คุณต้องมีอย่างน้อยหนึ่งโปรไฟล์ หากคุณต้องการ คุณสามารถสร้างโปรไฟล์หลายชุดสำหรับคุณเองเพื่อจัดเก็บชุดของการตั้งค่าและค่ากำหนดที่ต่างกัน ตัวอย่างเช่น คุณอาจต้องการมีโปรไฟล์แยกสำหรับการใช้งานทางธุรกิจและส่วนบุคคล
+
+profile-creation-explanation-4 =
+ { PLATFORM() ->
+ [macos] เพื่อเริ่มสร้างโปรไฟล์ของคุณ คลิก ดำเนินการต่อ
+ *[other] เพื่อเริ่มสร้างโปรไฟล์ของคุณ คลิก ถัดไป
+ }
+
+## Second wizard page
+
+create-profile-last-page-header =
+ { PLATFORM() ->
+ [macos] หน้าสรุป
+ *[other] เสร็จสิ้นการ { create-profile-window.title }
+ }
+
+profile-creation-intro = หากคุณสร้างหลายโปรไฟล์ คุณสามารถแยกแยะโปรไฟล์ได้โดยชื่อโปรไฟล์ คุณอาจใช้ชื่อที่ให้มานี้หรือใช้ชื่อของคุณเอง
+
+profile-prompt = ป้อนชื่อโปรไฟล์ใหม่:
+ .accesskey = ป
+
+profile-default-name =
+ .value = ผู้ใช้เริ่มต้น
+
+profile-directory-explanation = การตั้งค่า, ค่ากำหนด และข้อมูลผู้ใช้ที่เกี่ยวข้องอื่น ๆ จะถูกจัดเก็บไว้ใน:
+
+create-profile-choose-folder =
+ .label = เลือกโฟลเดอร์…
+ .accesskey = ล
+
+create-profile-use-default =
+ .label = ใช้โฟลเดอร์เริ่มต้น
+ .accesskey = ช
diff --git a/l10n-th/toolkit/toolkit/global/handlerDialog.ftl b/l10n-th/toolkit/toolkit/global/handlerDialog.ftl
new file mode 100644
index 0000000000..9ed5f1e030
--- /dev/null
+++ b/l10n-th/toolkit/toolkit/global/handlerDialog.ftl
@@ -0,0 +1,69 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# Please keep the emphasis around the hostname and scheme (ie the
+# `<strong>` HTML tags). Please also keep the hostname as close to the start
+# of the sentence as your language's grammar allows.
+#
+# Variables:
+# $host - the hostname that is initiating the request
+# $scheme - the type of link that's being opened.
+handler-dialog-host = <strong>{ $host }</strong> ต้องการเปิดลิงก์ <strong>{ $scheme }</strong>
+
+## Permission Dialog
+## Variables:
+## $host - the hostname that is initiating the request
+## $scheme - the type of link that's being opened.
+## $appName - Name of the application that will be opened.
+
+permission-dialog-description = อนุญาตให้ไซต์นี้เปิดลิงก์ { $scheme } หรือไม่
+permission-dialog-description-file = อนุญาตให้ไฟล์นี้เปิดลิงก์ { $scheme } หรือไม่
+permission-dialog-description-host = อนุญาตให้ { $host } เปิดลิงก์ { $scheme } หรือไม่
+permission-dialog-description-app = อนุญาตให้ไซต์นี้เปิดลิงก์ { $scheme } ด้วย { $appName } หรือไม่
+permission-dialog-description-host-app = อนุญาตให้ { $host } เปิดลิงก์ { $scheme } ด้วย { $appName } หรือไม่
+permission-dialog-description-file-app = อนุญาตให้ไฟล์นี้เปิดลิงก์ { $scheme } ด้วย { $appName } หรือไม่
+
+## Please keep the emphasis around the hostname and scheme (ie the
+## `<strong>` HTML tags). Please also keep the hostname as close to the start
+## of the sentence as your language's grammar allows.
+
+permission-dialog-remember = อนุญาตให้ <strong>{ $host }</strong> เปิดลิงก์ <strong>{ $scheme }</strong> เสมอ
+permission-dialog-remember-file = อนุญาตให้ไฟล์นี้เปิดลิงก์ <strong>{ $scheme }</strong> เสมอ
+
+##
+
+permission-dialog-btn-open-link =
+ .label = เปิดลิงก์
+ .accessKey = O
+permission-dialog-btn-choose-app =
+ .label = เลือกแอปพลิเคชัน
+ .accessKey = A
+permission-dialog-unset-description = คุณจะต้องเลือกแอปพลิเคชัน
+permission-dialog-set-change-app-link = เลือกแอปพลิเคชันอื่น
+
+## Chooser dialog
+## Variables:
+## $scheme - the type of link that's being opened.
+
+chooser-window =
+ .title = เลือกแอปพลิเคชัน
+ .style = min-width: 26em; min-height: 26em;
+chooser-dialog =
+ .buttonlabelaccept = เปิดลิงก์
+ .buttonaccesskeyaccept = O
+chooser-dialog-description = เลือกแอปพลิเคชันเพื่อเปิดลิงก์ { $scheme }
+# Please keep the emphasis around the scheme (ie the `<strong>` HTML tags).
+chooser-dialog-remember = ใช้แอปพลิเคชันนี้เพื่อเปิดลิงก์ <strong>{ $scheme }</strong> เสมอ
+chooser-dialog-remember-extra =
+ { PLATFORM() ->
+ [windows] คุณสามารถเปลี่ยนการตั้งค่านี้ได้ในตัวเลือกของ { -brand-short-name }
+ *[other] คุณสามารถเปลี่ยนการตั้งค่านี้ได้ในค่ากำหนดของ { -brand-short-name }
+ }
+choose-other-app-description = เลือกแอปพลิเคชันอื่น
+choose-app-btn =
+ .label = เลือก…
+ .accessKey = ล
+choose-other-app-window-title = แอปพลิเคชันอื่น…
+# Displayed under the name of a protocol handler in the Launch Application dialog.
+choose-dialog-privatebrowsing-disabled = ถูกปิดใช้งานในหน้าต่างส่วนตัว
diff --git a/l10n-th/toolkit/toolkit/global/processTypes.ftl b/l10n-th/toolkit/toolkit/global/processTypes.ftl
new file mode 100644
index 0000000000..d845087a50
--- /dev/null
+++ b/l10n-th/toolkit/toolkit/global/processTypes.ftl
@@ -0,0 +1,36 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+process-type-web = เนื้อหาเว็บ
+
+# process used to run privileged about pages,
+# such as about:home
+process-type-privilegedabout = สิทธิพิเศษเกี่ยวกับ
+
+# process used to run privileged mozilla pages,
+# such as accounts.firefox.com
+process-type-privilegedmozilla = เนื้อหา Mozilla ที่มีสิทธิ
+
+process-type-extension = ส่วนขยาย
+
+# process used to open file:// URLs
+process-type-file = ไฟล์ในเครื่อง
+
+# process used to isolate webpages that requested special
+# permission to allocate large amounts of memory
+process-type-weblargeallocation = การจัดสรรขนาดใหญ่
+
+# process used to isolate a webpage from other web pages
+# to improve security
+process-type-webisolated = เนื้อหาเว็บที่ถูกคัดแยก
+
+# process used to communicate with the GPU for
+# graphics acceleration
+process-type-gpu = GPU
+
+# process used to perform network operations
+process-type-socket = ซ็อกเก็ต
+
+# process preallocated; may change to other types
+process-type-prealloc = จัดสรรไว้ล่วงหน้า
diff --git a/l10n-th/toolkit/toolkit/global/profileDowngrade.ftl b/l10n-th/toolkit/toolkit/global/profileDowngrade.ftl
new file mode 100644
index 0000000000..78bcff59ac
--- /dev/null
+++ b/l10n-th/toolkit/toolkit/global/profileDowngrade.ftl
@@ -0,0 +1,20 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+profiledowngrade-window =
+ .title = คุณได้เรียกใช้ { -brand-product-name } รุ่นเก่า
+ .style = width: 490px;
+
+profiledowngrade-window-create =
+ .label = สร้างโปรไฟล์ใหม่
+
+profiledowngrade-sync = การใช้ { -brand-product-name } รุ่นเก่าอาจทำให้ที่คั่นหน้าและประวัติการท่องเว็บที่บันทึกไว้ในโปรไฟล์ { -brand-product-name } ที่มีอยู่เสียหาย เพื่อปกป้องข้อมูลของคุณ ให้สร้างโปรไฟล์ใหม่สำหรับการติดตั้ง { -brand-short-name } นี้ คุณสามารถลงชื่อเข้าใช้ด้วย{ -fxaccount-brand-name } เพื่อซิงค์ที่คั่นหน้าและประวัติการท่องเว็บของคุณข้ามโปรไฟล์ได้
+profiledowngrade-nosync = การใช้ { -brand-product-name } รุ่นเก่าอาจทำให้ที่คั่นหน้าและประวัติการท่องเว็บที่บันทึกไว้ในโปรไฟล์ { -brand-product-name } ที่มีอยู่เสียหาย เพื่อปกป้องข้อมูลของคุณ ให้สร้างโปรไฟล์ใหม่สำหรับการติดตั้ง { -brand-short-name } นี้
+
+profiledowngrade-quit =
+ .label =
+ { PLATFORM() ->
+ [windows] ออก
+ *[other] ออก
+ }
diff --git a/l10n-th/toolkit/toolkit/global/profileSelection.ftl b/l10n-th/toolkit/toolkit/global/profileSelection.ftl
new file mode 100644
index 0000000000..2759e749cb
--- /dev/null
+++ b/l10n-th/toolkit/toolkit/global/profileSelection.ftl
@@ -0,0 +1,36 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+profile-selection-window =
+ .title = { -brand-short-name } - เลือกโปรไฟล์ผู้ใช้
+
+profile-selection-button-accept =
+ .label = เริ่ม { -brand-short-name }
+
+profile-selection-button-cancel =
+ .label = ออก
+
+profile-selection-new-button =
+ .label = สร้างโปรไฟล์…
+ .accesskey = ส
+
+profile-selection-rename-button =
+ .label = เปลี่ยนชื่อโปรไฟล์…
+ .accesskey = ป
+
+profile-selection-delete-button =
+ .label = ลบโปรไฟล์…
+ .accesskey = ล
+
+## Messages used in the profile manager
+
+profile-manager-description = { -brand-short-name } จัดเก็บข้อมูลเกี่ยวกับการตั้งค่า, ค่ากำหนด และข้อมูลผู้ใช้อื่น ๆ ในโปรไฟล์ผู้ใช้ของคุณ
+
+profile-manager-work-offline =
+ .label = ทำงานออฟไลน์
+ .accesskey = ฟ
+
+profile-manager-use-selected =
+ .label = ใช้โปรไฟล์ที่เลือกโดยไม่ต้องถามเมื่อเริ่มการทำงาน
+ .accesskey = ช
diff --git a/l10n-th/toolkit/toolkit/global/resetProfile.ftl b/l10n-th/toolkit/toolkit/global/resetProfile.ftl
new file mode 100644
index 0000000000..92e71787dc
--- /dev/null
+++ b/l10n-th/toolkit/toolkit/global/resetProfile.ftl
@@ -0,0 +1,14 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+refresh-profile-dialog =
+ .title = ล้าง { -brand-short-name } ใหม่
+refresh-profile-dialog-button =
+ .label = ล้าง { -brand-short-name } ใหม่
+refresh-profile-description = เริ่มใหม่เพื่อแก้ไขปัญหาและเรียกคืนประสิทธิภาพ
+refresh-profile-description-details = สิ่งนี้จะ:
+refresh-profile-remove = เอาส่วนเสริมและการปรับแต่งของคุณออก
+refresh-profile-restore = เรียกคืนการตั้งค่าเบราว์เซอร์ของคุณเป็นค่าเริ่มต้น
+refresh-profile = รีดประสิทธิภาพ { -brand-short-name }
+refresh-profile-button = ล้าง { -brand-short-name } ใหม่…
diff --git a/l10n-th/toolkit/toolkit/global/textActions.ftl b/l10n-th/toolkit/toolkit/global/textActions.ftl
new file mode 100644
index 0000000000..0ef2cfdc5f
--- /dev/null
+++ b/l10n-th/toolkit/toolkit/global/textActions.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/.
+
+text-action-undo =
+ .label = เลิกทำ
+ .accesskey = ล
+
+text-action-undo-shortcut =
+ .key = Z
+
+text-action-redo =
+ .label = ทำซ้ำ
+ .accesskey = ท
+
+text-action-redo-shortcut =
+ .key = Y
+
+text-action-cut =
+ .label = ตัด
+ .accesskey = ต
+
+text-action-cut-shortcut =
+ .key = X
+
+text-action-copy =
+ .label = คัดลอก
+ .accesskey = ค
+
+text-action-copy-shortcut =
+ .key = C
+
+text-action-paste =
+ .label = วาง
+ .accesskey = ว
+
+text-action-paste-shortcut =
+ .key = V
+
+text-action-delete =
+ .label = ลบ
+ .accesskey = บ
+
+text-action-select-all =
+ .label = เลือกทั้งหมด
+ .accesskey = ม
+
+text-action-select-all-shortcut =
+ .key = A
diff --git a/l10n-th/toolkit/toolkit/global/unknownContentType.ftl b/l10n-th/toolkit/toolkit/global/unknownContentType.ftl
new file mode 100644
index 0000000000..0577abd4e3
--- /dev/null
+++ b/l10n-th/toolkit/toolkit/global/unknownContentType.ftl
@@ -0,0 +1,13 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+unknowncontenttype-handleinternally =
+ .label = เปิดด้วย { -brand-short-name }
+ .accesskey = ป
+unknowncontenttype-settingschange =
+ .value =
+ { PLATFORM() ->
+ [windows] การตั้งค่าสามารถเปลี่ยนได้ในตัวเลือกของ { -brand-short-name }
+ *[other] การตั้งค่าสามารถเปลี่ยนได้ในค่ากำหนดของ { -brand-short-name }
+ }
diff --git a/l10n-th/toolkit/toolkit/global/videocontrols.ftl b/l10n-th/toolkit/toolkit/global/videocontrols.ftl
new file mode 100644
index 0000000000..69ce10a6f2
--- /dev/null
+++ b/l10n-th/toolkit/toolkit/global/videocontrols.ftl
@@ -0,0 +1,14 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+videocontrols-scrubber =
+ .aria-label = ตําแหน่ง
+# This label is used by screenreaders and other assistive technology to indicate
+# to users how much of the video has been loaded from the network. It will be
+# followed by the percentage of the video that has loaded (e.g. "Loading: 13%").
+videocontrols-buffer-bar-label = กำลังโหลด:
+videocontrols-volume-control =
+ .aria-label = ระดับเสียง
+videocontrols-closed-caption-button =
+ .aria-label = คำบรรยายแบบปิด
diff --git a/l10n-th/toolkit/toolkit/global/wizard.ftl b/l10n-th/toolkit/toolkit/global/wizard.ftl
new file mode 100644
index 0000000000..20cb2823b7
--- /dev/null
+++ b/l10n-th/toolkit/toolkit/global/wizard.ftl
@@ -0,0 +1,37 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+wizard-macos-button-back =
+ .label = ย้อนกลับ
+ .accesskey = ย
+wizard-linux-button-back =
+ .label = ย้อนกลับ
+ .accesskey = ย
+wizard-win-button-back =
+ .label = < ย้อนกลับ
+ .accesskey = ย
+
+wizard-macos-button-next =
+ .label = ดำเนินการต่อ
+ .accesskey = ด
+wizard-linux-button-next =
+ .label = ถัดไป
+ .accesskey = ถ
+wizard-win-button-next =
+ .label = ถัดไป >
+ .accesskey = ถ
+
+wizard-macos-button-finish =
+ .label = เสร็จสิ้น
+wizard-linux-button-finish =
+ .label = เสร็จสิ้น
+wizard-win-button-finish =
+ .label = เสร็จสิ้น
+
+wizard-macos-button-cancel =
+ .label = ยกเลิก
+wizard-linux-button-cancel =
+ .label = ยกเลิก
+wizard-win-button-cancel =
+ .label = ยกเลิก
diff --git a/l10n-th/toolkit/toolkit/intl/languageNames.ftl b/l10n-th/toolkit/toolkit/intl/languageNames.ftl
new file mode 100644
index 0000000000..7e58a93827
--- /dev/null
+++ b/l10n-th/toolkit/toolkit/intl/languageNames.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/.
+
+language-name-aa = อะฟาร์
+language-name-ab = อับคาเซีย
+language-name-ach = อาโชลี
+language-name-ae = อาเวสทาน
+language-name-af = แอฟริกา
+language-name-ak = อาคาน
+language-name-am = อัมฮาริก
+language-name-an = อารากอน
+language-name-ar = อาหรับ
+language-name-as = อัสสัม
+language-name-ast = อัสตูเรีย
+language-name-av = อาวาริก
+language-name-ay = ไอมารา
+language-name-az = อาเซอร์ไบจาน
+language-name-ba = บัชคีร์
+language-name-be = เบลารุส
+language-name-bg = บัลแกเรีย
+language-name-bh = พิหารี
+language-name-bi = บิสลามา
+language-name-bm = บัมบารา
+language-name-bn = เบงกาลี
+language-name-bo = ทิเบต
+language-name-br = เบรตัน
+language-name-bs = บอสเนีย
+language-name-ca = คาตาลัน
+language-name-cak = คักชิเกล
+language-name-ce = เชเชน
+language-name-ch = ชาโมร์โร
+language-name-co = คอร์ซิกา
+language-name-cr = ครี
+language-name-crh = ตาตาร์ไครเมีย
+language-name-cs = เช็ก
+language-name-csb = คาชูเบีย
+language-name-cu = เชอร์ชสลาวิก
+language-name-cv = ชูวัช
+language-name-cy = เวลส์
+language-name-da = เดนมาร์ก
+language-name-de = เยอรมัน
+language-name-dsb = เซอร์เบียตอนล่าง
+language-name-dv = ดิเวฮี
+language-name-dz = ซองคา
+language-name-ee = เอเว
+language-name-el = กรีก
+language-name-en = อังกฤษ
+language-name-eo = เอสเปรันโต
+language-name-es = สเปน
+language-name-et = เอสโตเนีย
+language-name-eu = บาสก์
+language-name-fa = เปอร์เซีย
+language-name-ff = ฟูลา
+language-name-fi = ฟินแลนด์
+language-name-fj = ฟิจิ
+language-name-fo = แฟโร
+language-name-fr = ฝรั่งเศส
+language-name-fur = ฟริยูเลียน
+language-name-fy = ฟรีเซียน
+language-name-ga = ไอริช
+language-name-gd = เกลิกสกอต
+language-name-gl = กาลิเชีย
+language-name-gn = กัวรานี
+language-name-gu = คุชราตี
+language-name-gv = มานซ์
+language-name-ha = เฮาซา
+language-name-haw = ฮาวาย
+language-name-he = ฮิบรู
+language-name-hi = ฮินดี
+language-name-hil = ฮีลีไกโนน
+language-name-ho = ฮิริโมตุ
+language-name-hr = โครเอเชีย
+language-name-hsb = เซอร์เบียตอนบน
+language-name-ht = เฮติ
+language-name-hu = ฮังการี
+language-name-hy = อาร์เมเนีย
+language-name-hz = เฮียโร
+language-name-ia = อินเทอร์ลิงกัว
+language-name-id = อินโดนีเซีย
+language-name-ie = อินเทอร์ลิงก์
+language-name-ig = อิกโบ
+language-name-ii = เสฉวนอี้
+language-name-ik = อินูเปียต
+language-name-io = อิดอ
+language-name-is = ไอซ์แลนด์
+language-name-it = อิตาลี
+language-name-iu = อินุกติตัต
+language-name-ja = ญี่ปุ่น
+language-name-jv = ชวา
+language-name-ka = จอร์เจีย
+language-name-kab = คาบาล์ย
+language-name-kg = กองโก
+language-name-ki = คิคูยู
+language-name-kj = กวนยามา
+language-name-kk = คาซัค
+language-name-kl = กรีนแลนด์
+language-name-km = เขมร
+language-name-kn = กัณณาท
+language-name-ko = เกาหลี
+language-name-kok = กงกณี
+language-name-kr = คานูรี
+language-name-ks = แคชเมียร์
+language-name-ku = เคิร์ด
+language-name-kv = โคมิ
+language-name-kw = คอร์นิช
+language-name-ky = คีร์กิซ
+language-name-la = ละติน
+language-name-lb = ลักเซมเบิร์ก
+language-name-lg = กันดา
+language-name-li = ลิมเบิร์ก
+language-name-lij = ลีคูเลียน
+language-name-ln = ลิงกาลา
+language-name-lo = ลาว
+language-name-lt = ลิทัวเนีย
+language-name-ltg = ลัตกาเล
+language-name-lu = ลูบา-กาตังกา
+language-name-lv = ลัตเวีย
+language-name-mai = ไมถิลี
+language-name-meh = มิซเท็กทลาเซียโกตะวันตกเฉียงใต้
+language-name-mg = มาลากาซี
+language-name-mh = มาร์แชลลีส
+language-name-mi = เมารี
+language-name-mix = มิซเท็กมิซเทเพ็ก
+language-name-mk = มาซิโดเนีย
+language-name-ml = มะละยาลัม
+language-name-mn = มองโกเลีย
+language-name-mr = มาราฐี
+language-name-ms = มาเลย์
+language-name-mt = มอลตา
+language-name-my = พม่า
+language-name-na = นาอูรู
+language-name-nb = นอร์เวย์บ็อกมัล
+language-name-nd = อินเดบีเลเหนือ
+language-name-ne = เนปาล
+language-name-ng = นดองกา
+language-name-nl = ดัตช์
+language-name-nn = นอร์เวย์ไนนอสก์
+language-name-no = นอร์เวย์
+language-name-nr = อินเดบีเลใต้
+language-name-nso = โซโทเหนือ
+language-name-nv = นาวาโจ
+language-name-ny = ชิเชวา
+language-name-oc = อ็อกซิตัน
+language-name-oj = โอจิบเว
+language-name-om = โอโรโม
+language-name-or = โอเดีย
+language-name-os = ออสซีเชีย
+language-name-pa = ปัญจาบี
+language-name-pi = บาลี
+language-name-pl = โปแลนด์
+language-name-ps = พาชตู
+language-name-pt = โปรตุเกส
+language-name-qu = เคชวา
+language-name-rm = เรโต-โรมัน
+language-name-rn = คิรันดี
+language-name-ro = โรมาเนีย
+language-name-ru = รัสเซีย
+language-name-rw = คินยาร์วานดา
+language-name-sa = สันสกฤต
+language-name-sc = ซาดิเนีย
+language-name-sd = สินธิ
+language-name-se = เซมีเหนือ
+language-name-sg = แซงโก
+language-name-si = สิงหล
+language-name-sk = สโลวัก
+language-name-sl = สโลวีเนีย
+language-name-sm = ซามัว
+language-name-sn = โชนา
+language-name-so = โซมาลี
+language-name-son = ซองเฮย์
+language-name-sq = แอลเบเนีย
+language-name-sr = เซอร์เบีย
+language-name-ss = ซีสวาติ
+language-name-st = โซโทใต้
+language-name-su = ซุนดา
+language-name-sv = สวีเดน
+language-name-sw = สวาฮีลี
+language-name-ta = ทมิฬ
+language-name-te = เตลูกู
+language-name-tg = ทาจิก
+language-name-th = ไทย
+language-name-ti = ติกรินยา
+language-name-tig = ทิเกร
+language-name-tk = เติร์กเมนิสถาน
+language-name-tl = ตากาล็อก
+language-name-tlh = คลิงงอน
+language-name-tn = สวานา
+language-name-to = ตองกา
+language-name-tr = ตุรกี
+language-name-trs = ทริคี
+language-name-ts = ซองกา
+language-name-tt = ตาตาร์
+language-name-tw = ทวิ
+language-name-ty = ทาฮิติ
+language-name-ug = อุยกูร์
+language-name-uk = ยูเครน
+language-name-ur = อูรดู
+language-name-uz = อุซเบกิสถาน
+language-name-ve = เวนดา
+language-name-vi = เวียดนาม
+language-name-vo = โวลาปิค
+language-name-wa = วอลลูน
+language-name-wen = เซอร์เบีย
+language-name-wo = โวลอฟ
+language-name-xh = โซซา
+language-name-yi = ยิดดิช
+language-name-yo = โยรูบา
+language-name-za = จ้วง
+language-name-zam = ซาโพเท็กเมียฮวัตลัน
+language-name-zh = จีน
+language-name-zu = ซูลู
diff --git a/l10n-th/toolkit/toolkit/intl/regionNames.ftl b/l10n-th/toolkit/toolkit/intl/regionNames.ftl
new file mode 100644
index 0000000000..0aa539291a
--- /dev/null
+++ b/l10n-th/toolkit/toolkit/intl/regionNames.ftl
@@ -0,0 +1,280 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+
+### Notice: If you're updating this list, you should also
+### update the list in mozIntl.js.
+
+region-name-ad = อันดอร์รา
+region-name-ae = สหรัฐอาหรับเอมิเรตส์
+region-name-af = อัฟกานิสถาน
+region-name-ag = แอนติกาและบาร์บูดา
+region-name-ai = แองกวิลลา
+region-name-al = แอลเบเนีย
+region-name-am = อาร์เมเนีย
+region-name-ao = แองโกลา
+region-name-aq = แอนตาร์กติกา
+region-name-ar = อาร์เจนตินา
+region-name-as = อเมริกันซามัว
+region-name-at = ออสเตรีย
+region-name-au = ออสเตรเลีย
+region-name-aw = อารูบา
+region-name-az = อาเซอร์ไบจาน
+region-name-ba = บอสเนียและเฮอร์เซโกวีนา
+region-name-bb = บาร์เบโดส
+region-name-bd = บังกลาเทศ
+region-name-be = เบลเยียม
+region-name-bf = บูร์กินาฟาโซ
+region-name-bg = บัลแกเรีย
+region-name-bh = บาห์เรน
+region-name-bi = บุรุนดี
+region-name-bj = เบนิน
+region-name-bl = แซ็ง-บาร์เตเลมี
+region-name-bm = เบอร์มิวดา
+region-name-bn = บรูไน
+region-name-bo = โบลิเวีย
+region-name-bq = โบแนเรอ, ซินต์เอิสตาซียึส และซาบา
+region-name-br = บราซิล
+region-name-bs = บาฮามาส
+region-name-bt = ภูฏาน
+region-name-bv = เกาะบูเวต์
+region-name-bw = บอตสวานา
+region-name-by = เบลารุส
+region-name-bz = เบลีซ
+region-name-ca = แคนาดา
+region-name-cc = หมู่เกาะโคโคส (คีลิง)
+region-name-cd = คองโก (กินชาซา)
+region-name-cf = สาธารณรัฐแอฟริกากลาง
+region-name-cg = คองโก (บราซซาวิล)
+region-name-ch = สวิตเซอร์แลนด์
+region-name-ci = โกตดิวัวร์
+region-name-ck = หมู่เกาะคุก
+region-name-cl = ชิลี
+region-name-cm = แคเมอรูน
+region-name-cn = จีน
+region-name-co = โคลอมเบีย
+region-name-cp = เกาะกลีแปร์ตอน
+region-name-cr = คอสตาริกา
+region-name-cu = คิวบา
+region-name-cv = กาบูเวร์ดี
+region-name-cw = กือราเซา
+region-name-cx = เกาะคริสต์มาส
+region-name-cy = ไซปรัส
+region-name-cz = สาธารณรัฐเช็ก
+region-name-de = เยอรมนี
+region-name-dg = ดีเอโกการ์ซีอา
+region-name-dj = จิบูตี
+region-name-dk = เดนมาร์ก
+region-name-dm = โดมินิกา
+region-name-do = สาธารณรัฐโดมินิกัน
+region-name-dz = แอลจีเรีย
+region-name-ec = เอกวาดอร์
+region-name-ee = เอสโตเนีย
+region-name-eg = อียิปต์
+region-name-eh = ซาฮาราตะวันตก
+region-name-er = เอริเทรีย
+region-name-es = สเปน
+region-name-et = เอธิโอเปีย
+region-name-fi = ฟินแลนด์
+region-name-fj = ฟิจิ
+region-name-fk = หมู่เกาะฟอล์กแลนด์ (หมู่เกาะมัลบีนัส)
+region-name-fm = สหพันธรัฐไมโครนีเซีย
+region-name-fo = หมู่เกาะแฟโร
+region-name-fr = ฝรั่งเศส
+region-name-ga = กาบอง
+region-name-gb = สหราชอาณาจักร
+region-name-gd = เกรนาดา
+region-name-ge = จอร์เจีย
+region-name-gf = เฟรนช์เกียนา
+region-name-gg = เกิร์นซีย์
+region-name-gh = กานา
+region-name-gi = ยิบรอลตาร์
+region-name-gl = กรีนแลนด์
+region-name-gm = แกมเบีย
+region-name-gn = กินี
+region-name-gp = กวาเดอลูป
+region-name-gq = อิเควทอเรียลกินี
+region-name-gr = กรีซ
+region-name-gs = เซาท์จอร์เจียและหมู่เกาะเซาท์แซนด์วิช
+region-name-gt = กัวเตมาลา
+region-name-gu = กวม
+region-name-gw = กินีบิสเซา
+region-name-gy = กายอานา
+region-name-hk = ฮ่องกง
+region-name-hm = เกาะเฮิร์ดและหมู่เกาะแมกดอนัลด์
+region-name-hn = ฮอนดูรัส
+region-name-hr = โครเอเชีย
+region-name-ht = เฮติ
+region-name-hu = ฮังการี
+region-name-id = อินโดนีเซีย
+region-name-ie = ไอร์แลนด์
+region-name-il = อิสราเอล
+region-name-im = เกาะแมน
+region-name-in = อินเดีย
+region-name-io = บริติชอินเดียนโอเชียนเทร์ริทอรี
+region-name-iq = อิรัก
+region-name-ir = อิหร่าน
+region-name-is = ไอซ์แลนด์
+region-name-it = อิตาลี
+region-name-je = เจอร์ซีย์
+region-name-jm = จาไมกา
+region-name-jo = จอร์แดน
+region-name-jp = ญี่ปุ่น
+region-name-ke = เคนยา
+region-name-kg = คีร์กีซสถาน
+region-name-kh = กัมพูชา
+region-name-ki = คิริบาตี
+region-name-km = คอโมโรส
+region-name-kn = เซนต์คิตส์และเนวิส
+region-name-kp = เกาหลีเหนือ
+region-name-kr = เกาหลีใต้
+region-name-kw = คูเวต
+region-name-ky = หมู่เกาะเคย์แมน
+region-name-kz = คาซัคสถาน
+region-name-la = ลาว
+region-name-lb = เลบานอน
+region-name-lc = เซนต์ลูเซีย
+region-name-li = ลิกเตนสไตน์
+region-name-lk = ศรีลังกา
+region-name-lr = ไลบีเรีย
+region-name-ls = เลโซโท
+region-name-lt = ลิทัวเนีย
+region-name-lu = ลักเซมเบิร์ก
+region-name-lv = ลัตเวีย
+region-name-ly = ลิเบีย
+region-name-ma = โมร็อกโก
+region-name-mc = โมนาโก
+region-name-md = มอลโดวา
+region-name-me = มอนเตเนโกร
+region-name-mf = เซนต์มาร์ติน
+region-name-mg = มาดากัสการ์
+region-name-mh = หมู่เกาะมาร์แชลล์
+region-name-mk = มาซิโดเนีย
+region-name-ml = มาลี
+region-name-mm = พม่า
+region-name-mn = มองโกเลีย
+region-name-mo = มาเก๊า
+region-name-mp = หมู่เกาะนอร์เทิร์นมาเรียนา
+region-name-mq = มาร์ตินีก
+region-name-mr = มอริเตเนีย
+region-name-ms = มอนต์เซอร์รัต
+region-name-mt = มอลตา
+region-name-mu = มอริเชียส
+region-name-mv = มัลดีฟส์
+region-name-mw = มาลาวี
+region-name-mx = เม็กซิโก
+region-name-my = มาเลเซีย
+region-name-mz = โมซัมบิก
+region-name-na = นามิเบีย
+region-name-nc = นิวแคลิโดเนีย
+region-name-ne = ไนเจอร์
+region-name-nf = เกาะนอร์ฟอล์ก
+region-name-ng = ไนจีเรีย
+region-name-ni = นิการากัว
+region-name-nl = เนเธอร์แลนด์
+region-name-no = นอร์เวย์
+region-name-np = เนปาล
+region-name-nr = นาอูรู
+region-name-nu = นีอูเอ
+region-name-nz = นิวซีแลนด์
+region-name-om = โอมาน
+region-name-pa = ปานามา
+region-name-pe = เปรู
+region-name-pf = เฟรนช์โปลินีเซีย
+region-name-pg = ปาปัวนิวกินี
+region-name-ph = ฟิลิปปินส์
+region-name-pk = ปากีสถาน
+region-name-pl = โปแลนด์
+region-name-pm = แซงปีแยร์และมีเกอลง
+region-name-pn = เกาะพิตแคร์น
+region-name-pr = เปอร์โตริโก
+region-name-pt = โปรตุเกส
+region-name-pw = ปาเลา
+region-name-py = ปารากวัย
+region-name-qa = กาตาร์
+region-name-qm = หมู่เกาะมิดเวย์
+region-name-qs = บาซัสดาอินเดีย
+region-name-qu = เกาะฮวนเดโนวา
+region-name-qw = เกาะเวก
+region-name-qx = หมู่เกาะกลอริโอโซ
+region-name-qz = แอโครเทียรี
+region-name-re = เรอูนียง
+region-name-ro = โรมาเนีย
+region-name-rs = เซอร์เบีย
+region-name-ru = รัสเซีย
+region-name-rw = รวันดา
+region-name-sa = ซาอุดีอาระเบีย
+region-name-sb = หมู่เกาะโซโลมอน
+region-name-sc = เซเชลส์
+region-name-sd = ซูดาน
+region-name-se = สวีเดน
+region-name-sg = สิงคโปร์
+region-name-sh = เซนต์เฮเลนา อัสเซนชัน และตริสตันดากูนยา
+region-name-si = สโลวีเนีย
+region-name-sk = สโลวะเกีย
+region-name-sl = เซียร์ราลีโอน
+region-name-sm = ซานมารีโน
+region-name-sn = เซเนกัล
+region-name-so = โซมาเลีย
+region-name-sr = ซูรินาเม
+region-name-ss = ซูดานใต้
+region-name-st = เซาตูเมและปรินซิปี
+region-name-sv = เอลซัลวาดอร์
+region-name-sx = ซินต์มาร์เติน
+region-name-sy = ซีเรีย
+region-name-sz = สวาซิแลนด์
+region-name-tc = หมู่เกาะเติกส์และหมู่เกาะเคคอส
+region-name-td = ชาด
+region-name-tf = เฟรนช์เซาเทิร์นและแอนตาร์กติกแลนดส์
+region-name-tg = โตโก
+region-name-th = ไทย
+region-name-tj = ทาจิกิสถาน
+region-name-tk = โตเกเลา
+region-name-tl = ติมอร์-เลสเต
+region-name-tm = เติร์กเมนิสถาน
+region-name-tn = ตูนิเซีย
+region-name-to = ตองกา
+region-name-tr = ตุรกี
+region-name-tt = ตรินิแดดและโตเบโก
+region-name-tv = ตูวาลู
+region-name-tw = ไต้หวัน
+region-name-tz = แทนซาเนีย
+region-name-ua = ยูเครน
+region-name-ug = ยูกันดา
+region-name-us = สหรัฐอเมริกา
+region-name-uy = อุรุกวัย
+region-name-uz = อุซเบกิสถาน
+region-name-va = นครรัฐวาติกัน
+region-name-vc = เซนต์วินเซนต์และเกรนาดีนส์
+region-name-ve = เวเนซุเอลา
+region-name-vg = หมู่เกาะบริติชเวอร์จิน
+region-name-vi = หมู่เกาะสหรัฐเวอร์จิน
+region-name-vn = เวียดนาม
+region-name-vu = วานูอาตู
+region-name-wf = หมู่เกาะวาลลิสและหมู่เกาะฟูตูนา
+region-name-ws = ซามัว
+region-name-xa = หมู่เกาะแอชมอร์และคาร์เทียร์
+region-name-xb = เกาะเบเกอร์
+region-name-xc = หมู่เกาะคอรัลซี
+region-name-xd = ดิเคเลีย
+region-name-xe = เกาะยูโรปา
+region-name-xg = ฉนวนกาซา
+region-name-xh = เกาะฮาวแลนด์
+region-name-xj = ยานไมเอน
+region-name-xk = คอซอวอ
+region-name-xl = แพลไมราอะทอลล์
+region-name-xm = คิงแมนรีฟ
+region-name-xp = หมู่เกาะแพราเซล
+region-name-xq = เกาะจาร์วิส
+region-name-xr = สฟาลบาร์
+region-name-xs = หมู่เกาะสแปรตลี
+region-name-xt = เกาะโทรเมลิน
+region-name-xu = จอห์นสตันอะทอลล์
+region-name-xv = เกาะนาแวสซา
+region-name-xw = เวสต์แบงก์
+region-name-ye = เยเมน
+region-name-yt = มายอต
+region-name-za = แอฟริกาใต้
+region-name-zm = แซมเบีย
+region-name-zw = ซิมบับเว
diff --git a/l10n-th/toolkit/toolkit/main-window/autocomplete.ftl b/l10n-th/toolkit/toolkit/main-window/autocomplete.ftl
new file mode 100644
index 0000000000..53f6cfd413
--- /dev/null
+++ b/l10n-th/toolkit/toolkit/main-window/autocomplete.ftl
@@ -0,0 +1,32 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+
+## Import Logins Autocomplete
+
+# Variables:
+# $browser (String) - Browser name to import logins from.
+# $host (String) - Host name of the current site.
+autocomplete-import-logins =
+ <div data-l10n-name="line1">นำเข้าข้อมูลการเข้าสู่ระบบของคุณจาก { $browser }</div>
+ <div data-l10n-name="line2">สำหรับ { $host } และไซต์อื่น ๆ</div>
+autocomplete-import-logins-info =
+ .tooltiptext = เรียนรู้เพิ่มเติม
+
+## Variables:
+## $host (String) - Host name of the current site.
+
+autocomplete-import-logins-chrome =
+ <div data-l10n-name="line1">นำเข้าข้อมูลการเข้าสู่ระบบของคุณจาก Google Chrome</div>
+ <div data-l10n-name="line2">สำหรับ { $host } และไซต์อื่น ๆ</div>
+autocomplete-import-logins-chromium =
+ <div data-l10n-name="line1">นำเข้าข้อมูลการเข้าสู่ระบบของคุณจาก Chromium</div>
+ <div data-l10n-name="line2">สำหรับ { $host } และไซต์อื่น ๆ</div>
+autocomplete-import-logins-chromium-edge =
+ <div data-l10n-name="line1">นำเข้าข้อมูลการเข้าสู่ระบบของคุณจาก Microsoft Edge</div>
+ <div data-l10n-name="line2">สำหรับ { $host } และไซต์อื่น ๆ</div>
+
+##
+
+autocomplete-import-learn-more = เรียนรู้เพิ่มเติม
diff --git a/l10n-th/toolkit/toolkit/main-window/findbar.ftl b/l10n-th/toolkit/toolkit/main-window/findbar.ftl
new file mode 100644
index 0000000000..a4e947e057
--- /dev/null
+++ b/l10n-th/toolkit/toolkit/main-window/findbar.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/.
+
+
+### This file contains the entities needed to use the Find Bar.
+
+findbar-next =
+ .tooltiptext = หาตำแหน่งถัดไปของวลี
+findbar-previous =
+ .tooltiptext = หาตำแหน่งก่อนหน้าของวลี
+
+findbar-find-button-close =
+ .tooltiptext = ปิดแถบค้นหา
+
+findbar-highlight-all2 =
+ .label = เน้นสีทั้งหมด
+ .accesskey =
+ { PLATFORM() ->
+ [macos] l
+ *[other] น
+ }
+ .tooltiptext = เน้นสีวลีที่พบทั้งหมด
+
+findbar-case-sensitive =
+ .label = ตัวพิมพ์ใหญ่เล็กตรงกัน
+ .accesskey = ว
+ .tooltiptext = ค้นหาโดยคำนึงถึงตัวพิมพ์ใหญ่เล็ก
+
+findbar-match-diacritics =
+ .label = เครื่องหมายกำกับการออกเสียงตรงกัน
+ .accesskey = i
+ .tooltiptext = แยกระหว่างตัวอักษรที่มีตัวเน้นเสียงและตัวอักษรฐาน (เช่น เมื่อค้นหาคำว่า “resume” ก็จะไม่ตรงกับคำว่า “résumé”)
+
+findbar-entire-word =
+ .label = ทั้งคำ
+ .accesskey = ท
+ .tooltiptext = ค้นหาทั้งคำเท่านั้น
diff --git a/l10n-th/toolkit/toolkit/payments/payments.ftl b/l10n-th/toolkit/toolkit/payments/payments.ftl
new file mode 100644
index 0000000000..6c6245cdce
--- /dev/null
+++ b/l10n-th/toolkit/toolkit/payments/payments.ftl
@@ -0,0 +1,69 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# This value isn't used directly, but is defined to avoid duplication
+# in the "credit-card-label-*" strings.
+#
+# Variables:
+# $month (String): Numeric month the credit card expires
+# $year (String): Four-digit year the credit card expires
+credit-card-expiration = หมดอายุ { $month }/{ $year }
+
+## These labels serve as a description of a credit card.
+## The description must include a credit card number, and may optionally
+## include a cardholder name, an expiration date, or both, so we have
+## four variations.
+
+# Label for a credit card with a number only
+#
+# Variables:
+# $number (String): Partially-redacted credit card number
+credit-card-label-number = { $number }
+# Label for a credit card with a number and name
+#
+# Variables:
+# $number (String): Partially-redacted credit card number
+# $name (String): Cardholder name
+credit-card-label-number-name = { $number }, { $name }
+# Label for a credit card with a number and expiration date
+#
+# Variables:
+# $number (String): Partially-redacted credit card number
+credit-card-label-number-expiration = { $number }, { credit-card-expiration }
+# Label for a credit card with a number, name, and expiration date
+#
+# Variables:
+# $number (String): Partially-redacted credit card number
+# $name (String): Cardholder name
+credit-card-label-number-name-expiration = { $number }, { $name }, { credit-card-expiration }
+# Label for a credit card with a number only
+#
+# Variables:
+# $number (String): Partially-redacted credit card number
+# $type (String): Credit card type
+credit-card-label-number-2 = { $number }
+ .aria-label = { $type } { credit-card-label-number-2 }
+# Label for a credit card with a number and name
+#
+# Variables:
+# $number (String): Partially-redacted credit card number
+# $name (String): Cardholder name
+# $type (String): Credit card type
+credit-card-label-number-name-2 = { $number }, { $name }
+ .aria-label = { $type } { credit-card-label-number-name-2 }
+# Label for a credit card with a number and expiration date
+#
+# Variables:
+# $number (String): Partially-redacted credit card number
+# $type (String): Credit card type
+credit-card-label-number-expiration-2 = { $number }, { credit-card-expiration }
+ .aria-label = { $type } { credit-card-label-number-expiration-2 }
+# Label for a credit card with a number, name, and expiration date
+#
+# Variables:
+# $number (String): Partially-redacted credit card number
+# $name (String): Cardholder name
+# $type (String): Credit card type
+credit-card-label-number-name-expiration-2 = { $number }, { $name }, { credit-card-expiration }
+ .aria-label = { $type } { credit-card-label-number-name-expiration-2 }
diff --git a/l10n-th/toolkit/toolkit/pictureinpicture/pictureinpicture.ftl b/l10n-th/toolkit/toolkit/pictureinpicture/pictureinpicture.ftl
new file mode 100644
index 0000000000..fb5199ef0f
--- /dev/null
+++ b/l10n-th/toolkit/toolkit/pictureinpicture/pictureinpicture.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/.
+
+pictureinpicture-player-title = ภาพที่เล่นควบคู่
+
+pictureinpicture-pause =
+ .aria-label = หยุดชั่วคราว
+pictureinpicture-play =
+ .aria-label = เล่น
+
+pictureinpicture-mute =
+ .aria-label = ปิดเสียง
+pictureinpicture-unmute =
+ .aria-label = เลิกปิดเสียง
+
+pictureinpicture-unpip =
+ .aria-label = ส่งกลับไปที่แท็บ
+
+pictureinpicture-close =
+ .aria-label = ปิด
+
diff --git a/l10n-th/toolkit/toolkit/preferences/preferences.ftl b/l10n-th/toolkit/toolkit/preferences/preferences.ftl
new file mode 100644
index 0000000000..412245062b
--- /dev/null
+++ b/l10n-th/toolkit/toolkit/preferences/preferences.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/.
+
+password-not-set =
+ .value = (ไม่ได้ตั้ง)
+failed-pw-change = ไม่สามารถเปลี่ยนรหัสผ่านหลักได้
+incorrect-pw = คุณป้อนรหัสผ่านหลักปัจจุบันไม่ถูกต้อง โปรดลองอีกครั้ง
+pw-change-ok = เปลี่ยนรหัสผ่านหลักสำเร็จแล้ว
+pw-empty-warning = รหัสผ่านเว็บและอีเมล, ข้อมูลแบบฟอร์ม และกุญแจส่วนตัวที่คุณจัดเก็บจะไม่ถูกปกป้อง
+pw-erased-ok = คุณได้ลบรหัสผ่านหลักของคุณแล้ว { pw-empty-warning }
+pw-not-wanted = คำเตือน! คุณได้ตัดสินใจที่จะไม่ใช้รหัสผ่านหลัก { pw-empty-warning }
+pw-change2empty-in-fips-mode = คุณกำลังอยู่ในโหมด FIPS ซึ่ง FIPS จำเป็นต้องมีรหัสผ่านหลักที่ไม่ว่างเปล่า
+failed-pp-change = ไม่สามารถเปลี่ยนรหัสผ่านหลักได้
+incorrect-pp = คุณใส่รหัสผ่านหลักปัจจุบันไม่ถูกต้อง โปรดลองอีกครั้ง
+pp-change-ok = เปลี่ยนรหัสผ่านหลักสำเร็จแล้ว
+pp-empty-warning = รหัสผ่านที่บันทึกไว้และคีย์ส่วนตัวของคุณจะไม่ได้รับการปกป้อง
+pp-erased-ok = คุณได้ลบรหัสผ่านหลักของคุณแล้ว { pp-empty-warning }
+pp-not-wanted = คำเตือน! คุณได้ตัดสินใจที่จะไม่ใช้รหัสผ่านหลัก { pp-empty-warning }
+pp-change2empty-in-fips-mode = คุณกำลังอยู่ในโหมด FIPS ซึ่ง FIPS จำเป็นต้องมีรหัสผ่านหลักที่ไม่ว่างเปล่า
+pw-change-success-title = เปลี่ยนรหัสผ่านสำเร็จ
+pw-change-failed-title = การเปลี่ยนรหัสผ่านล้มเหลว
+pw-remove-button =
+ .label = เอาออก
+set-password =
+ .title = เปลี่ยนรหัสผ่านหลัก
+primary-password-dialog =
+ .title = รหัสผ่านหลัก
+set-password-old-password = รหัสผ่านปัจจุบัน:
+set-password-new-password = ป้อนรหัสผ่านใหม่:
+set-password-reenter-password = ป้อนรหัสผ่านใหม่อีกครั้ง:
+set-password-meter = มาตรวัดคุณภาพรหัสผ่าน
+set-password-meter-loading = กำลังโหลด
+master-password-admin = ผู้ดูแลระบบของคุณต้องการให้คุณตั้งรหัสผ่านหลักเพื่อบันทึกรหัสผ่าน
+master-password-description = รหัสผ่านหลักใช้ป้องกันข้อมูลที่อ่อนไหวอย่างรหัสผ่านเว็บไซต์ ถ้าคุณสร้างรหัสผ่านหลัก คุณจะต้องใส่รหัสผ่านหนึ่งครั้งต่อหนึ่งวาระเมื่อ { -brand-short-name } เรียกข้อมูลที่ป้องกันโดยรหัสผ่าน
+master-password-warning = กรุณาแน่ใจว่าคุณจำรหัสผ่านหลักที่คุณกำหนดได้ หากคุณลืมรหัสผ่านหลัก คุณจะไม่สามารถเข้าถึงข้อมูลใด ๆ ที่ปัองกันไว้
+remove-password =
+ .title = เอารหัสผ่านหลักออก
+primary-password-admin = ผู้ดูแลระบบของคุณต้องการให้คุณตั้งรหัสผ่านหลักเพื่อบันทึกการเข้าสู่ระบบและรหัสผ่าน
+primary-password-description = รหัสผ่านหลักใช้ปกป้องข้อมูลที่อ่อนไหว เช่น การเข้าสู่ระบบ และรหัสผ่าน บนอุปกรณ์นี้ หากคุณสร้างรหัสผ่านหลัก คุณจะต้องใส่รหัสผ่านหนึ่งครั้งต่อหนึ่งวาระเมื่อ { -brand-short-name } ดึงข้อมูลที่บันทึกไว้ซึ่งได้รับการปกป้องโดยรหัสผ่าน
+primary-password-warning = โปรดตรวจสอบให้แน่ใจว่าคุณจำรหัสผ่านหลักที่คุณตั้งได้ หากคุณลืมรหัสผ่านหลัก คุณจะไม่สามารถเข้าถึงข้อมูลใด ๆ ที่ปัองกันไว้บนอุปกรณ์นี้
+remove-primary-password =
+ .title = เอารหัสผ่านหลักออก
+remove-info =
+ .value = คุณต้องป้อนรหัสผ่านปัจจุบันของคุณเพื่อดำเนินการต่อ:
+remove-warning1 = รหัสผ่านหลักของคุณใช้ป้องกันข้อมูลอ่อนไหวอย่างรหัสผ่านเว็บไซต์
+remove-warning2 = หากคุณเอารหัสผ่านหลักของคุณออก ข้อมูลของคุณจะไม่ถูกป้องกันหากคอมพิวเตอร์ของคุณถูกบุกรุก
+remove-primary-password-warning1 = รหัสผ่านหลักของคุณใช้ปกป้องข้อมูลที่อ่อนไหว เช่น การเข้าสู่ระบบ และรหัสผ่าน
+remove-primary-password-warning2 = หากคุณเอารหัสผ่านหลักของคุณออก ข้อมูลของคุณจะไม่ถูกปกป้องหากคอมพิวเตอร์ของคุณถูกบุกรุก
+remove-password-old-password =
+ .value = รหัสผ่านปัจจุบัน:
diff --git a/l10n-th/toolkit/toolkit/printing/printDialogs.ftl b/l10n-th/toolkit/toolkit/printing/printDialogs.ftl
new file mode 100644
index 0000000000..fa543b43f5
--- /dev/null
+++ b/l10n-th/toolkit/toolkit/printing/printDialogs.ftl
@@ -0,0 +1,112 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+print-setup =
+ .title = ตั้งค่าหน้ากระดาษ
+custom-prompt-title = กำหนดเอง…
+custom-prompt-prompt = ป้อนข้อความส่วนหัว/ส่วนท้ายที่กำหนดเองของคุณ
+basic-tab =
+ .label = รูปแบบและตัวเลือก
+advanced-tab =
+ .label = ขอบกระดาษและส่วนหัว/ส่วนท้าย
+format-group-label =
+ .value = รูปแบบ
+orientation-label =
+ .value = ทิศทาง:
+portrait =
+ .label = แนวตั้ง
+ .accesskey = น
+landscape =
+ .label = แนวนอน
+ .accesskey = ว
+scale =
+ .label = มาตราส่วน:
+ .accesskey = ม
+scale-percent =
+ .value = %
+shrink-to-fit =
+ .label = ย่อให้พอดีความกว้างหน้า
+ .accesskey = ค
+options-group-label =
+ .value = ตัวเลือก
+print-bg =
+ .label = พิมพ์พื้นหลัง (สีและภาพ)
+ .accesskey = พ
+margin-group-label-inches =
+ .value = ขอบกระดาษ (นิ้ว)
+margin-group-label-metric =
+ .value = ขอบกระดาษ (มิลลิเมตร)
+margin-top =
+ .value = หัว:
+ .accesskey = ห
+margin-top-invisible =
+ .value = หัว:
+margin-bottom =
+ .value = ท้าย:
+ .accesskey = ท
+margin-bottom-invisible =
+ .value = ท้าย:
+margin-left =
+ .value = ซ้าย:
+ .accesskey = ซ
+margin-left-invisible =
+ .value = ซ้าย:
+margin-right =
+ .value = ขวา:
+ .accesskey = ข
+margin-right-invisible =
+ .value = ขวา:
+header-footer-label =
+ .value = ส่วนหัวและส่วนท้าย
+hf-left-label =
+ .value = ซ้าย:
+hf-center-label =
+ .value = กลาง:
+hf-right-label =
+ .value = ขวา:
+header-left-tip =
+ .tooltiptext = ส่วนหัวด้านซ้าย
+header-center-tip =
+ .tooltiptext = ส่วนหัวตรงกลาง
+header-right-tip =
+ .tooltiptext = ส่วนหัวด้านขวา
+footer-left-tip =
+ .tooltiptext = ส่วนท้ายด้านซ้าย
+footer-center-tip =
+ .tooltiptext = ส่วนท้ายตรงกลาง
+footer-right-tip =
+ .tooltiptext = ส่วนท้ายด้านขวา
+hf-blank =
+ .label = --ว่าง--
+hf-title =
+ .label = ชื่อเรื่อง
+hf-url =
+ .label = URL
+hf-date-and-time =
+ .label = วันที่/เวลา
+hf-page =
+ .label = หน้า #
+hf-page-and-total =
+ .label = หน้า # จาก #
+hf-custom =
+ .label = กำหนดเอง…
+print-preview-window =
+ .title = ตัวอย่างก่อนพิมพ์
+print-title =
+ .value = ชื่อเรื่อง:
+print-preparing =
+ .value = กำลังเตรียมการ…
+print-progress =
+ .value = ความคืบหน้า:
+print-window =
+ .title = กำลังพิมพ์
+print-complete =
+ .value = การพิมพ์เสร็จสมบูรณ์
+
+# Variables
+# $percent (integer) - Number of printed percentage
+print-percent =
+ .value = { $percent }%
+dialog-cancel-label = ยกเลิก
+dialog-close-label = ปิด
diff --git a/l10n-th/toolkit/toolkit/printing/printPreview.ftl b/l10n-th/toolkit/toolkit/printing/printPreview.ftl
new file mode 100644
index 0000000000..0280a5d4c9
--- /dev/null
+++ b/l10n-th/toolkit/toolkit/printing/printPreview.ftl
@@ -0,0 +1,71 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+printpreview-simplify-page-checkbox =
+ .label = หน้าแบบเรียบง่าย
+ .accesskey = ร
+ .tooltiptext = หน้านี้ไม่สามารถทำให้เรียบง่ายได้โดยอัตโนมัติ
+printpreview-simplify-page-checkbox-enabled =
+ .label = { printpreview-simplify-page-checkbox.label }
+ .accesskey = { printpreview-simplify-page-checkbox.accesskey }
+ .tooltiptext = เปลี่ยนเค้าโครงเพื่อการอ่านที่ง่ายขึ้น
+printpreview-close =
+ .label = ปิด
+ .accesskey = ด
+printpreview-portrait =
+ .label = แนวตั้ง
+ .accesskey = น
+printpreview-landscape =
+ .label = แนวนอน
+ .accesskey = ว
+printpreview-scale =
+ .value = มาตราส่วน:
+ .accesskey = ม
+printpreview-shrink-to-fit =
+ .label = ย่อให้พอดี
+printpreview-custom =
+ .label = กำหนดเอง…
+printpreview-print =
+ .label = พิมพ์…
+ .accesskey = พ
+printpreview-of =
+ .value = จาก
+printpreview-custom-scale-prompt-title = มาตราส่วนที่กำหนดเอง
+printpreview-page-setup =
+ .label = ตั้งค่าหน้ากระดาษ…
+ .accesskey = ง
+printpreview-page =
+ .value = หน้า:
+ .accesskey = ห
+# Variables
+# $sheetNum (integer) - The current sheet number
+# $sheetCount (integer) - The total number of sheets to print
+printpreview-sheet-of-sheets = { $sheetNum } จาก { $sheetCount }
+
+## Variables
+## $percent (integer) - menuitem percent label
+## $arrow (String) - UTF-8 arrow character for navigation buttons
+
+printpreview-percentage-value =
+ .label = { $percent }%
+printpreview-homearrow =
+ .label = { $arrow }
+ .tooltiptext = หน้าแรก
+printpreview-previousarrow =
+ .label = { $arrow }
+ .tooltiptext = หน้าก่อนหน้า
+printpreview-nextarrow =
+ .label = { $arrow }
+ .tooltiptext = หน้าถัดไป
+printpreview-endarrow =
+ .label = { $arrow }
+ .tooltiptext = หน้าสุดท้าย
+printpreview-homearrow-button =
+ .title = หน้าแรก
+printpreview-previousarrow-button =
+ .title = หน้าก่อนหน้า
+printpreview-nextarrow-button =
+ .title = หน้าถัดไป
+printpreview-endarrow-button =
+ .title = หน้าสุดท้าย
diff --git a/l10n-th/toolkit/toolkit/printing/printUI.ftl b/l10n-th/toolkit/toolkit/printing/printUI.ftl
new file mode 100644
index 0000000000..2607fb1180
--- /dev/null
+++ b/l10n-th/toolkit/toolkit/printing/printUI.ftl
@@ -0,0 +1,101 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+printui-title = พิมพ์
+# Dialog title to prompt the user for a filename to save print to PDF.
+printui-save-to-pdf-title = บันทึกเป็น
+# Variables
+# $sheetCount (integer) - Number of paper sheets
+printui-sheets-count =
+ { $sheetCount ->
+ *[other] กระดาษ { $sheetCount } แผ่น
+ }
+printui-page-range-all = ทั้งหมด
+printui-page-range-custom = กำหนดเอง
+printui-page-range-label = หน้า
+printui-page-range-picker =
+ .aria-label = เลือกช่วงหน้ากระดาษ
+printui-page-custom-range-input =
+ .aria-label = ใส่ช่วงหน้ากระดาษที่กำหนดเอง
+ .placeholder = เช่น 2-6, 9, 12-16
+# Section title for the number of copies to print
+printui-copies-label = สำเนา
+printui-orientation = การวางแนว
+printui-landscape = แนวนอน
+printui-portrait = แนวตั้ง
+# Section title for the printer or destination device to target
+printui-destination-label = ปลายทาง
+printui-destination-pdf-label = บันทึกไปเป็น PDF
+printui-more-settings = การตั้งค่าเพิ่มเติม
+printui-less-settings = การตั้งค่าน้อยลง
+printui-paper-size-label = ขนาดกระดาษ
+# Section title (noun) for the print scaling options
+printui-scale = มาตราส่วน
+printui-scale-fit-to-page-width = พอดีกับความกว้างของหน้า
+# Label for input control where user can set the scale percentage
+printui-scale-pcent = มาตราส่วน
+# Section title (noun) for the two-sided print options
+printui-two-sided-printing = การพิมพ์สองด้าน
+printui-duplex-checkbox = พิมพ์ทั้งสองด้าน
+# Section title for miscellaneous print options
+printui-options = ตัวเลือก
+printui-headers-footers-checkbox = พิมพ์หัวกระดาษและท้ายกระดาษ
+printui-backgrounds-checkbox = พิมพ์พื้นหลัง
+printui-selection-checkbox = พิมพ์ที่เลือกเท่านั้น
+printui-color-mode-label = โหมดสี
+printui-color-mode-color = สี
+printui-color-mode-bw = ขาวดำ
+printui-margins = ระยะขอบ
+printui-margins-default = ค่าเริ่มต้น
+printui-margins-min = ต่ำสุด
+printui-margins-none = ไม่มี
+printui-margins-custom-inches = กำหนดเอง (นิ้ว)
+printui-margins-custom-top = ด้านบน
+printui-margins-custom-top-inches = ด้านบน (นิ้ว)
+printui-margins-custom-bottom = ด้านล่าง
+printui-margins-custom-bottom-inches = ด้านล่าง (นิ้ว)
+printui-margins-custom-left = ด้านซ้าย
+printui-margins-custom-left-inches = ด้านซ้าย (นิ้ว)
+printui-margins-custom-right = ด้านขวา
+printui-margins-custom-right-inches = ด้านขวา (นิ้ว)
+printui-system-dialog-link = พิมพ์โดยใช้กล่องโต้ตอบระบบ…
+printui-primary-button = พิมพ์
+printui-primary-button-save = บันทึก
+printui-cancel-button = ยกเลิก
+printui-close-button = ปิด
+printui-loading = กำลังเตรียมตัวอย่าง
+# Reported by screen readers and other accessibility tools to indicate that
+# the print preview has focus.
+printui-preview-label =
+ .aria-label = ตัวอย่างก่อนพิมพ์
+printui-pages-per-sheet = หน้าต่อแผ่น
+# This is shown next to the Print button with an indefinite loading spinner
+# when the user prints a page and it is being sent to the printer.
+printui-print-progress-indicator = กำลังพิมพ์…
+printui-print-progress-indicator-saving = กำลังบันทึก…
+
+## Paper sizes that may be supported by the Save to PDF destination:
+
+printui-paper-a5 = A5
+printui-paper-a4 = A4
+printui-paper-a3 = A3
+printui-paper-a2 = A2
+printui-paper-a1 = A1
+printui-paper-a0 = A0
+printui-paper-b5 = B5
+printui-paper-b4 = B4
+printui-paper-jis-b5 = JIS-B5
+printui-paper-jis-b4 = JIS-B4
+printui-paper-letter = US Letter
+printui-paper-legal = US Legal
+printui-paper-tabloid = Tabloid
+
+## Error messages shown when a user has an invalid input
+
+printui-error-invalid-scale = มาตราส่วนต้องเป็นตัวเลขระหว่าง 10 ถึง 200
+printui-error-invalid-margin = โปรดป้อนระยะขอบที่ถูกต้องสำหรับขนาดกระดาษที่เลือก
+# Variables
+# $numPages (integer) - Number of pages
+printui-error-invalid-range = ช่วงต้องเป็นตัวเลขระหว่าง 1 ถึง { $numPages }
+printui-error-invalid-start-overflow = หมายเลขหน้า “จาก” ต้องน้อยกว่าหมายเลขหน้า “ถึง”
diff --git a/l10n-th/toolkit/toolkit/updates/elevation.ftl b/l10n-th/toolkit/toolkit/updates/elevation.ftl
new file mode 100644
index 0000000000..587716b4aa
--- /dev/null
+++ b/l10n-th/toolkit/toolkit/updates/elevation.ftl
@@ -0,0 +1,14 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+# This is temporary until bug 1521632 is fixed
+
+elevation-update-wizard =
+ .title = การอัปเดตซอฟต์แวร์
+elevation-details-link-label =
+ .value = รายละเอียด
+elevation-error-manual = คุณสามารถอัปเดต { -brand-short-name } ด้วยตนเองโดยไปที่ลิงก์นี้และดาวน์โหลดรุ่นล่าสุด:
+elevation-finished-page = การอัปเดตพร้อมติดตั้ง
+elevation-finished-background-page = ดาวน์โหลดการอัปเดตความปลอดภัยและเสถียรภาพสำหรับ { -brand-short-name } แล้วและพร้อมติดตั้ง
+elevation-finished-background = อัปเดต:
+elevation-more-elevated = การอัปเดตนี้ต้องการสิทธิของผู้ดูแลระบบ การอัปเดตจะถูกติดตั้งในครั้งถัดไปที่ { -brand-short-name } เริ่ม คุณสามารถเริ่มการทำงาน { -brand-short-name } ใหม่ตอนนี้ ทำงานต่อไปและเริ่มการทำงานใหม่ในภายหลัง หรือปฏิเสธการอัปเดตนี้
diff --git a/l10n-th/toolkit/toolkit/updates/history.ftl b/l10n-th/toolkit/toolkit/updates/history.ftl
new file mode 100644
index 0000000000..04d15938c0
--- /dev/null
+++ b/l10n-th/toolkit/toolkit/updates/history.ftl
@@ -0,0 +1,27 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+history-title = ประวัติการอัปเดต
+history-intro = การอัปเดตดังต่อไปนี้ได้รับการติดตั้งแล้ว
+
+close-button-label =
+ .buttonlabelcancel = ปิด
+ .title = ประวัติการอัปเดต
+
+no-updates-label = ยังไม่มีการอัปเดตถูกติดตั้ง
+name-header = ชื่อการอัปเดต
+date-header = วันที่ติดตั้ง
+type-header = ชนิด
+state-header = สถานะ
+
+# Used to display update history
+#
+# Variables:
+# $name (String): name of the update
+# $buildID (String): build identifier from the local updates.xml
+update-full-build-name = { $name } ({ $buildID })
+
+update-details = รายละเอียด
+update-installed-on = ติดตั้งเมื่อ: { $date }
+update-status = สถานะ: { $status }