summaryrefslogtreecommitdiffstats
path: root/comm/mail/locales
diff options
context:
space:
mode:
Diffstat (limited to 'comm/mail/locales')
-rw-r--r--comm/mail/locales/Makefile.in107
-rw-r--r--comm/mail/locales/all-locales67
-rw-r--r--comm/mail/locales/en-US/all-l10n.js7
-rw-r--r--comm/mail/locales/en-US/browser/appExtensionFields.ftl15
-rw-r--r--comm/mail/locales/en-US/browser/branding/brandings.ftl17
-rw-r--r--comm/mail/locales/en-US/browser/components/mozSupportLink.ftl5
-rw-r--r--comm/mail/locales/en-US/chrome/communicator/utilityOverlay.dtd32
-rw-r--r--comm/mail/locales/en-US/chrome/messenger-mapi/mapi.properties35
-rw-r--r--comm/mail/locales/en-US/chrome/messenger-newsblog/am-newsblog.dtd14
-rw-r--r--comm/mail/locales/en-US/chrome/messenger-newsblog/feed-subscriptions.dtd55
-rw-r--r--comm/mail/locales/en-US/chrome/messenger-newsblog/newsblog.properties93
-rw-r--r--comm/mail/locales/en-US/chrome/messenger-region/region.properties9
-rw-r--r--comm/mail/locales/en-US/chrome/messenger-smime/certFetchingStatus.dtd9
-rw-r--r--comm/mail/locales/en-US/chrome/messenger-smime/msgCompSMIMEOverlay.dtd10
-rw-r--r--comm/mail/locales/en-US/chrome/messenger-smime/msgCompSecurityInfo.dtd18
-rw-r--r--comm/mail/locales/en-US/chrome/messenger-smime/msgCompSecurityInfo.properties13
-rw-r--r--comm/mail/locales/en-US/chrome/messenger-smime/msgReadSMIMEOverlay.properties11
-rw-r--r--comm/mail/locales/en-US/chrome/messenger-smime/msgReadSecurityInfo.dtd17
-rw-r--r--comm/mail/locales/en-US/chrome/messenger-smime/msgSecurityInfo.properties36
-rw-r--r--comm/mail/locales/en-US/chrome/messenger/AccountManager.dtd23
-rw-r--r--comm/mail/locales/en-US/chrome/messenger/AccountWizard.dtd50
-rw-r--r--comm/mail/locales/en-US/chrome/messenger/CustomHeaders.dtd11
-rw-r--r--comm/mail/locales/en-US/chrome/messenger/FilterEditor.dtd66
-rw-r--r--comm/mail/locales/en-US/chrome/messenger/FilterListDialog.dtd40
-rw-r--r--comm/mail/locales/en-US/chrome/messenger/SearchDialog.dtd37
-rw-r--r--comm/mail/locales/en-US/chrome/messenger/aboutDownloads.dtd23
-rw-r--r--comm/mail/locales/en-US/chrome/messenger/aboutRights.properties6
-rw-r--r--comm/mail/locales/en-US/chrome/messenger/aboutSupportMail.properties15
-rw-r--r--comm/mail/locales/en-US/chrome/messenger/accountCreationModel.properties20
-rw-r--r--comm/mail/locales/en-US/chrome/messenger/accountCreationUtil.properties34
-rw-r--r--comm/mail/locales/en-US/chrome/messenger/activity.dtd18
-rw-r--r--comm/mail/locales/en-US/chrome/messenger/activity.properties99
-rw-r--r--comm/mail/locales/en-US/chrome/messenger/addbuddy.dtd7
-rw-r--r--comm/mail/locales/en-US/chrome/messenger/addressbook/abAddressBookNameDialog.dtd7
-rw-r--r--comm/mail/locales/en-US/chrome/messenger/addressbook/abContactsPanel.dtd49
-rw-r--r--comm/mail/locales/en-US/chrome/messenger/addressbook/abMailListDialog.dtd21
-rw-r--r--comm/mail/locales/en-US/chrome/messenger/addressbook/abMainWindow.dtd14
-rw-r--r--comm/mail/locales/en-US/chrome/messenger/addressbook/abResultsPane.dtd38
-rw-r--r--comm/mail/locales/en-US/chrome/messenger/addressbook/addressBook.properties178
-rw-r--r--comm/mail/locales/en-US/chrome/messenger/addressbook/ldapAutoCompErrs.properties104
-rw-r--r--comm/mail/locales/en-US/chrome/messenger/addressbook/pref-directory-add.dtd45
-rw-r--r--comm/mail/locales/en-US/chrome/messenger/addressbook/pref-directory.dtd17
-rw-r--r--comm/mail/locales/en-US/chrome/messenger/addressbook/replicationProgress.properties20
-rw-r--r--comm/mail/locales/en-US/chrome/messenger/am-addressing.dtd47
-rw-r--r--comm/mail/locales/en-US/chrome/messenger/am-advanced.dtd28
-rw-r--r--comm/mail/locales/en-US/chrome/messenger/am-archiveoptions.dtd23
-rw-r--r--comm/mail/locales/en-US/chrome/messenger/am-copies.dtd50
-rw-r--r--comm/mail/locales/en-US/chrome/messenger/am-e2e.properties5
-rw-r--r--comm/mail/locales/en-US/chrome/messenger/am-identities-list.dtd15
-rw-r--r--comm/mail/locales/en-US/chrome/messenger/am-identity-edit.dtd12
-rw-r--r--comm/mail/locales/en-US/chrome/messenger/am-im.dtd16
-rw-r--r--comm/mail/locales/en-US/chrome/messenger/am-junk.dtd31
-rw-r--r--comm/mail/locales/en-US/chrome/messenger/am-main.dtd47
-rw-r--r--comm/mail/locales/en-US/chrome/messenger/am-mdn.dtd33
-rw-r--r--comm/mail/locales/en-US/chrome/messenger/am-mdn.properties6
-rw-r--r--comm/mail/locales/en-US/chrome/messenger/am-offline.dtd57
-rw-r--r--comm/mail/locales/en-US/chrome/messenger/am-server-advanced.dtd31
-rw-r--r--comm/mail/locales/en-US/chrome/messenger/am-server-top.dtd89
-rw-r--r--comm/mail/locales/en-US/chrome/messenger/am-serverwithnoidentities.dtd6
-rw-r--r--comm/mail/locales/en-US/chrome/messenger/am-smime.dtd46
-rw-r--r--comm/mail/locales/en-US/chrome/messenger/am-smime.properties40
-rw-r--r--comm/mail/locales/en-US/chrome/messenger/appUpdate.properties40
-rw-r--r--comm/mail/locales/en-US/chrome/messenger/appleMailImportMsgs.properties20
-rw-r--r--comm/mail/locales/en-US/chrome/messenger/baseMenuOverlay.dtd8
-rw-r--r--comm/mail/locales/en-US/chrome/messenger/beckyImportMsgs.properties19
-rw-r--r--comm/mail/locales/en-US/chrome/messenger/charsetTitles.properties80
-rw-r--r--comm/mail/locales/en-US/chrome/messenger/chat.dtd44
-rw-r--r--comm/mail/locales/en-US/chrome/messenger/chat.properties110
-rw-r--r--comm/mail/locales/en-US/chrome/messenger/configEditorOverlay.dtd5
-rw-r--r--comm/mail/locales/en-US/chrome/messenger/converterDialog.dtd10
-rw-r--r--comm/mail/locales/en-US/chrome/messenger/converterDialog.properties41
-rw-r--r--comm/mail/locales/en-US/chrome/messenger/custom.properties5
-rw-r--r--comm/mail/locales/en-US/chrome/messenger/customizeToolbar.dtd17
-rw-r--r--comm/mail/locales/en-US/chrome/messenger/customizeToolbar.properties11
-rw-r--r--comm/mail/locales/en-US/chrome/messenger/devtools/dbgserver.dtd8
-rw-r--r--comm/mail/locales/en-US/chrome/messenger/devtools/dbgserver.properties15
-rw-r--r--comm/mail/locales/en-US/chrome/messenger/downloadheaders.dtd20
-rw-r--r--comm/mail/locales/en-US/chrome/messenger/editContactOverlay.dtd20
-rw-r--r--comm/mail/locales/en-US/chrome/messenger/editContactOverlay.properties14
-rw-r--r--comm/mail/locales/en-US/chrome/messenger/fieldMapImport.dtd17
-rw-r--r--comm/mail/locales/en-US/chrome/messenger/filter.properties107
-rw-r--r--comm/mail/locales/en-US/chrome/messenger/folderProps.dtd70
-rw-r--r--comm/mail/locales/en-US/chrome/messenger/folderWidgets.properties12
-rw-r--r--comm/mail/locales/en-US/chrome/messenger/folderpane.dtd7
-rw-r--r--comm/mail/locales/en-US/chrome/messenger/gloda.properties175
-rw-r--r--comm/mail/locales/en-US/chrome/messenger/glodaComplete.properties19
-rw-r--r--comm/mail/locales/en-US/chrome/messenger/glodaFacetView.dtd29
-rw-r--r--comm/mail/locales/en-US/chrome/messenger/glodaFacetView.properties171
-rw-r--r--comm/mail/locales/en-US/chrome/messenger/imAccountWizard.dtd32
-rw-r--r--comm/mail/locales/en-US/chrome/messenger/imAccounts.properties63
-rw-r--r--comm/mail/locales/en-US/chrome/messenger/imapMsgs.properties268
-rw-r--r--comm/mail/locales/en-US/chrome/messenger/importDialog.dtd48
-rw-r--r--comm/mail/locales/en-US/chrome/messenger/importMsgs.properties304
-rw-r--r--comm/mail/locales/en-US/chrome/messenger/joinChat.dtd10
-rw-r--r--comm/mail/locales/en-US/chrome/messenger/junkLog.dtd10
-rw-r--r--comm/mail/locales/en-US/chrome/messenger/localMsgs.properties140
-rw-r--r--comm/mail/locales/en-US/chrome/messenger/mailEditorOverlay.dtd6
-rw-r--r--comm/mail/locales/en-US/chrome/messenger/mailOverlay.dtd11
-rw-r--r--comm/mail/locales/en-US/chrome/messenger/mailViewList.dtd7
-rw-r--r--comm/mail/locales/en-US/chrome/messenger/mailViewSetup.dtd10
-rw-r--r--comm/mail/locales/en-US/chrome/messenger/mailviews.properties13
-rw-r--r--comm/mail/locales/en-US/chrome/messenger/markByDate.dtd9
-rw-r--r--comm/mail/locales/en-US/chrome/messenger/messenger.dtd920
-rw-r--r--comm/mail/locales/en-US/chrome/messenger/messenger.properties758
-rw-r--r--comm/mail/locales/en-US/chrome/messenger/messengercompose/EdAdvancedEdit.dtd18
-rw-r--r--comm/mail/locales/en-US/chrome/messenger/messengercompose/EdColorPicker.dtd22
-rw-r--r--comm/mail/locales/en-US/chrome/messenger/messengercompose/EdConvertToTable.dtd15
-rw-r--r--comm/mail/locales/en-US/chrome/messenger/messengercompose/EdDialogOverlay.dtd18
-rw-r--r--comm/mail/locales/en-US/chrome/messenger/messengercompose/EdNamedAnchorProperties.dtd8
-rw-r--r--comm/mail/locales/en-US/chrome/messenger/messengercompose/EditorColorProperties.dtd29
-rw-r--r--comm/mail/locales/en-US/chrome/messenger/messengercompose/EditorHLineProperties.dtd27
-rw-r--r--comm/mail/locales/en-US/chrome/messenger/messengercompose/EditorImageProperties.dtd79
-rw-r--r--comm/mail/locales/en-US/chrome/messenger/messengercompose/EditorInsertChars.dtd19
-rw-r--r--comm/mail/locales/en-US/chrome/messenger/messengercompose/EditorInsertMath.dtd21
-rw-r--r--comm/mail/locales/en-US/chrome/messenger/messengercompose/EditorInsertSource.dtd15
-rw-r--r--comm/mail/locales/en-US/chrome/messenger/messengercompose/EditorInsertTOC.dtd16
-rw-r--r--comm/mail/locales/en-US/chrome/messenger/messengercompose/EditorInsertTable.dtd18
-rw-r--r--comm/mail/locales/en-US/chrome/messenger/messengercompose/EditorLinkProperties.dtd6
-rw-r--r--comm/mail/locales/en-US/chrome/messenger/messengercompose/EditorListProperties.dtd20
-rw-r--r--comm/mail/locales/en-US/chrome/messenger/messengercompose/EditorPersonalDictionary.dtd18
-rw-r--r--comm/mail/locales/en-US/chrome/messenger/messengercompose/EditorReplace.dtd27
-rw-r--r--comm/mail/locales/en-US/chrome/messenger/messengercompose/EditorSpellCheck.dtd38
-rw-r--r--comm/mail/locales/en-US/chrome/messenger/messengercompose/EditorTableProperties.dtd75
-rw-r--r--comm/mail/locales/en-US/chrome/messenger/messengercompose/composeMsgs.properties457
-rw-r--r--comm/mail/locales/en-US/chrome/messenger/messengercompose/editor.properties208
-rw-r--r--comm/mail/locales/en-US/chrome/messenger/messengercompose/editorOverlay.dtd304
-rwxr-xr-xcomm/mail/locales/en-US/chrome/messenger/messengercompose/mailComposeEditorOverlay.dtd9
-rw-r--r--comm/mail/locales/en-US/chrome/messenger/messengercompose/messengercompose.dtd306
-rw-r--r--comm/mail/locales/en-US/chrome/messenger/messengercompose/sendProgress.dtd8
-rw-r--r--comm/mail/locales/en-US/chrome/messenger/messengercompose/sendProgress.properties21
-rw-r--r--comm/mail/locales/en-US/chrome/messenger/migration/migration.dtd30
-rw-r--r--comm/mail/locales/en-US/chrome/messenger/migration/migration.properties30
-rw-r--r--comm/mail/locales/en-US/chrome/messenger/mime.properties154
-rw-r--r--comm/mail/locales/en-US/chrome/messenger/mimeheader.properties35
-rw-r--r--comm/mail/locales/en-US/chrome/messenger/morkImportMsgs.properties18
-rw-r--r--comm/mail/locales/en-US/chrome/messenger/msgAccountCentral.dtd26
-rw-r--r--comm/mail/locales/en-US/chrome/messenger/msgHdrViewOverlay.dtd114
-rw-r--r--comm/mail/locales/en-US/chrome/messenger/msgSynchronize.dtd23
-rw-r--r--comm/mail/locales/en-US/chrome/messenger/msgViewPickerOverlay.dtd22
-rw-r--r--comm/mail/locales/en-US/chrome/messenger/msgmdn.properties18
-rw-r--r--comm/mail/locales/en-US/chrome/messenger/multimessageview.dtd8
-rw-r--r--comm/mail/locales/en-US/chrome/messenger/multimessageview.properties66
-rw-r--r--comm/mail/locales/en-US/chrome/messenger/newFolderDialog.dtd16
-rw-r--r--comm/mail/locales/en-US/chrome/messenger/news.properties55
-rw-r--r--comm/mail/locales/en-US/chrome/messenger/newsError.dtd31
-rw-r--r--comm/mail/locales/en-US/chrome/messenger/offline.properties28
-rw-r--r--comm/mail/locales/en-US/chrome/messenger/offlineStartup.properties8
-rw-r--r--comm/mail/locales/en-US/chrome/messenger/outlookImportMsgs.properties72
-rw-r--r--comm/mail/locales/en-US/chrome/messenger/pgpmime.properties10
-rw-r--r--comm/mail/locales/en-US/chrome/messenger/preferences/applicationManager.properties13
-rw-r--r--comm/mail/locales/en-US/chrome/messenger/preferences/applications.properties13
-rw-r--r--comm/mail/locales/en-US/chrome/messenger/preferences/messagestyle.properties13
-rw-r--r--comm/mail/locales/en-US/chrome/messenger/preferences/preferences.properties100
-rw-r--r--comm/mail/locales/en-US/chrome/messenger/prefs.properties89
-rw-r--r--comm/mail/locales/en-US/chrome/messenger/removeAccount.dtd22
-rw-r--r--comm/mail/locales/en-US/chrome/messenger/removeAccount.properties5
-rw-r--r--comm/mail/locales/en-US/chrome/messenger/renameFolderDialog.dtd9
-rw-r--r--comm/mail/locales/en-US/chrome/messenger/sanitize.dtd36
-rw-r--r--comm/mail/locales/en-US/chrome/messenger/seamonkeyImportMsgs.properties18
-rw-r--r--comm/mail/locales/en-US/chrome/messenger/search-attributes.properties45
-rw-r--r--comm/mail/locales/en-US/chrome/messenger/search-operators.properties31
-rw-r--r--comm/mail/locales/en-US/chrome/messenger/search.properties27
-rw-r--r--comm/mail/locales/en-US/chrome/messenger/searchTermOverlay.dtd19
-rw-r--r--comm/mail/locales/en-US/chrome/messenger/shutdownWindow.properties10
-rw-r--r--comm/mail/locales/en-US/chrome/messenger/smime.properties11
-rw-r--r--comm/mail/locales/en-US/chrome/messenger/smtpEditOverlay.dtd24
-rw-r--r--comm/mail/locales/en-US/chrome/messenger/subscribe.dtd22
-rw-r--r--comm/mail/locales/en-US/chrome/messenger/subscribe.properties13
-rw-r--r--comm/mail/locales/en-US/chrome/messenger/tabmail.dtd9
-rw-r--r--comm/mail/locales/en-US/chrome/messenger/taskbar.properties8
-rw-r--r--comm/mail/locales/en-US/chrome/messenger/telemetry.properties13
-rw-r--r--comm/mail/locales/en-US/chrome/messenger/templateUtils.properties7
-rw-r--r--comm/mail/locales/en-US/chrome/messenger/textImportMsgs.properties43
-rw-r--r--comm/mail/locales/en-US/chrome/messenger/vCardImportMsgs.properties26
-rw-r--r--comm/mail/locales/en-US/chrome/messenger/viewLog.dtd12
-rw-r--r--comm/mail/locales/en-US/chrome/messenger/viewSource.dtd84
-rw-r--r--comm/mail/locales/en-US/chrome/messenger/viewSource.properties17
-rw-r--r--comm/mail/locales/en-US/chrome/messenger/viewZoomOverlay.dtd30
-rw-r--r--comm/mail/locales/en-US/chrome/messenger/virtualFolderListDialog.dtd8
-rw-r--r--comm/mail/locales/en-US/chrome/messenger/virtualFolderProperties.dtd22
-rw-r--r--comm/mail/locales/en-US/chrome/messenger/wmImportMsgs.properties76
-rw-r--r--comm/mail/locales/en-US/chrome/mozldap/ldap.properties261
-rw-r--r--comm/mail/locales/en-US/chrome/overrides/profileDowngrade.dtd19
-rw-r--r--comm/mail/locales/en-US/crashreporter/crashreporter-override.ini9
-rwxr-xr-xcomm/mail/locales/en-US/installer/custom.properties85
-rwxr-xr-xcomm/mail/locales/en-US/installer/mui.properties60
-rwxr-xr-xcomm/mail/locales/en-US/installer/override.properties86
-rw-r--r--comm/mail/locales/en-US/langpack-metadata.ftl12
-rw-r--r--comm/mail/locales/en-US/messenger/about3Pane.ftl482
-rw-r--r--comm/mail/locales/en-US/messenger/aboutAddonsExtra.ftl11
-rw-r--r--comm/mail/locales/en-US/messenger/aboutDialog.ftl74
-rw-r--r--comm/mail/locales/en-US/messenger/aboutImport.ftl283
-rw-r--r--comm/mail/locales/en-US/messenger/aboutProfilesExtra.ftl5
-rw-r--r--comm/mail/locales/en-US/messenger/aboutRights.ftl122
-rw-r--r--comm/mail/locales/en-US/messenger/aboutSupportCalendar.ftl33
-rw-r--r--comm/mail/locales/en-US/messenger/aboutSupportChat.ftl11
-rw-r--r--comm/mail/locales/en-US/messenger/aboutSupportMail.ftl33
-rw-r--r--comm/mail/locales/en-US/messenger/accountCentral.ftl68
-rw-r--r--comm/mail/locales/en-US/messenger/accountManager.ftl18
-rw-r--r--comm/mail/locales/en-US/messenger/accountProvisioner.ftl80
-rw-r--r--comm/mail/locales/en-US/messenger/accountcreation/accountHub.ftl60
-rw-r--r--comm/mail/locales/en-US/messenger/accountcreation/accountSetup.ftl428
-rw-r--r--comm/mail/locales/en-US/messenger/addonNotifications.ftl130
-rw-r--r--comm/mail/locales/en-US/messenger/addressbook/abCardDAVDialog.ftl29
-rw-r--r--comm/mail/locales/en-US/messenger/addressbook/abCardDAVProperties.ftl31
-rw-r--r--comm/mail/locales/en-US/messenger/addressbook/aboutAddressBook.ftl299
-rw-r--r--comm/mail/locales/en-US/messenger/addressbook/fieldMapImport.ftl12
-rw-r--r--comm/mail/locales/en-US/messenger/addressbook/vcard.ftl189
-rw-r--r--comm/mail/locales/en-US/messenger/appmenu.ftl267
-rw-r--r--comm/mail/locales/en-US/messenger/chat-verifySession.ftl17
-rw-r--r--comm/mail/locales/en-US/messenger/chat.ftl47
-rw-r--r--comm/mail/locales/en-US/messenger/compactFoldersDialog.ftl22
-rw-r--r--comm/mail/locales/en-US/messenger/exportDialog.ftl22
-rw-r--r--comm/mail/locales/en-US/messenger/extensionPermissions.ftl23
-rw-r--r--comm/mail/locales/en-US/messenger/extensions/popup.ftl14
-rw-r--r--comm/mail/locales/en-US/messenger/extensionsUI.ftl11
-rw-r--r--comm/mail/locales/en-US/messenger/firefoxAccounts.ftl32
-rw-r--r--comm/mail/locales/en-US/messenger/flatpak.ftl28
-rw-r--r--comm/mail/locales/en-US/messenger/folderprops.ftl9
-rw-r--r--comm/mail/locales/en-US/messenger/importDialog.ftl30
-rw-r--r--comm/mail/locales/en-US/messenger/mailWidgets.ftl14
-rw-r--r--comm/mail/locales/en-US/messenger/menubar.ftl161
-rw-r--r--comm/mail/locales/en-US/messenger/messageheader/headerFields.ftl69
-rw-r--r--comm/mail/locales/en-US/messenger/messenger.ftl484
-rw-r--r--comm/mail/locales/en-US/messenger/messengercompose/messengercompose.ftl492
-rw-r--r--comm/mail/locales/en-US/messenger/migration.ftl10
-rw-r--r--comm/mail/locales/en-US/messenger/multimessageview.ftl17
-rw-r--r--comm/mail/locales/en-US/messenger/openpgp/backupKeyPassword.ftl17
-rw-r--r--comm/mail/locales/en-US/messenger/openpgp/changeExpiryDlg.ftl19
-rw-r--r--comm/mail/locales/en-US/messenger/openpgp/composeKeyStatus.ftl25
-rw-r--r--comm/mail/locales/en-US/messenger/openpgp/keyAssistant.ftl160
-rw-r--r--comm/mail/locales/en-US/messenger/openpgp/keyWizard.ftl198
-rw-r--r--comm/mail/locales/en-US/messenger/openpgp/msgReadStatus.ftl93
-rw-r--r--comm/mail/locales/en-US/messenger/openpgp/oneRecipientStatus.ftl60
-rw-r--r--comm/mail/locales/en-US/messenger/openpgp/openpgp-frontend.ftl71
-rw-r--r--comm/mail/locales/en-US/messenger/openpgp/openpgp.ftl856
-rw-r--r--comm/mail/locales/en-US/messenger/otr/add-finger.ftl16
-rw-r--r--comm/mail/locales/en-US/messenger/otr/am-im-otr.ftl25
-rw-r--r--comm/mail/locales/en-US/messenger/otr/auth.ftl56
-rw-r--r--comm/mail/locales/en-US/messenger/otr/chat.ftl19
-rw-r--r--comm/mail/locales/en-US/messenger/otr/finger-sync.ftl12
-rw-r--r--comm/mail/locales/en-US/messenger/otr/finger.ftl20
-rw-r--r--comm/mail/locales/en-US/messenger/otr/otr.ftl97
-rw-r--r--comm/mail/locales/en-US/messenger/otr/otrUI.ftl87
-rw-r--r--comm/mail/locales/en-US/messenger/policies/aboutPolicies.ftl17
-rw-r--r--comm/mail/locales/en-US/messenger/policies/policies-descriptions.ftl158
-rw-r--r--comm/mail/locales/en-US/messenger/preferences/am-copies.ftl5
-rw-r--r--comm/mail/locales/en-US/messenger/preferences/am-im.ftl25
-rw-r--r--comm/mail/locales/en-US/messenger/preferences/application-manager.ftl10
-rw-r--r--comm/mail/locales/en-US/messenger/preferences/attachment-reminder.ftl26
-rw-r--r--comm/mail/locales/en-US/messenger/preferences/colors.ftl47
-rw-r--r--comm/mail/locales/en-US/messenger/preferences/connection.ftl115
-rw-r--r--comm/mail/locales/en-US/messenger/preferences/cookies.ftl54
-rw-r--r--comm/mail/locales/en-US/messenger/preferences/dock-options.ftl29
-rw-r--r--comm/mail/locales/en-US/messenger/preferences/fonts.ftl150
-rw-r--r--comm/mail/locales/en-US/messenger/preferences/languages.ftl44
-rw-r--r--comm/mail/locales/en-US/messenger/preferences/new-tag.ftl14
-rw-r--r--comm/mail/locales/en-US/messenger/preferences/notifications.ftl33
-rw-r--r--comm/mail/locales/en-US/messenger/preferences/offline.ftl56
-rw-r--r--comm/mail/locales/en-US/messenger/preferences/passwordManager.ftl85
-rw-r--r--comm/mail/locales/en-US/messenger/preferences/permissions.ftl55
-rw-r--r--comm/mail/locales/en-US/messenger/preferences/preferences.ftl1026
-rw-r--r--comm/mail/locales/en-US/messenger/preferences/receipts.ftl51
-rw-r--r--comm/mail/locales/en-US/messenger/preferences/sync-dialog.ftl12
-rw-r--r--comm/mail/locales/en-US/messenger/preferences/system-integration.ftl44
-rw-r--r--comm/mail/locales/en-US/messenger/shortcuts.ftl114
-rw-r--r--comm/mail/locales/en-US/messenger/treeView.ftl71
-rw-r--r--comm/mail/locales/en-US/messenger/troubleshootMode.ftl39
-rw-r--r--comm/mail/locales/en-US/messenger/unifiedToolbar.ftl129
-rw-r--r--comm/mail/locales/en-US/messenger/unifiedToolbarItems.ftl234
-rw-r--r--comm/mail/locales/en-US/messenger/viewSource.ftl19
-rw-r--r--comm/mail/locales/en-US/updater/updater.ini8
-rw-r--r--comm/mail/locales/filter.py26
-rw-r--r--comm/mail/locales/generate_ini.py26
-rw-r--r--comm/mail/locales/jar.mn197
-rw-r--r--comm/mail/locales/l10n-beta.ini27
-rw-r--r--comm/mail/locales/l10n-central.ini27
-rw-r--r--comm/mail/locales/l10n-changesets.json723
-rw-r--r--comm/mail/locales/l10n-onchange-changesets.json77
-rw-r--r--comm/mail/locales/l10n.ini16
-rw-r--r--comm/mail/locales/l10n.toml112
-rw-r--r--comm/mail/locales/moz.build25
-rw-r--r--comm/mail/locales/onchange-locales13
-rw-r--r--comm/mail/locales/shipped-locales67
284 files changed, 19774 insertions, 0 deletions
diff --git a/comm/mail/locales/Makefile.in b/comm/mail/locales/Makefile.in
new file mode 100644
index 0000000000..d79366b4c9
--- /dev/null
+++ b/comm/mail/locales/Makefile.in
@@ -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/.
+
+LOCALE_TOPDIR=$(commtopsrcdir)
+LOCALE_RELATIVEDIR=mail/locales
+
+include $(topsrcdir)/config/config.mk
+
+SUBMAKEFILES += \
+ $(DEPTH)/$(MOZ_BRANDING_DIRECTORY)/Makefile \
+ $(DEPTH)/$(MOZ_BRANDING_DIRECTORY)/locales/Makefile \
+ $(NULL)
+
+# This makefile uses variable overrides from the l10n-% target to
+# build non-default locales to non-default dist/ locations. Be aware!
+
+PWD := $(CURDIR)
+
+# These are defaulted to be compatible with the files the wget-en-US target
+# pulls. You may override them if you provide your own files.
+ZIP_IN ?= $(ABS_DIST)/$(PACKAGE)
+
+MOZ_LANGPACK_EID=langpack-$(AB_CD)@thunderbird.mozilla.org
+# For Nightly, we know where to get the builds from to do local repacks
+ifdef NIGHTLY_BUILD
+export EN_US_BINARY_URL ?= https://archive.mozilla.org/pub/thunderbird/nightly/latest-comm-central
+endif
+
+ifneq (,$(filter cocoa,$(MOZ_WIDGET_TOOLKIT)))
+MOZ_PKG_MAC_DSSTORE=$(ABS_DIST)/branding/dsstore
+MOZ_PKG_MAC_BACKGROUND=$(ABS_DIST)/branding/background.png
+MOZ_PKG_MAC_ICON=$(ABS_DIST)/branding/disk.icns
+MOZ_PKG_MAC_EXTRA=--symlink '/Applications:/ '
+endif
+
+NON_OMNIJAR_FILES = defaults/messenger/mailViews.dat
+
+# Required for l10n.mk - defines a list of app sub dirs that should
+# be included in langpack xpis.
+DIST_SUBDIRS = $(DIST_SUBDIR)
+
+include $(topsrcdir)/config/rules.mk
+
+include $(topsrcdir)/toolkit/locales/l10n.mk
+
+ifeq ($(VCS_CHECKOUT_TYPE),hg)
+L10N_CO = $(PYTHON3) $(topsrcdir)/comm/python/l10n/l10n_clone/l10n_clone.py $(AB_CD) $(L10NBASEDIR)
+else
+L10N_CO = $(error You need to use hg)
+endif
+
+l10n-%: AB_CD=$*
+l10n-%:
+# merge if we're not en-US. Conditional function because
+# we need the current value of AB_CD.
+ $(if $(filter en-US,$(AB_CD)),, @$(MAKE) merge-$*)
+ $(if $(filter en-US,$(AB_CD)),, @$(MAKE) post-merge-$*)
+ $(NSINSTALL) -D $(DIST)/install
+ @$(MAKE) -C $(DEPTH)/toolkit/locales l10n-$* XPI_ROOT_APPID='$(XPI_ROOT_APPID)'
+ @$(MAKE) -C $(DEPTH)/devtools/client/locales AB_CD=$* XPI_NAME=locale-$* XPI_ROOT_APPID='$(XPI_ROOT_APPID)'
+ @$(MAKE) -C $(DEPTH)/devtools/startup/locales AB_CD=$* XPI_NAME=locale-$* XPI_ROOT_APPID='$(XPI_ROOT_APPID)'
+ @$(MAKE) -C ../../chat/locales AB_CD=$* XPI_NAME=locale-$*
+ @$(MAKE) -C ../../calendar/locales AB_CD=$* XPI_NAME=locale-$*
+ @$(MAKE) -C $(DEPTH)/extensions/spellcheck/locales AB_CD=$* XPI_NAME=locale-$*
+ @$(MAKE) l10n AB_CD=$* XPI_NAME=locale-$* PREF_DIR=$(PREF_DIR)
+ @$(MAKE) multilocale.txt-$* AB_CD=$* XPI_NAME=locale-$*
+ @$(MAKE) -C $(DEPTH)/$(MOZ_BRANDING_DIRECTORY)/locales AB_CD=$* XPI_NAME=locale-$*
+
+post-merge-%:
+ $(PYTHON3) $(MOZILLA_DIR)/mach tb-add-missing-ftls --merge $(BASE_MERGE) $*
+
+package-win32-installer: $(SUBMAKEFILES)
+ $(MAKE) -C ../installer/windows CONFIG_DIR=l10ngen ZIP_IN='$(ZIP_OUT)' installer
+
+ifdef MOZ_ARTIFACT_BUILDS
+langpack:
+ @echo 'Skipping language pack creation'
+else
+langpack: langpack-$(AB_CD)
+endif
+
+# This is a generic target that will make a langpack, repack ZIP (+tarball)
+# builds, and repack an installer if applicable. It is called from the
+# tinderbox scripts. Alter it with caution.
+
+installers-%: IS_LANGUAGE_REPACK=1
+installers-%:
+ @$(MAKE) clobber-$*
+ @$(MAKE) l10n-$*
+ @$(MAKE) package-langpack-$*
+ @$(MAKE) repackage-zip-$*
+ifeq (WINNT,$(OS_ARCH))
+ @$(MAKE) package-win32-installer AB_CD=$*
+endif
+ @echo 'repackaging done'
+
+ident:
+ @printf 'comm_revision '
+ @$(PYTHON3) $(topsrcdir)/config/printconfigsetting.py \
+ '$(STAGEDIST)/application.ini' App SourceStamp
+ @printf 'moz_revision '
+ @$(PYTHON3) $(topsrcdir)/config/printconfigsetting.py \
+ '$(STAGEDIST)/platform.ini' Build SourceStamp
+ @printf 'buildid '
+ @$(PYTHON3) $(topsrcdir)/config/printconfigsetting.py \
+ '$(STAGEDIST)/application.ini' App BuildID
diff --git a/comm/mail/locales/all-locales b/comm/mail/locales/all-locales
new file mode 100644
index 0000000000..f3b6beb4dd
--- /dev/null
+++ b/comm/mail/locales/all-locales
@@ -0,0 +1,67 @@
+af
+ar
+ast
+be
+bg
+br
+ca
+cak
+cs
+cy
+da
+de
+dsb
+el
+en-CA
+en-GB
+es-AR
+es-ES
+es-MX
+et
+eu
+fi
+fr
+fy-NL
+ga-IE
+gd
+gl
+he
+hr
+hsb
+hu
+hy-AM
+id
+is
+it
+ja
+ja-JP-mac
+ka
+kab
+kk
+ko
+lt
+lv
+mk
+ms
+nb-NO
+nl
+nn-NO
+pa-IN
+pl
+pt-BR
+pt-PT
+rm
+ro
+ru
+sk
+sl
+sq
+sr
+sv-SE
+th
+tr
+uk
+uz
+vi
+zh-CN
+zh-TW
diff --git a/comm/mail/locales/en-US/all-l10n.js b/comm/mail/locales/en-US/all-l10n.js
new file mode 100644
index 0000000000..8d0fb84064
--- /dev/null
+++ b/comm/mail/locales/en-US/all-l10n.js
@@ -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/.
+
+#filter substitution
+
+pref("spellchecker.dictionary", "@AB_CD@");
diff --git a/comm/mail/locales/en-US/browser/appExtensionFields.ftl b/comm/mail/locales/en-US/browser/appExtensionFields.ftl
new file mode 100644
index 0000000000..001ffc0161
--- /dev/null
+++ b/comm/mail/locales/en-US/browser/appExtensionFields.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/.
+
+## Theme names and descriptions used in the Themes panel in about:addons
+
+# "Auto" is short for automatic. It can be localized without limitations.
+extension-default-theme-name-auto=System theme — auto
+extension-default-theme-description=Follow the operating system setting for buttons, menus, and windows.
+
+extension-thunderbird-compact-light-name=Light
+extension-thunderbird-compact-light-description=A theme with a light color scheme.
+
+extension-thunderbird-compact-dark-name=Dark
+extension-thunderbird-compact-dark-description=A theme with a dark color scheme.
diff --git a/comm/mail/locales/en-US/browser/branding/brandings.ftl b/comm/mail/locales/en-US/browser/branding/brandings.ftl
new file mode 100644
index 0000000000..c0d2655308
--- /dev/null
+++ b/comm/mail/locales/en-US/browser/branding/brandings.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/.
+
+## The following feature names must be treated as a brand.
+##
+## They cannot be:
+## - Transliterated.
+## - Translated.
+##
+## Declension should be avoided where possible, leaving the original
+## brand unaltered in prominent UI positions.
+##
+## For further details, consult:
+## https://mozilla-l10n.github.io/styleguides/mozilla_general/#brands-copyright-and-trademark
+
+-profiler-brand-name = Firefox Profiler
diff --git a/comm/mail/locales/en-US/browser/components/mozSupportLink.ftl b/comm/mail/locales/en-US/browser/components/mozSupportLink.ftl
new file mode 100644
index 0000000000..0cfaf42816
--- /dev/null
+++ b/comm/mail/locales/en-US/browser/components/mozSupportLink.ftl
@@ -0,0 +1,5 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+moz-support-link-text = Learn more
diff --git a/comm/mail/locales/en-US/chrome/communicator/utilityOverlay.dtd b/comm/mail/locales/en-US/chrome/communicator/utilityOverlay.dtd
new file mode 100644
index 0000000000..98c8912440
--- /dev/null
+++ b/comm/mail/locales/en-US/chrome/communicator/utilityOverlay.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 : FILE This file contains the global menu items -->
+
+<!ENTITY fileMenu.label "File">
+<!ENTITY fileMenu.accesskey "F">
+<!ENTITY newMenu.label "New">
+<!ENTITY newMenu.accesskey "N">
+
+<!ENTITY editMenu.label "Edit">
+<!ENTITY editMenu.accesskey "E">
+<!ENTITY undoCmd.label "Undo">
+<!ENTITY undoCmd.accesskey "U">
+<!ENTITY redoCmd.label "Redo">
+<!ENTITY redoCmd.accesskey "R">
+<!ENTITY deleteCmd.label "Delete">
+<!ENTITY deleteCmd.accesskey "D">
+<!ENTITY customizeCmd.label "Customize">
+<!ENTITY customizeCmd.accesskey "t">
+
+<!ENTITY viewMenu.label "View">
+<!ENTITY viewMenu.accesskey "V">
+<!ENTITY viewToolbarsMenu.label "Toolbars">
+<!ENTITY viewToolbarsMenu.accesskey "T">
+<!ENTITY showTaskbarCmd.label "Status Bar">
+<!ENTITY showTaskbarCmd.accesskey "u">
+
+<!ENTITY closeCmd.label "Close">
+<!ENTITY closeCmd.key "W">
+<!ENTITY closeCmd.accesskey "C">
diff --git a/comm/mail/locales/en-US/chrome/messenger-mapi/mapi.properties b/comm/mail/locales/en-US/chrome/messenger-mapi/mapi.properties
new file mode 100644
index 0000000000..69ed6a3e0e
--- /dev/null
+++ b/comm/mail/locales/en-US/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=Do you want to use %S as the default mail application?
+newsDialogText=Do you want to use %S as the default news application?
+feedDialogText=Do you want to use %S as the default feed aggregator?
+checkboxText=Do not display this dialog again
+setDefaultMail=%S is not currently set as your default mail application. Would you like to make it your default mail application?
+setDefaultNews=%S is not currently set as your default news application. Would you like to make it your default news application?
+setDefaultFeed=%S is not currently set as your default feed aggregator. Would you like to make it your default feed aggregator?
+alreadyDefaultMail=%S is already set as your default mail application.
+alreadyDefaultNews=%S is already set as your default news application.
+alreadyDefaultFeed=%S is already set as your default feed aggregator.
+
+# MAPI Messages
+loginText=Please enter your password for %S:
+loginTextwithName=Please enter your username and password
+loginTitle=%S
+PasswordTitle=%S
+
+# MAPI Error Messages
+errorMessage=%S could not be set as the default mail application because a registry key could not be updated. Verify with your system administrator that you have write access to your system registry, and then try again.
+errorMessageNews=%S could not be set as the default news application because a registry key could not be updated. Verify with your system administrator that you have write access to your system registry, and then try again.
+errorMessageTitle=%S
+
+# MAPI Security Messages
+mapiBlindSendWarning=Another application is attempting to send mail using your user profile. Are you sure you want to send mail?
+mapiBlindSendDontShowAgain=Warn me whenever other applications try to send mail from me
+
+#Default Mail Display String
+# localization note, %S is the vendor name
+defaultMailDisplayTitle=%S
diff --git a/comm/mail/locales/en-US/chrome/messenger-newsblog/am-newsblog.dtd b/comm/mail/locales/en-US/chrome/messenger-newsblog/am-newsblog.dtd
new file mode 100644
index 0000000000..d7a6851bef
--- /dev/null
+++ b/comm/mail/locales/en-US/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 "Enable updates for all feeds">
+<!ENTITY biffAll.accesskey "E">
+
+<!ENTITY newFeedSettings.label "Default Settings for New Feeds">
+
+<!ENTITY manageSubscriptions.label "Manage Subscriptions…">
+<!ENTITY manageSubscriptions.accesskey "M">
+
+<!ENTITY feedWindowTitle.label "Feed Account Wizard">
+<!ENTITY feeds.accountName "Blogs &amp; News Feeds">
diff --git a/comm/mail/locales/en-US/chrome/messenger-newsblog/feed-subscriptions.dtd b/comm/mail/locales/en-US/chrome/messenger-newsblog/feed-subscriptions.dtd
new file mode 100644
index 0000000000..0df7f953aa
--- /dev/null
+++ b/comm/mail/locales/en-US/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 "Feed Subscriptions">
+<!ENTITY learnMore.label "Learn more about Feeds">
+
+<!ENTITY feedTitle.label "Title:">
+<!ENTITY feedTitle.accesskey "T">
+
+<!ENTITY feedLocation.label "Feed URL:">
+<!ENTITY feedLocation.accesskey "F">
+<!ENTITY feedLocation2.placeholder "Enter a valid feed url">
+<!ENTITY locationValidate.label "Validate">
+<!ENTITY validateText.label "Check validation and retrieve a valid url.">
+
+<!ENTITY feedFolder.label "Store Articles in:">
+<!ENTITY feedFolder.accesskey "S">
+
+<!-- Account Settings and Subscription Dialog -->
+<!ENTITY biffStart.label "Check for new articles every ">
+<!ENTITY biffStart.accesskey "k">
+<!ENTITY biffMinutes.label "minutes">
+<!ENTITY biffMinutes.accesskey "n">
+<!ENTITY biffDays.label "days">
+<!ENTITY biffDays.accesskey "d">
+<!ENTITY recommendedUnits.label "Publisher recommends:">
+
+<!ENTITY quickMode.label "Show the article summary instead of loading the web page">
+<!ENTITY quickMode.accesskey "h">
+
+<!ENTITY autotagEnable.label "Automatically create tags from feed &lt;category&gt; names">
+<!ENTITY autotagEnable.accesskey "o">
+<!ENTITY autotagUsePrefix.label "Prefix tags with:">
+<!ENTITY autotagUsePrefix.accesskey "P">
+<!ENTITY autoTagPrefix.placeholder "Enter a tag prefix">
+
+<!-- Subscription Dialog -->
+<!ENTITY button.addFeed.label "Add">
+<!ENTITY button.addFeed.accesskey "A">
+<!ENTITY button.verifyFeed.label "Verify">
+<!ENTITY button.verifyFeed.accesskey "V">
+<!ENTITY button.updateFeed.label "Update">
+<!ENTITY button.updateFeed.accesskey "U">
+<!ENTITY button.removeFeed.label "Remove">
+<!ENTITY button.removeFeed.accesskey "R">
+<!ENTITY button.importOPML.label "Import">
+<!ENTITY button.importOPML.accesskey "I">
+<!ENTITY button.exportOPML.label "Export">
+<!ENTITY button.exportOPML.accesskey "X">
+<!ENTITY button.exportOPML.tooltip "Export Feeds with folder structure; ctrl click or ctrl enter to export Feeds as a list">
+
+<!ENTITY cmd.close.commandKey "w">
+<!ENTITY button.close.label "Close">
diff --git a/comm/mail/locales/en-US/chrome/messenger-newsblog/newsblog.properties b/comm/mail/locales/en-US/chrome/messenger-newsblog/newsblog.properties
new file mode 100644
index 0000000000..972d2af4f4
--- /dev/null
+++ b/comm/mail/locales/en-US/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=Verifying the feed…
+subscribe-cancelSubscription=Are you sure you wish to cancel subscribing to the current feed?
+subscribe-cancelSubscriptionTitle=Subscribing to a Feed…
+subscribe-feedAlreadySubscribed=You already have a subscription for this feed.
+subscribe-errorOpeningFile=Could not open the file.
+subscribe-feedAdded=Feed added.
+subscribe-feedUpdated=Feed updated.
+subscribe-feedMoved=Feed subscription moved.
+subscribe-feedCopied=Feed subscription copied.
+subscribe-feedRemoved=Feed unsubscribed.
+subscribe-feedNotValid=The Feed URL is not a valid feed.
+subscribe-feedVerified=The Feed URL has been verified.
+subscribe-networkError=The Feed URL could not be found. Please check the name and try again.
+subscribe-noAuthError=The Feed URL is not authorized.
+subscribe-loading=Loading, please wait…
+
+subscribe-OPMLImportTitle=Select OPML file to import
+## LOCALIZATION NOTE(subscribe-OPMLExportTitleList):
+## %S is the name of the feed account folder name.
+subscribe-OPMLExportTitleList=Export %S as an OPML file - Feeds list
+## LOCALIZATION NOTE(subscribe-OPMLExportTitleStruct):
+## %S is the name of the feed account folder name.
+subscribe-OPMLExportTitleStruct=Export %S as an OPML file - Feeds with folder structure
+## LOCALIZATION NOTE(subscribe-OPMLExportFileDialogTitle):
+## %1$S is the brandShortName, %2$S is the name of the feed account folder name.
+subscribe-OPMLExportFileDialogTitle=%1$S OPML Export - %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=The file %S does not seem to be a valid OPML file.
+## 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=Imported #1 new feed.;Imported #1 new feeds.
+## LOCALIZATION NOTE(subscribe-OPMLImportUniqueFeeds): Semi-colon list of plural forms.
+## #1 is the count of new imported entries
+subscribe-OPMLImportUniqueFeeds=Imported #1 new feed to which you aren't already subscribed;Imported #1 new feeds to which you aren't already subscribed
+## LOCALIZATION NOTE(subscribe-OPMLImportFoundFeeds):
+## #1 is total number of elements found in the file
+subscribe-OPMLImportFoundFeeds=(out of #1 entry found);(out of #1 total entries found)
+## 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 Files
+## LOCALIZATION NOTE(subscribe-OPMLExportDone): %S is the export file name.
+subscribe-OPMLExportDone=Feeds in this account have been exported to %S.
+
+subscribe-confirmFeedDeletionTitle=Remove Feed
+## LOCALIZATION NOTE(subscribe-confirmFeedDeletion): %S is the name of the feed the user wants to unsubscribe from.
+subscribe-confirmFeedDeletion=Are you sure you want to unsubscribe from the feed: \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=Downloading feed articles (%S of %S)…
+
+newsblog-noNewArticlesForFeed=There are no new articles for this feed.
+## LOCALIZATION NOTE(newsblog-networkError): %S is the feed URL
+newsblog-networkError=%S could not be found. Please check the name and try again.
+## LOCALIZATION NOTE(newsblog-feedNotValid): %S is the feed URL
+newsblog-feedNotValid=%S is not a valid feed.
+## LOCALIZATION NOTE(newsblog-badCertError): %S is the feed URL host
+newsblog-badCertError=%S uses an invalid security certificate.
+## LOCALIZATION NOTE(newsblog-noAuthError): %S is the feed URL
+newsblog-noAuthError=%S is not authorized.
+newsblog-getNewMsgsCheck=Checking feeds for new items…
+
+## LOCALIZATION NOTE(feeds-accountname): This string should be the same as feeds.accountName in am-newsblog.dtd
+feeds-accountname=Blogs & News Feeds
+
+## LOCALIZATION NOTE(externalAttachmentMsg): Content in the MIME part for external link attachments.
+externalAttachmentMsg=This MIME attachment is stored separately from the message.
+
+## Import wizard.
+ImportFeedsCreateNewListItem=* New Account *
+ImportFeedsNewAccount=Create and import into a new Feeds account
+ImportFeedsExistingAccount=Import into an existing Feeds account
+## 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=new
+ImportFeedsExisting=existing
+ImportFeedsDone=The feed subscriptions import from file %1$S into %2$S account '%3$S' has finished.
diff --git a/comm/mail/locales/en-US/chrome/messenger-region/region.properties b/comm/mail/locales/en-US/chrome/messenger-region/region.properties
new file mode 100644
index 0000000000..14e9df18b9
--- /dev/null
+++ b/comm/mail/locales/en-US/chrome/messenger-region/region.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/.
+
+mailnews.messageid_browser.url=https://groups.google.com/search?as_umsgid=%mid
+
+# Recognize non-standard versions of "Re:" in subjects from localized versions of MS Outlook et al.
+# Specify a comma-separated list without spaces. For example: mailnews.localizedRe=AW,SV
+mailnews.localizedRe=
diff --git a/comm/mail/locales/en-US/chrome/messenger-smime/certFetchingStatus.dtd b/comm/mail/locales/en-US/chrome/messenger-smime/certFetchingStatus.dtd
new file mode 100644
index 0000000000..8673b9ed9d
--- /dev/null
+++ b/comm/mail/locales/en-US/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 "Downloading Certificates">
+<!ENTITY info.message "Searching the directory for recipients' certificates. This may take a few minutes.">
+<!ENTITY stop.label "Stop Searching">
diff --git a/comm/mail/locales/en-US/chrome/messenger-smime/msgCompSMIMEOverlay.dtd b/comm/mail/locales/en-US/chrome/messenger-smime/msgCompSMIMEOverlay.dtd
new file mode 100644
index 0000000000..32e2ea6546
--- /dev/null
+++ b/comm/mail/locales/en-US/chrome/messenger-smime/msgCompSMIMEOverlay.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 msgCompSMIMEOverlay.dtd UI for s/mime hooks in message composition -->
+
+<!ENTITY menu_techPGP.label "OpenPGP">
+<!ENTITY menu_techPGP.accesskey "O">
+<!ENTITY menu_techSMIME.label "S/MIME">
+<!ENTITY menu_techSMIME.accesskey "S">
diff --git a/comm/mail/locales/en-US/chrome/messenger-smime/msgCompSecurityInfo.dtd b/comm/mail/locales/en-US/chrome/messenger-smime/msgCompSecurityInfo.dtd
new file mode 100644
index 0000000000..d8dbe6df27
--- /dev/null
+++ b/comm/mail/locales/en-US/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 "Message Security">
+<!ENTITY subject.plaintextWarning "Please note: Subject lines of email messages are never encrypted.">
+<!ENTITY status.heading "The contents of your message will be sent as follows:">
+<!ENTITY status.signed "Digitally signed:">
+<!ENTITY status.encrypted "Encrypted:">
+<!ENTITY status.certificates "Certificates:">
+<!ENTITY view.label "View">
+<!ENTITY view.accesskey "V">
+<!ENTITY tree.recipient "Recipient">
+<!ENTITY tree.status "Status">
+<!ENTITY tree.issuedDate "Issued">
+<!ENTITY tree.expiresDate "Expires">
diff --git a/comm/mail/locales/en-US/chrome/messenger-smime/msgCompSecurityInfo.properties b/comm/mail/locales/en-US/chrome/messenger-smime/msgCompSecurityInfo.properties
new file mode 100644
index 0000000000..bf8ca06592
--- /dev/null
+++ b/comm/mail/locales/en-US/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=Not Found
+StatusValid=Valid
+StatusExpired=Expired
+StatusUntrusted=Not Trusted
+StatusRevoked=Revoked
+StatusInvalid=Invalid
+StatusYes=Yes
+StatusNo=No
+StatusNotPossible=Not possible
diff --git a/comm/mail/locales/en-US/chrome/messenger-smime/msgReadSMIMEOverlay.properties b/comm/mail/locales/en-US/chrome/messenger-smime/msgReadSMIMEOverlay.properties
new file mode 100644
index 0000000000..5980bf2d69
--- /dev/null
+++ b/comm/mail/locales/en-US/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=The displayed message has been digitally signed, but not all its attachments have been downloaded yet. Therefore, the signature cannot be validated. Click OK to download the complete message and validate the signature.
+#
+#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% cannot decrypt this message
+CantDecryptBody=The sender encrypted this message to you using one of your digital certificates, however %brand% was not able to find this certificate and corresponding private key. <br> Possible solutions: <br><ul><li>If you have a smartcard, please insert it now. <li>If you are using a new machine, or if you are using a new %brand% profile, you will need to restore your certificate and private key from a backup. Certificate backups usually end in ".p12".</ul>
diff --git a/comm/mail/locales/en-US/chrome/messenger-smime/msgReadSecurityInfo.dtd b/comm/mail/locales/en-US/chrome/messenger-smime/msgReadSecurityInfo.dtd
new file mode 100644
index 0000000000..8ce7ec95f1
--- /dev/null
+++ b/comm/mail/locales/en-US/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 "Message Security">
+<!ENTITY signatureCert.label "View Signature Certificate">
+<!ENTITY encryptionCert.label "View Encryption Certificate">
+
+<!ENTITY signer.name "Signed by:">
+<!ENTITY recipient.name "Encrypted for:">
+<!ENTITY email.address "Email address:">
+<!ENTITY issuer.name "Certificate issued by:">
+
+<!-- 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/comm/mail/locales/en-US/chrome/messenger-smime/msgSecurityInfo.properties b/comm/mail/locales/en-US/chrome/messenger-smime/msgSecurityInfo.properties
new file mode 100644
index 0000000000..d3bcd87054
--- /dev/null
+++ b/comm/mail/locales/en-US/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=Message Has No Digital Signature
+SINone=This message does not include the sender's digital signature. The absence of a digital signature means that the message could have been sent by someone pretending to have this email address. It is also possible that the message has been altered while in transit over the network. However, it is unlikely that either event has occurred.
+SIValidLabel=Message Is Signed
+SIValid=This message includes a valid digital signature. The message has not been altered since it was sent.
+SIInvalidLabel=Digital Signature Is Not Valid
+SIInvalidHeader=This message includes a digital signature, but the signature is invalid.
+SIContentAltered=The signature does not match the message content correctly. The message appears to have been altered after the sender signed it. You should not trust the validity of this message until you verify its contents with the sender.
+SIExpired=The certificate used to sign the message appears to have expired. Make sure your computer's clock is set correctly.
+SIRevoked=The certificate used to sign the message has been revoked. You should not trust the validity of this message until you verify its contents with the sender.
+SINotYetValid=The certificate used to sign the message appears not to be valid yet. Make sure your computer's clock is set correctly.
+SIUnknownCA=The certificate used to sign the message was issued by an unknown certificate authority.
+SIUntrustedCA=The certificate used to sign the message was issued by a certificate authority that you do not trust for issuing this kind of certificate.
+SIExpiredCA=The certificate used to sign the message was issued by a certificate authority whose own certificate has expired. Make sure your computer's clock is set correctly.
+SIRevokedCA=The certificate used to sign the message was issued by a certificate authority whose own certificate has been revoked. You should not trust the validity of this message until you verify its contents with the sender.
+SINotYetValidCA=The certificate used to sign the message was issued by a certificate authority whose own certificate is not yet valid. Make sure your computer's clock is set correctly.
+SIInvalidCipher=The message was signed using an encryption strength that this version of your software does not support.
+SIClueless=There are unknown problems with this digital signature. You should not trust the validity of this message until you verify its contents with the sender.
+SIPartiallyValidLabel=Message is signed
+SIPartiallyValidHeader=Although the digital signature is valid, it is unknown whether sender and signer are the same person.
+SIHeaderMismatch=The email address listed in the signer's certificate is different from the email address that was used to send this message. Please look at the details of the signature certificate to learn who signed the message.
+SICertWithoutAddress=The certificate used to sign the message does not contain an email address. Please look at the details of the signature certificate to learn who signed the message.
+
+## Encryption Information strings
+EINoneLabel2=Message Is Not Encrypted
+EINone=This message was not encrypted before it was sent. Information sent over the Internet without encryption can be seen by other people while in transit.
+EIValidLabel=Message Is Encrypted
+EIValid=This message was encrypted before it was sent to you. Encryption makes it very difficult for other people to view information while it is traveling over the network.
+EIInvalidLabel=Message Cannot Be Decrypted
+EIInvalidHeader=This message was encrypted before it was sent to you, but it cannot be decrypted.
+EIContentAltered=The message contents appear to have been altered during transmission.
+EIClueless=There are unknown problems with this encrypted message.
diff --git a/comm/mail/locales/en-US/chrome/messenger/AccountManager.dtd b/comm/mail/locales/en-US/chrome/messenger/AccountManager.dtd
new file mode 100644
index 0000000000..84d9069d56
--- /dev/null
+++ b/comm/mail/locales/en-US/chrome/messenger/AccountManager.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/. -->
+
+<!-- extracted from AccountManager.xhtml -->
+
+<!ENTITY accountManagerTitle.label "Account Settings">
+<!ENTITY accountManagerCloseButton.label "Close">
+
+<!ENTITY accountActionsButton.label "Account Actions">
+<!ENTITY accountActionsButton.accesskey "A">
+<!ENTITY addMailAccountButton.label "Add Mail Account…">
+<!ENTITY addMailAccountButton.accesskey "A">
+<!ENTITY addIMAccountButton.label "Add Chat Account…">
+<!ENTITY addIMAccountButton.accesskey "C">
+<!ENTITY addFeedAccountButton.label "Add Feed Account…">
+<!ENTITY addFeedAccountButton.accesskey "F">
+<!ENTITY setDefaultButton.label "Set as Default">
+<!ENTITY setDefaultButton.accesskey "D">
+<!ENTITY removeButton.label "Remove Account">
+<!ENTITY removeButton.accesskey "R">
+
+<!ENTITY addonsButton.label "Extensions &amp; Themes">
diff --git a/comm/mail/locales/en-US/chrome/messenger/AccountWizard.dtd b/comm/mail/locales/en-US/chrome/messenger/AccountWizard.dtd
new file mode 100644
index 0000000000..2e88164fdc
--- /dev/null
+++ b/comm/mail/locales/en-US/chrome/messenger/AccountWizard.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/. -->
+
+<!-- Entities for AccountWizard -->
+
+<!ENTITY windowTitle.label "Account Wizard">
+
+<!-- Entities for Identity page -->
+
+<!ENTITY identityTitle.label "Identity">
+<!ENTITY identityDesc.label "Each account has an identity, which is the information that identifies you to others when they receive your messages.">
+
+<!-- LOCALIZATION NOTE (fullnameDesc.label) : do not translate two of "&quot;" in below line -->
+<!ENTITY fullnameDesc.label "Enter the name you would like to appear in the &quot;From&quot; field of your outgoing messages">
+<!-- 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 "(for example, &quot;John Smith&quot;).">
+<!ENTITY fullnameLabel.label "Your Name:">
+<!ENTITY fullnameLabel.accesskey "Y">
+
+<!ENTITY emailLabel.label "Email Address:">
+<!ENTITY emailLabel.accesskey "E">
+
+<!-- Entities for Incoming Server page -->
+
+<!ENTITY incomingTitle.label "Incoming Server Information">
+<!ENTITY incomingUsername.label "User Name:">
+<!-- LOCALIZATION NOTE (newsServerNameDesc.label) : Do not translate "NNTP" or the "&quot;" entities in below line -->
+<!ENTITY newsServerNameDesc.label "Enter the name of your news server (NNTP) (for example, &quot;news.example.net&quot;).">
+<!ENTITY newsServerLabel.label "Newsgroup Server:">
+<!ENTITY newsServerLabel.accesskey "S">
+
+<!-- Entities for Account name page -->
+
+<!ENTITY accnameTitle.label "Account Name">
+<!-- LOCALIZATION NOTE (accnameDesc.label) : do not translate any "&quot;" in below line -->
+<!ENTITY accnameDesc.label "Enter the name by which you would like to refer to this account (for example, &quot;Work Account&quot;, &quot;Home Account&quot; or &quot;News Account&quot;).">
+<!ENTITY accnameLabel.label "Account Name:">
+<!ENTITY accnameLabel.accesskey "A">
+
+<!-- Entities for Done (Congratulations) page -->
+
+<!ENTITY completionTitle.label "Congratulations!">
+<!ENTITY completionText.label "Please verify that the information below is correct.">
+<!ENTITY newsServerNamePrefix.label "News Server Name (NNTP):">
+<!ENTITY clickFinish.label "Click Finish to save these settings and exit the Account Wizard.">
+<!ENTITY clickFinish.labelMac "Click Done to save these settings and exit the Account Wizard.">
diff --git a/comm/mail/locales/en-US/chrome/messenger/CustomHeaders.dtd b/comm/mail/locales/en-US/chrome/messenger/CustomHeaders.dtd
new file mode 100644
index 0000000000..0f0858c0ae
--- /dev/null
+++ b/comm/mail/locales/en-US/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 "Customize Headers">
+<!ENTITY addButton.label "Add">
+<!ENTITY addButton.accesskey "A">
+<!ENTITY removeButton.label "Remove">
+<!ENTITY removeButton.accesskey "R">
+<!ENTITY newMsgHeader.label "New message header:">
+<!ENTITY newMsgHeader.accesskey "N">
diff --git a/comm/mail/locales/en-US/chrome/messenger/FilterEditor.dtd b/comm/mail/locales/en-US/chrome/messenger/FilterEditor.dtd
new file mode 100644
index 0000000000..21146c5cff
--- /dev/null
+++ b/comm/mail/locales/en-US/chrome/messenger/FilterEditor.dtd
@@ -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/. -->
+
+<!ENTITY window.title "Filter Rules">
+<!ENTITY filterName.label "Filter name:">
+<!ENTITY filterName.accesskey "i">
+
+<!ENTITY junk.label "Junk">
+<!ENTITY notJunk.label "Not Junk">
+
+<!ENTITY lowestPriorityCmd.label "Lowest">
+<!ENTITY lowPriorityCmd.label "Low">
+<!ENTITY normalPriorityCmd.label "Normal">
+<!ENTITY highPriorityCmd.label "High">
+<!ENTITY highestPriorityCmd.label "Highest">
+
+<!ENTITY contextDesc.label "Apply filter when:">
+<!ENTITY contextIncomingMail.label "Getting New Mail:">
+<!ENTITY contextIncomingMail.accesskey "G">
+<!ENTITY contextManual.label "Manually Run">
+<!ENTITY contextManual.accesskey "R">
+<!ENTITY contextBeforeCls.label "Filter before Junk Classification">
+<!ENTITY contextAfterCls.label "Filter after Junk Classification">
+<!ENTITY contextOutgoing.label "After Sending">
+<!ENTITY contextOutgoing.accesskey "S">
+<!ENTITY contextArchive.label "Archiving">
+<!ENTITY contextArchive.accesskey "A">
+<!ENTITY contextPeriodic.accesskey "e">
+
+<!ENTITY filterActionDesc.label "Perform these actions:">
+<!ENTITY filterActionDesc.accesskey "P">
+
+<!ENTITY filterActionOrderWarning.label "Note: Filter actions will be run in a different order.">
+<!ENTITY filterActionOrder.label "See execution order">
+
+<!-- New Style Filter Rule Actions -->
+<!ENTITY moveMessage.label "Move Message to">
+<!ENTITY copyMessage.label "Copy Message to">
+<!ENTITY forwardTo.label "Forward Message to">
+<!ENTITY replyWithTemplate.label "Reply with Template">
+<!ENTITY markMessageRead.label "Mark As Read">
+<!ENTITY markMessageUnread.label "Mark As Unread">
+<!ENTITY markMessageStarred.label "Add Star">
+<!ENTITY setPriority.label "Set Priority to">
+<!ENTITY addTag.label "Tag Message">
+<!ENTITY setJunkScore.label "Set Junk Status to">
+<!ENTITY deleteMessage.label "Delete Message">
+<!ENTITY deleteFromPOP.label "Delete From POP Server">
+<!ENTITY fetchFromPOP.label "Fetch From POP Server">
+<!ENTITY ignoreThread.label "Ignore Thread">
+<!ENTITY ignoreSubthread.label "Ignore Subthread">
+<!ENTITY watchThread.label "Watch Thread">
+<!ENTITY stopExecution.label "Stop Filter Execution">
+
+<!ENTITY addAction.tooltip "Add a new action">
+<!ENTITY removeAction.tooltip "Remove this action">
+
+<!-- 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/comm/mail/locales/en-US/chrome/messenger/FilterListDialog.dtd b/comm/mail/locales/en-US/chrome/messenger/FilterListDialog.dtd
new file mode 100644
index 0000000000..0d41269eea
--- /dev/null
+++ b/comm/mail/locales/en-US/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 "Message Filters">
+<!ENTITY nameColumn.label "Filter Name">
+<!ENTITY activeColumn.label "Enabled">
+<!ENTITY newButton.label "New…">
+<!ENTITY newButton.accesskey "N">
+<!ENTITY newButton.popupCopy.label "Copy…">
+<!ENTITY newButton.popupCopy.accesskey "C">
+<!ENTITY editButton.label "Edit…">
+<!ENTITY editButton.accesskey "E">
+<!ENTITY deleteButton.label "Delete">
+<!ENTITY deleteButton.accesskey "t">
+<!ENTITY reorderTopButton "Move to Top">
+<!ENTITY reorderTopButton.accessKey "o">
+<!ENTITY reorderTopButton.toolTip "Rearrange filter so it executes before all others">
+<!ENTITY reorderUpButton.label "Move Up">
+<!ENTITY reorderUpButton.accesskey "U">
+<!ENTITY reorderDownButton.label "Move Down">
+<!ENTITY reorderDownButton.accesskey "D">
+<!ENTITY reorderBottomButton "Move to Bottom">
+<!ENTITY reorderBottomButton.accessKey "B">
+<!ENTITY reorderBottomButton.toolTip "Rearrange filter so it executes after all others">
+<!ENTITY filterHeader.label "Enabled filters are run automatically in the order shown below.">
+<!ENTITY filtersForPrefix.label "Filters for:">
+<!ENTITY filtersForPrefix.accesskey "F">
+<!ENTITY viewLogButton.label "Filter Log">
+<!ENTITY viewLogButton.accesskey "L">
+<!ENTITY runFilters.label "Run Now">
+<!ENTITY runFilters.accesskey "R">
+<!ENTITY stopFilters.label "Stop">
+<!ENTITY stopFilters.accesskey "S">
+<!ENTITY folderPickerPrefix.label "Run selected filter(s) on:">
+<!ENTITY folderPickerPrefix.accesskey "c">
+<!ENTITY helpButton.label "Help">
+<!ENTITY helpButton.accesskey "H">
+<!ENTITY closeCmd.key "W">
+<!ENTITY searchBox.emptyText "Search filters by name…">
diff --git a/comm/mail/locales/en-US/chrome/messenger/SearchDialog.dtd b/comm/mail/locales/en-US/chrome/messenger/SearchDialog.dtd
new file mode 100644
index 0000000000..61135e17b3
--- /dev/null
+++ b/comm/mail/locales/en-US/chrome/messenger/SearchDialog.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/. -->
+
+<!-- for SearchDialog.xhtml -->
+<!ENTITY searchHeading.label "Search for messages in:">
+<!ENTITY searchHeading.accesskey "h">
+<!ENTITY searchSubfolders.label "Search subfolders">
+<!ENTITY searchSubfolders.accesskey "e">
+<!ENTITY searchOnServer.label "Run search on server">
+<!ENTITY searchOnServer.accesskey "u">
+<!ENTITY resetButton.label "Clear">
+<!ENTITY resetButton.accesskey "C">
+<!ENTITY openButton.label "Open">
+<!ENTITY openButton.accesskey "n">
+<!ENTITY deleteButton.label "Delete">
+<!ENTITY deleteButton.accesskey "D">
+<!ENTITY searchDialogTitle.label "Search Messages">
+<!ENTITY results.label "Results">
+<!ENTITY moveButton.label "Move To">
+<!ENTITY moveButton.accesskey "T">
+<!ENTITY closeCmd.key "W">
+<!ENTITY openInFolder.label "Open in Folder">
+<!ENTITY openInFolder.accesskey "r">
+<!ENTITY saveAsVFButton.label "Save as Search Folder">
+<!ENTITY saveAsVFButton.accesskey "v">
+
+<!-- for abSearchDialog.xhtml -->
+<!ENTITY abSearchHeading.label "Search in:">
+<!ENTITY abSearchHeading.accesskey "h">
+<!ENTITY propertiesButton.label "Properties">
+<!ENTITY propertiesButton.accesskey "P">
+<!ENTITY composeButton.label "Write">
+<!ENTITY composeButton.accesskey "W">
+<!ENTITY deleteCardButton.label "Delete">
+<!ENTITY deleteCardButton.accesskey "D">
+<!ENTITY abSearchDialogTitle.label "Advanced Address Book Search">
diff --git a/comm/mail/locales/en-US/chrome/messenger/aboutDownloads.dtd b/comm/mail/locales/en-US/chrome/messenger/aboutDownloads.dtd
new file mode 100644
index 0000000000..48cc0c01a5
--- /dev/null
+++ b/comm/mail/locales/en-US/chrome/messenger/aboutDownloads.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/. -->
+
+<!ENTITY aboutDownloads.title "Saved Files">
+<!-- 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 "Open Containing Folder">
+<!ENTITY cmd.show.accesskey "F">
+<!ENTITY cmd.showMac.label "Show In Finder">
+<!ENTITY cmd.showMac.accesskey "F">
+<!ENTITY cmd.open.label "Open">
+<!ENTITY cmd.open.accesskey "O">
+<!ENTITY cmd.removeFromHistory.label "Remove From History">
+<!ENTITY cmd.removeFromHistory.accesskey "e">
+<!ENTITY cmd.clearList.label "Clear List">
+<!ENTITY cmd.clearList.accesskey "C">
+<!ENTITY cmd.clearList.tooltip "Remove all entries from the list of saved files, except ongoing downloads.">
+<!ENTITY cmd.searchDownloads.label "Search…">
+<!ENTITY cmd.searchDownloads.key "F">
diff --git a/comm/mail/locales/en-US/chrome/messenger/aboutRights.properties b/comm/mail/locales/en-US/chrome/messenger/aboutRights.properties
new file mode 100644
index 0000000000..4a305cdf51
--- /dev/null
+++ b/comm/mail/locales/en-US/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=Know your rights…
+buttonAccessKey=K
diff --git a/comm/mail/locales/en-US/chrome/messenger/aboutSupportMail.properties b/comm/mail/locales/en-US/chrome/messenger/aboutSupportMail.properties
new file mode 100644
index 0000000000..5c130c39c4
--- /dev/null
+++ b/comm/mail/locales/en-US/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=WARNING:
+# LOCALIZATION NOTE (warningText): Warning text that shows up when private data is included
+warningText=This contains sensitive information which shouldn't be forwarded or published without permission.
+
+# LOCALIZATION NOTE (fsType.local): Indicator that the displayed directory is on a local drive
+fsType.local = (Local drive)
+# LOCALIZATION NOTE (fsType.network): Indicator that the displayed directory is on the network
+fsType.network = (Network drive)
+# LOCALIZATION NOTE (fsType.unknown): Indicator that we couldn't figure out whether the directory is local or on a network
+fsType.unknown = (Unknown location)
diff --git a/comm/mail/locales/en-US/chrome/messenger/accountCreationModel.properties b/comm/mail/locales/en-US/chrome/messenger/accountCreationModel.properties
new file mode 100644
index 0000000000..dd55a6f011
--- /dev/null
+++ b/comm/mail/locales/en-US/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=The config file XML does not contain an email account configuration.
+outgoing_not_smtp.error=The outgoing server must be of type SMTP
+
+# verifyConfig.js
+cannot_login.error=Unable to log in at server. Probably wrong configuration, username or password.
+
+# guessConfig.js
+cannot_find_server.error=Can't find a server
+
+# exchangeAutoDiscover.js
+no_autodiscover.error=The Exchange AutoDiscover XML is invalid.
diff --git a/comm/mail/locales/en-US/chrome/messenger/accountCreationUtil.properties b/comm/mail/locales/en-US/chrome/messenger/accountCreationUtil.properties
new file mode 100644
index 0000000000..0d47935d49
--- /dev/null
+++ b/comm/mail/locales/en-US/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=Hostname is empty or contains forbidden characters. Only letters, numbers, - and . are allowed.
+alphanumdash.error=String contains unsupported characters. Only letters, numbers, - and _ are allowed.
+allowed_value.error=Supplied value not in allowed list
+url_scheme.error=URL scheme not allowed
+url_parsing.error=URL not recognized
+string_empty.error=You must supply a value for this string
+boolean.error=Not a boolean
+no_number.error=Not a number
+number_too_large.error=Number too large
+number_too_small.error=Number too small
+
+
+# fetchhttp.js
+cannot_contact_server.error=Cannot contact server
+bad_response_content.error=Bad response content
+
+# 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=Login failed. Are username/email address and password correct?
+# 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=Login failed. The server %1$S said: %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=Login verification failed for an unknown reason.
+# 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=Login verification failed with message: %1$S
diff --git a/comm/mail/locales/en-US/chrome/messenger/activity.dtd b/comm/mail/locales/en-US/chrome/messenger/activity.dtd
new file mode 100644
index 0000000000..faf8c139c3
--- /dev/null
+++ b/comm/mail/locales/en-US/chrome/messenger/activity.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 (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 "Activity Manager">
+
+<!ENTITY cmd.close.commandkey "w">
+<!ENTITY cmd.close2.commandkey "j">
+<!ENTITY cmd.close2Unix.commandkey "y">
+<!ENTITY cmd.clearList.label "Clear List">
+<!ENTITY cmd.clearList.tooltip "Removes completed, canceled, and failed items from the list">
+<!ENTITY cmd.clearList.accesskey "C">
diff --git a/comm/mail/locales/en-US/chrome/messenger/activity.properties b/comm/mail/locales/en-US/chrome/messenger/activity.properties
new file mode 100644
index 0000000000..88a20b8109
--- /dev/null
+++ b/comm/mail/locales/en-US/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=Paused
+processing=Processing
+notStarted=Not Started
+failed=Failed
+waitingForInput=Waiting for input
+waitingForRetry=Waiting for retry
+completed=Completed
+canceled=Canceled
+
+# LOCALIZATION NOTE (sendingMessages): this is used as a title for grouping processes in the activity manager when sending email.
+sendingMessages=Sending Messages
+sendingMessage=Sending Message
+# LOCALIZATION NOTE (sendingMessageWithSubject): %S will be replaced by the subject of the message being sent.
+sendingMessageWithSubject=Sending Message: %S
+copyMessage=Copying message to sent folder
+sentMessage=Sent Message
+# LOCALIZATION NOTE (sentMessageWithSubject): %S will be replaced by the subject of the message being sent.
+sentMessageWithSubject=Sent Message: %S
+failedToSendMessage=Failed to send message
+failedToCopyMessage=Failed to copy message
+# LOCALIZATION NOTE (failedToSendMessageWithSubject): %S will be replaced by the subject of the message being sent.
+failedToSendMessageWithSubject=Failed to send message: %S
+# LOCALIZATION NOTE (failedToCopyMessageWithSubject): %S will be replaced by the subject of the message being sent.
+failedToCopyMessageWithSubject=Failed to copy message: %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: Downloading message %1$S of %2$S in %3$S…
+# LOCALIZATION NOTE (autosyncProcessDisplayText): %S will be replaced by the folder name
+autosyncProcessDisplayText=Bringing folder %S up to date
+# LOCALIZATION NOTE (autosyncEventDisplayText): %S will be replaced by the account name
+autosyncEventDisplayText=%S is up to date
+# LOCALIZATION NOTE (autosyncEventStatusText): %S will be replaced by total number of downloaded messages
+autosyncEventStatusText=Total number of messages downloaded: %S
+autosyncEventStatusTextNoMsgs=No messages downloaded
+# LOCALIZATION NOTE (autosyncContextDisplayText): %S will be replaced by the account name
+autosyncContextDisplayText=Synchronizing: %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: Checking %2$S for new messages…
+# LOCALIZATION NOTE (pop3EventDisplayText): %S will be replaced by the account name
+pop3EventDisplayText=%S is up to date
+# LOCALIZATION NOTE (pop3EventStatusText): #1 will be replaced by total number of downloaded messages
+pop3EventStatusText=#1 message downloaded;#1 messages downloaded
+pop3EventStatusTextNoMsgs=No messages to download
+
+# Message actions that show up in activity manager
+# LOCALIZATION NOTE (deletedMessages2): #1 number of messages, #2 folder name
+deletedMessages2=Deleted #1 message from #2;Deleted #1 messages from #2
+# LOCALIZATION NOTE (movedMessages): #1 number of messages, #2 and #3: folder names
+movedMessages=Moved #1 message from #2 to #3;Moved #1 messages from #2 to #3
+# LOCALIZATION NOTE (copiedMessages): #1 number of messages, #2 and #3: folder names
+copiedMessages=Copied #1 message from #2 to #3;Copied #1 messages from #2 to #3
+# LOCALIZATION NOTE (fromServerToServer): #1 source server, #2 destination server
+fromServerToServer=from #1 to #2
+# LOCALIZATION NOTE (deletedFolder): #1 folder name
+deletedFolder=Deleted folder #1
+emptiedTrash=Emptied Trash
+# LOCALIZATION NOTE (movedFolder): #1 and #2 are folder names
+movedFolder=Moved folder #1 into folder #2
+# LOCALIZATION NOTE (movedFolderToTrash): #1 is the folder name
+movedFolderToTrash=Moved folder #1 to Trash
+# LOCALIZATION NOTE (copiedFolder): #1 and #2 are folder names
+copiedFolder=Copied folder #1 into folder #2
+# LOCALIZATION NOTE (renamedFolder): #1 and #2 are folder names
+renamedFolder=Renamed folder #1 to #2
+indexing=Indexing messages
+# LOCALIZATION NOTE (indexingFolder): #1 is a folder name
+indexingFolder=Indexing messages in #1
+indexingStatusVague=Determining which messages to index
+# LOCALIZATION NOTE (indexingFolderStatusVague): #1 is a folder name
+indexingFolderStatusVague=Determining which messages to index in #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=Indexing #1 of #2 message;Indexing #1 of #2 messages (#3% complete)
+# 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=Indexing #1 of #2 message in #4;Indexing #1 of #2 messages in #4 (#3% complete)
+# LOCALIZATION NOTE (indexedFolder): #1 number of messages; #2 folder name
+indexedFolder=Indexed #1 message in #2;Indexed #1 messages in #2
+# LOCALIZATION NOTE (indexedFolderStatus): #1 number of seconds spent indexing
+indexedFolderStatus=#1 second elapsed;#1 seconds elapsed
diff --git a/comm/mail/locales/en-US/chrome/messenger/addbuddy.dtd b/comm/mail/locales/en-US/chrome/messenger/addbuddy.dtd
new file mode 100644
index 0000000000..9c6d5c4d40
--- /dev/null
+++ b/comm/mail/locales/en-US/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 "Add contact">
+<!ENTITY name.label "Username">
+<!ENTITY account.label "Account">
diff --git a/comm/mail/locales/en-US/chrome/messenger/addressbook/abAddressBookNameDialog.dtd b/comm/mail/locales/en-US/chrome/messenger/addressbook/abAddressBookNameDialog.dtd
new file mode 100644
index 0000000000..37e5ac4f43
--- /dev/null
+++ b/comm/mail/locales/en-US/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 "Address Book Name:">
+<!ENTITY name.accesskey "A">
diff --git a/comm/mail/locales/en-US/chrome/messenger/addressbook/abContactsPanel.dtd b/comm/mail/locales/en-US/chrome/messenger/addressbook/abContactsPanel.dtd
new file mode 100644
index 0000000000..76ff38fe42
--- /dev/null
+++ b/comm/mail/locales/en-US/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 "Properties">
+<!ENTITY propertiesMenu.accesskey "i">
+<!ENTITY propertiesCmd.key "i">
+<!ENTITY abPropertiesMenu.label "Address Book Properties">
+<!ENTITY abPropertiesMenu.accesskey "i">
+<!ENTITY contactPropertiesMenu.label "Contact Properties">
+<!ENTITY contactPropertiesMenu.accesskey "i">
+<!ENTITY mailingListPropertiesMenu.label "Mailing List Properties">
+<!ENTITY mailingListPropertiesMenu.accesskey "i">
+
+<!ENTITY abContextMenuButton.tooltip "Display Address Book Context Menu">
+<!ENTITY addressbookPicker.label "Address Book:">
+<!ENTITY addressbookPicker.accesskey "k">
+<!ENTITY searchContacts.label "Search Contacts:">
+<!ENTITY searchContacts.accesskey "n">
+<!ENTITY SearchNameOrEmail.label "Name or Email">
+
+<!ENTITY addtoToFieldMenu.label "Add to To field">
+<!ENTITY addtoToFieldMenu.accesskey "A">
+<!ENTITY addtoCcFieldMenu.label "Add to Cc field">
+<!ENTITY addtoCcFieldMenu.accesskey "C">
+<!ENTITY addtoBccFieldMenu.label "Add to Bcc field">
+<!ENTITY addtoBccFieldMenu.accesskey "B">
+<!ENTITY deleteAddrBookCard.label "Delete">
+<!ENTITY deleteAddrBookCard.accesskey "D">
+<!ENTITY propertiesContext.label "Properties">
+<!ENTITY propertiesContext.accesskey "i">
+<!ENTITY abPropertiesContext.label "Properties">
+<!ENTITY abPropertiesContext.accesskey "i">
+<!ENTITY editContactContext.label "Edit Contact">
+<!ENTITY editContactContext.accesskey "E">
+<!ENTITY editMailingListContext.label "Edit List">
+<!ENTITY editMailingListContext.accesskey "E">
+
+<!ENTITY newContactAbContext.label "New Contact">
+<!ENTITY newContactAbContext.accesskey "C">
+<!ENTITY newListAbContext.label "New List">
+<!ENTITY newListAbContext.accesskey "L">
+
+<!ENTITY toButton.label "Add to To:">
+<!ENTITY toButton.accesskey "A">
+<!ENTITY ccButton.label "Add to Cc:">
+<!ENTITY ccButton.accesskey "C">
+<!ENTITY bccButton.label "Add to Bcc:">
+<!ENTITY bccButton.accesskey "B">
diff --git a/comm/mail/locales/en-US/chrome/messenger/addressbook/abMailListDialog.dtd b/comm/mail/locales/en-US/chrome/messenger/addressbook/abMailListDialog.dtd
new file mode 100644
index 0000000000..dafa97c116
--- /dev/null
+++ b/comm/mail/locales/en-US/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 "New Mailing List">
+
+<!-- Labels and Access Keys -->
+<!ENTITY addToAddressBook.label "Add to: ">
+<!ENTITY addToAddressBook.accesskey "A">
+<!ENTITY ListName.label "List Name: ">
+<!ENTITY ListName.accesskey "L">
+<!ENTITY ListNickName.label "List Nickname: ">
+<!ENTITY ListNickName.accesskey "N">
+<!ENTITY ListDescription.label "Description: ">
+<!ENTITY ListDescription.accesskey "D">
+<!-- See bug 58485, when we implement drag and drop, add 'or drag addresses' back in -->
+<!ENTITY AddressTitle.label "Type email addresses to add them to the mailing list:">
+<!ENTITY AddressTitle.accesskey "m">
+<!ENTITY UpButton.label "Move Up">
+<!ENTITY DownButton.label "Move Down">
diff --git a/comm/mail/locales/en-US/chrome/messenger/addressbook/abMainWindow.dtd b/comm/mail/locales/en-US/chrome/messenger/addressbook/abMainWindow.dtd
new file mode 100644
index 0000000000..81356d48d9
--- /dev/null
+++ b/comm/mail/locales/en-US/chrome/messenger/addressbook/abMainWindow.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 showAsDefault.label "Default startup directory">
+<!ENTITY showAsDefault.accesskey "S">
+
+<!-- Search Bar -->
+<!ENTITY SearchNameOrEmail.label "Name or Email">
+
+<!-- Results Pane -->
+<!ENTITY Addrbook.label "Address Book">
+<!ENTITY GeneratedName.label "Name">
+<!ENTITY PrimaryEmail.label "Email">
diff --git a/comm/mail/locales/en-US/chrome/messenger/addressbook/abResultsPane.dtd b/comm/mail/locales/en-US/chrome/messenger/addressbook/abResultsPane.dtd
new file mode 100644
index 0000000000..29044874fc
--- /dev/null
+++ b/comm/mail/locales/en-US/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 "Address Book">
+<!ENTITY Addrbook.accesskey "B">
+<!ENTITY GeneratedName.label "Name">
+<!ENTITY GeneratedName.accesskey "N">
+<!ENTITY PrimaryEmail.label "Email">
+<!ENTITY PrimaryEmail.accesskey "E">
+<!ENTITY Company.label "Organization">
+<!ENTITY Company.accesskey "z">
+<!ENTITY _PhoneticName.label "Phonetic Name">
+<!ENTITY _PhoneticName.accesskey "o">
+<!ENTITY NickName.label "Nickname">
+<!ENTITY NickName.accesskey "i">
+<!ENTITY SecondEmail.label "Additional Email">
+<!ENTITY SecondEmail.accesskey "l">
+<!ENTITY Department.label "Department">
+<!ENTITY Department.accesskey "r">
+<!ENTITY JobTitle.label "Title">
+<!ENTITY JobTitle.accesskey "T">
+<!ENTITY CellularNumber.label "Mobile">
+<!ENTITY CellularNumber.accesskey "M">
+<!ENTITY PagerNumber.label "Pager">
+<!ENTITY PagerNumber.accesskey "P">
+<!ENTITY FaxNumber.label "Fax">
+<!ENTITY FaxNumber.accesskey "F">
+<!ENTITY HomePhone.label "Home Phone">
+<!ENTITY HomePhone.accesskey "H">
+<!ENTITY WorkPhone.label "Work Phone">
+<!ENTITY WorkPhone.accesskey "W">
+<!ENTITY ChatName.label "Chat Name">
+<!ENTITY ChatName.accesskey "C">
+<!ENTITY sortAscending.label "Ascending">
+<!ENTITY sortAscending.accesskey "A">
+<!ENTITY sortDescending.label "Descending">
+<!ENTITY sortDescending.accesskey "D">
diff --git a/comm/mail/locales/en-US/chrome/messenger/addressbook/addressBook.properties b/comm/mail/locales/en-US/chrome/messenger/addressbook/addressBook.properties
new file mode 100644
index 0000000000..4bedfc341c
--- /dev/null
+++ b/comm/mail/locales/en-US/chrome/messenger/addressbook/addressBook.properties
@@ -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/.
+
+# The following are used by the Mailing list dialog.
+# LOCALIZATION NOTE (mailingListTitleEdit): %S will be replaced by the Mailing List's display name.
+mailingListTitleEdit=Edit %S
+emptyListName=You must enter a list name.
+badListNameCharacters=A list name cannot contain any of the following characters: < > ; , "
+badListNameSpaces=A list name cannot contain multiple adjacent spaces.
+lastFirstFormat=%S, %S
+firstLastFormat=%S %S
+
+allAddressBooks=All Address Books
+
+newContactTitle=New Contact
+# %S will be the contact's display name
+newContactTitleWithDisplayName=New Contact for %S
+editContactTitle=Edit Contact
+# %S will be the contact's display name
+editContactTitleWithDisplayName=Edit Contact for %S
+# don't translate vCard
+editVCardTitle=Edit vCard
+# %S will be the card's display name, don't translate vCard
+editVCardTitleWithDisplayName=Edit vCard for %S
+
+## LOCALIZATION NOTE (cardRequiredDataMissingMessage): do not localize \n
+cardRequiredDataMissingMessage=You must enter at least one of the following items:\nEmail Address, First Name, Last Name, Display Name, Organization.
+cardRequiredDataMissingTitle=Required Information Missing
+incorrectEmailAddressFormatMessage=The primary email address must be of the form user@host.
+incorrectEmailAddressFormatTitle=Incorrect Email Address Format
+
+viewListTitle=Mailing List: %S
+mailListNameExistsTitle=Mailing List Already Exists
+mailListNameExistsMessage=A Mailing List with that name already exists. Please choose a different name.
+
+propertyPrimaryEmail=Email
+propertyListName=List Name
+propertySecondaryEmail=Additional Email
+propertyNickname=Nickname
+propertyDisplayName=Display Name
+propertyWork=Work
+propertyHome=Home
+propertyFax=Fax
+propertyCellular=Mobile
+propertyPager=Pager
+propertyBirthday=Birthday
+propertyCustom1=Custom 1
+propertyCustom2=Custom 2
+propertyCustom3=Custom 3
+propertyCustom4=Custom 4
+
+propertyGtalk=Google Talk
+propertyAIM=AIM
+propertyYahoo=Yahoo!
+propertySkype=Skype
+propertyQQ=QQ
+propertyMSN=MSN
+propertyICQ=ICQ
+propertyXMPP=Jabber ID
+propertyIRC=IRC Nick
+
+## 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=To
+prefixCc=Cc
+prefixBcc=Bcc
+addressBook=Address Book
+
+# Contact photo management
+browsePhoto=Contact Photo
+stateImageSave=Saving the image…
+errorInvalidUri=Error: Invalid source image.
+errorNotAvailable=Error: The file is not accessible.
+errorInvalidImage=Error: Only JPG, PNG and GIF image types are supported.
+errorSaveOperation=Error: Could not save the image.
+
+# mailnews.js
+ldap_2.servers.pab.description=Personal Address Book
+ldap_2.servers.history.description=Collected Addresses
+## LOCALIZATION NOTE (ldap_2.servers.osx.description is only used on Mac OS X)
+ldap_2.servers.osx.description=Mac OS X Address Book
+## LOCALIZATION NOTE (ldap_2.servers.outlook.description is only used on Windows)
+ldap_2.servers.outlook.description=Outlook Address Book
+
+# status bar stuff
+## LOCALIZATION NOTE (totalContactStatus):
+## %1$S is address book name, %2$S is contact count
+totalContactStatus=Total contacts in %1$S: %2$S
+noMatchFound=No matches found
+## 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 match found;#1 matches found
+
+## 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 contact copied;%1$S contacts copied
+
+## 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 contact moved;%1$S contacts moved
+
+# LDAP directory stuff
+invalidName=Please enter a valid Name.
+invalidHostname=Please enter a valid Hostname.
+invalidPortNumber=Please enter a valid Port Number.
+invalidResults=Please enter a valid number in the results field.
+abReplicationOfflineWarning=You must be online to perform LDAP replication.
+abReplicationSaveSettings=Settings must be saved before a directory may be downloaded.
+
+# For importing / exporting
+## LOCALIZATION NOTE (ExportAddressBookNameTitle): %S is the name of exported addressbook
+ExportAddressBookNameTitle=Export Address Book - %S
+LDIFFiles=LDIF
+CSVFiles=Comma Separated
+CSVFilesSysCharset=Comma Separated (System Charset)
+CSVFilesUTF8=Comma Separated (UTF-8)
+TABFiles=Tab Delimited
+TABFilesSysCharset=Tab Delimited (System Charset)
+TABFilesUTF8=Tab Delimited (UTF-8)
+VCFFiles=vCard
+SupportedABFiles=Supported Address Book Files
+failedToExportTitle=Export Failed
+failedToExportMessageNoDeviceSpace=Failed to export addressbook, no space left on device.
+failedToExportMessageFileAccessDenied=Failed to export addressbook, file access denied.
+
+# For getting authDN for replication using dlg box
+AuthDlgTitle=Address Book LDAP Replication
+AuthDlgDesc=To access the directory server, enter your user name and password.
+
+# LOCALIZATION NOTE(joinMeInThisChat)
+# use + for spaces
+joinMeInThisChat=Join+me+in+this+Chat.
+
+# For printing
+headingHome=Home
+headingWork=Work
+headingOther=Other
+headingChat=Chat
+headingPhone=Phone
+headingDescription=Description
+headingAddresses=Addresses
+
+## For address books
+addressBookTitleNew=New Address Book
+# LOCALIZATION NOTE (addressBookTitleEdit):
+# %S is the current name of the address book.
+# Example: My Custom AB Properties
+addressBookTitleEdit=%S Properties
+duplicateNameTitle=Duplicate Address Book Name
+# 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=An address book with this name already exists:\n• %S
+
+# For corrupt .mab files
+corruptMabFileTitle=Corrupt Address Book File
+corruptMabFileAlert=One of your address book files (%1$S file) could not be read. A new %2$S file will be created and a backup of the old file, called %3$S, will be created in the same directory.
+
+# For locked .mab files
+lockedMabFileTitle=Unable to Load Address Book File
+lockedMabFileAlert=Unable to load address book file %S. It may be read-only, or locked by another application. Please try again later.
diff --git a/comm/mail/locales/en-US/chrome/messenger/addressbook/ldapAutoCompErrs.properties b/comm/mail/locales/en-US/chrome/messenger/addressbook/ldapAutoCompErrs.properties
new file mode 100644
index 0000000000..4bb5b401fd
--- /dev/null
+++ b/comm/mail/locales/en-US/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 initialization problem
+
+## @name ERR_STATE_INITIALIZING
+## @loc none
+1=LDAP server connection failed
+
+## @name ERR_STATE_BINDING
+## @loc none
+2=LDAP server connection failed
+
+## @name ERR_STATE_BOUND
+## @loc none
+3=LDAP server communications problem
+
+## @name ERR_STATE_SEARCHING
+## @loc none
+4=LDAP server search problem
+
+
+# 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=Error code %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=Host not found
+
+## @name GENERIC_ERROR
+## @loc none
+9999=Unknown error
+
+
+# Hints to for the user, associated with specific error codes (ie error code
+# + 10000)
+
+
+## @name TIMELIMIT_EXCEEDED_HINT
+## @loc none
+10003=Please try again later, or else contact your System Administrator.
+
+## @name STRONGAUTH_REQUIRED_HINT
+## @loc none
+10008=Strong authentication is not currently supported.
+
+## @name INVALID_SYNTAX_HINT
+## @loc none
+10021=Verify that the search filter is correct, and then try again, or else contact your System Administrator. To verify that the search filter is correct, from the Edit menu, choose Preferences, then choose Mail & Newsgroups, and then choose Addressing. Click Edit Directories, and select the LDAP server being used. Click Edit, and then click Advanced to display the Search Filter.
+
+## @name NO_SUCH_OBJECT_HINT
+## @loc none
+10032=Verify that the Base DN is correct, and then try again, or else contact your System Administrator. To verify that the Base DN is correct, from the Edit menu, choose Preferences, then choose Mail & Newsgroups, and then choose Addressing. Click Edit Directories, and select the LDAP server being used. Click Edit to display the Base DN.
+
+## @name BUSY_HINT
+## @loc none
+10051=Please try again later.
+
+## @name SERVER_DOWN_HINT
+## @loc none
+10081=Verify that the Hostname and Port Number are correct, and then try again, or else contact your System Administrator. To verify that the Hostname and Port Number are correct, from the Edit menu, choose Preferences, then choose Mail & Newsgroups, and then choose Addressing. Click Edit Directories, and select the LDAP server being used. Click Edit to display the Hostname. Click Advanced to display the Port Number.
+
+## @name TIMEOUT_HINT
+## @loc none
+10085=Please try again later.
+
+## @name FILTER_ERROR_HINT
+## @loc none
+10087=Verify that the search filter is correct, and then try again, or else contact your System Administrator. To verify that the search filter is correct, from the Edit menu, choose Preferences, then choose Mail & Newsgroups, and then choose Addressing. Click Edit Directories, and select the LDAP server being used. Click Edit, and then click Advanced to display the Search Filter.
+
+## @name NO_MEMORY_HINT
+## @loc none
+10090=Please close some other windows and/or applications and try again.
+
+## @name CONNECT_ERROR_HINT
+## @loc none
+10091=Verify that the Hostname and Port Number are correct, and then try again, or else contact your System Administrator. To verify that the Hostname and Port Number are correct, from the Edit menu, choose Preferences, then choose Mail & Newsgroups, and then choose Addressing. Click Edit Directories, and select the LDAP server being used. Click Edit to display the Hostname. Click Advanced to display the Port Number.
+
+## @name HOST_NOT_FOUND_HINT
+## @loc none
+15000=Verify that the Hostname is correct, and then try again, or else contact your System Administrator. To verify that the Hostname is correct, from the Edit menu, choose Preferences, then choose Mail & Newsgroups, and then choose Addressing. Click Edit Directories, and select the LDAP server being used. Click Edit to display the Hostname.
+
+## @name GENERIC_HINT
+## @loc none
+19999=Please contact your System Administrator.
diff --git a/comm/mail/locales/en-US/chrome/messenger/addressbook/pref-directory-add.dtd b/comm/mail/locales/en-US/chrome/messenger/addressbook/pref-directory-add.dtd
new file mode 100644
index 0000000000..2e721ce1e4
--- /dev/null
+++ b/comm/mail/locales/en-US/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 "Name: ">
+<!ENTITY directoryName.accesskey "n">
+<!ENTITY directoryHostname.label "Hostname: ">
+<!ENTITY directoryHostname.accesskey "o">
+<!ENTITY directoryBaseDN.label "Base DN: ">
+<!ENTITY directoryBaseDN.accesskey "b">
+<!ENTITY findButton.label "Find">
+<!ENTITY findButton.accesskey "f">
+<!ENTITY directorySecure.label "Use secure connection (SSL)">
+<!ENTITY directorySecure.accesskey "U">
+<!ENTITY directoryLogin.label "Bind DN: ">
+<!ENTITY directoryLogin.accesskey "i">
+<!ENTITY General.tab "General">
+<!ENTITY Offline.tab "Offline">
+<!ENTITY Advanced.tab "Advanced">
+<!ENTITY portNumber.label "Port number: ">
+<!ENTITY portNumber.accesskey "p">
+<!ENTITY searchFilter.label "Search filter: ">
+<!ENTITY searchFilter.accesskey "f">
+<!ENTITY scope.label "Scope: ">
+<!ENTITY scope.accesskey "c">
+<!ENTITY scopeOneLevel.label "One Level">
+<!ENTITY scopeOneLevel.accesskey "L">
+<!ENTITY scopeSubtree.label "Subtree">
+<!ENTITY scopeSubtree.accesskey "S">
+<!ENTITY return.label "Don't return more than">
+<!ENTITY return.accesskey "r">
+<!ENTITY results.label "results">
+<!ENTITY offlineText.label "You can download a local copy of this directory so that it is available for use when you are working offline.">
+<!ENTITY saslMechanism.label "Login method: ">
+<!ENTITY saslMechanism.accesskey "m">
+<!ENTITY saslOff.label "Simple">
+<!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/comm/mail/locales/en-US/chrome/messenger/addressbook/pref-directory.dtd b/comm/mail/locales/en-US/chrome/messenger/addressbook/pref-directory.dtd
new file mode 100644
index 0000000000..874cfe4749
--- /dev/null
+++ b/comm/mail/locales/en-US/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 Directory Servers">
+<!-- LOCALIZATION NOTE (directories.label) : do not translate "LDAP" in below line -->
+<!ENTITY directories.label "LDAP Directory Server:">
+<!-- LOCALIZATION NOTE (directoriesText.label) : do not translate "LDAP" in below line -->
+<!ENTITY directoriesText.label "Select an LDAP Directory Server:">
+<!ENTITY directoriesText.accesskey "S">
+<!ENTITY addDirectory.label "Add">
+<!ENTITY addDirectory.accesskey "a">
+<!ENTITY editDirectory.label "Edit">
+<!ENTITY editDirectory.accesskey "e">
+<!ENTITY deleteDirectory.label "Delete">
+<!ENTITY deleteDirectory.accesskey "d">
diff --git a/comm/mail/locales/en-US/chrome/messenger/addressbook/replicationProgress.properties b/comm/mail/locales/en-US/chrome/messenger/addressbook/replicationProgress.properties
new file mode 100644
index 0000000000..9acf606463
--- /dev/null
+++ b/comm/mail/locales/en-US/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=Replication started…
+changesStarted=Started finding changes to replicate…
+replicationSucceeded=Replication succeeded
+replicationFailed=Replication failed
+replicationCancelled=Replication cancelled
+# LOCALIZATION NOTE
+# do not localize %S. %S is the current entry number (an integer)
+currentCount=Replicating directory entry: %S
+
+downloadButton=Download Now
+downloadButton.accesskey=D
+cancelDownloadButton=Cancel Download
+cancelDownloadButton.accesskey=C
+
+directoryTitleNew=New LDAP Directory
+## LOCALIZATION NOTE (directoryTitleEdit): %S will be replaced by the LDAP directory's display name
+directoryTitleEdit=%S Properties
diff --git a/comm/mail/locales/en-US/chrome/messenger/am-addressing.dtd b/comm/mail/locales/en-US/chrome/messenger/am-addressing.dtd
new file mode 100644
index 0000000000..db95c9c95d
--- /dev/null
+++ b/comm/mail/locales/en-US/chrome/messenger/am-addressing.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/. -->
+
+<!-- extracted from am-addressing.xhtml -->
+
+<!ENTITY addressing.label "Composition &amp; Addressing">
+<!ENTITY addressingGroupTitle.label "Addressing">
+<!ENTITY addressingText.label "When looking up addresses:">
+<!-- LOCALIZATION NOTE (override.label) : do not translate "LDAP" in below line -->
+<!ENTITY useGlobal.label "Use my global LDAP server preferences for this account">
+<!ENTITY useGlobal.accesskey "U">
+<!ENTITY editDirectories.label "Edit Directories…">
+<!ENTITY editDirectories.accesskey "E">
+<!-- LOCALIZATION NOTE (directories.label) : do not translate "LDAP" in below line -->
+<!ENTITY directories.label "Use a different LDAP server:">
+<!ENTITY directories.accesskey "d">
+<!ENTITY directoriesNone.label "None">
+
+<!-- am-addressing.xhtml -->
+
+<!ENTITY compositionGroupTitle.label "Composition">
+<!-- LOCALIZATION NOTE (useHtml.label) : do not translate "html" in below line -->
+<!ENTITY useHtml.label "Compose messages in HTML format">
+<!ENTITY useHtml.accesskey "C">
+<!ENTITY autoQuote.label "Automatically quote the original message when replying">
+<!ENTITY autoQuote.accesskey "m">
+<!-- LOCALIZATION NOTE (quoting.label): This will concatenate with the 4 strings that follow. -->
+<!ENTITY quoting.label "When quoting,">
+<!ENTITY quoting.accesskey "q">
+<!ENTITY aboveQuote.label "start my reply above the quote">
+<!ENTITY belowQuote.label "start my reply below the quote">
+<!ENTITY selectAndQuote.label "select the quote">
+<!ENTITY place.label "and place my signature">
+<!ENTITY place.accesskey "s">
+<!ENTITY belowText.label "below the quote (recommended)">
+<!ENTITY aboveText.label "below my reply (above the quote)">
+<!ENTITY includeSigOnReply.label "Include signature for replies">
+<!ENTITY includeSigOnReply.accesskey "I">
+<!ENTITY includeSigOnForward.label "Include signature for forwards">
+<!ENTITY includeSigOnForward.accesskey "w">
+
+<!ENTITY globalComposingPrefs.label "Global Composing Preferences…">
+<!ENTITY globalComposingPrefs.accesskey "G">
+
+<!ENTITY globalAddressingPrefs.label "Global Addressing Preferences…">
+<!ENTITY globalAddressingPrefs.accesskey "P">
diff --git a/comm/mail/locales/en-US/chrome/messenger/am-advanced.dtd b/comm/mail/locales/en-US/chrome/messenger/am-advanced.dtd
new file mode 100644
index 0000000000..9d496bd4aa
--- /dev/null
+++ b/comm/mail/locales/en-US/chrome/messenger/am-advanced.dtd
@@ -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/. -->
+
+<!-- extracted from am-advanced.xhtml -->
+
+<!-- LOCALIZATION NOTE (smtpServer.label): do not translate "SMTP" in below line -->
+<!ENTITY smtpServer.label "Outgoing Server (SMTP) Settings">
+
+<!-- LOCALIZATION NOTE (smtpDescription.label): do not translate "SMTP" in below line -->
+<!ENTITY smtpDescription.label "When managing your identities you can use a server from this list by selecting it as the Outgoing Server (SMTP), or you can use the default server from this list by selecting &quot;Use Default Server&quot;.">
+
+<!ENTITY smtpListAdd.label "Add…">
+<!ENTITY smtpListAdd.accesskey "d">
+<!ENTITY smtpListEdit.label "Edit…">
+<!ENTITY smtpListEdit.accesskey "E">
+<!ENTITY smtpListDelete.label "Remove">
+<!ENTITY smtpListDelete.accesskey "m">
+<!ENTITY smtpListSetDefault.label "Set Default">
+<!ENTITY smtpListSetDefault.accesskey "t">
+
+<!ENTITY serverDetails.label "Details of selected server:">
+<!ENTITY serverDescription.label "Description: ">
+<!ENTITY serverName.label "Server Name: ">
+<!ENTITY serverPort.label "Port: ">
+<!ENTITY userName.label "User Name: ">
+<!ENTITY connectionSecurity.label "Connection Security: ">
+<!ENTITY authMethod.label "Authentication method: ">
diff --git a/comm/mail/locales/en-US/chrome/messenger/am-archiveoptions.dtd b/comm/mail/locales/en-US/chrome/messenger/am-archiveoptions.dtd
new file mode 100644
index 0000000000..512017c852
--- /dev/null
+++ b/comm/mail/locales/en-US/chrome/messenger/am-archiveoptions.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/. -->
+
+<!-- extracted from am-archiveoptions.xhtml -->
+
+<!ENTITY dialogTitle.label "Archive Options">
+<!ENTITY archiveGranularityPrefix.label "When archiving messages, place them in:">
+<!ENTITY archiveFlat.label "A single folder">
+<!ENTITY archiveFlat.accesskey "s">
+<!ENTITY archiveYearly.label "Yearly archived folders">
+<!ENTITY archiveYearly.accesskey "Y">
+<!ENTITY archiveMonthly.label "Monthly archived folders">
+<!ENTITY archiveMonthly.accesskey "M">
+<!ENTITY keepFolderStructure.label "Keep existing folder structure of archived messages">
+<!ENTITY keepFolderStructure.accesskey "K">
+<!ENTITY archiveExample.label "Example">
+<!-- LOCALIZATION NOTE (archiveFolderName.label): this should match the default
+ name for the "Archives" folder -->
+<!ENTITY archiveFolderName.label "Archives">
+<!-- LOCALIZATION NOTE (inboxFolderName.label): this should match the default
+ name for the "Inbox" folder -->
+<!ENTITY inboxFolderName.label "Inbox">
diff --git a/comm/mail/locales/en-US/chrome/messenger/am-copies.dtd b/comm/mail/locales/en-US/chrome/messenger/am-copies.dtd
new file mode 100644
index 0000000000..29118d5ef7
--- /dev/null
+++ b/comm/mail/locales/en-US/chrome/messenger/am-copies.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/. -->
+
+<!-- extracted from am-copies.xhtml -->
+
+<!ENTITY copyAndFolderTitle.label "Copies &amp; Folders">
+<!ENTITY sendingPrefix.label "When sending messages, automatically: ">
+<!ENTITY fccMailFolder.label "Place a copy in:">
+<!ENTITY fccMailFolder.accesskey "P">
+<!ENTITY fccReplyFollowsParent.label "Place replies in the folder of the message being replied to">
+<!ENTITY fccReplyFollowsParent.accesskey "R">
+<!-- LOCALIZATION NOTE (ccAddress.label): do not translate "Cc" in below line -->
+<!ENTITY ccAddress.label "Cc these email addresses:">
+<!ENTITY ccAddress.accesskey "C">
+<!ENTITY ccAddressList.placeholder "Separate addresses with commas">
+<!-- LOCALIZATION NOTE (bccAddress.label): do not translate "Bcc" in below line -->
+<!ENTITY bccAddress.label "Bcc these email addresses:">
+<!ENTITY bccAddress.accesskey "B">
+<!ENTITY bccAddressList.placeholder "Separate addresses with commas">
+<!ENTITY saveMessageDlg.label "Show confirmation dialog when messages are saved">
+<!ENTITY saveMessageDlg.accesskey "w">
+<!-- LOCALIZATION NOTE (sentFolderOn.label): OK to translate this, bug #57440 -->
+<!ENTITY sentFolderOn.label "&quot;Sent&quot; Folder on:">
+<!ENTITY sentFolderOn.accesskey "S">
+<!ENTITY sentInOtherFolder.label "Other:">
+<!ENTITY sentInOtherFolder.accesskey "O">
+<!-- LOCALIZATION NOTE (archivesFolderOn.label): OK to translate this, bug #57440 -->
+<!ENTITY archivesTitle.label "Message Archives">
+<!ENTITY keepArchives.label "Keep message archives in:">
+<!ENTITY keepArchives.accesskey "K">
+<!ENTITY archiveHierarchyButton.label "Archive options…">
+<!ENTITY archiveHierarchyButton.accesskey "A">
+<!ENTITY archivesFolderOn.label "&quot;Archives&quot; Folder on:">
+<!ENTITY archivesFolderOn.accesskey "n">
+<!ENTITY archiveInOtherFolder.label "Other:">
+<!ENTITY archiveInOtherFolder.accesskey "h">
+<!ENTITY specialFolders.label "Drafts and Templates">
+<!ENTITY keepDrafts2.label "Keep draft messages in:">
+<!-- LOCALIZATION NOTE (draftsFolderOn.label): OK to translate this, bug #57440 -->
+<!ENTITY draftsFolderOn.label "&quot;Drafts&quot; Folder on:">
+<!ENTITY draftsFolderOn.accesskey "D">
+<!ENTITY draftInOtherFolder.label "Other:">
+<!ENTITY draftInOtherFolder.accesskey "t">
+<!ENTITY keepTemplates.label "Keep message templates in:">
+<!-- LOCALIZATION NOTE (templatesFolderOn.label): OK to translate this, bug #57440 -->
+<!ENTITY templatesFolderOn.label "&quot;Templates&quot; Folder on:">
+<!ENTITY templatesFolderOn.accesskey "m">
+<!ENTITY templateInOtherFolder.label "Other:">
+<!ENTITY templateInOtherFolder.accesskey "e">
diff --git a/comm/mail/locales/en-US/chrome/messenger/am-e2e.properties b/comm/mail/locales/en-US/chrome/messenger/am-e2e.properties
new file mode 100644
index 0000000000..9d42cb9257
--- /dev/null
+++ b/comm/mail/locales/en-US/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=End-To-End Encryption
diff --git a/comm/mail/locales/en-US/chrome/messenger/am-identities-list.dtd b/comm/mail/locales/en-US/chrome/messenger/am-identities-list.dtd
new file mode 100644
index 0000000000..1935a37ba1
--- /dev/null
+++ b/comm/mail/locales/en-US/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 "Manage the identities for this account. The first identity is used by default.">
+<!ENTITY identitiesListAdd.label "Add…">
+<!ENTITY identitiesListAdd.accesskey "A">
+<!ENTITY identitiesListEdit.label "Edit…">
+<!ENTITY identitiesListEdit.accesskey "E">
+<!ENTITY identitiesListDefault.label "Set Default">
+<!ENTITY identitiesListDefault.accesskey "S">
+<!ENTITY identitiesListDelete.label "Delete">
+<!ENTITY identitiesListDelete.accesskey "D">
+<!ENTITY identitiesListClose.label "Close">
+<!ENTITY identitiesListClose.accesskey "C">
diff --git a/comm/mail/locales/en-US/chrome/messenger/am-identity-edit.dtd b/comm/mail/locales/en-US/chrome/messenger/am-identity-edit.dtd
new file mode 100644
index 0000000000..af5a78a285
--- /dev/null
+++ b/comm/mail/locales/en-US/chrome/messenger/am-identity-edit.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 settingsTab.label "Settings">
+<!ENTITY copiesFoldersTab.label "Copies &amp; Folders">
+<!ENTITY addressingTab.label "Composition &amp; Addressing">
+
+<!ENTITY publicData.label "Public Data">
+<!ENTITY privateData.label "Private Data">
+<!ENTITY identityAlias.label "Identity Label:">
+<!ENTITY identityAlias.accesskey "b">
diff --git a/comm/mail/locales/en-US/chrome/messenger/am-im.dtd b/comm/mail/locales/en-US/chrome/messenger/am-im.dtd
new file mode 100644
index 0000000000..2703b5ff38
--- /dev/null
+++ b/comm/mail/locales/en-US/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 "Account properties">
+<!ENTITY accountWindow.width "300">
+<!ENTITY account.general "General">
+<!ENTITY account.advanced "Advanced Options">
+<!ENTITY account.name "Username:">
+<!ENTITY account.password "Password:">
+<!ENTITY account.alias "Alias:">
+<!ENTITY account.newMailNotification "Notify on new Mail">
+<!ENTITY account.autojoin "Auto-Joined Channels:">
+<!ENTITY account.proxySettings.caption "Proxy Settings:">
+<!ENTITY account.proxySettings.change.label "Change…">
+<!ENTITY account.proxySettings.change.accessKey "C">
diff --git a/comm/mail/locales/en-US/chrome/messenger/am-junk.dtd b/comm/mail/locales/en-US/chrome/messenger/am-junk.dtd
new file mode 100644
index 0000000000..0f9c55d881
--- /dev/null
+++ b/comm/mail/locales/en-US/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 "Junk Settings">
+<!ENTITY trainingDescription.label "If enabled, you must first train &brandShortName; to identify junk mail by using the Junk toolbar button to mark messages as junk or not. You need to identify both junk and non junk messages. After that &brandShortName; will be able to mark junk automatically.">
+<!ENTITY level.label "Enable adaptive junk mail controls for this account">
+<!ENTITY level.accesskey "E">
+
+<!ENTITY move.label "Move new junk messages to:">
+<!ENTITY move.accesskey "M">
+<!ENTITY junkFolderOn.label "&quot;Junk&quot; folder on:">
+<!ENTITY junkFolderOn.accesskey "J">
+<!ENTITY otherFolder.label "Other:">
+<!ENTITY otherFolder.accesskey "O">
+<!ENTITY purge1.label "Automatically delete junk mail older than">
+<!ENTITY purge1.accesskey "u">
+<!ENTITY purge2.label "days">
+
+<!ENTITY whitelistHeader.label "Do not automatically mark mail as junk if the sender is in: ">
+<!ENTITY whitelistHeader.accesskey "D">
+
+<!ENTITY ispHeadersWarning.label "If enabled, &brandShortName; will automatically consider messages marked by this external classifier as junk.">
+<!ENTITY ispHeaders.label "Trust junk mail headers set by: ">
+<!ENTITY ispHeaders.accesskey "T">
+
+<!ENTITY junkClassification.label "Selection">
+<!ENTITY junkActions.label "Destination and Retention">
+
+<!ENTITY globalJunkPrefs.label "Global Junk Preferences…">
+<!ENTITY globalJunkPrefs.accesskey "G">
diff --git a/comm/mail/locales/en-US/chrome/messenger/am-main.dtd b/comm/mail/locales/en-US/chrome/messenger/am-main.dtd
new file mode 100644
index 0000000000..c5575214a1
--- /dev/null
+++ b/comm/mail/locales/en-US/chrome/messenger/am-main.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/. -->
+
+<!-- extracted from am-main.xhtml -->
+
+<!ENTITY accountTitle.label "Account Settings">
+<!ENTITY accountName.label "Account Name:">
+<!ENTITY accountName.accesskey "N">
+<!ENTITY identityTitle.label "Default Identity">
+<!ENTITY identityDesc.label "Each account has an identity, which is the information that other people see when they read your messages.">
+<!ENTITY name.label "Your Name:">
+<!ENTITY name.accesskey "Y">
+<!ENTITY email.label "Email Address:">
+<!ENTITY email.accesskey "E">
+<!ENTITY catchAll.label "Reply from this identity when delivery headers match:">
+<!ENTITY catchAll.accesskey "d">
+<!ENTITY replyTo.label "Reply-to Address:">
+<!ENTITY replyTo.accesskey "s">
+<!ENTITY replyTo.placeholder "Recipients will reply to this other address">
+<!ENTITY organization.label "Organization:">
+<!ENTITY organization.accesskey "O">
+<!ENTITY signatureText.label "Signature text:">
+<!ENTITY signatureText.accesskey "x">
+<!ENTITY signatureHtml.label "Use HTML (e.g., &lt;b&gt;bold&lt;/b&gt;)">
+<!ENTITY signatureHtml.accesskey "L">
+<!ENTITY signatureFile.label "Attach the signature from a file instead (text, HTML, or image):">
+<!ENTITY signatureFile.accesskey "t">
+<!ENTITY edit.label "Edit…">
+<!ENTITY choose.label "Choose…">
+<!ENTITY choose.accesskey "C">
+<!ENTITY editVCard.label "Edit Card…">
+<!ENTITY editVCard.accesskey "d">
+<!-- LOCALIZATION NOTE (attachVCard.label) : do not translate "vCard" in below line -->
+<!ENTITY attachVCard.label "Attach my vCard to messages">
+<!ENTITY attachVCard.accesskey "v">
+
+<!ENTITY manageIdentities.label "Manage Identities…">
+<!ENTITY manageIdentities.accesskey "M">
+
+<!-- LOCALIZATION NOTE (smtpName.label) : do not translate "SMTP" in below line -->
+<!ENTITY smtpName.label "Outgoing Server (SMTP):">
+<!ENTITY smtpName.accesskey "u">
+<!ENTITY smtpDefaultServer.label "Use Default Server">
+
+<!ENTITY smtpServerEdit.label "Edit SMTP server…">
+<!ENTITY smtpServerEdit.accesskey "P">
diff --git a/comm/mail/locales/en-US/chrome/messenger/am-mdn.dtd b/comm/mail/locales/en-US/chrome/messenger/am-mdn.dtd
new file mode 100644
index 0000000000..292508ec86
--- /dev/null
+++ b/comm/mail/locales/en-US/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 "Return Receipts">
+<!ENTITY useGlobalPrefs.label "Use my global return receipt preferences for this account">
+<!ENTITY useGlobalPrefs.accesskey "U">
+<!ENTITY globalReceipts.label "Global Preferences…">
+<!ENTITY globalReceipts.accesskey "G">
+<!ENTITY useCustomPrefs.label "Customize return receipts for this account">
+<!ENTITY useCustomPrefs.accesskey "C">
+<!ENTITY requestReceipt.label "When sending messages, always request a return receipt">
+<!ENTITY requestReceipt.accesskey "W">
+<!ENTITY receiptArrive.label "When a receipt arrives:">
+<!ENTITY leaveIt.label "Leave it in my Inbox">
+<!ENTITY leaveIt.accesskey "I">
+<!-- LOCALIZATION NOTE moveToSent.label Translate: 'Sent' according to Netscape glossary -->
+<!ENTITY moveToSent.label "Move it to my &quot;Sent&quot; folder">
+<!ENTITY moveToSent.accesskey "M">
+<!ENTITY requestMDN.label "When I receive a request for a return receipt:">
+<!ENTITY returnSome.label "Allow return receipts for some messages">
+<!ENTITY returnSome.accesskey "e">
+<!ENTITY never.label "Never send a return receipt">
+<!ENTITY never.accesskey "N">
+<!ENTITY notInToCc.label "If I'm not in the To or Cc of the message:">
+<!ENTITY notInToCc.accesskey "T">
+<!ENTITY outsideDomain.label "If the sender is outside my domain:">
+<!ENTITY outsideDomain.accesskey "s">
+<!ENTITY otherCases.label "In all other cases:">
+<!ENTITY otherCases.accesskey "o">
+<!ENTITY askMe.label "Ask me">
+<!ENTITY alwaysSend.label "Always send">
+<!ENTITY neverSend.label "Never send">
diff --git a/comm/mail/locales/en-US/chrome/messenger/am-mdn.properties b/comm/mail/locales/en-US/chrome/messenger/am-mdn.properties
new file mode 100644
index 0000000000..90dd7bcc4d
--- /dev/null
+++ b/comm/mail/locales/en-US/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=Return Receipts
diff --git a/comm/mail/locales/en-US/chrome/messenger/am-offline.dtd b/comm/mail/locales/en-US/chrome/messenger/am-offline.dtd
new file mode 100644
index 0000000000..466cfbb5f2
--- /dev/null
+++ b/comm/mail/locales/en-US/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 "To save disk space, do not download:">
+<!ENTITY doNotDownloadNntp.label "To save disk space, do not download for offline use:">
+<!ENTITY doNotDownloadImap.label "To save disk space, downloading messages from the server and keeping local copies for offline use can be restricted by age or size.">
+<!ENTITY allFoldersOffline2.label "Keep messages in all folders for this account on this computer">
+<!ENTITY allFoldersOffline2.accesskey "o">
+<!ENTITY allFoldersOfflineNote.label "Note: Changing this affects all folders in this account. To set individual folders, use the Advanced… button.">
+<!ENTITY offlineNotDownload.label "Messages larger than">
+<!ENTITY offlineNotDownload.accesskey "M">
+<!ENTITY autosyncNotDownload.label "Don't download messages larger than">
+<!ENTITY autosyncNotDownload.accesskey "m">
+<!ENTITY kb.label "KB">
+<!ENTITY daysOld.label "days old">
+<!ENTITY message.label "messages">
+<!ENTITY nntpNotDownloadRead.label "Read messages">
+<!ENTITY nntpNotDownloadRead.accesskey "d">
+<!ENTITY nntpDownloadMsg.label "Messages more than">
+<!ENTITY nntpDownloadMsg.accesskey "e">
+<!ENTITY retentionCleanup.label "To recover disk space, old messages can be permanently deleted.">
+<!ENTITY retentionCleanupImap.label "To recover disk space, old messages can be permanently deleted, both local copies and originals on the remote server.">
+<!ENTITY retentionCleanupPop.label "To recover disk space, old messages can be permanently deleted, including originals on the remote server.">
+<!ENTITY retentionKeepMsg.label "Delete messages more than">
+<!ENTITY retentionKeepMsg.accesskey "t">
+<!ENTITY retentionKeepAll.label "Don't delete any messages">
+<!ENTITY retentionKeepAll.accesskey "n">
+<!ENTITY retentionKeepRecent.label "Delete all but the most recent">
+<!ENTITY retentionKeepRecent.accesskey "b">
+<!ENTITY retentionApplyToFlagged.label "Always keep starred messages">
+<!ENTITY retentionApplyToFlagged.accesskey "k">
+<!ENTITY nntpRemoveMsgBody.label "Remove bodies from messages more than">
+<!ENTITY nntpRemoveMsgBody.accesskey "o">
+<!ENTITY offlineSelectNntp.label "Select newsgroups for offline use…">
+<!ENTITY offlineSelectNntp.accesskey "S">
+<!ENTITY offlineImapAdvancedOffline.label "Advanced…">
+<!ENTITY offlineImapAdvancedOffline.accesskey "v">
+<!ENTITY syncGroupTitle.label "Message Synchronizing">
+<!ENTITY diskspaceGroupTitle.label "Disk Space">
+
+<!-- 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 "Synchronize all messages locally regardless of age">
+<!ENTITY allAutosync.accesskey "c">
+<!ENTITY ageAutosyncBefore.label "Synchronize the most recent">
+<!ENTITY ageAutosync.accesskey "z">
+<!ENTITY ageAutosyncMiddle.label "">
+<!ENTITY dayAgeInterval.label "Days">
+<!ENTITY weekAgeInterval.label "Weeks">
+<!ENTITY monthAgeInterval.label "Months">
+<!ENTITY yearAgeInterval.label "Years">
+<!ENTITY ageAutosyncAfter.label "">
diff --git a/comm/mail/locales/en-US/chrome/messenger/am-server-advanced.dtd b/comm/mail/locales/en-US/chrome/messenger/am-server-advanced.dtd
new file mode 100644
index 0000000000..9a87a7abdd
--- /dev/null
+++ b/comm/mail/locales/en-US/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 "Advanced Account Settings">
+<!-- LOCALIZATION NOTE (serverDirectory.label): Do not translate "IMAP" -->
+<!ENTITY serverDirectory.label "IMAP server directory:">
+<!ENTITY serverDirectory.accesskey "d">
+<!ENTITY usingSubscription.label "Show only subscribed folders">
+<!ENTITY usingSubscription.accesskey "w">
+<!ENTITY dualUseFolders.label "Server supports folders that contain sub-folders and messages">
+<!ENTITY dualUseFolders.accesskey "f">
+<!ENTITY maximumConnectionsNumber.label "Maximum number of server connections to cache">
+<!ENTITY maximumConnectionsNumber.accesskey "M">
+<!-- LOCALIZATION NOTE (namespaceDesc.label): Do not translate "IMAP" -->
+<!ENTITY namespaceDesc.label "These preferences specify the namespaces on your IMAP server">
+<!ENTITY personalNamespace.label "Personal namespace:">
+<!ENTITY personalNamespace.accesskey "P">
+<!ENTITY publicNamespace.label "Public (shared):">
+<!ENTITY publicNamespace.accesskey "u">
+<!ENTITY otherUsersNamespace.label "Other Users:">
+<!ENTITY otherUsersNamespace.accesskey "O">
+<!ENTITY overrideNamespaces.label "Allow server to override these namespaces">
+<!ENTITY overrideNamespaces.accesskey "A">
+<!ENTITY pop3DeferringDesc.label "When downloading mail from this account's server, use the following folder to store new messages:">
+<!ENTITY accountInbox.label "Inbox for this account">
+<!ENTITY accountInbox.accesskey "s">
+<!ENTITY deferToServer.label "Inbox for different account">
+<!ENTITY deferToServer.accesskey "d">
+<!ENTITY deferGetNewMail.label "Include this server when getting new mail">
+<!ENTITY deferGetNewMail.accesskey "I">
diff --git a/comm/mail/locales/en-US/chrome/messenger/am-server-top.dtd b/comm/mail/locales/en-US/chrome/messenger/am-server-top.dtd
new file mode 100644
index 0000000000..53d410db8b
--- /dev/null
+++ b/comm/mail/locales/en-US/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 "Message Storage">
+<!ENTITY securitySettings.label "Security Settings">
+<!ENTITY serverSettings.label "Server Settings">
+<!ENTITY serverType.label "Server Type:">
+<!ENTITY serverName.label "Server Name:">
+<!ENTITY serverName.accesskey "S">
+<!ENTITY userName.label "User Name:">
+<!ENTITY userName.accesskey "N">
+<!ENTITY port.label "Port:">
+<!ENTITY port.accesskey "P">
+<!ENTITY serverPortDefault.label "Default:">
+<!-- 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 "Check for new messages every ">
+<!ENTITY biffStart.accesskey "y">
+<!ENTITY biffEnd.label "minutes">
+<!ENTITY useIdleNotifications.label "Allow immediate server notifications when new messages arrive">
+<!ENTITY useIdleNotifications.accesskey "w">
+<!ENTITY connectionSecurity.label "Connection security:">
+<!ENTITY connectionSecurity.accesskey "u">
+<!ENTITY connectionSecurityType-0.label "None">
+<!ENTITY connectionSecurityType-1.label "STARTTLS, if available">
+<!ENTITY connectionSecurityType-2.label "STARTTLS">
+<!ENTITY connectionSecurityType-3.label "SSL/TLS">
+<!ENTITY authMethod.label "Authentication method:">
+<!ENTITY authMethod.accesskey "i">
+<!ENTITY leaveOnServer.label "Leave messages on server">
+<!ENTITY leaveOnServer.accesskey "g">
+<!ENTITY headersOnly.label "Fetch headers only">
+<!ENTITY headersOnly.accesskey "e">
+<!ENTITY deleteByAgeFromServer.label "For at most">
+<!ENTITY deleteByAgeFromServer.accesskey "o">
+<!ENTITY daysEnd.label "days">
+<!ENTITY deleteOnServer2.label "Until I delete them">
+<!ENTITY deleteOnServer2.accesskey "d">
+<!ENTITY downloadOnBiff.label "Automatically download new messages">
+<!ENTITY downloadOnBiff.accesskey "m">
+<!ENTITY deleteMessagePrefix.label "When I delete a message:">
+<!ENTITY modelMoveToTrash.label "Move it to this folder:">
+<!ENTITY modelMoveToTrash.accesskey "o">
+<!ENTITY modelMarkDeleted.label "Just mark it as deleted">
+<!ENTITY modelMarkDeleted.accesskey "k">
+<!ENTITY modelDeleteImmediately.label "Remove it immediately">
+<!ENTITY modelDeleteImmediately.accesskey "d">
+<!-- LOCALIZATION NOTE (expungeOnExit.label) : do not translate two of "&quot;" in below line -->
+<!ENTITY expungeOnExit.label "Clean up (&quot;Expunge&quot;) Inbox on Exit">
+<!ENTITY expungeOnExit.accesskey "E">
+<!ENTITY emptyTrashOnExit.label "Empty Trash on Exit">
+<!ENTITY emptyTrashOnExit.accesskey "x">
+<!ENTITY loginAtStartup.label "Check for new messages at startup">
+<!ENTITY loginAtStartup.accesskey "C">
+<!-- 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 "Ask me before downloading more than">
+<!ENTITY maxMessagesStart.accesskey "m">
+<!-- LOCALIZATION NOTE (maxMessagesEnd.label) : see note for maxMessagesStart.label -->
+<!ENTITY maxMessagesEnd.label "messages">
+<!ENTITY alwaysAuthenticate.label "Always request authentication when connecting to this server">
+<!ENTITY alwaysAuthenticate.accesskey "w">
+<!ENTITY newsrcFilePath1.label "News.rc File:">
+<!ENTITY newsrcPicker1.label "Select News.rc File">
+<!ENTITY abbreviate.label "Show newsgroup names in the Mail Folder pane as:">
+<!ENTITY abbreviateOn.label "Full names (For example, 'netscape.public.mozilla.mail-news')">
+<!ENTITY abbreviateOff.label "Abbreviate names (For example, 'n.p.m.mail-news')">
+<!ENTITY advancedButton.label "Advanced…">
+<!ENTITY advancedButton.accesskey "v">
+<!ENTITY serverDefaultCharset2.label "Default Text Encoding:">
+<!ENTITY localPath1.label "Local Directory:">
+<!ENTITY localFolderPicker.label "Select Local Directory">
+<!ENTITY browseFolder.label "Browse…">
+<!ENTITY browseFolder.accesskey "B">
+<!ENTITY browseNewsrc.label "Browse…">
+<!ENTITY browseNewsrc.accesskey "e">
+
+<!ENTITY accountTitle.label "Account Settings">
+<!ENTITY accountSettingsDesc.label "The following is a special account. There are no identities associated with it.">
+<!ENTITY storeType.label "Message Store Type:">
+<!ENTITY storeType.accesskey "T">
+<!ENTITY mboxStore2.label "File per folder (mbox)">
+<!ENTITY maildirStore.label "File per message (maildir)">
diff --git a/comm/mail/locales/en-US/chrome/messenger/am-serverwithnoidentities.dtd b/comm/mail/locales/en-US/chrome/messenger/am-serverwithnoidentities.dtd
new file mode 100644
index 0000000000..f568613a16
--- /dev/null
+++ b/comm/mail/locales/en-US/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 "Account Name:">
+<!ENTITY accountName.accesskey "N">
diff --git a/comm/mail/locales/en-US/chrome/messenger/am-smime.dtd b/comm/mail/locales/en-US/chrome/messenger/am-smime.dtd
new file mode 100644
index 0000000000..13d49d85b9
--- /dev/null
+++ b/comm/mail/locales/en-US/chrome/messenger/am-smime.dtd
@@ -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/. -->
+
+<!ENTITY e2eTitle.label "End-To-End Encryption">
+<!ENTITY e2eLearnMore.label "Learn more">
+
+<!ENTITY e2eEnc.description "Without end-to-end encryption the contents of messages are easily exposed to your email provider and to mass surveillance.">
+
+<!ENTITY e2eTechPref.description "Preferred encryption technology:">
+
+<!ENTITY encryptionCert2.message "Personal certificate for encryption:">
+<!ENTITY digitalSign.certificate.button "Select…">
+<!ENTITY digitalSign.certificate.accesskey "S">
+<!ENTITY digitalSign.certificate_clear.button "Clear">
+<!ENTITY digitalSign.certificate_clear.accesskey "C">
+<!ENTITY encryption.certificate.button "Select…">
+<!ENTITY encryption.certificate.accesskey "t">
+<!ENTITY encryption.certificate_clear.button "Clear">
+<!ENTITY encryption.certificate_clear.accesskey "e">
+<!ENTITY signingGroupTitle.label "Digital Signing">
+<!ENTITY signingCert2.message "Personal certificate for digital signing:">
+
+<!ENTITY sendingDefaults.label "Default settings for sending messages">
+
+<!ENTITY technologyAutomatic.label "Select automatically based on available keys or certificates">
+
+<!ENTITY certificates2.label "S/MIME">
+<!ENTITY manageCerts3.label "Manage S/MIME Certificates">
+<!ENTITY manageCerts3.accesskey "M">
+<!ENTITY manageDevices2.label "S/MIME Security Devices">
+<!ENTITY manageDevices2.accesskey "y">
+
+<!ENTITY technologySMIME.label "Prefer S/MIME">
+<!ENTITY technologyOpenPGP.label "Prefer OpenPGP">
+
+<!ENTITY openpgpKeys.label "OpenPGP">
+
+<!-- Strings for the cert picker dialog -->
+<!ENTITY certPicker.title "Select Certificate">
+<!ENTITY certPicker.info "Certificate:">
+<!ENTITY certPicker.detailsLabel "Details of selected certificate:">
+
+<!ENTITY openpgpKey.message "Personal key for encryption and digital signing:">
+<!ENTITY openpgpKey.button "Set Personal Key…">
+<!ENTITY openpgpKey.accesskey "o">
diff --git a/comm/mail/locales/en-US/chrome/messenger/am-smime.properties b/comm/mail/locales/en-US/chrome/messenger/am-smime.properties
new file mode 100644
index 0000000000..5a76a47ca1
--- /dev/null
+++ b/comm/mail/locales/en-US/chrome/messenger/am-smime.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/.
+
+## S/MIME error strings.
+## Note to localization: %S is a placeholder
+NoSenderSigningCert=You specified that this message should be digitally signed, but the application either failed to find the signing certificate specified in your Mail & Newsgroup Account Settings, or the certificate has expired.
+NoSenderEncryptionCert=You specified encryption for this message, but the application either failed to find the encryption certificate specified in your Mail & Newsgroup Account Settings, or the certificate has expired.
+MissingRecipientEncryptionCert=You specified encryption for this message, but the application failed to find an encryption certificate for %S.
+ErrorEncryptMail=Unable to encrypt message. Please check that you have a valid email certificate for each recipient. Please check that the certificates specified in Mail & Newsgroups Account Settings for this mail account are valid and trusted for mail.
+ErrorCanNotSignMail=Unable to sign message. Please check that the certificates specified in Mail & Newsgroups Account Settings for this mail account are valid and trusted for mail.
+
+## Strings used for in the prefs.
+NoSigningCert=Certificate Manager can't locate a valid certificate that can be used to digitally sign your messages.
+NoSigningCertForThisAddress=Certificate Manager can't locate a valid certificate that can be used to digitally sign your messages with an address of <%S>.
+NoEncryptionCert=Certificate Manager can't locate a valid certificate that other people can use to send you encrypted email messages.
+NoEncryptionCertForThisAddress=Certificate Manager can't locate a valid certificate that other people can use to send you encrypted email messages to the address <%S>.
+
+encryption_needCertWantSame=You should also specify a certificate for other people to use when they send you encrypted messages. Do you want to use the same certificate to encrypt & decrypt messages sent to you?
+encryption_wantSame=Do you want to use the same certificate to encrypt & decrypt messages sent to you?
+encryption_needCertWantToSelect=You should also specify a certificate for other people to use when they send you encrypted messages. Do you want to configure an encryption certificate now?
+signing_needCertWantSame=You should also specify a certificate to use for digitally signing your messages. Do you want to use the same certificate to digitally sign your messages?
+signing_wantSame=Do you want to use the same certificate to digitally sign your messages?
+signing_needCertWantToSelect=You should also specify a certificate to use for digitally signing your messages. Do you want to configure a certificate for digitally signing messages now?
+
+## Strings used by nsMsgComposeSecure
+mime_smimeEncryptedContentDesc=S/MIME Encrypted Message
+mime_smimeSignatureContentDesc=S/MIME Cryptographic Signature
+
+## Strings used by the cert picker.
+CertInfoIssuedFor=Issued to:
+CertInfoIssuedBy=Issued by:
+CertInfoValid=Valid
+CertInfoFrom=from
+CertInfoTo=to
+CertInfoPurposes=Purposes
+CertInfoEmail=Email
+CertInfoStoredIn=Stored in:
+NicknameExpired=(expired)
+NicknameNotYetValid=(not yet valid)
diff --git a/comm/mail/locales/en-US/chrome/messenger/appUpdate.properties b/comm/mail/locales/en-US/chrome/messenger/appUpdate.properties
new file mode 100644
index 0000000000..0a423d55d0
--- /dev/null
+++ b/comm/mail/locales/en-US/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=A new %S update is available.
+# LOCALIZATION NOTE (updateAvailableMessage): %S will be replaced with brandShortName
+updateAvailableMessage=Update your %S for the latest in speed and privacy.
+updateAvailablePrimaryButtonLabel=Download Update
+updateAvailablePrimaryButtonAccessKey=D
+updateAvailableSecondaryButtonLabel=Not Now
+updateAvailableSecondaryButtonAccessKey=N
+
+# LOCALIZATION NOTE (updateManualTitle): %S will be replaced with brandShortName
+updateManualTitle=%S can’t update to the latest version.
+# LOCALIZATION NOTE (updateManualMessage): %S will be replaced with brandShortName
+updateManualMessage=Download a fresh copy of %S and we’ll help you to install it.
+# LOCALIZATION NOTE (updateManualPrimaryButtonLabel): %S will be replaced with brandShortName
+updateManualPrimaryButtonLabel=Download %S
+updateManualPrimaryButtonAccessKey=D
+updateManualSecondaryButtonLabel=Not Now
+updateManualSecondaryButtonAccessKey=N
+
+# LOCALIZATION NOTE (updateUnsupportedTitle): %S will be replaced with brandShortName
+updateUnsupportedTitle=%S is unable to update to the latest version.
+# LOCALIZATION NOTE (updateUnsupportedMessage): %S will be replaced with brandShortName
+updateUnsupportedMessage=The latest version of %S is not supported on your system.
+updateUnsupportedPrimaryButtonLabel=Learn more
+updateUnsupportedPrimaryButtonAccessKey=L
+updateUnsupportedSecondaryButtonLabel=Close
+updateUnsupportedSecondaryButtonAccessKey=C
+
+# LOCALIZATION NOTE (updateRestartTitle): %S will be replaced with brandShortName
+updateRestartTitle=Restart to update %S.
+# LOCALIZATION NOTE (updateRestartMessage): %S will be replaced with brandShortName
+updateRestartMessage=After a quick restart, %S will restore all your open tabs and windows.
+updateRestartPrimaryButtonLabel=Restart
+updateRestartPrimaryButtonAccessKey=R
+updateRestartSecondaryButtonLabel=Not Now
+updateRestartSecondaryButtonAccessKey=N
diff --git a/comm/mail/locales/en-US/chrome/messenger/appleMailImportMsgs.properties b/comm/mail/locales/en-US/chrome/messenger/appleMailImportMsgs.properties
new file mode 100644
index 0000000000..38c9e3eaa0
--- /dev/null
+++ b/comm/mail/locales/en-US/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=Import Local Mail from Mac OS X Mail
+
+# Success Message
+# LOCALIZATION NOTE(ApplemailImportMailboxSuccess): Do not translate the word "%S" below.
+ApplemailImportMailboxSuccess=Local messages were successfully imported from %S
+
+# Error Message
+ApplemailImportMailboxBadparam=An internal error occurred. Importing failed. Try importing again.
+
+# Error message
+# LOCALIZATION NOTE(ApplemailImportMailboxConverterror): Do not translate the word "%S" below.
+ApplemailImportMailboxConverterror=An error occurred while importing messages from %S. Messages were not imported.
diff --git a/comm/mail/locales/en-US/chrome/messenger/baseMenuOverlay.dtd b/comm/mail/locales/en-US/chrome/messenger/baseMenuOverlay.dtd
new file mode 100644
index 0000000000..0daa202985
--- /dev/null
+++ b/comm/mail/locales/en-US/chrome/messenger/baseMenuOverlay.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/. -->
+
+<!-- Help Menu -->
+<!ENTITY productHelp.commandkey "VK_F1">
+<!ENTITY productHelpMac.commandkey "?">
+<!ENTITY productHelpMac.modifiers "accel">
diff --git a/comm/mail/locales/en-US/chrome/messenger/beckyImportMsgs.properties b/comm/mail/locales/en-US/chrome/messenger/beckyImportMsgs.properties
new file mode 100644
index 0000000000..97aa769651
--- /dev/null
+++ b/comm/mail/locales/en-US/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=Import Local Mail from 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=Local messages were successfully imported from %S.
+
+BeckyImportAddressSuccess=Address book imported
diff --git a/comm/mail/locales/en-US/chrome/messenger/charsetTitles.properties b/comm/mail/locales/en-US/chrome/messenger/charsetTitles.properties
new file mode 100644
index 0000000000..4200239d2b
--- /dev/null
+++ b/comm/mail/locales/en-US/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 = Western (ISO-8859-1)
+iso-8859-2.title = Central European (ISO-8859-2)
+iso-8859-3.title = South European (ISO-8859-3)
+iso-8859-4.title = Baltic (ISO-8859-4)
+iso-8859-10.title = Nordic (ISO-8859-10)
+iso-8859-13.title = Baltic (ISO-8859-13)
+iso-8859-14.title = Celtic (ISO-8859-14)
+iso-8859-15.title = Western (ISO-8859-15)
+iso-8859-16.title = Romanian (ISO-8859-16)
+windows-1250.title = Central European (Windows-1250)
+windows-1252.title = Western (Windows-1252)
+windows-1254.title = Turkish (Windows-1254)
+windows-1257.title = Baltic (Windows-1257)
+macintosh.title = Western (MacRoman)
+x-mac-ce.title = Central European (MacCE)
+x-mac-turkish.title = Turkish (MacTurkish)
+x-mac-croatian.title = Croatian (MacCroatian)
+x-mac-romanian.title = Romanian (MacRomanian)
+x-mac-icelandic.title = Icelandic (MacIcelandic)
+iso-2022-jp.title = Japanese (ISO-2022-JP)
+shift_jis.title = Japanese (Shift_JIS)
+euc-jp.title = Japanese (EUC-JP)
+big5.title = Chinese Traditional (Big5)
+big5-hkscs.title = Chinese Traditional (Big5-HKSCS)
+gb2312.title = Chinese Simplified (GB2312)
+gbk.title = Chinese Simplified (GBK)
+euc-kr.title = Korean (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 = Cyrillic (ISO-8859-5)
+windows-1251.title = Cyrillic (Windows-1251)
+x-mac-cyrillic.title = Cyrillic (MacCyrillic)
+x-mac-ukrainian.title = Cyrillic/Ukrainian (MacUkrainian)
+koi8-r.title = Cyrillic (KOI8-R)
+koi8-u.title = Cyrillic/Ukrainian (KOI8-U)
+iso-8859-7.title = Greek (ISO-8859-7)
+windows-1253.title = Greek (Windows-1253)
+x-mac-greek.title = Greek (MacGreek)
+windows-1258.title = Vietnamese (Windows-1258)
+windows-874.title = Thai (Windows-874)
+iso-8859-6.title = Arabic (ISO-8859-6)
+iso-8859-8.title = Hebrew Visual (ISO-8859-8)
+iso-8859-8-i.title = Hebrew (ISO-8859-8-I)
+windows-1255.title = Hebrew (Windows-1255)
+windows-1256.title = Arabic (Windows-1256)
+x-user-defined.title = User Defined
+ibm866.title = Cyrillic/Russian (CP-866)
+gb18030.title = Chinese Simplified (GB18030)
+x-mac-arabic.title = Arabic (MacArabic)
+x-mac-farsi.title = Farsi (MacFarsi)
+x-mac-hebrew.title = Hebrew (MacHebrew)
+x-mac-devanagari.title = Hindi (MacDevanagari)
+x-mac-gujarati.title = Gujarati (MacGujarati)
+x-mac-gurmukhi.title = Gurmukhi (MacGurmukhi)
+
+chardet.off.title = (Off)
+chardet.universal_charset_detector.title = Universal
+chardet.ja_parallel_state_machine.title = Japanese
+chardet.ko_parallel_state_machine.title = Korean
+chardet.zhtw_parallel_state_machine.title = Traditional Chinese
+chardet.zhcn_parallel_state_machine.title = Simplified Chinese
+chardet.zh_parallel_state_machine.title = Chinese
+chardet.cjk_parallel_state_machine.title = East Asian
+chardet.ruprob.title = Russian
+chardet.ukprob.title = Ukrainian
diff --git a/comm/mail/locales/en-US/chrome/messenger/chat.dtd b/comm/mail/locales/en-US/chrome/messenger/chat.dtd
new file mode 100644
index 0000000000..99d6fd7bc2
--- /dev/null
+++ b/comm/mail/locales/en-US/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 "Online Contacts">
+<!ENTITY offlineContactsHeader.label "Offline Contacts">
+<!ENTITY conversationsHeader.label "Conversations">
+<!ENTITY searchResultConversation.label "Search result">
+<!ENTITY chat.noConv.title "Conversations will be displayed here.">
+<!ENTITY chat.noConv.description "Use the contact list in the left panel to start a conversation.">
+<!ENTITY chat.noPreviousConv.description "&brandShortName; currently doesn't have any previous conversations stored for this contact.">
+<!ENTITY chat.noAccount.title "You haven't set up a chat account yet.">
+<!ENTITY chat.noAccount.description "Let &brandShortName; guide you through the process of setting up your chat account.">
+<!ENTITY chat.accountWizard.button "Get started">
+<!ENTITY chat.noConnectedAccount.title "Your chat accounts are not connected.">
+<!ENTITY chat.noConnectedAccount.description "You can connect them from the 'Chat status' dialog:">
+<!ENTITY chat.showAccountManager.button "Show chat status">
+
+<!ENTITY chat.participants "Participants:">
+<!ENTITY chat.previousConversations "Previous Conversations:">
+<!ENTITY chat.ongoingConversation "Ongoing conversation">
+
+<!ENTITY openConversationCmd.label "Start a Conversation">
+<!ENTITY openConversationCmd.accesskey "c">
+<!ENTITY closeConversationCmd.label "Close Conversation">
+<!ENTITY closeConversationCmd.accesskey "C">
+<!ENTITY aliasCmd.label "Rename">
+<!ENTITY aliasCmd.accesskey "R">
+<!ENTITY deleteCmd.label "Remove Contact">
+<!ENTITY deleteCmd.accesskey "v">
+
+<!ENTITY openConversationButton.tooltip "Start a conversation">
+<!ENTITY closeConversationButton.tooltip "Close conversation">
+
+<!ENTITY addBuddyButton.label "Add Contact">
+<!ENTITY joinChatButton.label "Join Chat">
+<!ENTITY chatAccountsButton.label "Show Accounts">
+
+<!ENTITY status.available "Available">
+<!ENTITY status.unavailable "Unavailable">
+<!ENTITY status.offline "Offline">
+
+<!ENTITY openLinkCmd.label "Open Link…">
+<!ENTITY openLinkCmd.accesskey "O">
diff --git a/comm/mail/locales/en-US/chrome/messenger/chat.properties b/comm/mail/locales/en-US/chrome/messenger/chat.properties
new file mode 100644
index 0000000000..f971e5353a
--- /dev/null
+++ b/comm/mail/locales/en-US/chrome/messenger/chat.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/.
+
+chatTabTitle=Chat
+goBackToCurrentConversation.button=Back to current conversation
+# LOCALIZATION NOTE (startAConversationWith.button):
+# %S is replaced with the display name of a contact.
+startAConversationWith.button=Start a conversation with %S
+
+# LOCALIZATION NOTE (defaultGroup):
+# this is used in the addBuddies dialog if the list of existing groups is empty
+defaultGroup=Contacts
+
+# 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 wants to chat with you
+buddy.authRequest.allow.label=Allow
+buddy.authRequest.allow.accesskey=A
+buddy.authRequest.deny.label=Deny
+buddy.authRequest.deny.accesskey=D
+
+## LOCALIZATION NOTE (buddy.verificationRequest):
+# Strings used in a notification bar at the top of the chat tab when someone
+# sends a verification request for end-to-end encryption keys.
+# %S is replaced with the display name of the user or, if this is to verify a
+# session of yourself, a string that identifies the session.
+buddy.verificationRequest.label=%S wants to verify each other’s identities
+buddy.verificationRequest.allow.label=Start Verification
+buddy.verificationRequest.allow.accesskey=S
+buddy.verificationRequest.deny.label=Deny
+buddy.verificationRequest.deny.accesskey=D
+
+# 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=Delete %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 will be permanently removed from your %2$S buddy list if you continue.
+
+# 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=&Delete
+
+displayNameEmptyText=Display Name
+userIconFilePickerTitle=Select the new icon…
+
+# 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=is typing…
+chat.hasStoppedTyping=has stopped typing.
+# 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 is typing.
+chat.contactHasStoppedTyping=%S has stopped typing.
+
+# LOCALIZATION NOTE (unknownCommand):
+# This is shown when an unknown command (/foo) is attempted. %S is the command.
+unknownCommand=%S is not a supported command. Type /help to see the list of commands.
+
+#LOCALIZATION NOTE
+# These are special entries in the log tree for the corresponding days.
+log.today=Today
+log.yesterday=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=This Week
+log.previousWeek=Last Week
+
+# 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=New Chat Message
+
+#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… (and #1 more message);%1$S… (and #1 more messages)
diff --git a/comm/mail/locales/en-US/chrome/messenger/configEditorOverlay.dtd b/comm/mail/locales/en-US/chrome/messenger/configEditorOverlay.dtd
new file mode 100644
index 0000000000..3d78799d68
--- /dev/null
+++ b/comm/mail/locales/en-US/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/comm/mail/locales/en-US/chrome/messenger/converterDialog.dtd b/comm/mail/locales/en-US/chrome/messenger/converterDialog.dtd
new file mode 100644
index 0000000000..4bd8419d24
--- /dev/null
+++ b/comm/mail/locales/en-US/chrome/messenger/converterDialog.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 converterDialog.title "Message Store Type Converter">
+<!ENTITY converterDialog.continueButton "Continue">
+<!ENTITY converterDialog.cancelButton "Cancel">
+<!ENTITY converterDialog.finishButton "Finish">
+<!ENTITY converterDialog.complete "The conversion is complete. &brandShortName; will now restart.">
+<!ENTITY converterDialog.error "Conversion failed.">
diff --git a/comm/mail/locales/en-US/chrome/messenger/converterDialog.properties b/comm/mail/locales/en-US/chrome/messenger/converterDialog.properties
new file mode 100644
index 0000000000..d808be0319
--- /dev/null
+++ b/comm/mail/locales/en-US/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=The messages in the account %1$S will now be converted to the %2$S format. %3$S will restart after the conversion is complete.
+
+# 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=Converting the account %1$S to %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 is deferred to %2$S. Accounts deferred to %3$S: %4$S. The messages in the accounts %5$S will now be converted to the %6$S format. %7$S will restart after the conversion is complete.
+
+# 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=Accounts deferred to %1$S: %2$S. The messages in the accounts %3$S will now be converted to the %4$S format. %5$S will restart after the conversion is complete.
+
+# 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=Converting the accounts %1$S to %2$S…
+
+# LOCALIZATION NOTE (converterDialog.percentDone):
+# %1$S will be replaced by the percentage of conversion that is complete.
+converterDialog.percentDone=%1$S%% done
diff --git a/comm/mail/locales/en-US/chrome/messenger/custom.properties b/comm/mail/locales/en-US/chrome/messenger/custom.properties
new file mode 100644
index 0000000000..f51faa3a68
--- /dev/null
+++ b/comm/mail/locales/en-US/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=The header you entered contains an invalid character, such as ':', a non-printable character, a non-ascii character, or an eight bit ascii character. Please remove the invalid character and try again.
diff --git a/comm/mail/locales/en-US/chrome/messenger/customizeToolbar.dtd b/comm/mail/locales/en-US/chrome/messenger/customizeToolbar.dtd
new file mode 100644
index 0000000000..6ecaa6c9da
--- /dev/null
+++ b/comm/mail/locales/en-US/chrome/messenger/customizeToolbar.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/. -->
+
+<!ENTITY dialog.title "Customize Toolbar">
+<!ENTITY dialog.dimensions "width: 92ch; height: 36em;">
+<!ENTITY instructions.description "You can add or remove items by dragging to or from the toolbars.">
+<!ENTITY show.label "Show:">
+<!ENTITY iconsAndText.label "Icons and Text">
+<!ENTITY icons.label "Icons">
+<!ENTITY text.label "Text">
+<!ENTITY iconsBesideText.label "Icons beside Text">
+<!ENTITY useSmallIcons.label "Use Small Icons">
+<!ENTITY restoreDefaultSet.label "Restore Default Set">
+<!ENTITY showTitlebar2.label "Title Bar">
+<!ENTITY saveChanges.label "Done">
+<!ENTITY undoChanges.label "Undo Changes">
diff --git a/comm/mail/locales/en-US/chrome/messenger/customizeToolbar.properties b/comm/mail/locales/en-US/chrome/messenger/customizeToolbar.properties
new file mode 100644
index 0000000000..0ec6d2c1db
--- /dev/null
+++ b/comm/mail/locales/en-US/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=New Toolbar
+enterToolbarName=Enter a name for this toolbar:
+enterToolbarDup=There is already a toolbar with the name “%S”. Please enter a different name.
+enterToolbarBlank=You must enter a name to create a new toolbar.
+separatorTitle=Separator
+springTitle=Flexible Space
+spacerTitle=Space
diff --git a/comm/mail/locales/en-US/chrome/messenger/devtools/dbgserver.dtd b/comm/mail/locales/en-US/chrome/messenger/devtools/dbgserver.dtd
new file mode 100644
index 0000000000..c62c720c3c
--- /dev/null
+++ b/comm/mail/locales/en-US/chrome/messenger/devtools/dbgserver.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 options.title "Developer Tools Options">
+<!ENTITY options.status.label "Status:">
+<!ENTITY options.port.label "Port:">
+<!ENTITY options.forcelocal.label "Allow connections from other computers">
diff --git a/comm/mail/locales/en-US/chrome/messenger/devtools/dbgserver.properties b/comm/mail/locales/en-US/chrome/messenger/devtools/dbgserver.properties
new file mode 100644
index 0000000000..6d3ff2fa1b
--- /dev/null
+++ b/comm/mail/locales/en-US/chrome/messenger/devtools/dbgserver.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/.
+
+options.stop.label=Stop Developer Tools Server
+options.start.label=Start Developer Tools Server
+
+options.connected.label=#1 Client Connected;#1 Clients Connected
+options.connected.tooltip=The developer tools server is running and there are clients connected.
+options.listening.label=Listening
+options.listening.tooltip=The developer tools server is running and waiting for connections.
+options.idle.label=Not Running
+options.idle.tooltip=The developer tools server is not running. You can start it from this dialog.
+options.unsupported.label=Unsupported
+options.unsupported.tooltip=There was an error loading the built-in developer tools server. Make sure it is packaged and check your error console for messages.
diff --git a/comm/mail/locales/en-US/chrome/messenger/downloadheaders.dtd b/comm/mail/locales/en-US/chrome/messenger/downloadheaders.dtd
new file mode 100644
index 0000000000..405c2950bb
--- /dev/null
+++ b/comm/mail/locales/en-US/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 "Download all headers">
+<!ENTITY all.accesskey "D">
+<!--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 "Download">
+<!ENTITY download.accesskey "o">
+<!--LOCALIZATION NOTE (headers.label): see note for download.label -->
+<!ENTITY headers.label "headers">
+<!ENTITY headers.accesskey "h">
+<!ENTITY mark.label "Mark remaining headers as read">
+<!ENTITY mark.accesskey "M">
diff --git a/comm/mail/locales/en-US/chrome/messenger/editContactOverlay.dtd b/comm/mail/locales/en-US/chrome/messenger/editContactOverlay.dtd
new file mode 100644
index 0000000000..7f6d5959ac
--- /dev/null
+++ b/comm/mail/locales/en-US/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 "Delete">
+<!ENTITY editContactPanelDeleteContact.accesskey "l">
+
+<!ENTITY editContactName.label "Name:">
+<!ENTITY editContactName.accesskey "N">
+
+<!ENTITY editContactEmail.label "Email:">
+<!ENTITY editContactEmail.accesskey "E">
+
+<!ENTITY editContactAddressBook.label "Address Book:">
+<!ENTITY editContactAddressBook.accesskey "A">
+
+<!ENTITY editContactPanelDone.label "Done">
+<!ENTITY editContactPanelDone.accesskey "D">
+
+<!ENTITY contactMoveDisabledWarning.description "You can't change the address book because the contact is in a mailing list.">
diff --git a/comm/mail/locales/en-US/chrome/messenger/editContactOverlay.properties b/comm/mail/locales/en-US/chrome/messenger/editContactOverlay.properties
new file mode 100644
index 0000000000..76908410bd
--- /dev/null
+++ b/comm/mail/locales/en-US/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=Edit Contact
+viewTitle=View Contact
+
+editDetailsLabel=Edit Details
+editDetailsAccessKey=t
+viewDetailsLabel=View Details
+viewDetailsAccessKey=t
+
+deleteContactTitle=Delete Contact
+deleteContactMessage=Are you sure you want to delete this Contact?
diff --git a/comm/mail/locales/en-US/chrome/messenger/fieldMapImport.dtd b/comm/mail/locales/en-US/chrome/messenger/fieldMapImport.dtd
new file mode 100644
index 0000000000..e9d06a1b7e
--- /dev/null
+++ b/comm/mail/locales/en-US/chrome/messenger/fieldMapImport.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/. -->
+
+<!ENTITY fieldMapImport.next.label "Next">
+<!ENTITY fieldMapImport.next.accesskey "N">
+<!ENTITY fieldMapImport.previous.label "Previous">
+<!ENTITY fieldMapImport.previous.accesskey "P">
+<!ENTITY fieldMapImport.text "Use Move Up and Move Down to match the address book fields on the left to the correct data for import on the right. Uncheck items you do not want to import.">
+<!ENTITY fieldMapImport.up.label "Move Up">
+<!ENTITY fieldMapImport.up.accesskey "U">
+<!ENTITY fieldMapImport.down.label "Move Down">
+<!ENTITY fieldMapImport.down.accesskey "D">
+<!ENTITY fieldMapImport.fieldListTitle "Address Book fields">
+<!ENTITY fieldMapImport.dataTitle "Record data to import">
+<!ENTITY fieldMapImport.skipFirstRecord.label "First record contains field names">
+<!ENTITY fieldMapImport.skipFirstRecord.accessKey "F">
diff --git a/comm/mail/locales/en-US/chrome/messenger/filter.properties b/comm/mail/locales/en-US/chrome/messenger/filter.properties
new file mode 100644
index 0000000000..3152ca5afd
--- /dev/null
+++ b/comm/mail/locales/en-US/chrome/messenger/filter.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/.
+
+mustSelectFolder=You must select a target folder.
+enterValidEmailAddress=Enter a valid email address to forward to.
+pickTemplateToReplyWith=Choose a template to reply with.
+mustEnterName=You must give this filter a name.
+cannotHaveDuplicateFilterTitle=Duplicate Filter Name
+cannotHaveDuplicateFilterMessage=The filter name you entered already exists. Please enter a different filter name.
+mustHaveFilterTypeTitle=No filter event selected
+mustHaveFilterTypeMessage=You must select at least one event when this filter is applied. If you temporarily do not wish the filter to run at any event, uncheck its enabled state from the Message Filters dialog.
+deleteFilterConfirmation=Are you sure you want to delete the selected filter(s)?
+matchAllFilterName=Match All Messages
+filterListBackUpMsg=Your filters do not work because the msgFilterRules.dat file, which contains your filters, could not be read. A new msgFilterRules.dat file will be created and a backup of the old file, called rulesbackup.dat, will be created in the same directory.
+customHeaderOverflow=You've exceeded the limit of 50 custom headers. Please remove one or more custom headers and try again.
+filterCustomHeaderOverflow=Your filters have exceeded the limit of 50 custom headers. Please edit the msgFilterRules.dat file, which contains your filters, to use fewer custom headers.
+invalidCustomHeader=One of your filters uses a custom header that contains an invalid character, such as ':', a non-printable character, a non-ascii character, or an eight-bit ascii character. Please edit the msgFilterRules.dat file, which contains your filters, to remove invalid characters from your custom headers.
+continueFilterExecution=Applying filter %S failed. Would you like to continue applying filters?
+promptTitle=Running Filters
+promptMsg=You are currently in the process of filtering messages.\nWould you like to continue applying filters?
+stopButtonLabel=Stop
+continueButtonLabel=Continue
+# LOCALIZATION NOTE(cannotEnableIncompatFilter)
+# %S=the name of the application
+cannotEnableIncompatFilter=This filter was probably created by a newer or incompatible version of %S. You cannot enable this filter because we don't know how to apply it.
+dontWarnAboutDeleteCheckbox=Don't ask me again
+# LOCALIZATION NOTE(copyToNewFilterName)
+# %S=the name of the filter that is being copied
+copyToNewFilterName=Copy of %S
+# LOCALIZATION NOTE(contextPeriodic.label): Semi-colon list of plural forms.
+# #1=the number of minutes
+contextPeriodic.label=Periodically, every minute;Periodically, every #1 minutes
+
+# LOCALIZATION NOTE(filterFailureWarningPrefix)
+# %1$S=filter error action
+# %2$S=error code as hexadecimal string.
+filterFailureWarningPrefix=Filter action failed: "%1$S" with error code=%2$S while attempting:
+filterFailureSendingReplyError=Error sending reply
+filterFailureSendingReplyAborted=Sending reply aborted
+filterFailureMoveFailed=Move failed
+filterFailureCopyFailed=Copy failed
+filterFailureAction=Failed applying the filter action
+
+searchTermsInvalidTitle=Search Terms Invalid
+# LOCALIZATION NOTE(searchTermsInvalidRule)
+# %1$S=search attribute name from the invalid rule
+# %2$S=search operator from the bad rule
+searchTermsInvalidRule=This filter cannot be saved because the search term "%1$S %2$S" is invalid in the current context.
+# LOCALIZATION NOTE(filterActionOrderExplanation)
+# Keep the \n\n that mean 2 linebreaks.
+filterActionOrderExplanation=When a message matches this filter the actions will be run in this order:\n\n
+filterActionOrderTitle=Real action order
+## 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 of %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 item; #1 items
+# for junk mail logging / mail filter logging
+# LOCALIZATION NOTE(junkLogDetectStr)
+# %1$S=author, %2$S=subject, %3$S=date
+junkLogDetectStr=Detected junk message from %1$S - %2$S at %3$S
+# LOCALIZATION NOTE(logMoveStr)
+# %1$S=message id, %2$S=folder URI
+logMoveStr=moved message id = %1$S to %2$S
+# LOCALIZATION NOTE(logCopyStr)
+# %1$S=message id, %2$S=folder URI
+logCopyStr=copied message id = %1$S to %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=Message from filter "%1$S": %2$S
+# LOCALIZATION NOTE(filterLogDetectStr)
+# %1$S=filter name %2$S=author, %3$S=subject, %4$S=date
+filterLogDetectStr=Applied filter "%1$S" to message from %2$S - %3$S at %4$S
+filterMissingCustomAction=Missing Custom Action
+filterAction2=priority changed
+filterAction3=deleted
+filterAction4=marked as read
+filterAction5=thread killed
+filterAction6=thread watched
+filterAction7=starred
+filterAction9=replied
+filterAction10=forwarded
+filterAction11=execution stopped
+filterAction12=deleted from POP3 server
+filterAction13=left on POP3 server
+filterAction14=junk score
+filterAction15=body fetched from POP3 server
+filterAction16=copied to folder
+filterAction17=tagged
+filterAction18=ignored subthread
+filterAction19=marked as unread
+# 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/comm/mail/locales/en-US/chrome/messenger/folderProps.dtd b/comm/mail/locales/en-US/chrome/messenger/folderProps.dtd
new file mode 100644
index 0000000000..1db6ccd826
--- /dev/null
+++ b/comm/mail/locales/en-US/chrome/messenger/folderProps.dtd
@@ -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/. -->
+
+<!ENTITY folderProps.windowtitle.label "Properties">
+
+<!ENTITY generalInfo.label "General Information">
+<!ENTITY folderRebuildSummaryFileTip2.label "Rebuild Summary File Index">
+<!ENTITY folderRebuildSummaryFile2.label "Repair Folder">
+<!ENTITY folderRebuildSummaryFile2.accesskey "R">
+<!ENTITY folderRebuildSummaryFile.explanation "Sometimes the folder index (.msf) file becomes damaged and messages may appear missing or deleted messages continue showing; repairing the folder may fix these issues.">
+<!ENTITY folderIncludeInGlobalSearch.label "Include messages in this folder in Global Search results">
+<!ENTITY folderIncludeInGlobalSearch.accesskey "G">
+
+<!ENTITY retention.label "Retention Policy">
+<!ENTITY retentionUseAccount.label "Use my account settings">
+<!ENTITY retentionUseAccount.accesskey "U">
+<!ENTITY daysOld.label "days old">
+<!ENTITY message.label "messages">
+<!ENTITY retentionCleanup.label "To recover disk space, old messages can be permanently deleted.">
+<!ENTITY retentionCleanupImap.label "To recover disk space, old messages can be permanently deleted, both local copies and originals on the remote server.">
+<!ENTITY retentionCleanupPop.label "To recover disk space, old messages can be permanently deleted, including originals on the remote server.">
+<!ENTITY retentionDeleteMsg.label "Delete messages more than">
+<!ENTITY retentionDeleteMsg.accesskey "m">
+<!ENTITY retentionKeepAll.label "Don't delete any messages">
+<!ENTITY retentionKeepAll.accesskey "A">
+<!ENTITY retentionKeepRecent.label "Delete all but the most recent">
+<!ENTITY retentionKeepRecent.accesskey "l">
+<!ENTITY retentionApplyToFlagged.label "Always keep starred messages">
+<!ENTITY retentionApplyToFlagged.accesskey "e">
+
+<!ENTITY folderSynchronizationTab.label "Synchronization">
+<!ENTITY folderCheckForNewMessages2.label "When getting new messages for this account, always check this folder">
+<!ENTITY folderCheckForNewMessages2.accesskey "c">
+
+<!ENTITY offlineFolder.check.label "Select this folder for offline use">
+<!ENTITY offlineFolder.check.accesskey "S">
+<!ENTITY offlineFolder.button.label "Download Now">
+<!ENTITY offlineFolder.button.accesskey "D">
+
+<!ENTITY selectofflineNewsgroup.check.label "Select this newsgroup for offline use">
+<!ENTITY selectofflineNewsgroup.check.accesskey "o">
+<!ENTITY offlineNewsgroup.button.label "Download Now">
+<!ENTITY offlineNewsgroup.button.accesskey "D">
+
+<!ENTITY folderProps.name.label "Name:">
+<!ENTITY folderProps.name.accesskey "N">
+<!ENTITY folderProps.color.label "Icon Color:">
+<!ENTITY folderProps.color.accesskey "I">
+<!ENTITY folderProps.reset.tooltip "Restore default color">
+<!ENTITY folderProps.location.label "Location:">
+<!ENTITY folderProps.location.accesskey "L">
+
+<!ENTITY folderSharingTab.label "Sharing">
+<!ENTITY privileges.button.label "Privileges…">
+<!ENTITY privileges.button.accesskey "P">
+<!ENTITY permissionsDesc.label "You have the following permissions:">
+<!ENTITY folderOtherUsers.label "Others with access to this folder:">
+<!ENTITY folderType.label "Folder Type:">
+
+<!ENTITY folderQuotaTab.label "Quota">
+<!ENTITY folderQuotaUsage.label "Usage:">
+<!ENTITY folderQuotaStatus.label "Status:">
+
+<!ENTITY numberOfMessages.label "Number of messages:">
+<!-- LOCALIZATION NOTE: When the number of messages can't be determined, this string is displayed as the number -->
+<!ENTITY numberUnknown.label "unknown">
+<!ENTITY sizeOnDisk.label "Size on disk:">
+<!-- LOCALIZATION NOTE: When the size can't be determined, this string is displayed as the size -->
+<!ENTITY sizeUnknown.label "unknown">
diff --git a/comm/mail/locales/en-US/chrome/messenger/folderWidgets.properties b/comm/mail/locales/en-US/chrome/messenger/folderWidgets.properties
new file mode 100644
index 0000000000..82465951dd
--- /dev/null
+++ b/comm/mail/locales/en-US/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=Global Inbox (%S)
+# LOCALIZATION NOTE(verboseFolderFormat): %1$S is folder name, %2$S is server name
+verboseFolderFormat=%1$S on %2$S
+chooseFolder=Choose Folder…
+chooseAccount=Choose Account…
+noFolders=No available folders
diff --git a/comm/mail/locales/en-US/chrome/messenger/folderpane.dtd b/comm/mail/locales/en-US/chrome/messenger/folderpane.dtd
new file mode 100644
index 0000000000..047c50079d
--- /dev/null
+++ b/comm/mail/locales/en-US/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 "Name">
+<!ENTITY unreadColumn.label "Unread">
+<!ENTITY totalColumn.label "Total">
+<!ENTITY folderSizeColumn.label "Size">
diff --git a/comm/mail/locales/en-US/chrome/messenger/gloda.properties b/comm/mail/locales/en-US/chrome/messenger/gloda.properties
new file mode 100644
index 0000000000..2be495a9bd
--- /dev/null
+++ b/comm/mail/locales/en-US/chrome/messenger/gloda.properties
@@ -0,0 +1,175 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.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=Account
+gloda.message.attr.account.includeLabel=stored in any of:
+gloda.message.attr.account.excludeLabel=not stored in:
+gloda.message.attr.account.remainderLabel=other accounts:
+gloda.message.attr.account.mustMatchLabel=must be in #1
+gloda.message.attr.account.cantMatchLabel=can't be in #1
+
+# LOCALIZATION NOTE (gloda.message.attr.folder.*): Stores the message folder in
+# which the message is stored.
+gloda.message.attr.folder.facetNameLabel=Folder
+gloda.message.attr.folder.includeLabel=stored in any of:
+gloda.message.attr.folder.excludeLabel=not stored in:
+gloda.message.attr.folder.remainderLabel=other folders:
+gloda.message.attr.folder.mustMatchLabel=must be stored in #1
+gloda.message.attr.folder.cantMatchLabel=can't be stored in #1
+
+# LOCALIZATION NOTE (gloda.message.attr.fromMe.*): Stores everyone involved
+# with the message. This means from/to/cc/bcc.
+gloda.message.attr.fromMe.facetNameLabel=From Me
+
+# LOCALIZATION NOTE (gloda.message.attr.toMe.*): Stores everyone involved
+# with the message. This means from/to/cc/bcc.
+gloda.message.attr.toMe.facetNameLabel=To Me
+
+# LOCALIZATION NOTE (gloda.message.attr.involves.*): Stores everyone involved
+# with the message. This means from/to/cc/bcc.
+gloda.message.attr.involves.facetNameLabel=People
+gloda.message.attr.involves.includeLabel=involving any of:
+gloda.message.attr.involves.excludeLabel=not involving:
+gloda.message.attr.involves.remainderLabel=other participants:
+gloda.message.attr.involves.mustMatchLabel=must involve #1
+gloda.message.attr.involves.cantMatchLabel=can't involve #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=Date
+
+# 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=Attachments
+
+# LOCALIZATION NOTE (gloda.message.attr.mailing-list.*): Stores the mailing
+# lists detected in the message. This will normally be the email 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=Mailing List
+gloda.message.attr.mailing-list.noneLabel=None
+gloda.message.attr.mailing-list.includeLabel=received on any of:
+gloda.message.attr.mailing-list.excludeLabel=not received on any of:
+gloda.message.attr.mailing-list.remainderLabel=other mailing lists:
+gloda.message.attr.mailing-list.mustMatchLabel=must be on #1
+gloda.message.attr.mailing-list.cantMatchLabel=can't be on #1
+gloda.message.attr.mailing-list.mustMatchSomeLabel=must be on a mailing list
+gloda.message.attr.mailing-list.mustMatchNoneLabel=can't be on a mailing list
+
+# 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 independent 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=Tags
+gloda.message.attr.tag.noneLabel=None
+gloda.message.attr.tag.includeLabel=tagged any of:
+gloda.message.attr.tag.excludeLabel=not tagged:
+gloda.message.attr.tag.remainderLabel=other tags:
+gloda.message.attr.tag.mustMatchLabel=must be tagged #1
+gloda.message.attr.tag.cantMatchLabel=can't be tagged #1
+gloda.message.attr.tag.mustMatchSomeLabel=must be tagged
+gloda.message.attr.tag.mustMatchNoneLabel=can't be tagged
+
+# 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=Starred
+
+# LOCALIZATION NOTE (gloda.message.attr.read.*): Stores whether the user has
+# read the message or not.
+gloda.message.attr.read.facetNameLabel=Read
+
+# 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=Replied To
+
+# 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=Forwarded
+
+# LOCALIZATION NOTE (gloda.mimetype.category.*.label): Map categories of MIME
+# types defined in MimeTypeCategories 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=Archives
+gloda.mimetype.category.documents.label=Documents
+gloda.mimetype.category.images.label=Images
+# 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 email 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=Media (Audio, Video)
+gloda.mimetype.category.pdf.label=PDF Files
+# 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=Other
diff --git a/comm/mail/locales/en-US/chrome/messenger/glodaComplete.properties b/comm/mail/locales/en-US/chrome/messenger/glodaComplete.properties
new file mode 100644
index 0000000000..fec860fec6
--- /dev/null
+++ b/comm/mail/locales/en-US/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=Messages tagged: #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=Messages mentioning: #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=Messages mentioning: #1
diff --git a/comm/mail/locales/en-US/chrome/messenger/glodaFacetView.dtd b/comm/mail/locales/en-US/chrome/messenger/glodaFacetView.dtd
new file mode 100644
index 0000000000..af3ff4a8b7
--- /dev/null
+++ b/comm/mail/locales/en-US/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 "Filters">
+
+<!-- LOCALIZATION NOTE (glodaFacetView.loading.label): Label that appears when
+ the search results take a long time to appear. -->
+<!ENTITY glodaFacetView.loading.label "Searching&#8230;">
+
+<!-- LOCALIZATION NOTE (glodaFacetView.empty.label): Label that appears when
+ there are no results that match the search query. -->
+<!ENTITY glodaFacetView.empty.label "No messages match your search">
+
+<!-- LOCALIZATION NOTE (glodaFacetView.pageMore.label): Label at the bottom
+ of the results list to show more hits. -->
+<!ENTITY glodaFacetView.pageMore.label "More &#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 "Show results as list">
+
+<!-- LOCALIZATION NOTE(glodaFacetView.results.message.openEmailAsList.tooltip):
+ The tooltip to display when hovering over the openEmailAsList label. -->
+<!ENTITY glodaFacetView.openEmailAsList.tooltip "Show all of the email messages in the active set in a new tab">
diff --git a/comm/mail/locales/en-US/chrome/messenger/glodaFacetView.properties b/comm/mail/locales/en-US/chrome/messenger/glodaFacetView.properties
new file mode 100644
index 0000000000..c734a05adb
--- /dev/null
+++ b/comm/mail/locales/en-US/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=Search
+
+# 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=Search
+
+# 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=Results for:
+
+# 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=Searching for #1
+glodaFacetView.constraints.query.fulltext.andJoinWord=and
+glodaFacetView.constraints.query.fulltext.orJoinWord=or
+
+# 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=Searching for messages
+
+# 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=involving #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=tagged:
+
+
+# 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=List all #1;List all #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=including any of:
+# 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=excluding:
+# 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=other:
+
+# 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=must match #1
+glodaFacetView.facets.mustMatchNoneLabel.fallbackLabel=can't have a value
+
+# 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=can't match #1
+glodaFacetView.facets.mustMatchSomeLabel.fallbackLabel=must have a value
+
+# 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=remove constraint
+glodaFacetView.facets.mayMatchAnyLabel.fallbackLabel=remove constraint
+
+# 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=None
+
+# LOCALIZATION NOTE (glodaFacetView.facets.filter.attachmentTypes.allLabel):
+# The label to use when all types of attachments are being displayed.
+glodaFacetView.facets.filter.attachmentTypes.allLabel=Any Kind
+
+# 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=from:
+
+# 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=to:
+
+# 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=(no subject)
+
+# 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;#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=of #1;of #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=Toggle timeline
+# 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=Sort by Relevance
+# 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=Sort by Date
+
+# 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=, and #1 other;, and #1 others
diff --git a/comm/mail/locales/en-US/chrome/messenger/imAccountWizard.dtd b/comm/mail/locales/en-US/chrome/messenger/imAccountWizard.dtd
new file mode 100644
index 0000000000..e97075d70a
--- /dev/null
+++ b/comm/mail/locales/en-US/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 "Chat Account Wizard">
+
+<!ENTITY accountProtocolTitle.label "Chat network">
+<!ENTITY accountProtocolInfo.label "Please choose the network of your chat account.">
+<!ENTITY accountProtocolField.label "Network:">
+<!ENTITY accountProtocolGetMore.label "Get more…">
+
+<!ENTITY accountUsernameTitle.label "Username">
+<!ENTITY accountUsernameDuplicate.label "This account is already configured!">
+
+<!ENTITY accountPasswordTitle.label "Password">
+<!ENTITY accountPasswordInfo.label "Please enter your password in the box below.">
+<!ENTITY accountPasswordField.label "Password:">
+<!ENTITY accountPasswordManager.label "The password entered here will be stored in the Password Manager. Leave this box empty if you want to be prompted for your password each time this account is connected.">
+
+<!ENTITY accountAdvancedTitle.label "Advanced Options">
+<!ENTITY accountAdvancedInfo.label "Feel free to skip this step if you want to.">
+<!ENTITY accountAdvanced.newMailNotification.label "Notify on new Mail">
+<!ENTITY accountAliasGroupbox.caption "Local Alias">
+<!ENTITY accountAliasField.label "Alias:">
+<!ENTITY accountAliasInfo.label "This will only be displayed in your conversations when you talk, remote contacts won't see it.">
+<!ENTITY accountProxySettings.caption "Proxy Settings">
+<!ENTITY accountProxySettings.change.label "Change…">
+<!ENTITY accountProxySettings.change.accessKey "C">
+
+<!ENTITY accountSummaryTitle.label "Summary">
+<!ENTITY accountSummaryInfo.label "A summary of the information you entered is displayed below. Please check it before the account is created.">
+<!ENTITY accountSummary.connectNow.label "Connect this account now.">
diff --git a/comm/mail/locales/en-US/chrome/messenger/imAccounts.properties b/comm/mail/locales/en-US/chrome/messenger/imAccounts.properties
new file mode 100644
index 0000000000..b99a040ab2
--- /dev/null
+++ b/comm/mail/locales/en-US/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 Options
+accountUsername=Username:
+# 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=Please enter the username for your %S account.
+# LOCALIZATION NOTE (accountUsernameInfoWithDescription):
+# %1$S is a hint for the expected format of the username
+# %2$S is the name of a protocol
+accountUsernameInfoWithDescription=Please enter the username (%1$S) for your %2$S account.
+
+# LOCALIZATION NOTE (account.connection.error):
+# %S is the error message.
+account.connection.error=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=No '%S' protocol plugin.
+account.connection.errorEnteringPasswordRequired=Entering a password is required to connect this account.
+account.connection.errorCrashedAccount=A crash occurred while connecting this account.
+# LOCALIZATION NOTE (account.connection.progress):
+# %S is a message indicating progress of the connection process
+account.connection.progress=Connecting: %S…
+account.connecting=Connecting…
+account.connectedForSeconds=Connected for a few seconds.
+# 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=Connected for %1$S %2$S and %3$S %4$S.
+account.connectedForSingle=Connected for about %1$S %2$S.
+account.reconnectInDouble=Reconnection in %1$S %2$S and %3$S %4$S.
+account.reconnectInSingle=Reconnection in %1$S %2$S.
+
+requestAuthorizeTitle=Authorization request
+# LOCALIZATION NOTE (requestAuthorizeAllow, requestAuthorizeDeny):
+# the & symbol indicates the position of the character that should be
+# used as the accesskey for this button.
+requestAuthorizeAllow=&Allow
+requestAuthorizeDeny=&Deny
+# LOCALIZATION NOTE (requestAuthorizeText):
+# %S is a contact username.
+requestAuthorizeText=%S added you to his/her buddy list, do you want to allow him/her to see you?
+
+accountsManager.notification.button.accessKey=C
+accountsManager.notification.button.label=Connect Now
+accountsManager.notification.userDisabled.label=You have disabled automatic connections.
+accountsManager.notification.safeMode.label=Automatic Connection Settings have been ignored because the application is currently running in Safe-Mode.
+accountsManager.notification.startOffline.label=Automatic Connection Settings have been ignored because the application was started in Offline Mode.
+accountsManager.notification.crash.label=The last run exited unexpectedly while connecting. Automatic Connections have been disabled to give you an opportunity to Edit your Settings.
+# 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=A previous run exited unexpectedly while connecting a new or edited account. It has not been connected so that you can Edit its Settings.;A previous run exited unexpectedly while connecting #1 new or edited accounts. They have not been connected so that you can Edit their Settings.
+accountsManager.notification.other.label=Automatic connection has been disabled.
diff --git a/comm/mail/locales/en-US/chrome/messenger/imapMsgs.properties b/comm/mail/locales/en-US/chrome/messenger/imapMsgs.properties
new file mode 100644
index 0000000000..c3a18a7d2b
--- /dev/null
+++ b/comm/mail/locales/en-US/chrome/messenger/imapMsgs.properties
@@ -0,0 +1,268 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.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=Alert for account %S
+
+# Status - opening folder
+imapStatusSelectingMailbox=Opening folder %S…
+
+# Status - create folder
+imapStatusCreatingMailbox=Creating folder…
+
+# 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=Deleting folder %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=Renaming folder %S…
+
+# Status - looking for mailboxes
+imapStatusLookingForMailbox=Looking for folders…
+
+# 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=Subscribing to folder %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=Unsubscribing from folder %S…
+
+# Status - searching imap folder
+imapStatusSearchMailbox=Searching folder…
+
+# Status - closing a folder
+imapStatusCloseMailbox=Closing folder…
+
+# Status - compacting a folder
+imapStatusExpungingMailbox=Compacting folder…
+
+# Status - logging out
+imapStatusLoggingOut=Logging out…
+
+# Status - checking server capabilities
+imapStatusCheckCompat=Checking mail server capabilities…
+
+# Status - logging on
+imapStatusSendingLogin=Sending login information…
+
+# Status - auth logon
+imapStatusSendingAuthLogin=Sending login information…
+
+imapDownloadingMessage=Downloading message…
+
+# LOCALIZATION NOTE (imapGettingACLForFolder): Do not translate the word "ACL" below.
+imapGettingACLForFolder=Getting folder ACL…
+
+imapGettingServerInfo=Getting Server Configuration Info…
+
+imapGettingMailboxInfo=Getting Mailbox Configuration Info…
+
+imapEmptyMimePart=This body part will be downloaded on demand.
+
+# 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=Downloading message header %1$S of %2$S in %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=Downloading message flag %1$S of %2$S in %3$S…
+
+imapDeletingMessages=Deleting messages…
+
+imapDeletingMessage=Deleting message…
+
+# 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=Moving messages to %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=Moving message to %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=Copying messages to %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=Copying message to %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=Downloading message %1$S of %2$S in %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=Found folder: %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=Enter your password for %1$S on %2$S:
+
+# LOCALIZATION NOTE (imapServerNotImap4): Do not translate the word "IMAP4" below.
+imapServerNotImap4=Mail server %S is not an IMAP4 mail server.
+
+# 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=Enter your password for %1$S
+
+imapUnknownHostError=Failed to connect to server %S.
+imapOAuth2Error=Authentication failure while connecting to server %S.
+
+imapConnectionRefusedError=Could not connect to mail server %S; the connection was refused.
+
+imapNetTimeoutError=Connection to server %S timed out.
+
+imapTlsError=Non-overridable TLS error occurred. Handshake error or probably the TLS version or certificate used by server %S is incompatible.
+
+# Status - no messages to download
+imapNoNewMessages=There are no new messages on the server.
+
+imapDefaultAccountName=Mail for %S
+
+imapSpecialChar2=The %S character is reserved on this imap server. Please choose another name.
+
+imapPersonalSharedFolderTypeName=Personal Folder
+
+imapPublicFolderTypeName=Public Folder
+
+imapOtherUsersFolderTypeName=Other User's Folder
+
+imapPersonalFolderTypeDescription=This is a personal mail folder. It is not shared.
+
+imapPersonalSharedFolderTypeDescription=This is a personal mail folder. It has been shared.
+
+imapPublicFolderTypeDescription=This is a public folder.
+
+imapOtherUsersFolderTypeDescription=This is a mail folder shared by the user '%S'.
+
+imapAclFullRights=Full Control
+
+imapAclLookupRight=Lookup
+
+imapAclReadRight=Read
+
+imapAclSeenRight=Set Read/Unread State
+
+imapAclWriteRight=Write
+
+imapAclInsertRight=Insert (Copy Into)
+
+imapAclPostRight=Post
+
+imapAclCreateRight=Create Subfolder
+
+imapAclDeleteRight=Delete Messages
+
+imapAclAdministerRight=Administer Folder
+
+imapServerDoesntSupportAcl=This server does not support shared folders.
+
+imapAclExpungeRight=Expunge
+
+imapServerDisconnected= Server %S has disconnected. The server may have gone down or there may be a network problem.
+
+# LOCALIZATION NOTE (autoSubscribeText): %1$S is the imap folder.
+imapSubscribePrompt=Would you like to subscribe to %1$S?
+
+imapServerDroppedConnection=Unable to connect to your IMAP server. You may have exceeded the maximum number \
+of connections to this server. If so, use the Advanced IMAP Server Settings dialog to \
+reduce the number of cached connections.
+
+# 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=Quota information is not available because the folder is not open.
+
+# The imap capability response reports that QUOTA is not supported.
+imapQuotaStatusNotSupported=This server does not support quotas.
+
+# The getqutaroot command succeeded but reported no quota information.
+imapQuotaStatusNoQuota2=This folder reports no quota information.
+
+# Folder properties were requested by the user (right-click) before the getquotaroot
+# command was sent.
+imapQuotaStatusInProgress=Quota information not yet available.
+
+# Out of memory
+imapOutOfMemory=Application is out of memory.
+
+# 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=Copying message %1$S of %2$S to %3$S…
+
+# LOCALIZATION NOTE (imapMoveFolderToTrash): Do not translate the word %S below.
+# "%S" is the the name of the folder.
+imapMoveFolderToTrash=Are you sure you want to delete the folder '%S'?
+
+# LOCALIZATION NOTE (imapDeleteNoTrash): Do not translate the word %S below.
+# "%S" is the the name of the folder.
+imapDeleteNoTrash=Deleting this folder is not undoable and will delete all of the messages it contains, and its sub-folders. Are you sure you still want to delete the folder '%S'?
+
+imapDeleteFolderDialogTitle=Delete Folder
+
+imapDeleteFolderButtonLabel=&Delete Folder
+
+# LOCALIZATION NOTE (imapAuthChangeEncryptToPlainSSL): %S is the server hostname
+imapAuthChangeEncryptToPlainSSL=The IMAP server %S does not seem to support encrypted passwords. If you just set up this account, please try changing to 'Normal password' as the 'Authentication method' in the 'Account Settings | Server settings'. If it used to work and now suddenly fails, please contact your email administrator or provider.
+
+# LOCALIZATION NOTE (imapAuthChangePlainToEncrypt): %S is the server hostname
+imapAuthChangePlainToEncrypt=The IMAP server %S does not allow plaintext passwords. Please try changing to 'Encrypted password' as the 'Authentication method' in the 'Account Settings | Server settings'.
+
+# LOCALIZATION NOTE (imapAuthChangeEncryptToPlainNoSSL): %S is the server hostname
+imapAuthChangeEncryptToPlainNoSSL=The IMAP server %S does not seem to support encrypted passwords. If you just set up the account, please try changing to 'Password, transmitted insecurely' as the 'Authentication method' in the 'Account Settings | Server settings'. If it used to work and now suddenly fails, this is a common scenario how someone could steal your password.
+
+# LOCALIZATION NOTE (imapAuthMechNotSupported): %S is the server hostname
+imapAuthMechNotSupported=The IMAP server %S does not support the selected authentication method. Please change the 'Authentication method' in the 'Account Settings | Server settings'.
+
+# LOCALIZATION NOTE (imapAuthGssapiFailed): %S is the server hostname
+imapAuthGssapiFailed=The Kerberos/GSSAPI ticket was not accepted by the IMAP server %S. Please check that you are logged in to the Kerberos/GSSAPI realm.
+
+# 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=The current command did not succeed. The mail server for account %1$S responded: %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=The current operation on '%2$S' did not succeed. The mail server for account %1$S responded: %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=Alert from account %1$S: %2$S
diff --git a/comm/mail/locales/en-US/chrome/messenger/importDialog.dtd b/comm/mail/locales/en-US/chrome/messenger/importDialog.dtd
new file mode 100644
index 0000000000..edc5167e6e
--- /dev/null
+++ b/comm/mail/locales/en-US/chrome/messenger/importDialog.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/. -->
+
+<!--
+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 "Import">
+<!ENTITY importAll.label "Import Everything">
+<!ENTITY importAll.accesskey "E">
+<!ENTITY importMail.label "Mail">
+<!ENTITY importMail.accesskey "M">
+<!ENTITY importFeeds.label "Feed Subscriptions">
+<!ENTITY importFeeds.accesskey "d">
+<!ENTITY importAddressbook.label "Address Books">
+<!ENTITY importAddressbook.accesskey "A">
+<!ENTITY importSettings.label "Settings">
+<!ENTITY importSettings.accesskey "S">
+<!ENTITY importFilters.label "Filters">
+<!ENTITY importFilters.accesskey "F">
+
+<!ENTITY importTitle.label "&brandShortName; Import Wizard">
+<!ENTITY importShortDesc.label "Import Mail, Address Books, Settings, and Filters from other programs">
+
+<!ENTITY importDescription1.label "This wizard will import mail messages, address book entries, feed subscriptions, preferences, and/or filters from other mail programs and common address book formats into &brandShortName;.">
+<!ENTITY importDescription2.label "Once they have been imported, you will be able to access them from within &brandShortName;.">
+
+<!ENTITY selectDescription.label "Please select the type of file that you would like to import:">
+<!ENTITY selectDescriptionB.label "Please select an existing account or create a new account:">
+<!ENTITY selectDescription.accesskey "P">
+<!ENTITY acctName.label "Name:">
+<!ENTITY acctName.accesskey "N">
+<!ENTITY noModulesFound.label "No application or file to import data from was found.">
+
+<!ENTITY back.label "&lt; Back">
+<!ENTITY forward.label "Next &gt;">
+<!ENTITY finish.label "Finish">
+<!ENTITY cancel.label "Cancel">
+
+<!ENTITY select.label "or select the type of material to import:">
+
+<!ENTITY title.label "Title">
+<!ENTITY processing.label "Importing…">
diff --git a/comm/mail/locales/en-US/chrome/messenger/importMsgs.properties b/comm/mail/locales/en-US/chrome/messenger/importMsgs.properties
new file mode 100644
index 0000000000..5c42678d28
--- /dev/null
+++ b/comm/mail/locales/en-US/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=No address books were found to import.
+
+# Error: Address book import not initialized
+## @name IMPORT_ERROR_AB_NOTINITIALIZED
+## @loc None
+2001=Unable to import address books: initialization error.
+
+# Error: Unable to create the import thread
+## @name IMPORT_ERROR_AB_NOTHREAD
+## @loc None
+2002=Unable to import address books: cannot create import thread.
+
+# 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=Error importing %S: unable to create address book.
+
+# Success message when no mailboxes are found to import
+## @name IMPORT_NO_MAILBOXES
+## @loc None
+2004=No mailboxes were found to import
+
+# Error: Mailbox import not initialized
+## @name IMPORT_ERROR_MB_NOTINITIALIZED
+## @loc None
+2005=Unable to import mailboxes, initialization error
+
+# Error: Unable to create the import thread
+## @name IMPORT_ERROR_MB_NOTHREAD
+## @loc None
+2006=Unable to import mailboxes, cannot create import thread
+
+# Error: Unable to create the proxy object for importing mailboxes
+## @name IMPORT_ERROR_MB_NOPROXY
+## @loc None
+2007=Unable to import mailboxes, cannot create proxy object for destination mailboxes
+
+# 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=Error creating destination mailboxes, cannot find mailbox %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=Error importing mailbox %S, unable to create destination mailbox
+
+# Error: No destination folder to import mailboxes
+## @name IMPORT_ERROR_MB_NODESTFOLDER
+## @loc None
+2010=Unable to create folder to import mail into
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC_START
+## @loc None
+2100=First Name
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2101=Last Name
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2102=Display Name
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2103=Nickname
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2104=Primary Email
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2105=Secondary Email
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2106=Work Phone
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2107=Home Phone
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2108=Fax Number
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2109=Pager Number
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2110=Mobile Number
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2111=Home Address
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2112=Home Address 2
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2113=Home City
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2114=Home State
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2115=Home ZipCode
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2116=Home Country
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2117=Work Address
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2118=Work Address 2
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2119=Work City
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2120=Work State
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2121=Work ZipCode
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2122=Work Country
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2123=Job Title
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2124=Department
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2125=Organization
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2126=Web Page 1
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2127=Web Page 2
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2128=Birth Year
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2129=Birth Month
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2130=Birth Day
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2131=Custom 1
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2132=Custom 2
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2133=Custom 3
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2134=Custom 4
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2135=Notes
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC_END
+## @loc None
+2136=Screen Name
+
+#Error strings
+ImportAlreadyInProgress=An import operation is currently in progress. Try again when the current import has finished.
+
+#Error strings for settings import
+ImportSettingsBadModule=Unable to load settings module
+ImportSettingsNotFound=Unable to find settings. Check to make sure the application is installed on this machine.
+ImportSettingsFailed=An error occurred while importing settings. Some, or all, of the settings may not have been imported.
+# LOCALIZATION NOTE : Do not translate the word "%S" below.
+ImportSettingsSuccess=Settings were imported from %S
+
+#Error string for mail import
+ImportMailBadModule=Unable to load mail import module
+ImportMailNotFound=Unable to find mail to import. Check to make sure the mail application is correctly installed on this machine.
+ImportEmptyAddressBook=Can't import empty address book %S.
+# LOCALIZATION NOTE: Do not translate the word "%S" below.
+ImportMailFailed=An error occurred importing mail from %S
+# LOCALIZATION NOTE: Do not translate the word "%S" below.
+ImportMailSuccess=Mail was successfully imported from %S
+
+# Error string for address import
+ImportAddressBadModule=Unable to load address book import module.
+ImportAddressNotFound=Unable to find any address books to import. Check to make sure the selected application or format is correctly installed on this machine.
+# LOCALIZATION NOTE : Do not translate the word "%S" below.
+ImportAddressFailed=An error occurred importing addresses from %S.
+# LOCALIZATION NOTE : Do not translate the word "%S" below.
+ImportAddressSuccess=Addresses successfully imported from %S.
+
+# Error string for filters import
+ImportFiltersBadModule=Unable to load filters import module.
+# LOCALIZATION NOTE : The %S will get replaced by the name of the import module.
+ImportFiltersFailed=An error occurred importing filters from %S.
+# LOCALIZATION NOTE : The %S will get replaced by the name of the import module.
+ImportFiltersSuccess=Filters successfully imported from %S.
+# LOCALIZATION NOTE : The %S will get replaced by the name of the import module.
+ImportFiltersPartial=Filters partially imported from %S. Warnings below:
+
+#Progress strings
+# LOCALIZATION NOTE : Do not translate the word "%S" below.
+MailProgressMeterText=Converting mailboxes from %S
+# LOCALIZATION NOTE : Do not translate the word "%S" below.
+AddrProgressMeterText=Converting address books from %S
+
+#Import file dialog strings
+ImportSelectSettings=Select settings file
+ImportSelectMailDir=Select mail directory
+ImportSelectAddrDir=Select address book directory
+ImportSelectAddrFile=Select address book file
+
+# Folder Names for imported Mail
+DefaultFolderName=Imported Mail
+# LOCALIZATION NOTE: Do not translate the word "%S" below.
+ImportModuleFolderName=%S Import
diff --git a/comm/mail/locales/en-US/chrome/messenger/joinChat.dtd b/comm/mail/locales/en-US/chrome/messenger/joinChat.dtd
new file mode 100644
index 0000000000..4b830142a5
--- /dev/null
+++ b/comm/mail/locales/en-US/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 "Join chat">
+<!ENTITY name.label "Room">
+<!ENTITY optional.label "(optional)">
+<!ENTITY account.label "Account">
+<!ENTITY autojoin.label "Auto-join this Chat Room">
+<!ENTITY autojoin.accesskey "A">
diff --git a/comm/mail/locales/en-US/chrome/messenger/junkLog.dtd b/comm/mail/locales/en-US/chrome/messenger/junkLog.dtd
new file mode 100644
index 0000000000..dba7e67dbc
--- /dev/null
+++ b/comm/mail/locales/en-US/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 "Adaptive Junk Mail Log">
+<!ENTITY adaptiveJunkLogInfo.label "Log of adaptive junk mail control activity.">
+<!ENTITY clearLog.label "Clear Log">
+<!ENTITY clearLog.accesskey "C">
+<!ENTITY closeLog.label "Close">
+<!ENTITY closeLog.accesskey "o">
diff --git a/comm/mail/locales/en-US/chrome/messenger/localMsgs.properties b/comm/mail/locales/en-US/chrome/messenger/localMsgs.properties
new file mode 100644
index 0000000000..8b792fa84d
--- /dev/null
+++ b/comm/mail/locales/en-US/chrome/messenger/localMsgs.properties
@@ -0,0 +1,140 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.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=Error with account %S
+
+# LOCALIZATION NOTE (pop3EnterPasswordPromptTitleWithUsername): Do not translate the
+# word %1$S. Place the word %1$S where the user name should appear.
+pop3EnterPasswordPromptTitleWithUsername=Enter your password for %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=Enter your password for %1$S on %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=Please enter a new password for user %1$S on %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=Downloading message %1$S of %2$S…
+
+# Status - connecting to host
+hostContact=Host contacted, sending login information…
+
+# Status - no messages to download
+noNewMessages=There are no new messages.
+
+# 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=Received %1$S of %2$S messages
+
+# 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=Building summary file for %S…
+
+# Status - parsing folder
+localStatusDocumentDone=Done
+
+# Status - pop3 server error
+#LOCALIZATION NOTE (pop3ServerError): Do not translate POP3 in the following line.
+pop3ServerError=An error occurred with the POP3 mail server.
+
+# Status - pop3 user name failed
+pop3UsernameFailure=Sending of username did not succeed.
+
+# Status - password failed
+#LOCALIZATION NOTE (pop3PasswordFailed): Do not translate "%1$S" below.
+# Place the word %1$S where the user name should appear.
+pop3PasswordFailed=Sending of password for user %1$S did not succeed.
+
+# Status - write error occurred
+pop3MessageWriteError=Unable to write the email to the mailbox. Make sure the file system allows you write privileges, and you have enough disk space to copy the mailbox.
+
+# Status - retr failure from the server
+pop3RetrFailure=The RETR command did not succeed. Error retrieving a message.
+
+# Status - password undefined
+pop3PasswordUndefined=Error getting mail password.
+
+# Status - username undefined
+pop3UsernameUndefined=You have not supplied a username for this server. Please provide one in the account setup menu and try again.
+
+# Status - list failure
+pop3ListFailure=The LIST command did not succeed. Error getting the ID and size of a message.
+
+# Status - delete error
+pop3DeleFailure=The DELE command did not succeed. Error marking a message as deleted.
+
+# Status - stat failed
+pop3StatFail=The STAT command did not succeed. Error getting message number and sizes.
+
+#LOCALIZATION NOTE (pop3ServerSaid): Do not remove the leading space during translation.
+pop3ServerSaid= Mail server %S responded:
+
+#LOCALIZATION NOTE (pop3TempServerError): %S is where the POP3 server name will appear.
+pop3TempServerError=Temporary error from %S while retrieving new messages. \
+The operation will be retried at the next check for new messages.
+
+copyingMessagesStatus=Copying %S of %S messages to %S
+
+movingMessagesStatus=Moving %S of %S messages to %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=The account %S is being processed. Please wait until processing is complete to get messages.
+
+pop3TmpDownloadError=There was an error downloading the following message: \nFrom: %S\n Subject: %S\n This message may contain a virus or there is not enough disk space. Skip this message?
+
+# 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=The POP3 mail server (%S) does not support UIDL or XTND XLST, which are required to implement the ``Leave on Server'', ``Maximum Message Size'' or ``Fetch Headers Only'' options. To download your mail, turn off these options in the Server Settings for your mail server in the Account Settings window.
+
+# 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=The POP3 mail server (%S) does not support the TOP command. Without server support for this, we cannot implement the ``Maximum Message Size'' or ``Fetch Headers Only'' preference. This option has been disabled, and messages will be downloaded regardless of their size.
+
+nsErrorCouldNotConnectViaTls=Unable to establish TLS connection to POP3 server. The server may be down or may be incorrectly configured. Please verify the correct configuration in the Server Settings for your mail server in the Account Settings window and try again.
+
+# LOCALIZATION NOTE (pop3MoveFolderToTrash): Do not translate the word %S below.
+# "%S" is the the name of the folder.
+pop3MoveFolderToTrash=Are you sure you want to delete the folder '%S'?
+
+pop3DeleteFolderDialogTitle=Delete Folder
+
+pop3DeleteFolderButtonLabel=&Delete Folder
+
+pop3AuthInternalError=Internal state error during POP3 server authentication. This is an internal, unexpected error in the application, please report it as bug.
+
+pop3AuthChangeEncryptToPlainNoSSL=This POP3 server does not seem to support encrypted passwords. If you just set up the account, please try changing to 'Password, transmitted insecurely' as the 'Authentication method' in the 'Account Settings | Server settings'. If it used to work and now suddenly fails, this is a common scenario how someone could steal your password.
+
+pop3AuthChangeEncryptToPlainSSL=This POP3 server does not seem to support encrypted passwords. If you just set up this account, please try changing to 'Normal password' as the 'Authentication method' in the 'Account Settings | Server settings'. If it used to work and now suddenly fails, please contact your email administrator or provider.
+
+pop3AuthChangePlainToEncrypt=This POP3 server does not allow plaintext passwords. Please try changing to 'Encrypted password' as the 'Authentication method' in the 'Account Settings | Server settings'.
+
+# Authentication server caps and pref don't match
+pop3AuthMechNotSupported=The server does not support the selected authentication method. Please change the 'Authentication method' in the 'Account Settings | Server settings'.
+
+# Status - Could not log in to GSSAPI, and it was the only method
+pop3GssapiFailure=The Kerberos/GSSAPI ticket was not accepted by the POP server. Please check that you are logged in to the Kerberos/GSSAPI realm.
diff --git a/comm/mail/locales/en-US/chrome/messenger/mailEditorOverlay.dtd b/comm/mail/locales/en-US/chrome/messenger/mailEditorOverlay.dtd
new file mode 100644
index 0000000000..d0f65354ac
--- /dev/null
+++ b/comm/mail/locales/en-US/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 "Send Page…">
+<!ENTITY sendPage.accesskey "g">
diff --git a/comm/mail/locales/en-US/chrome/messenger/mailOverlay.dtd b/comm/mail/locales/en-US/chrome/messenger/mailOverlay.dtd
new file mode 100644
index 0000000000..727849c052
--- /dev/null
+++ b/comm/mail/locales/en-US/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 "Message">
+<!ENTITY newMessageCmd.accesskey "m">
+
+<!ENTITY newContactCmd.label "Address Book Contact…">
+<!ENTITY newContactCmd.accesskey "C">
diff --git a/comm/mail/locales/en-US/chrome/messenger/mailViewList.dtd b/comm/mail/locales/en-US/chrome/messenger/mailViewList.dtd
new file mode 100644
index 0000000000..4b828983cd
--- /dev/null
+++ b/comm/mail/locales/en-US/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 "Customize Message Views">
diff --git a/comm/mail/locales/en-US/chrome/messenger/mailViewSetup.dtd b/comm/mail/locales/en-US/chrome/messenger/mailViewSetup.dtd
new file mode 100644
index 0000000000..3ebe7246b6
--- /dev/null
+++ b/comm/mail/locales/en-US/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 "Message View Setup">
+<!ENTITY mailViewHeading.label "Message view name:">
+<!ENTITY mailViewHeading.accesskey "e">
+<!ENTITY searchTermCaption.label "When this view is selected, display only messages that:">
diff --git a/comm/mail/locales/en-US/chrome/messenger/mailviews.properties b/comm/mail/locales/en-US/chrome/messenger/mailviews.properties
new file mode 100644
index 0000000000..0257ac6d5d
--- /dev/null
+++ b/comm/mail/locales/en-US/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=People I Know
+mailViewRecentMail=Recent Mail
+mailViewLastFiveDays=Last 5 Days
+mailViewNotJunk=Not Junk
+mailViewHasAttachments=Has Attachments
diff --git a/comm/mail/locales/en-US/chrome/messenger/markByDate.dtd b/comm/mail/locales/en-US/chrome/messenger/markByDate.dtd
new file mode 100644
index 0000000000..e8158142bb
--- /dev/null
+++ b/comm/mail/locales/en-US/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 "Mark Messages as Read by Date">
+<!ENTITY markByDateLower.label "Mark messages as read from:">
+<!ENTITY markByDateLower.accesskey "F">
+<!ENTITY markByDateUpper.label "To:">
+<!ENTITY markByDateUpper.accesskey "T">
diff --git a/comm/mail/locales/en-US/chrome/messenger/messenger.dtd b/comm/mail/locales/en-US/chrome/messenger/messenger.dtd
new file mode 100644
index 0000000000..8514ae1c9b
--- /dev/null
+++ b/comm/mail/locales/en-US/chrome/messenger/messenger.dtd
@@ -0,0 +1,920 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.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 "Folder…">
+<!ENTITY newFolderCmd.accesskey "F">
+<!ENTITY closeTabCmd2.label "Close Tab">
+<!ENTITY closeTabCmd2.accesskey "C">
+<!ENTITY closeOtherTabsCmd2.label "Close Other Tabs">
+<!ENTITY closeOtherTabsCmd2.accesskey "o">
+<!ENTITY recentlyClosedTabsCmd.label "Recently Closed Tabs">
+<!ENTITY recentlyClosedTabsCmd.accesskey "R">
+
+<!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 "Move to New Window">
+<!ENTITY moveToNewWindow.accesskey "W">
+<!ENTITY newVirtualFolderCmd.label "Saved Search…">
+<!ENTITY newVirtualFolderCmd.accesskey "S">
+<!ENTITY newCreateEmailAccountCmd.label "Get a New Mail Account…">
+<!ENTITY newCreateEmailAccountCmd.accesskey "G">
+<!ENTITY newExistingEmailAccountCmd.label "Existing Mail Account…">
+<!ENTITY newExistingEmailAccountCmd.accesskey "E">
+<!ENTITY newIMAccountCmd.label "Chat Account…">
+<!ENTITY newIMAccountCmd.accesskey "C">
+<!ENTITY newFeedAccountCmd.label "Feed Account…">
+<!ENTITY newFeedAccountCmd.accesskey "d">
+<!ENTITY newIMContactCmd.label "Chat Contact…">
+<!ENTITY newIMContactCmd.accesskey "h">
+<!ENTITY newMessageCmd2.key "N">
+<!ENTITY newMessageCmd.key "M">
+<!ENTITY newMessageCmd.label "Message">
+<!ENTITY newMessageCmd.accesskey "m">
+<!ENTITY newContactCmd.label "Address Book Contact…">
+<!ENTITY newContactCmd.accesskey "C">
+<!ENTITY openMenuCmd.label "Open">
+<!ENTITY openMenuCmd.accesskey "O">
+<!ENTITY openMessageFileCmd.label "Saved Message…">
+<!ENTITY openMessageFileCmd.accesskey "M">
+<!ENTITY saveAsMenu.label "Save As">
+<!ENTITY saveAsMenu.accesskey "S">
+<!ENTITY saveAsFileCmd.key "s">
+<!ENTITY saveAsTemplateCmd.label "Template">
+<!ENTITY saveAsTemplateCmd.accesskey "T">
+<!ENTITY getNewMsgForCmd.label "Get New Messages for">
+<!ENTITY getNewMsgForCmd.accesskey "w">
+<!ENTITY getAllNewMsgCmdPopupMenu.label "All Accounts">
+<!ENTITY getAllNewMsgCmdPopupMenu.accesskey "A">
+<!ENTITY getNewMsgCurrentAccountCmdPopupMenu.label "Current Account">
+<!ENTITY getNewMsgCurrentAccountCmdPopupMenu.accesskey "C">
+<!ENTITY getNextNMsgCmd2.label "Get Next News Messages">
+<!ENTITY getNextNMsgCmd2.accesskey "t">
+<!ENTITY sendUnsentCmd.label "Send Unsent Messages">
+<!ENTITY sendUnsentCmd.accesskey "d">
+<!ENTITY subscribeCmd.label "Subscribe…">
+<!ENTITY subscribeCmd.accesskey "b">
+<!ENTITY deleteFolder.label "Delete Folder">
+<!ENTITY deleteFolder.accesskey "e">
+<!ENTITY renameFolder.label "Rename Folder…">
+<!ENTITY renameFolder.accesskey "R">
+<!ENTITY renameFolder.key "VK_F2">
+<!ENTITY compactFolders.label "Compact Folders">
+<!ENTITY compactFolders.accesskey "F">
+<!ENTITY emptyTrashCmd.label "Empty Trash">
+<!ENTITY emptyTrashCmd.accesskey "y">
+<!ENTITY offlineMenu.label "Offline">
+<!ENTITY offlineMenu.accesskey "l">
+<!ENTITY offlineGoOfflineCmd.label "Work Offline">
+<!ENTITY offlineGoOfflineCmd.accesskey "w">
+<!ENTITY synchronizeOfflineCmd.label "Download/Sync Now…">
+<!ENTITY synchronizeOfflineCmd.accesskey "S">
+<!ENTITY settingsOfflineCmd2.label "Offline Settings">
+<!ENTITY settingsOfflineCmd2.accesskey "e">
+<!ENTITY downloadSelectedCmd.label "Get Selected Messages">
+<!ENTITY downloadSelectedCmd.accesskey "l">
+<!ENTITY downloadStarredCmd.label "Get Starred Messages">
+<!ENTITY downloadStarredCmd.accesskey "a">
+<!ENTITY printCmd.label "Print…">
+<!ENTITY printCmd.accesskey "P">
+<!ENTITY printCmd.key "p">
+
+<!-- Edit Menu -->
+<!ENTITY selectMenu.label "Select">
+<!ENTITY selectMenu.accesskey "S">
+<!ENTITY all.label "All">
+<!ENTITY all.accesskey "A">
+<!ENTITY selectThreadCmd.label "Thread">
+<!ENTITY selectThreadCmd.accesskey "T">
+<!ENTITY selectThreadCmd.key "a">
+<!ENTITY selectFlaggedCmd.label "Starred Messages">
+<!ENTITY selectFlaggedCmd.accesskey "S">
+<!ENTITY menuFavoriteFolder.label "Favorite Folder">
+<!ENTITY menuFavoriteFolder.accesskey "v">
+<!ENTITY undoDeleteMsgCmd.label "Undo Delete Message">
+<!ENTITY redoDeleteMsgCmd.label "Redo Delete Message">
+<!ENTITY undoMoveMsgCmd.label "Undo Move Message">
+<!ENTITY redoMoveMsgCmd.label "Redo Move Message">
+<!ENTITY undoCopyMsgCmd.label "Undo Copy Message">
+<!ENTITY redoCopyMsgCmd.label "Redo Copy Message">
+<!ENTITY undoMarkAllCmd.label "Undo Mark All Read">
+<!ENTITY redoMarkAllCmd.label "Redo Mark All Read">
+<!ENTITY undoDefaultCmd.label "Undo">
+<!ENTITY undoDefaultCmd.accesskey "U">
+<!ENTITY redoDefaultCmd.label "Redo">
+<!ENTITY redoDefaultCmd.accesskey "R">
+
+<!-- View Menu -->
+<!ENTITY menubarCmd.label "Menu Bar">
+<!ENTITY menubarCmd.accesskey "M">
+<!ENTITY showMessengerToolbarCmd.label "Mail Toolbar">
+<!ENTITY showMessengerToolbarCmd.accesskey "o">
+<!ENTITY customizeToolbar.label "Customize…">
+<!ENTITY customizeToolbar.accesskey "C">
+
+<!ENTITY messagePaneLayoutStyle.label "Layout">
+<!ENTITY messagePaneLayoutStyle.accesskey "L">
+<!ENTITY messagePaneClassic.label "Classic View">
+<!ENTITY messagePaneClassic.accesskey "C">
+<!ENTITY messagePaneWide.label "Wide View">
+<!ENTITY messagePaneWide.accesskey "W">
+<!ENTITY messagePaneVertical.label "Vertical View">
+<!ENTITY messagePaneVertical.accesskey "V">
+<!ENTITY showFolderPaneCmd.label "Folder Pane">
+<!ENTITY showFolderPaneCmd.accesskey "F">
+<!ENTITY showMessageCmd.label "Message Pane">
+<!ENTITY showMessageCmd.accesskey "M">
+
+<!ENTITY folderView.label "Folders">
+<!ENTITY folderView.accesskey "F">
+<!ENTITY unifiedFolders.label "Unified">
+<!ENTITY unifiedFolders.accesskey "n">
+<!ENTITY allFolders.label "All">
+<!ENTITY allFolders.accesskey "A">
+<!ENTITY unreadFolders.label "Unread">
+<!ENTITY unreadFolders.accesskey "U">
+<!ENTITY favoriteFolders.label "Favorite">
+<!ENTITY favoriteFolders.accesskey "F">
+<!ENTITY recentFolders.label "Recent">
+<!ENTITY recentFolders.accesskey "R">
+<!ENTITY compactVersion.label "Compact View">
+<!ENTITY compactVersion.accesskey "C">
+
+<!-- Sort Menu -->
+<!ENTITY sortMenu.label "Sort by">
+<!ENTITY sortMenu.accesskey "S">
+<!ENTITY sortByDateCmd.label "Date">
+<!ENTITY sortByDateCmd.accesskey "e">
+<!ENTITY sortByReceivedCmd.label "Received">
+<!ENTITY sortByReceivedCmd.accesskey "v">
+<!ENTITY sortByStarCmd.label "Star">
+<!ENTITY sortByStarCmd.accesskey "S">
+<!ENTITY sortByAttachmentsCmd.label "Attachments">
+<!ENTITY sortByAttachmentsCmd.accesskey "m">
+<!ENTITY sortByPriorityCmd.label "Priority">
+<!ENTITY sortByPriorityCmd.accesskey "P">
+<!ENTITY sortBySizeCmd.label "Size">
+<!ENTITY sortBySizeCmd.accesskey "z">
+<!ENTITY sortByStatusCmd.label "Status">
+<!ENTITY sortByStatusCmd.accesskey "u">
+<!ENTITY sortByTagsCmd.label "Tags">
+<!ENTITY sortByTagsCmd.accesskey "g">
+<!ENTITY sortByJunkStatusCmd.label "Junk Status">
+<!ENTITY sortByJunkStatusCmd.accesskey "J">
+<!ENTITY sortBySubjectCmd.label "Subject">
+<!ENTITY sortBySubjectCmd.accesskey "b">
+<!ENTITY sortByFromCmd.label "From">
+<!ENTITY sortByFromCmd.accesskey "F">
+<!ENTITY sortByRecipientCmd.label "Recipient">
+<!ENTITY sortByRecipientCmd.accesskey "c">
+<!ENTITY sortByCorrespondentCmd.label "Correspondents">
+<!ENTITY sortByCorrespondentCmd.accesskey "n">
+<!ENTITY sortByUnreadCmd.label "Read">
+<!ENTITY sortByUnreadCmd.accesskey "R">
+<!ENTITY sortByOrderReceivedCmd.label "Order Received">
+<!ENTITY sortByOrderReceivedCmd.accesskey "O">
+<!ENTITY sortAscending.label "Ascending">
+<!ENTITY sortAscending.accesskey "A">
+<!ENTITY sortDescending.label "Descending">
+<!ENTITY sortDescending.accesskey "D">
+<!ENTITY sortThreaded.label "Threaded">
+<!ENTITY sortThreaded.accesskey "T">
+<!ENTITY sortUnthreaded.label "Unthreaded">
+<!ENTITY sortUnthreaded.accesskey "h">
+<!ENTITY groupBySort.label "Grouped By Sort">
+<!ENTITY groupBySort.accesskey "G">
+<!ENTITY msgsMenu.label "Messages">
+<!ENTITY msgsMenu.accesskey "M">
+<!ENTITY threads.label "Threads">
+<!ENTITY threads.accesskey "e">
+<!ENTITY allMsgsCmd.label "All">
+<!ENTITY allMsgsCmd.accesskey "A">
+<!ENTITY expandAllThreadsCmd.label "Expand All Threads">
+<!ENTITY expandAllThreadsCmd.accesskey "E">
+<!ENTITY expandAllThreadsCmd.key "*">
+<!ENTITY collapseAllThreadsCmd.label "Collapse All Threads">
+<!ENTITY collapseAllThreadsCmd.accesskey "C">
+<!ENTITY collapseAllThreadsCmd.key "\">
+<!ENTITY unreadMsgsCmd.label "Unread">
+<!ENTITY unreadMsgsCmd.accesskey "U">
+<!ENTITY threadsWithUnreadCmd.label "Threads with Unread">
+<!ENTITY threadsWithUnreadCmd.accesskey "T">
+<!ENTITY watchedThreadsWithUnreadCmd.label "Watched Threads with Unread">
+<!ENTITY watchedThreadsWithUnreadCmd.accesskey "W">
+<!ENTITY ignoredThreadsCmd.label "Ignored Threads">
+<!ENTITY ignoredThreadsCmd.accesskey "i">
+
+<!ENTITY headersMenu.label "Headers">
+<!ENTITY headersMenu.accesskey "H">
+<!ENTITY headersAllCmd.label "All">
+<!ENTITY headersAllCmd.accesskey "A">
+<!ENTITY headersNormalCmd.label "Normal">
+<!ENTITY headersNormalCmd.accesskey "N">
+<!ENTITY bodyMenu.label "Message Body As">
+<!ENTITY bodyMenu.accesskey "B">
+<!ENTITY bodyAllowHTML.label "Original HTML">
+<!ENTITY bodyAllowHTML.accesskey "H">
+<!ENTITY bodySanitized.label "Simple HTML">
+<!ENTITY bodySanitized.accesskey "S">
+<!ENTITY bodyAsPlaintext.label "Plain Text">
+<!ENTITY bodyAsPlaintext.accesskey "P">
+<!ENTITY bodyAllParts.label "All Body Parts">
+<!ENTITY bodyAllParts.accesskey "A">
+
+<!ENTITY bodyMenuFeed.label "Feed Message Body As">
+<!ENTITY bodyMenuFeed.accesskey "B">
+<!ENTITY viewFeedWebPage.label "Web Page">
+<!ENTITY viewFeedWebPage.accesskey "W">
+<!ENTITY viewFeedSummary.label "Summary">
+<!ENTITY viewFeedSummary.accesskey "m">
+<!ENTITY viewFeedSummaryFeedPropsPref.label "Default Format">
+<!ENTITY viewFeedSummaryFeedPropsPref.accesskey "D">
+
+<!ENTITY viewAttachmentsInlineCmd.label "Display Attachments Inline">
+<!ENTITY viewAttachmentsInlineCmd.accesskey "A">
+
+<!ENTITY pageSourceCmd.label "Message Source">
+<!ENTITY pageSourceCmd.accesskey "o">
+<!ENTITY pageSourceCmd.key "u">
+<!ENTITY getNewMessagesCmd.key "y">
+<!ENTITY getAllNewMessagesCmd.key "Y">
+
+<!-- Search Menu -->
+<!ENTITY findMenu.label "Find">
+<!ENTITY findMenu.accesskey "F">
+<!ENTITY findCmd.label "Find in This Message…">
+<!ENTITY findCmd.accesskey "F">
+<!ENTITY findCmd.key "f">
+<!ENTITY findAgainCmd.label "Find Again">
+<!ENTITY findAgainCmd.accesskey "g">
+<!ENTITY findAgainCmd.key "g">
+<!ENTITY findAgainCmd.key2 "VK_F3">
+<!ENTITY findPrevCmd.key "g">
+<!ENTITY findPrevCmd.key2 "VK_F3">
+<!ENTITY searchMailCmd.label "Search Messages…">
+<!ENTITY searchMailCmd.accesskey "M">
+<!ENTITY searchMailCmd.key "f">
+<!ENTITY glodaSearchCmd.label "Global Search…">
+<!ENTITY glodaSearchCmd.accesskey "G">
+<!ENTITY searchAddressesCmd.label "Search Addresses…">
+<!ENTITY searchAddressesCmd.accesskey "S">
+
+<!-- Go Menu -->
+<!ENTITY goMenu.label "Go">
+<!ENTITY goMenu.accesskey "G">
+<!ENTITY nextMenu.label "Next">
+<!ENTITY nextMenu.accesskey "N">
+<!ENTITY nextMsgCmd.label "Message">
+<!ENTITY nextMsgCmd.accesskey "M">
+<!ENTITY nextMsgCmd.key "f">
+<!ENTITY nextUnreadMsgCmd.label "Unread Message">
+<!ENTITY nextUnreadMsgCmd.accesskey "U">
+<!ENTITY nextUnreadMsgCmd.key "n">
+<!ENTITY nextStarredMsgCmd.label "Starred Message">
+<!ENTITY nextStarredMsgCmd.accesskey "S">
+<!ENTITY nextUnreadThread.label "Unread Thread">
+<!ENTITY nextUnreadThread.accesskey "T">
+<!ENTITY nextUnreadThread.key "t">
+<!ENTITY prevMenu.label "Previous">
+<!ENTITY prevMenu.accesskey "P">
+<!ENTITY prevMsgCmd.label "Message">
+<!ENTITY prevMsgCmd.accesskey "M">
+<!ENTITY prevMsgCmd.key "b">
+<!ENTITY prevUnreadMsgCmd.label "Unread Message">
+<!ENTITY prevUnreadMsgCmd.accesskey "U">
+<!ENTITY prevUnreadMsgCmd.key "p">
+<!ENTITY goForwardCmd.label "Forward">
+<!ENTITY goForwardCmd.accesskey "F">
+<!ENTITY goForwardCmd.commandKey "]">
+<!ENTITY goBackCmd.label "Back">
+<!ENTITY goBackCmd.accesskey "B">
+<!ENTITY goBackCmd.commandKey "[">
+<!ENTITY goChatCmd.label "Chat">
+<!ENTITY goChatCmd.accesskey "c">
+<!ENTITY prevStarredMsgCmd.label "Starred Message">
+<!ENTITY prevStarredMsgCmd.accesskey "S">
+<!ENTITY folderMenu.label "Folder">
+<!ENTITY folderMenu.accesskey "O">
+<!ENTITY goRecentlyClosedTabs.label "Recently Closed Tabs">
+<!ENTITY goRecentlyClosedTabs.accesskey "R">
+<!ENTITY startPageCmd.label "Mail Start Page">
+<!ENTITY startPageCmd.accesskey "S">
+
+<!-- Message Menu -->
+<!ENTITY msgMenu.label "Message">
+<!ENTITY msgMenu.accesskey "M">
+<!ENTITY newMsgCmd.label "New Message">
+<!ENTITY newMsgCmd.accesskey "N">
+<!ENTITY newNewMsgCmd.label "Message">
+<!ENTITY newNewMsgCmd.accesskey "M">
+<!ENTITY archiveMsgCmd.label "Archive">
+<!ENTITY archiveMsgCmd.accesskey "A">
+<!ENTITY archiveMsgCmd.key "a">
+<!ENTITY cancelNewsMsgCmd.label "Cancel Message">
+<!ENTITY cancelNewsMsgCmd.accesskey "C">
+<!ENTITY replyMsgCmd.label "Reply">
+<!ENTITY replyMsgCmd.accesskey "R">
+<!ENTITY replyMsgCmd.key "r">
+<!ENTITY replySenderCmd.label "Reply to Sender Only">
+<!ENTITY replySenderCmd.accesskey "R">
+<!ENTITY replyNewsgroupCmd2.label "Followup to Newsgroup">
+<!ENTITY replyNewsgroupCmd2.accesskey "u">
+<!ENTITY replyToAllMsgCmd.label "Reply to All">
+<!ENTITY replyToAllMsgCmd.accesskey "p">
+<!ENTITY replyToAllMsgCmd.key "r">
+<!ENTITY replyToListMsgCmd.label "Reply to List">
+<!ENTITY replyToListMsgCmd.accesskey "L">
+<!ENTITY replyToListMsgCmd.key "l">
+<!ENTITY forwardMsgCmd.label "Forward">
+<!ENTITY forwardMsgCmd.accesskey "F">
+<!ENTITY forwardMsgCmd.key "l">
+<!ENTITY forwardAsMenu.label "Forward As">
+<!ENTITY forwardAsMenu.accesskey "w">
+<!ENTITY forwardAsInline.label "Inline">
+<!ENTITY forwardAsInline.accesskey "I">
+<!ENTITY forwardAsAttachmentCmd.label "Attachment">
+<!ENTITY forwardAsAttachmentCmd.accesskey "A">
+<!ENTITY editAsNewMsgCmd.label "Edit As New Message">
+<!ENTITY editAsNewMsgCmd.accesskey "E">
+<!ENTITY editAsNewMsgCmd.key "e">
+<!ENTITY editDraftMsgCmd.label "Edit Draft Message">
+<!ENTITY editDraftMsgCmd.accesskey "D">
+<!ENTITY editTemplateMsgCmd.label "Edit Template">
+<!ENTITY editTemplateMsgCmd.accesskey "T">
+<!ENTITY newMsgFromTemplateCmd.label "New Message from Template">
+<!ENTITY newMsgFromTemplateCmd.keycode "VK_RETURN"><!-- do not change "VK_RETURN" -->
+<!ENTITY createFilter.label "Create Filter From Message…">
+<!ENTITY createFilter.accesskey "a">
+<!ENTITY moveMsgToMenu.label "Move To">
+<!ENTITY moveMsgToMenu.accesskey "M">
+<!ENTITY moveCopyMsgRecentMenu.label "Recent">
+<!ENTITY moveCopyMsgRecentMenu.accesskey "R">
+<!ENTITY copyMessageLocation.label "Copy Message Location">
+<!ENTITY copyMessageLocation.accesskey "M">
+<!ENTITY copyMsgToMenu.label "Copy To">
+<!ENTITY copyMsgToMenu.accesskey "C">
+<!ENTITY moveToFolderAgain.label "Move Again">
+<!ENTITY moveToFolderAgain.accesskey "i">
+<!ENTITY moveToFolderAgainCmd.key "m">
+<!ENTITY killThreadMenu.label "Ignore Thread">
+<!ENTITY killThreadMenu.accesskey "I">
+<!ENTITY killThreadMenu.key "k">
+<!ENTITY killSubthreadMenu.label "Ignore Subthread">
+<!ENTITY killSubthreadMenu.accesskey "S">
+<!ENTITY killSubthreadMenu.key "k">
+<!ENTITY watchThreadMenu.label "Watch Thread">
+<!ENTITY watchThreadMenu.accesskey "W">
+<!ENTITY watchThreadMenu.key "w">
+<!ENTITY tagMenu.label "Tag">
+<!ENTITY tagMenu.accesskey "g">
+<!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 "Mark">
+<!ENTITY markMenu.accesskey "k">
+<!ENTITY toggleReadCmd.key "m">
+<!ENTITY markAsReadCmd.label "As Read">
+<!ENTITY markAsReadCmd.accesskey "R">
+<!ENTITY markAsUnreadCmd.label "As Unread">
+<!ENTITY markAsUnreadCmd.accesskey "U">
+<!ENTITY markThreadAsReadCmd.label "Thread As Read">
+<!ENTITY markThreadAsReadCmd.accesskey "T">
+<!ENTITY markThreadAsReadCmd.key "r">
+<!ENTITY markReadByDateCmd.label "As Read by Date…">
+<!ENTITY markReadByDateCmd.accesskey "D">
+<!ENTITY markReadByDateCmd.key "c">
+<!ENTITY markAllReadCmd.label "All Read">
+<!ENTITY markAllReadCmd.accesskey "A">
+<!ENTITY markAllReadCmd.key "c">
+<!ENTITY markStarredCmd.label "Add Star">
+<!ENTITY markStarredCmd.accesskey "S">
+<!ENTITY markStarredCmd.key "S">
+<!ENTITY markAsJunkCmd.label "As Junk">
+<!ENTITY markAsJunkCmd.accesskey "J">
+<!ENTITY markAsJunkCmd.key "j">
+<!ENTITY markAsNotJunkCmd.label "As Not Junk">
+<!ENTITY markAsNotJunkCmd.accesskey "N">
+<!ENTITY markAsNotJunkCmd.key "j">
+<!ENTITY recalculateJunkScoreCmd.label "Run Junk Mail Controls">
+<!ENTITY recalculateJunkScoreCmd.accesskey "C">
+<!ENTITY openMessageWindowCmd.label "Open Message">
+<!ENTITY openMessageWindowCmd.accesskey "O">
+<!ENTITY openMessageWindowCmd.key "o">
+<!ENTITY openInConversationCmd.label "Open in Conversation">
+<!ENTITY openInConversationCmd.accesskey "s">
+<!ENTITY openInConversationCmd.key "o">
+<!ENTITY openAttachmentListCmd.label "Attachments">
+<!ENTITY openAttachmentListCmd.accesskey "h">
+<!ENTITY openFeedMessage1.label "When Opening Feed Messages">
+<!ENTITY openFeedMessage1.accesskey "O">
+<!ENTITY openFeedWebPage.label "Open as Web Page">
+<!ENTITY openFeedWebPage.accesskey "W">
+<!ENTITY openFeedSummary.label "Open as Summary">
+<!ENTITY openFeedSummary.accesskey "S">
+<!ENTITY openFeedWebPageInMP.label "Toggle Web Page and Summary in Message Pane">
+<!ENTITY openFeedWebPageInMP.accesskey "T">
+
+<!-- Windows Menu -->
+<!ENTITY windowMenu.label "Window">
+
+<!-- Tools Menu -->
+<!ENTITY tasksMenu.label "Tools">
+<!ENTITY tasksMenu.accesskey "T">
+<!ENTITY messengerCmd.label "Mail &amp; Newsgroups">
+<!ENTITY messengerCmd.accesskey "N">
+<!ENTITY addressBookCmd.label "Address Book">
+<!ENTITY addressBookCmd.accesskey "B">
+<!ENTITY addressBookCmd.key "B">
+<!ENTITY addonNoPrefs.label "No Add-on settings found.">
+<!ENTITY activitymanager.label "Activity Manager">
+<!ENTITY activitymanager.accesskey "v">
+<!ENTITY imAccountsStatus.label "Chat status">
+<!ENTITY imAccountsStatus.accesskey "C">
+<!ENTITY imStatus.available "Available">
+<!ENTITY imStatus.unavailable "Unavailable">
+<!ENTITY imStatus.offline "Offline">
+<!ENTITY imStatus.showAccounts "Show Accounts…">
+<!ENTITY joinChatCmd.label "Join Chat…">
+<!ENTITY joinChatCmd.accesskey "t">
+<!ENTITY savedFiles.label "Saved Files">
+<!ENTITY savedFiles.accesskey "l">
+<!ENTITY savedFiles.key "j">
+<!ENTITY filtersCmd2.label "Message Filters">
+<!ENTITY filtersCmd2.accesskey "F">
+<!ENTITY filtersApply.label "Run Filters on Folder">
+<!ENTITY filtersApply.accesskey "R">
+<!ENTITY filtersApplyToSelection.label "Run Filters on Selected Messages">
+<!ENTITY filtersApplyToSelection.accesskey "u">
+<!ENTITY filtersApplyToMessage.label "Run Filters on Message">
+<!ENTITY filtersApplyToMessage.accesskey "u">
+<!ENTITY runJunkControls.label "Run Junk Mail Controls on Folder">
+<!ENTITY runJunkControls.accesskey "C">
+<!ENTITY deleteJunk.label "Delete Mail Marked as Junk in Folder">
+<!ENTITY deleteJunk.accesskey "D">
+<!ENTITY importCmd.label "Import…">
+<!ENTITY importCmd.accesskey "m">
+<!ENTITY exportCmd.label "Export…">
+<!ENTITY exportCmd.accesskey "x">
+<!ENTITY clearRecentHistory.label "Clear Recent History…">
+<!ENTITY clearRecentHistory.accesskey "H">
+<!ENTITY accountManagerCmd2.label "Account Settings">
+<!ENTITY accountManagerCmd2.accesskey "S">
+<!-- LOCALIZATION NOTE (accountManagerCmdUnix.accesskey):
+ Belongs to accountManagerCmd.label, which is placed under the Edit menu
+ on Unix systems
+ -->
+<!ENTITY accountManagerCmdUnix2.accesskey "A">
+
+<!-- Developer Tools Submenu -->
+<!ENTITY devtoolsMenu.label "Developer Tools">
+<!ENTITY devtoolsMenu.accesskey "e">
+<!ENTITY devToolboxCmd.label "Developer Toolbox">
+<!ENTITY devToolboxCmd.accesskey "T">
+<!ENTITY devToolboxCmd.commandkey "i">
+<!ENTITY debugAddonsCmd.label "Debug Add-ons">
+<!ENTITY debugAddonsCmd.accesskey "A">
+<!ENTITY errorConsoleCmd.label "Error Console">
+<!ENTITY errorConsoleCmd.accesskey "E">
+<!ENTITY errorConsoleCmd.commandkey "j">
+
+<!-- Mail Toolbar -->
+<!ENTITY getMsgButton1.label "Get Messages">
+<!ENTITY newMsgButton.label "Write">
+<!ENTITY replyButton.label "Reply">
+<!ENTITY replyAllButton.label "Reply All">
+<!ENTITY replyListButton.label "Reply to List">
+<!ENTITY forwardButton.label "Forward">
+<!ENTITY fileButton.label "File">
+<!ENTITY archiveButton.label "Archive">
+<!ENTITY openConversationButton.label "Conversation">
+<!ENTITY nextButton.label "Next">
+<!ENTITY nextButtonToolbarItem.label "Next Unread">
+<!ENTITY nextMsgButton.label "Next">
+<!ENTITY previousButton.label "Previous">
+<!ENTITY previousButtonToolbarItem.label "Previous Unread">
+<!ENTITY previousMsgButton.label "Previous">
+<!ENTITY backButton1.label "Back">
+<!ENTITY goForwardButton1.label "Forward">
+<!ENTITY deleteItem.title "Delete">
+<!ENTITY markButton.label "Mark">
+<!ENTITY printButton.label "Print">
+<!ENTITY stopButton.label "Stop">
+<!ENTITY throbberItem.title "Activity Indicator">
+<!ENTITY junkItem.title "Junk">
+<!ENTITY addressBookButton.label "Address Book">
+<!ENTITY chatButton.label "Chat">
+<!ENTITY glodaSearch.title "Global Search">
+<!ENTITY searchItem.title "Quick Search">
+<!ENTITY mailViewsToolbarItem.title "Mail Views">
+<!ENTITY folderLocationToolbarItem.title "Folder Location">
+<!ENTITY tagButton.label "Tag">
+<!ENTITY compactButton.label "Compact">
+<!ENTITY appmenuButton.label "AppMenu">
+
+<!-- Mail Toolbar Tooltips-->
+<!ENTITY advancedButton.tooltip "Advanced message search">
+<!ENTITY getMsgButton.tooltip "Get new messages">
+<!ENTITY getAllNewMsgCmd.label "Get All New Messages">
+<!ENTITY getAllNewMsgCmd.accesskey "G">
+<!ENTITY newMsgButton.tooltip "Create a new message">
+<!ENTITY replyButton.tooltip "Reply to the message">
+<!ENTITY replyAllButton.tooltip "Reply to sender and all recipients">
+<!ENTITY replyListButton.tooltip "Reply to mailing list">
+<!ENTITY forwardButton.tooltip "Forward selected message">
+<!ENTITY forwardAsInline.tooltip "Forward selected message as inline text">
+<!ENTITY forwardAsAttachment.tooltip "Forward selected message as an attachment">
+<!ENTITY fileButton.tooltip "File selected message">
+<!ENTITY archiveButton.tooltip "Archive selected messages">
+<!ENTITY openMsgConversationButton.tooltip "Show conversation of selected message">
+<!ENTITY nextButton.tooltip "Move to the next unread message">
+<!ENTITY nextMsgButton.tooltip "Move to the next message">
+<!ENTITY previousButton.tooltip "Move to the previous unread message">
+<!ENTITY previousMsgButton.tooltip "Move to the previous message">
+<!ENTITY goForwardButton.tooltip "Go forward one message">
+<!ENTITY goBackButton.tooltip "Go back one message">
+<!ENTITY markButton.tooltip "Mark messages">
+<!ENTITY printButton.tooltip "Print this message">
+<!ENTITY stopButton.tooltip "Stop the current transfer">
+<!ENTITY addressBookButton.tooltip "Go to the address book">
+<!ENTITY chatButton.tooltip "Show the Chat tab">
+<!ENTITY tagButton.tooltip "Tag messages">
+<!ENTITY compactButton.tooltip "Remove deleted messages from selected folder">
+<!ENTITY appmenuButton1.tooltip "Display the &brandShortName; Menu">
+
+<!-- Toolbar Button Popup -->
+<!ENTITY buttonMenuForwardAsInline.label "Forward Inline">
+<!ENTITY buttonMenuForwardAsAttachment.label "Forward As Attachment">
+
+<!-- Remote Content Button Popup -->
+<!ENTITY remoteContentOptionsAllowForMsg.label "Show remote content in this message">
+<!ENTITY remoteContentOptionsAllowForMsg.accesskey "S">
+<!ENTITY editRemoteContentSettings.label "Edit remote content options…">
+<!ENTITY editRemoteContentSettings.accesskey "E">
+<!ENTITY editRemoteContentSettingsUnix.label "Edit remote content preferences…">
+<!ENTITY editRemoteContentSettingsUnix.accesskey "E">
+
+<!-- Phishing Button Popup -->
+<!ENTITY phishingOptionIgnore.label "Ignore warning for this message">
+<!ENTITY phishingOptionIgnore.accesskey "n">
+<!ENTITY phishingOptionSettings.label "Edit scam detection options…">
+<!ENTITY phishingOptionSettings.accesskey "d">
+<!ENTITY phishingOptionSettingsUnix.label "Edit scam detection preferences…">
+<!ENTITY phishingOptionSettingsUnix.accesskey "d">
+
+<!-- AppMenu Popup -->
+<!ENTITY appmenuNewMsgCmd.label "New Message">
+<!ENTITY appmenuNewContactCmd.label "Address Book Contact…">
+<!ENTITY appmenuToolbarLayout.label "Toolbar Layout…">
+
+<!-- Tags Menu Popup -->
+<!ENTITY addNewTag.label "New Tag…">
+<!ENTITY addNewTag.accesskey "N">
+<!ENTITY manageTags.label "Manage Tags…">
+<!ENTITY manageTags.accesskey "M">
+
+<!-- Folder Pane -->
+<!ENTITY folderNameColumn.label "Name">
+<!ENTITY folderUnreadColumn.label "Unread">
+<!ENTITY folderTotalColumn.label "Total">
+<!ENTITY folderSizeColumn.label "Size">
+
+<!-- Folder Pane Context Menu -->
+<!ENTITY folderContextGetMessages.label "Get Messages">
+<!ENTITY folderContextGetMessages.accesskey "G">
+<!ENTITY folderContextMarkAllFoldersRead.label "Mark All Folders Read">
+<!ENTITY folderContextPauseAllUpdates.label "Pause All Updates">
+<!ENTITY folderContextPauseUpdates.label "Pause Updates">
+<!ENTITY folderContextPauseUpdates.accesskey "U">
+<!ENTITY folderContextOpenInNewWindow.label "Open in New Window">
+<!ENTITY folderContextOpenInNewWindow.accesskey "O">
+<!ENTITY folderContextOpenNewTab.label "Open in New Tab">
+<!ENTITY folderContextOpenNewTab.accesskey "T">
+<!ENTITY folderContextNew.label "New Subfolder…">
+<!ENTITY folderContextNew.accesskey "N">
+<!ENTITY folderContextRename.label "Rename">
+<!ENTITY folderContextRename.accesskey "R">
+<!ENTITY folderContextRemove.label "Delete">
+<!ENTITY folderContextRemove.accesskey "D">
+<!ENTITY folderContextCompact.label "Compact">
+<!ENTITY folderContextCompact.accesskey "C">
+<!ENTITY folderContextEmptyTrash.label "Empty Trash">
+<!ENTITY folderContextEmptyTrash.accesskey "y">
+<!ENTITY folderContextEmptyJunk.label "Empty Junk">
+<!ENTITY folderContextEmptyJunk.accesskey "J">
+<!ENTITY folderContextSendUnsentMessages.label "Send Unsent Messages">
+<!ENTITY folderContextSendUnsentMessages.accesskey "d">
+<!ENTITY folderContextUnsubscribe.label "Unsubscribe">
+<!ENTITY folderContextUnsubscribe.accesskey "U">
+<!ENTITY folderContextMarkNewsgroupRead.label "Mark Newsgroup Read">
+<!ENTITY folderContextMarkNewsgroupRead.accesskey "k">
+<!ENTITY folderContextMarkMailFolderRead.label "Mark Folder Read">
+<!ENTITY folderContextMarkMailFolderRead.accesskey "k">
+<!ENTITY folderContextSubscribe.label "Subscribe…">
+<!ENTITY folderContextSubscribe.accesskey "b">
+<!ENTITY folderContextSearchForMessages.label "Search Messages…">
+<!ENTITY folderContextSearchForMessages.accesskey "S">
+<!ENTITY folderContextProperties2.label "Properties">
+<!ENTITY folderContextProperties2.accesskey "P">
+<!ENTITY folderContextFavoriteFolder.label "Favorite Folder">
+<!ENTITY folderContextFavoriteFolder.accesskey "a">
+<!ENTITY folderContextSettings2.label "Settings">
+<!ENTITY folderContextSettings2.accesskey "e">
+
+<!-- Search Bar -->
+<!ENTITY SearchNameOrEmail.label "Name or Email contains:">
+<!ENTITY SearchNameOrEmail.accesskey "N">
+
+<!-- Gloda Search Bar -->
+<!ENTITY glodaSearchBar.placeholder "Search messages…">
+
+<!-- Quick Search Menu Bar -->
+<!ENTITY searchSubjectMenu.label "Subject">
+<!ENTITY searchFromMenu.label "From">
+<!ENTITY searchSubjectOrFromMenu.label "Subject or From">
+<!ENTITY searchRecipient.label "To or Cc">
+<!ENTITY searchSubjectOrRecipientMenu.label "Subject, To or Cc">
+<!ENTITY searchMessageBody.label "Entire Message">
+<!ENTITY saveAsVirtualFolderMenu.label "Save Search as a Folder…">
+
+<!-- Thread Pane -->
+<!ENTITY selectColumn.label "Select Messages">
+<!ENTITY threadColumn.label "Thread">
+<!ENTITY fromColumn.label "From">
+<!ENTITY recipientColumn.label "Recipient">
+<!ENTITY correspondentColumn.label "Correspondents">
+<!ENTITY subjectColumn.label "Subject">
+<!ENTITY dateColumn.label "Date">
+<!ENTITY priorityColumn.label "Priority">
+<!ENTITY tagsColumn.label "Tag">
+<!ENTITY accountColumn.label "Account">
+<!ENTITY statusColumn.label "Status">
+<!ENTITY sizeColumn.label "Size">
+<!ENTITY junkStatusColumn.label "Junk Status">
+<!ENTITY unreadColumn.label "Unread">
+<!ENTITY totalColumn.label "Total">
+<!ENTITY readColumn.label "Read">
+<!ENTITY receivedColumn.label "Received">
+<!ENTITY starredColumn.label "Starred">
+<!ENTITY locationColumn.label "Location">
+<!ENTITY idColumn.label "Order Received">
+<!ENTITY attachmentColumn.label "Attachments">
+<!ENTITY deleteColumn.label "Delete">
+
+<!-- Thread Pane Tooltips -->
+<!ENTITY columnChooser2.tooltip "Select columns to display">
+<!ENTITY selectColumn.tooltip "Toggle select all messages">
+<!ENTITY threadColumn2.tooltip "Display message threads">
+<!ENTITY fromColumn2.tooltip "Sort by from">
+<!ENTITY recipientColumn2.tooltip "Sort by recipient">
+<!ENTITY correspondentColumn2.tooltip "Sort by correspondents">
+<!ENTITY subjectColumn2.tooltip "Sort by subject">
+<!ENTITY dateColumn2.tooltip "Sort by date">
+<!ENTITY priorityColumn2.tooltip "Sort by priority">
+<!ENTITY tagsColumn2.tooltip "Sort by tags">
+<!ENTITY accountColumn2.tooltip "Sort by account">
+<!ENTITY statusColumn2.tooltip "Sort by status">
+<!ENTITY sizeColumn2.tooltip "Sort by size">
+<!ENTITY junkStatusColumn2.tooltip "Sort by junk status">
+<!ENTITY unreadColumn2.tooltip "Number of unread messages in thread">
+<!ENTITY totalColumn2.tooltip "Total number of messages in thread">
+<!ENTITY readColumn2.tooltip "Sort by read">
+<!ENTITY receivedColumn2.tooltip "Sort by date received">
+<!ENTITY starredColumn2.tooltip "Sort by star">
+<!ENTITY locationColumn2.tooltip "Sort by location">
+<!ENTITY idColumn2.tooltip "Sort by order received">
+<!ENTITY attachmentColumn2.tooltip "Sort by attachments">
+<!ENTITY deleteColumn.tooltip "Delete a message">
+
+<!-- Thread Pane Context Menu -->
+<!ENTITY contextNewMsgFromTemplate.label "New Message from Template">
+<!ENTITY contextOpenNewWindow.label "Open Message in New Window">
+<!ENTITY contextOpenNewWindow.accesskey "W">
+<!-- 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 "Open Message in New Tab">
+<!ENTITY contextOpenNewTab.accesskey "T">
+<!ENTITY contextOpenConversation.label "Open Message in Conversation">
+<!ENTITY contextOpenConversation.accesskey "n">
+<!ENTITY contextOpenContainingFolder.label "Open Message in Containing Folder">
+<!ENTITY contextOpenContainingFolder.accesskey "n">
+<!ENTITY contextEditMsgAsNew.label "Edit As New Message">
+<!ENTITY contextEditMsgAsNew.accesskey "E">
+<!ENTITY contextEditDraftMsg.label "Edit Draft Message">
+<!ENTITY contextEditTemplate.label "Edit Template">
+<!ENTITY contextEditTemplate.accesskey "T">
+<!ENTITY contextArchive.label "Archive">
+<!ENTITY contextArchive.accesskey "h">
+<!ENTITY contextReplySender.label "Reply to Sender Only">
+<!ENTITY contextReplySender.accesskey "R">
+<!ENTITY contextReplyNewsgroup2.label "Followup to Newsgroup">
+<!ENTITY contextReplyNewsgroup2.accesskey "u">
+<!ENTITY contextReplyAll.label "Reply to All">
+<!ENTITY contextReplyAll.accesskey "A">
+<!ENTITY contextReplyList.label "Reply to List">
+<!ENTITY contextReplyList.accesskey "L">
+<!ENTITY contextForward.label "Forward">
+<!ENTITY contextForward.accesskey "F">
+<!ENTITY contextForwardAsMenu.label "Forward As">
+<!ENTITY contextForwardAsMenu.accesskey "o">
+<!ENTITY contextForwardAsInline.label "Inline">
+<!ENTITY contextForwardAsInline.accesskey "I">
+<!ENTITY contextForwardAsAttachmentItem.label "Attachment">
+<!ENTITY contextForwardAsAttachmentItem.accesskey "A">
+<!ENTITY contextMultiForwardAsAttachment.label "Forward as Attachments">
+<!ENTITY contextMultiForwardAsAttachment.accesskey "o">
+<!ENTITY contextMoveMsgMenu.label "Move To">
+<!ENTITY contextMoveMsgMenu.accesskey "M">
+<!ENTITY contextMoveCopyMsgRecentMenu.label "Recent">
+<!ENTITY contextMoveCopyMsgRecentMenu.accesskey "R">
+<!ENTITY contextMoveCopyMsgFavoritesMenu.label "Favorites">
+<!ENTITY contextMoveCopyMsgFavoritesMenu.accesskey "F">
+<!ENTITY contextCopyMsgMenu.label "Copy To">
+<!ENTITY contextCopyMsgMenu.accesskey "C">
+<!ENTITY contextKillThreadMenu.label "Ignore Thread">
+<!ENTITY contextKillSubthreadMenu.accesskey "b">
+<!ENTITY contextKillThreadMenu.accesskey "I">
+<!ENTITY contextKillSubthreadMenu.label "Ignore Subthread">
+<!ENTITY contextWatchThreadMenu.label "Watch Thread">
+<!-- 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 "Save As…">
+<!ENTITY contextSaveAs.accesskey "S">
+<!ENTITY contextPrint.label "Print…">
+<!ENTITY contextPrint.accesskey "P">
+<!ENTITY contextPrintPreview.label "Print Preview">
+<!ENTITY contextPrintPreview.accesskey "v">
+
+<!-- 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 "Apply columns to…">
+<!-- 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 "Folder…">
+<!-- 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 "Folder and its children…">
+<!-- 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 "This folder">
+
+<!-- Media (video/audio) controls -->
+<!ENTITY contextPlay.label "Play">
+<!ENTITY contextPlay.accesskey "P">
+<!ENTITY contextPause.label "Pause">
+<!ENTITY contextPause.accesskey "P">
+<!ENTITY contextMute.label "Mute">
+<!ENTITY contextMute.accesskey "M">
+<!ENTITY contextUnmute.label "Unmute">
+<!ENTITY contextUnmute.accesskey "m">
+
+<!-- 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 "Search #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 "Add to Address Book…">
+<!ENTITY AddToAddressBook.accesskey "B">
+<!ENTITY AddDirectlyToAddressBook.label "Add to Address Book">
+<!ENTITY AddDirectlyToAddressBook.accesskey "B">
+<!ENTITY EditContact1.label "Edit Contact">
+<!ENTITY EditContact1.accesskey "E">
+<!ENTITY ViewContact.label "View Contact">
+<!ENTITY ViewContact.accesskey "V">
+<!ENTITY SubscribeToNewsgroup.label "Subscribe to Newsgroup">
+<!ENTITY SubscribeToNewsgroup.accesskey "N">
+<!ENTITY SendMessageTo.label "Compose Message To">
+<!ENTITY SendMessageTo.accesskey "s">
+<!ENTITY CopyEmailAddress.label "Copy Email Address">
+<!ENTITY CopyEmailAddress.accesskey "C">
+<!ENTITY CopyNameAndEmailAddress.label "Copy Name and Email Address">
+<!ENTITY CopyNameAndEmailAddress.accesskey "N">
+<!ENTITY CopyNewsgroupName.label "Copy Newsgroup Name">
+<!ENTITY CopyNewsgroupName.accesskey "C">
+<!ENTITY CopyNewsgroupURL.label "Copy Newsgroup URL">
+<!ENTITY CopyNewsgroupURL.accesskey "U">
+<!ENTITY CreateFilterFrom.label "Create Filter From…">
+<!ENTITY CreateFilterFrom.accesskey "F">
+<!ENTITY reportPhishingURL.label "Report Email Scam">
+<!ENTITY reportPhishingURL.accesskey "o">
+
+<!-- Spell checker context menu items -->
+<!ENTITY spellAddDictionaries.label "Add Dictionaries…">
+<!ENTITY spellAddDictionaries.accesskey "A">
+
+<!-- Content Pane Context Menu -->
+<!ENTITY saveLinkAsCmd.label "Save Link As…">
+<!ENTITY saveLinkAsCmd.accesskey "k">
+<!ENTITY saveImageAsCmd.label "Save Image As…">
+<!ENTITY saveImageAsCmd.accesskey "v">
+<!ENTITY copyLinkCmd.label "Copy Link Location">
+<!ENTITY copyLinkCmd.accesskey "L">
+<!ENTITY copyImageAllCmd.label "Copy Image">
+<!ENTITY copyImageAllCmd.accesskey "I">
+<!ENTITY copyEmailCmd.label "Copy Email Address">
+<!ENTITY copyEmailCmd.accesskey "E">
+<!ENTITY openInBrowser.label "Open In Browser">
+<!ENTITY openInBrowser.accesskey "O">
+<!ENTITY openLinkInBrowser.label "Open Link In Browser">
+<!ENTITY openLinkInBrowser.accesskey "O">
+
+<!-- Statusbar -->
+<!ENTITY statusText.label "Done">
+
+<!-- Mac OS X Window Menu -->
+<!ENTITY minimizeWindow.label "Minimize">
+<!ENTITY minimizeWindow.key "m">
+<!ENTITY bringAllToFront.label "Bring All to Front">
+<!ENTITY zoomWindow.label "Zoom">
+
+<!-- Mac OS X Application Menu (Cocoa widgets) -->
+<!ENTITY preferencesCmdMac2.label "Preferences">
+<!ENTITY preferencesCmdMac.commandkey ",">
+<!ENTITY preferencesCmdMac.modifiers "accel">
+<!ENTITY servicesMenuMac.label "Services">
+<!ENTITY hideThisAppCmdMac.label "Hide &brandShortName;">
+<!ENTITY hideThisAppCmdMac.commandkey "H">
+<!ENTITY hideThisAppCmdMac.modifiers "accel">
+<!ENTITY hideOtherAppsCmdMac.label "Hide Others">
+<!ENTITY hideOtherAppsCmdMac.commandkey "H">
+<!ENTITY hideOtherAppsCmdMac.modifiers "accel,alt">
+<!ENTITY showAllAppsCmdMac.label "Show All">
+
+<!-- Mac OS X Dock Icon pop-up menu -->
+<!ENTITY dockOptions.label "App Icon Options…">
+<!ENTITY writeNewMessageDock.label "Write New Message">
+<!ENTITY openAddressBookDock.label "Open Address Book">
+
+<!-- Content tab Navigation buttons -->
+<!ENTITY browseBackButton.tooltip "Go back one page">
+<!ENTITY browseForwardButton.tooltip "Go forward one page">
diff --git a/comm/mail/locales/en-US/chrome/messenger/messenger.properties b/comm/mail/locales/en-US/chrome/messenger/messenger.properties
new file mode 100644
index 0000000000..a879073dca
--- /dev/null
+++ b/comm/mail/locales/en-US/chrome/messenger/messenger.properties
@@ -0,0 +1,758 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.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=Delete Account…
+newFolderMenuItem=Folder…
+newSubfolderMenuItem=Subfolder…
+newFolder=New Folder…
+newSubfolder=New Subfolder…
+markFolderRead=Mark Folder Read;Mark Folders Read
+markNewsgroupRead=Mark Newsgroup Read;Mark Newsgroups Read
+folderProperties=Folder Properties
+newTag=New Tag…
+# LOCALIZATION NOTE (getNextNewsMessages): Semi-colon list of plural forms.
+# #1 is the number of news messages to get.
+getNextNewsMessages=Get Next #1 News Message;Get Next #1 News Messages
+advanceNextPrompt=Advance to next unread message in %S?
+titleNewsPreHost=on
+replyToSender=Reply to Sender
+reply=Reply
+EMLFiles=Mail Files
+OpenEMLFiles=Open Message
+# 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=Save Message As
+SaveAttachment=Save Attachment
+SaveAllAttachments=Save All Attachments
+DetachAttachment=Detach Attachment
+DetachAllAttachments=Detach All Attachments
+ChooseFolder=Choose Folder
+MessageLoaded=Message loaded…
+PreviewTitle=%S - %S
+saveAttachmentFailed=Unable to save the attachment. Please check your file name and try again later.
+saveMessageFailed=Unable to save the message. Please check your file name and try again later.
+fileExists=%S already exists. Do you want to replace it?
+# LOCALIZATION NOTE(failedToReadFile): %1$S is replaced by the file name, %2$S is replaced by the reason the file load failed.
+failedToReadFile=Failed to read file: %1$S reason: %2$S
+
+downloadingNewsgroups=Downloading Newsgroups for Offline Use
+downloadingMail=Downloading Mail for Offline Use
+sendingUnsent=Sending Unsent Messages
+
+folderExists=A folder with that name already exists. Please enter a different name.
+# 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=A subfolder with the name '%1$S' already exists in the folder '%2$S'. Would you like to move this folder using the new name '%3$S'?
+folderCreationFailed=The folder could not be created because the folder name you specified contains an unrecognized character. Please enter a different name and try again.
+
+compactingFolder=Compacting folder %S…
+# LOCALIZATION NOTE(compactingDone): %1$S is the compaction gain.
+compactingDone=Done compacting (approx. %1$S saved).
+
+confirmFolderDeletionForFilter=Deleting the folder '%S' will disable its associated filter(s). Are you sure you want to delete the folder?
+alertFilterChanged=Filters associated with this folder will be updated.
+filterDisabled=The folder '%S' could not be found, so filter(s) associated with this folder will be disabled. Verify that the folder exists, and that filters point to a valid destination folder.
+filterFolderDeniedLocked=The messages could not be filtered to folder '%S' because another operation is in progress.
+parsingFolderFailed=Unable to open the folder %S because it is in use by some other operation. Please wait for that operation to finish and then select the folder again.
+deletingMsgsFailed=Unable to delete messages in folder %S because it is in use by some other operation. Please wait for that operation to finish and then try again.
+alertFilterCheckbox=Do not warn me again.
+compactFolderDeniedLock=The folder '%S' cannot be compacted because another operation is in progress. Please try again later.
+compactFolderWriteFailed=The folder '%S' could not be compacted because writing to folder failed. Verify that you have enough disk space, and that you have write privileges to the file system, then try again.
+compactFolderInsufficientSpace=Some folders (e.g. '%S') cannot be compacted because there is not enough free disk space. Please delete some files and try again.
+filterFolderHdrAddFailed=The messages could not be filtered to folder '%S' because adding a message to it failed. Verify that the folder is displaying properly or try to repair it from the folder properties.
+filterFolderWriteFailed=The messages could not be filtered to folder '%S' because writing to folder failed. Verify that you have enough disk space, and that you have write privileges to the file system, then try again.
+copyMsgWriteFailed=The messages could not be moved or copied to folder '%S' because writing to folder failed. To gain disk space, from the File menu, first choose Empty Trash, and then choose Compact Folders, and then try again.
+cantMoveMsgWOBodyOffline=While working offline, you cannot move or copy messages that were not downloaded for offline use. From the Mail window, open the File menu, choose Offline, then uncheck Work Offline, and then try again.
+operationFailedFolderBusy=The operation failed because another operation is using the folder. Please wait for that operation to finish and then try again.
+folderRenameFailed=The folder could not be renamed. Perhaps the folder is being reparsed, or the new name is not a valid folder name.
+# LOCALIZATION NOTE(verboseFolderFormat): %1$S is folder name, %2$S is server name
+verboseFolderFormat=%1$S on %2$S
+# LOCALIZATION NOTE(filterFolderTruncateFailed): %1$S is replaced by the folder name, %2$S is replaced by the brandShortName
+filterFolderTruncateFailed=There was an error truncating the Inbox after filtering a message to folder '%1$S'. You may need to shutdown %2$S and delete INBOX.msf.
+
+mailboxTooLarge=The folder %S is full, and can't hold any more messages. To make room for more messages, delete any old or unwanted mail and compact the folder.
+outOfDiskSpace=There is not enough disk space to download new messages. Try deleting old mail, emptying the Trash folder, and compacting your mail folders, and then try again.
+errorGettingDB=Unable to open the summary file for %S. Perhaps there was an error on disk, or the full path is too long.
+defaultServerTag=(Default)
+
+# Used in message database list view to provide a text value for graphic based cells.
+messageUnread=Unread
+messageHasFlag=Starred
+messageHasAttachment=Has Attachment
+messageJunk=Junk
+messageExpanded=Expanded
+messageCollapsed=Collapsed
+
+# Used in the SMTP Account Settings panel when a server value has no properties
+smtpServerList-NotSpecified=<not specified>
+smtpServer-ConnectionSecurityType-0=None
+smtpServer-ConnectionSecurityType-1=STARTTLS, if available
+smtpServer-ConnectionSecurityType-2=STARTTLS
+smtpServer-ConnectionSecurityType-3=SSL/TLS
+smtpServers-confirmServerDeletionTitle=Delete Server
+smtpServers-confirmServerDeletion=Are you sure you want to delete the server: \n %S?
+
+# Account Settings - Both Incoming and SMTP server
+authNo=No authentication
+authOld=Password, original method (insecure)
+authPasswordCleartextInsecurely=Password, transmitted insecurely
+authPasswordCleartextViaSSL=Normal password
+authPasswordEncrypted=Encrypted password
+authKerberos=Kerberos / GSSAPI
+authExternal=TLS Certificate
+authNTLM=NTLM
+authOAuth2=OAuth2
+authAnySecure=Any secure method (deprecated)
+authAny=Any method (insecure)
+
+# 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=Enter credentials for %1$S on %2$S
+
+# LOCALIZATION NOTE(serverType-nntp): Do not translate "NNTP" in the line below
+serverType-nntp=News Server (NNTP)
+# LOCALIZATION NOTE(serverType-pop3): Do not translate "POP" in the line below
+serverType-pop3=POP Mail Server
+# LOCALIZATION NOTE(serverType-imap): Do not translate "IMAP" in the line below
+serverType-imap=IMAP Mail Server
+serverType-none=Local Mail Store
+
+sizeColumnTooltip2=Sort by size
+sizeColumnHeader=Size
+linesColumnTooltip2=Sort by lines
+linesColumnHeader=Lines
+
+# 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=Get new messages for %S
+# Used to separate email addresses in a list. Note the trailing space ', '
+getMsgButtonTooltip.listSeparator=,\u0020
+
+# status feedback stuff
+documentDone=
+documentLoading=Loading Message…
+
+# 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=Synchronizing messages in %1$S from %2$S…
+
+# localized folder names
+
+localFolders=Local Folders
+
+# LOCALIZATION NOTE (inboxFolderName): OK to translate all foldernames, bugzilla #57440 & bugzilla #23625 fixed
+inboxFolderName=Inbox
+trashFolderName=Trash
+sentFolderName=Sent
+draftsFolderName=Drafts
+templatesFolderName=Templates
+outboxFolderName=Outbox
+junkFolderName=Junk
+archivesFolderName=Archives
+
+# "Normal" priority is often blank,
+# depending on the consumers of these strings
+priorityLowest=Lowest
+priorityLow=Low
+priorityNormal=Normal
+priorityHigh=High
+priorityHighest=Highest
+
+#Group by date thread pane titles
+today=Today
+yesterday=Yesterday
+lastWeek=Last Week
+last7Days=Last 7 Days
+twoWeeksAgo=Two Weeks Ago
+last14Days=Last 14 Days
+older=Older
+futureDate=Future
+
+#Grouped By Tags
+untaggedMessages=Untagged Messages
+
+# Grouped by status
+messagesWithNoStatus=No Status
+
+#Grouped by priority
+noPriority=No Priority
+
+#Grouped by has attachments
+noAttachments=No Attachments
+attachments=Attachments
+
+#Grouped by starred
+notFlagged=Not Starred
+groupFlagged=Starred
+
+# defaults descriptions for tag prefs listed in mailnews.js
+# (we keep the .labels. names for backwards compatibility)
+mailnews.tags.remove=Remove All Tags
+mailnews.labels.description.1=Important
+mailnews.labels.description.2=Work
+mailnews.labels.description.3=Personal
+mailnews.labels.description.4=To Do
+mailnews.labels.description.5=Later
+
+# 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=Replied
+forwarded=Forwarded
+redirected=Redirected
+new=New
+read=Read
+flagged=Starred
+
+# for junk status picker in search and mail views
+junk=Junk
+
+# for junk score origin picker in search and mail views
+junkScoreOriginPlugin=Plugin
+junkScoreOriginFilter=Filter
+junkScoreOriginWhitelist=Whitelist
+junkScoreOriginUser=User
+junkScoreOriginImapFlag=IMAP Flag
+
+# for the has attachment picker in search and mail views
+hasAttachments=Has Attachments
+
+# for the Tag picker in search and mail views.
+tag=Tags
+
+# 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=et al.
+
+# 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=The body of this message has not been downloaded from \
+the server for reading offline. To read this message, \
+you must reconnect to the network, choose Offline from \
+the File menu and then uncheck Work Offline. \
+In the future, you can select which messages or folders to read offline. To do \
+this, choose Offline from the file menu and then select Download/Sync Now. \
+You can adjust the Disk Space preference to prevent the downloading of large \
+messages.
+
+# LOCALIZATION NOTE(acctCentralTitleFormat): %1$S is brand, %2$S is account type, %3$S is account name
+acctCentralTitleFormat=%1$S %2$S - %3$S
+mailAcctType=Mail
+newsAcctType=News
+feedsAcctType=Feeds
+
+# LOCALIZATION NOTE(nocachedbodytitle): Do not translate "<TITLE>" or "</TITLE>" in the line below
+nocachedbodytitle=<TITLE>Go Online to View This Message</TITLE>\n
+
+# mailWindowOverlay.js
+confirmUnsubscribeTitle=Confirm Unsubscribe
+confirmUnsubscribeText=Are you sure you want to unsubscribe from %S?
+confirmUnsubscribeManyText=Are you sure you want to unsubscribe from these newsgroups?
+restoreAllTabs=Restore All Tabs
+
+confirmMarkAllFoldersReadTitle=Mark All Folders Read
+confirmMarkAllFoldersReadMessage=Are you sure you want to mark all messages in all folders of this account as read?
+
+# LOCALIZATION NOTE(junkBarMessage): %S is brand
+junkBarMessage=%S thinks this message is Junk mail.
+junkBarButton=Not Junk
+junkBarButtonKey=N
+junkBarInfoButton=Learn More
+junkBarInfoButtonKey=L
+
+# LOCALIZATION NOTE(remoteContentBarMessage): %S is brand
+remoteContentBarMessage=To protect your privacy, %S has blocked remote content in this message.
+remoteContentPrefLabel=Options
+remoteContentPrefAccesskey=O
+remoteContentPrefLabelUnix=Preferences
+remoteContentPrefAccesskeyUnix=P
+
+# LOCALIZATION NOTE(remoteAllowResource): %S is origin
+remoteAllowResource=Allow remote content from %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=Allow remote content from the #1 origin listed above;Allow remote content from all #1 origins listed above
+
+phishingBarMessage=This message may be a scam.
+phishingBarPrefLabel=Options
+phishingBarPrefAccesskey=O
+phishingBarPrefLabelUnix=Preferences
+phishingBarPrefAccesskeyUnix=P
+
+mdnBarIgnoreButton=Ignore Request
+mdnBarIgnoreButtonKey=n
+mdnBarSendReqButton=Send Receipt
+mdnBarSendReqButtonKey=S
+
+draftMessageMsg=This is a draft message.
+draftMessageButton=Edit
+draftMessageButtonKey=E
+
+# msgHdrViewOverlay.js
+openLabel=Open
+openLabelAccesskey=O
+saveLabel=Save As…
+saveLabelAccesskey=A
+detachLabel=Detach…
+detachLabelAccesskey=D
+deleteLabel=Delete
+deleteLabelAccesskey=E
+openFolderLabel=Open Containing Folder
+openFolderLabelAccesskey=F
+deleteAttachments=The following attachments will be permanently deleted from this message:\n%S\nThis action cannot be undone. Do you wish to continue?
+detachAttachments=The following attachments have been successfully saved and will now be permanently deleted from this message:\n%S\nThis action cannot be undone. Do you wish to continue?
+deleteAttachmentFailure=Failed to delete the selected attachments.
+emptyAttachment=This attachment appears to be empty.\nPlease check with the person who sent this.\nOften company firewalls or antivirus programs will destroy attachments.
+externalAttachmentNotFound=This detached file or link attachment is not found or is not accessible at this location anymore.
+
+# LOCALIZATION NOTE (attachmentCount): Semi-colon list of plural forms.
+# See: https://developer.mozilla.org/en/Localization_and_Plurals
+# #1 number of attachments
+attachmentCount=#1 attachment;#1 attachments
+
+# 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 attachment:
+
+# LOCALIZATION NOTE (attachmentSizeUnknown): The string to show for the total
+# size of all attachments when none of the attachments' sizes can be detected.
+attachmentSizeUnknown=size unknown
+
+# 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=at least %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=Attachments:
+
+# Connection Error Messages
+# LOCALIZATION NOTE(unknownHostError): %S is the server name
+unknownHostError=Failed to connect to server %S.
+# LOCALIZATION NOTE(connectionRefusedError): %S is the server name
+connectionRefusedError=Could not connect to server %S; the connection was refused.
+# LOCALIZATION NOTE(netTimeoutError): %S is the server name
+netTimeoutError=Connection to server %S timed out.
+# LOCALIZATION NOTE(netResetError): %S is the server name
+netResetError=Connection to server %S was reset.
+# LOCALIZATION NOTE(netInterruptError): %S is the server name
+netInterruptError=Connection to server %S was interrupted.
+
+recipientSearchCriteria=Subject or Recipient contains:
+fromSearchCriteria=Subject or From contains:
+
+# LOCALIZATION NOTE(biffNotification): %1$S is the number of new messages
+biffNotification_message=has %1$S new message
+biffNotification_messages=has %1$S new messages
+
+# LOCALIZATION NOTE(newMailNotification_message): %1$S is the name of the account %2$S is the number of new messages
+newMailNotification_message=%1$S received %2$S new message
+
+# LOCALIZATION NOTE(newMailNotification_messages): %1$S is the name of the account %2$S is the number of new messages
+newMailNotification_messages=%1$S received %2$S new messages
+
+# 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 from %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 received #2 new message;#1 received #2 new messages
+
+# for message views
+confirmViewDeleteTitle=Confirm
+confirmViewDeleteMessage=Are you sure you want to delete this view?
+
+# for virtual folders
+confirmSavedSearchTitle=Confirm Delete
+confirmSavedSearchDeleteMessage=Are you sure you want to delete this saved search?
+
+## @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=Enter your password for %1$S on %2$S:
+
+## @name ENTER_PASSWORD_PROMPT_TITLE
+## @loc None
+passwordTitle=Mail Server Password Required
+
+# for checking if the user really wants to open lots of messages in separate windows.
+openWindowWarningTitle=Confirm
+# LOCALIZATION NOTE (openWindowWarningConfirmation): Semi-colon list of plural forms.
+# #1 is the number of messages the user is attempting to open.
+openWindowWarningConfirmation=Opening #1 message may be slow. Continue?;Opening #1 messages may be slow. Continue?
+
+# for checking if the user really wants to open lots of messages in tabs.
+openTabWarningTitle=Confirm
+# LOCALIZATION NOTE (openTabWarningConfirmation): Semi-colon list of plural forms.
+# #1 is the number of messages the user is attempting to open.
+openTabWarningConfirmation=Opening #1 message may be slow. Continue?;Opening #1 messages may be slow. Continue?
+
+# for warning the user that a tag they're trying to create already exists
+tagExists=A tag with that name already exists.
+
+# title of the edit tag dialog
+editTagTitle=Edit Tag
+
+# for the virtual folder list dialog title
+# %S is the name of the saved search folder
+editVirtualFolderPropertiesTitle=Edit Saved Search Properties for %S
+# LOCALIZATION NOTE (foldersChosen): #1 number of chosen folders
+virtualFolderSourcesChosen=#1 folder chosen;#1 folders chosen
+
+#alert to inform the user to choose one or more folders to search for a saved search folder
+alertNoSearchFoldersSelected=You must choose at least one folder to search for the saved search folder.
+
+# These are displayed in the message and folder pane windows
+# LOCALIZATION NOTE %.*f is the abbreviated size in the appropriate units
+byteAbbreviation2=%.*f bytes
+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 in this folder, %2$S in subfolders
+
+# Error message if message for a message id wasn't found
+errorOpenMessageForMessageIdTitle=Error opening message-id
+errorOpenMessageForMessageIdMessage=Message for message-id %S not found
+
+# Warnings to alert users about phishing urls
+confirmPhishingTitle=Email Scam Alert
+linkMismatchTitle=Link Mismatch Detected
+#LOCALIZATION NOTE %1$S is the brand name, %2$S is the host name of the url being visited
+confirmPhishingUrl=%1$S thinks this message is a scam. The links in the message may be trying to impersonate web pages you want to visit. Are you sure you want to visit %2$S?
+#LOCALIZATION NOTE %1$S is the host name of indicated host, %2$S is the host name of the actual host.
+confirmPhishingUrlAlternate=The link you just clicked seems to lead to another site than what the link text indicated. This is sometimes used for tracking whether you clicked the link, but it could also be a scam.\n\nThe link text indicated that the link would lead to %1$S, but it leads to %2$S.
+#LOCALIZATION NOTE $1$S is the host name of the indicated host.
+confirmPhishingGoAhead=Go to %1$S anyway
+#LOCALIZATION NOTE %1$S is the host name that was displayed to the user.
+confirmPhishingGoDirect=Go to %1$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=Check for Updates…
+updatesItem_defaultFallback=Check for Updates…
+updatesItem_default.accesskey=C
+updatesItem_downloading=Downloading %S…
+updatesItem_downloadingFallback=Downloading Update…
+updatesItem_downloading.accesskey=D
+updatesItem_resume=Resume Downloading %S…
+updatesItem_resumeFallback=Resume Downloading Update…
+updatesItem_resume.accesskey=D
+updatesItem_pending=Apply Downloaded Update Now…
+updatesItem_pendingFallback=Apply Downloaded Update Now…
+updatesItem_pending.accesskey=D
+
+# Folder Pane Header Title Strings
+folderPaneModeHeader_all=All Folders
+folderPaneModeHeader_unread=Unread Folders
+folderPaneModeHeader_favorite=Favorite Folders
+folderPaneModeHeader_recent=Recent Folders
+folderPaneModeHeader_smart=Unified Folders
+unifiedAccountName=Unified Folders
+
+# 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=Move to "%1$S" Again
+moveToFolderAgainAccessKey=t
+#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=Copy to "%1$S" Again
+copyToFolderAgainAccessKey=t
+
+#LOCALIZATION NOTE(mdnBarMessageNormal) %1$S is the name of the sender
+mdnBarMessageNormal=%1$S has asked to be notified when you read this message.
+#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 has asked to be notified (on %2$S) when you read this message.
+
+# mailCommands.js
+emptyJunkFolderTitle=Empty "%S"
+emptyJunkFolderMessage=Delete all messages and subfolders in the Junk folder?
+emptyJunkDontAsk=Don't ask me again.
+emptyTrashFolderTitle=Empty "%S"
+emptyTrashFolderMessage=Delete all messages and subfolders in the Trash folder?
+emptyTrashDontAsk=Don't ask me again.
+
+# junkCommands.js
+junkAnalysisPercentComplete=Junk analysis %S complete
+processingJunkMessages=Processing Junk Messages
+
+# Messenger bootstrapping messages
+fileNotFoundTitle = File Not Found
+#LOCALIZATION NOTE(fileNotFoundMsg): %S is the filename
+fileNotFoundMsg = The file %S does not exist.
+
+fileEmptyTitle = File Empty
+#LOCALIZATION NOTE(fileEmptyMsg): %S is the filename
+fileEmptyMsg = The file %S is empty.
+
+# 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 more;#1 more
+
+# 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=, and #1 more;, and #1 more
+
+# 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=Me
+
+# LOCALIZATION NOTE (headerfromFieldMe): first person prepositional object
+# pronoun used in the "from" header of the message header pane.
+headerfromFieldMe=Me
+
+# LOCALIZATION NOTE (headerreply-toFieldMe): first person prepositional
+# object pronoun used in the "reply-to" header of the message header pane.
+headerreply-toFieldMe=Me
+
+# LOCALIZATION NOTE (headerccFieldMe): first person prepositional object
+# pronoun used in the "cc" header of the message header pane.
+headerccFieldMe=Me
+
+# LOCALIZATION NOTE (headerbccFieldMe): first person prepositional object
+# pronoun used in the "bcc" header of the message header pane.
+headerbccFieldMe=Me
+
+expandAttachmentPaneTooltip=Show the attachment pane
+collapseAttachmentPaneTooltip=Hide the attachment pane
+
+# Shown when content tabs are being loaded.
+loadingTab=Loading…
+
+confirmMsgDelete.title=Confirm Deletion
+confirmMsgDelete.collapsed.desc=This will delete messages in collapsed threads. Are you sure you want to continue?
+confirmMsgDelete.deleteNoTrash.desc=This will delete messages immediately, without saving a copy to Trash. Are you sure you want to continue?
+confirmMsgDelete.deleteFromTrash.desc=This will permanently delete messages from Trash. Are you sure you want to continue?
+confirmMsgDelete.dontAsk.label=Don't ask me again.
+confirmMsgDelete.delete.label=Delete
+
+mailServerLoginFailedTitle=Login Failed
+# LOCALIZATION NOTE (mailServerLoginFailedTitleWithAccount):
+# "%S" is the account name.
+mailServerLoginFailedTitleWithAccount=Login to account "%S" failed
+# LOCALIZATION NOTE (mailServerLoginFailed2):
+# %1$S is the host name of the server, %2$S is the user name.
+mailServerLoginFailed2=Login to server %1$S with username %2$S failed.
+mailServerLoginFailedRetryButton=&Retry
+mailServerLoginFailedEnterNewPasswordButton=&Enter New Password
+
+# 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=Apply Changes?
+# 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=Apply the current folder's columns to %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=Apply Changes?
+# 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=Apply the current folder's columns to %S and its children?
+
+# LOCALIZATION NOTE (lwthemeInstallRequest.message): %S will be replaced with
+# the host name of the site.
+lwthemeInstallRequest.message=This site (%S) attempted to install a theme.
+lwthemeInstallRequest.allowButton=Allow
+lwthemeInstallRequest.allowButton.accesskey=a
+
+lwthemePostInstallNotification.message=A new theme has been installed.
+lwthemePostInstallNotification.undoButton=Undo
+lwthemePostInstallNotification.undoButton.accesskey=U
+lwthemePostInstallNotification.manageButton=Manage Themes…
+lwthemePostInstallNotification.manageButton.accesskey=M
+
+# troubleshootModeRestart
+troubleshootModeRestartPromptTitle=Restart in Troubleshoot Mode
+troubleshootModeRestartPromptMessage=Troubleshoot Mode will disable all add-ons and temporarily use some default preferences.\nAre you sure you want to restart?
+troubleshootModeRestartButton=Restart
+
+# LOCALIZATION NOTE (downloadAndInstallButton.label): %S is replaced by the
+# version of the update: "Update to 28.0".
+update.downloadAndInstallButton.label=Update to %S
+update.downloadAndInstallButton.accesskey=U
+
+# 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=Clear All History
+sanitizeButtonOK=Clear Now
+# 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=All history will be cleared.
+# 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=All selected items will be cleared.
+
+learnMoreAboutIgnoreThread=Learn More…
+learnMoreAboutIgnoreThreadAccessKey = L
+undoIgnoreThread=Undo Ignore Thread
+undoIgnoreThreadAccessKey=U
+undoIgnoreSubthread=Undo Ignore Subthread
+undoIgnoreSubthreadAccessKey=U
+# LOCALIZATION NOTE (ignoredThreadFeedback): #1 is the message thread title
+ignoredThreadFeedback=Replies to the thread "#1" will not be shown.
+# LOCALIZATION NOTE (ignoredSubthreadFeedback): #1 is the message subthread title
+ignoredSubthreadFeedback=Replies to the subthread "#1" will not be shown.
+# LOCALIZATION NOTE (ignoredThreadsFeedback): Semi-colon list of plural forms.
+# #1 is the number of threads
+ignoredThreadsFeedback=Replies to the thread that was selected will not be shown.;Replies to the #1 threads that were selected will not be shown.
+# LOCALIZATION NOTE (ignoredSubthreadsFeedback): Semi-colon list of plural forms.
+# #1 is number of subthreads
+ignoredSubthreadsFeedback=Replies to the subthread that was selected will not be shown.;Replies to the #1 subthreads that were selected will not be shown.
+# LOCALIZATION NOTE (saveAsType): replace %S with the extension of the file to be saved.
+saveAsType=%S file
+
+# 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=Search %1$S for "%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=Search %1$S for "%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-bit
+aboutDialog.architecture.thirtyTwoBit = 32-bit
+
+errorConsoleTitle = Error Console
+
+# 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 = Back
+
+# LOCALIZATION NOTE (folderErrorAlertTitle):
+# %S is a pretty string to identify the folder and account.
+# EXAMPLE: Error - Inbox on bob@example.com
+folderErrorAlertTitle = Error - %S
diff --git a/comm/mail/locales/en-US/chrome/messenger/messengercompose/EdAdvancedEdit.dtd b/comm/mail/locales/en-US/chrome/messenger/messengercompose/EdAdvancedEdit.dtd
new file mode 100644
index 0000000000..83fcbd7416
--- /dev/null
+++ b/comm/mail/locales/en-US/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 "Advanced Property Editor">
+<!ENTITY AttName.label "Attribute: ">
+<!ENTITY AttValue.label "Value: ">
+<!ENTITY PropertyName.label "Property: ">
+<!ENTITY currentattributesfor.label "Current attributes for: ">
+<!ENTITY tree.attributeHeader.label "Attribute">
+<!ENTITY tree.propertyHeader.label "Property">
+<!ENTITY tree.valueHeader.label "Value">
+<!ENTITY tabHTML.label "HTML Attributes">
+<!ENTITY tabCSS.label "Inline Style">
+<!ENTITY tabJSE.label "JavaScript Events">
+
+<!ENTITY editAttribute.label "Click on an item above to edit its value">
+<!ENTITY removeAttribute.label "Remove">
diff --git a/comm/mail/locales/en-US/chrome/messenger/messengercompose/EdColorPicker.dtd b/comm/mail/locales/en-US/chrome/messenger/messengercompose/EdColorPicker.dtd
new file mode 100644
index 0000000000..c00d24f298
--- /dev/null
+++ b/comm/mail/locales/en-US/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 "Color">
+<!ENTITY lastPickedColor.label "Last-picked color">
+<!ENTITY lastPickedColor.accessKey "L">
+<!ENTITY chooseColor1.label "Choose a color:">
+<!ENTITY chooseColor2.label "Enter an HTML color string">
+<!ENTITY chooseColor2.accessKey "H">
+<!ENTITY setColorExample.label "(e.g.: &quot;#0000ff&quot; or &quot;blue&quot;):">
+<!ENTITY default.label "Default">
+<!ENTITY default.accessKey "D">
+<!ENTITY palette.label "Palette:">
+<!ENTITY standardPalette.label "Standard">
+<!ENTITY webPalette.label "All web colors">
+<!ENTITY background.label "Background for:">
+<!ENTITY background.accessKey "B">
+<!ENTITY table.label "Table">
+<!ENTITY table.accessKey "T">
+<!ENTITY cell.label "Cell(s)">
+<!ENTITY cell.accessKey "C">
diff --git a/comm/mail/locales/en-US/chrome/messenger/messengercompose/EdConvertToTable.dtd b/comm/mail/locales/en-US/chrome/messenger/messengercompose/EdConvertToTable.dtd
new file mode 100644
index 0000000000..044f60e496
--- /dev/null
+++ b/comm/mail/locales/en-US/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 "Convert To Table">
+<!ENTITY instructions1.label "Composer creates a new table row for each paragraph in the selection.">
+<!ENTITY instructions2.label "Choose the character used to separate the selection into columns:">
+<!ENTITY commaRadio.label "Comma">
+<!ENTITY spaceRadio.label "Space">
+<!ENTITY otherRadio.label "Other Character:">
+<!ENTITY deleteCharCheck.label "Delete separator character">
+<!ENTITY collapseSpaces.label "Ignore extra spaces">
+<!ENTITY collapseSpaces.tooltip "Convert adjacent spaces to one separator">
diff --git a/comm/mail/locales/en-US/chrome/messenger/messengercompose/EdDialogOverlay.dtd b/comm/mail/locales/en-US/chrome/messenger/messengercompose/EdDialogOverlay.dtd
new file mode 100644
index 0000000000..527e723a5a
--- /dev/null
+++ b/comm/mail/locales/en-US/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 "Advanced Edit…">
+<!ENTITY AdvancedEditButton.accessKey "E">
+<!ENTITY AdvancedEditButton.tooltip "Add or modify HTML attributes, style attributes, and JavaScript">
+<!ENTITY chooseFileButton.label "Choose File...">
+<!ENTITY chooseFileButton.accessKey "F">
+<!ENTITY chooseFileLinkButton.label "Choose File...">
+<!ENTITY chooseFileLinkButton.accessKey "o">
+<!ENTITY makeUrlRelative.label "URL is relative to page location">
+<!ENTITY makeUrlRelative.accessKey "r">
+<!ENTITY makeUrlRelative.tooltip "Change between relative and absolute URL. You must first save the page to change this.">
+
+<!-- Shared by Link and Image dialogs -->
+<!ENTITY LinkURLEditField2.label "Enter a web page location, a local file, or select a Named Anchor or Heading from the field's context menu:">
+<!ENTITY LinkURLEditField2.accessKey "w">
diff --git a/comm/mail/locales/en-US/chrome/messenger/messengercompose/EdNamedAnchorProperties.dtd b/comm/mail/locales/en-US/chrome/messenger/messengercompose/EdNamedAnchorProperties.dtd
new file mode 100644
index 0000000000..d418ed14b6
--- /dev/null
+++ b/comm/mail/locales/en-US/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 "Named Anchor Properties">
+<!ENTITY anchorNameEditField.label "Anchor Name:">
+<!ENTITY anchorNameEditField.accessKey "N">
+<!ENTITY nameInput.tooltip "Enter a unique name for this named anchor (target)">
diff --git a/comm/mail/locales/en-US/chrome/messenger/messengercompose/EditorColorProperties.dtd b/comm/mail/locales/en-US/chrome/messenger/messengercompose/EditorColorProperties.dtd
new file mode 100644
index 0000000000..2e3bf76925
--- /dev/null
+++ b/comm/mail/locales/en-US/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 "Page Colors and Background">
+<!ENTITY pageColors.label "Page Colors">
+<!ENTITY defaultColorsRadio.label "Reader's default colors (Don't set colors in page)">
+<!ENTITY defaultColorsRadio.accessKey "D">
+<!ENTITY defaultColorsRadio.tooltip "Use the color settings from the viewer (reader's) browser only">
+<!ENTITY customColorsRadio.label "Use custom colors:">
+<!ENTITY customColorsRadio.accessKey "C">
+<!ENTITY customColorsRadio.tooltip "These color settings override the viewer's browser settings">
+
+<!ENTITY normalText.label "Normal text">
+<!ENTITY normalText.accessKey "N">
+<!ENTITY linkText.label "Link text">
+<!ENTITY linkText.accessKey "L">
+<!ENTITY activeLinkText.label "Active link text">
+<!ENTITY activeLinkText.accessKey "A">
+<!ENTITY visitedLinkText.label "Visited link text">
+<!ENTITY visitedLinkText.accessKey "V">
+<!ENTITY background.label "Background:">
+<!ENTITY background.accessKey "B">
+<!ENTITY colon.character ":">
+<!ENTITY backgroundImage.label "Background Image:">
+<!ENTITY backgroundImage.accessKey "m">
+<!ENTITY backgroundImage.tooltip "Use an image file as the background for your page">
+<!ENTITY backgroundImage.shortenedDataURI "Shortened data URI (copy will place the full URI onto the clipboard)">
diff --git a/comm/mail/locales/en-US/chrome/messenger/messengercompose/EditorHLineProperties.dtd b/comm/mail/locales/en-US/chrome/messenger/messengercompose/EditorHLineProperties.dtd
new file mode 100644
index 0000000000..9ad023dee0
--- /dev/null
+++ b/comm/mail/locales/en-US/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 "Horizontal Line Properties">
+
+<!ENTITY dimensionsBox.label "Dimensions">
+<!ENTITY heightEditField.label "Height:">
+<!ENTITY heightEditField.accessKey "G">
+<!ENTITY widthEditField.label "Width:">
+<!ENTITY widthEditField.accessKey "W">
+<!ENTITY pixelsPopup.value "pixels">
+<!ENTITY alignmentBox.label "Alignment">
+<!ENTITY leftRadio.label "Left">
+<!ENTITY leftRadio.accessKey "L">
+<!ENTITY centerRadio.label "Center">
+<!ENTITY centerRadio.accessKey "C">
+<!ENTITY rightRadio.label "Right">
+<!ENTITY rightRadio.accessKey "R">
+
+<!ENTITY threeDShading.label "3-D Shading">
+<!ENTITY threeDShading.accessKey "S">
+<!ENTITY saveSettings.label "Use as Default">
+<!ENTITY saveSettings.accessKey "D">
+<!ENTITY saveSettings.tooltip "Save these settings to use when inserting new horizontal lines">
diff --git a/comm/mail/locales/en-US/chrome/messenger/messengercompose/EditorImageProperties.dtd b/comm/mail/locales/en-US/chrome/messenger/messengercompose/EditorImageProperties.dtd
new file mode 100644
index 0000000000..280af6df2a
--- /dev/null
+++ b/comm/mail/locales/en-US/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 "Image Properties">
+
+<!ENTITY pixelsPopup.value "pixels">
+
+<!-- These are in the Location tab panel -->
+<!ENTITY locationEditField.label "Image Location:">
+<!ENTITY locationEditField.accessKey "L">
+<!ENTITY locationEditField.tooltip "Type the image's filename or location">
+<!ENTITY locationEditField.shortenedDataURI "Shortened data URI (copy will place the full URI onto the clipboard)">
+<!ENTITY title.label "Tooltip:">
+<!ENTITY title.accessKey "T">
+<!ENTITY title.tooltip "The html 'title' attribute that displays as a tooltip">
+<!ENTITY altText.label "Alternate text:">
+<!ENTITY altText.accessKey "A">
+<!ENTITY altTextEditField.tooltip "Type text to display in place of the image">
+<!ENTITY noAltText.label "Don't use alternate text">
+<!ENTITY noAltText.accessKey "D">
+
+<!ENTITY previewBox.label "Image Preview">
+
+<!-- These controls are in the Dimensions tab panel -->
+<!-- actualSize.label should be same as actualSizeRadio.label + ":" -->
+<!ENTITY actualSize.label "Actual Size:">
+<!ENTITY actualSizeRadio.label "Actual Size">
+<!ENTITY actualSizeRadio.accessKey "A">
+<!ENTITY actualSizeRadio.tooltip "Revert to the image's actual size">
+<!ENTITY customSizeRadio.label "Custom Size">
+<!ENTITY customSizeRadio.accessKey "S">
+<!ENTITY customSizeRadio.tooltip "Change the image's size as displayed in the page">
+<!ENTITY heightEditField.label "Height:">
+<!ENTITY heightEditField.accessKey "G">
+<!ENTITY widthEditField.label "Width:">
+<!ENTITY widthEditField.accessKey "W">
+<!ENTITY constrainCheckbox.label "Constrain">
+<!ENTITY constrainCheckbox.accessKey "C">
+<!ENTITY constrainCheckbox.tooltip "Maintain the image's aspect ratio">
+
+<!-- These controls are in the Image Map box of the expanded area -->
+<!ENTITY imagemapBox.label "Image Map">
+<!ENTITY removeImageMapButton.label "Remove">
+<!ENTITY removeImageMapButton.accessKey "R">
+
+<!-- These are the options for image alignment -->
+<!ENTITY alignment.label "Align Text to Image">
+<!ENTITY bottomPopup.value "At the bottom">
+<!ENTITY topPopup.value "At the top">
+<!ENTITY centerPopup.value "In the center">
+<!ENTITY wrapRightPopup.value "Wrap to the right">
+<!ENTITY wrapLeftPopup.value "Wrap to the left">
+
+<!-- These controls are in the Spacing Box -->
+<!ENTITY spacingBox.label "Spacing">
+<!ENTITY leftRightEditField.label "Left and Right:">
+<!ENTITY leftRightEditField.accessKey "L">
+<!ENTITY topBottomEditField.label "Top and Bottom:">
+<!ENTITY topBottomEditField.accessKey "T">
+<!ENTITY borderEditField.label "Solid Border:">
+<!ENTITY borderEditField.accessKey "B">
+
+<!-- These controls are in the Link Box -->
+<!ENTITY showImageLinkBorder.label "Show border around linked image">
+<!ENTITY showImageLinkBorder.accessKey "B">
+<!ENTITY LinkAdvancedEditButton.label "Link Advanced Edit…">
+<!ENTITY LinkAdvancedEditButton.accessKey "L">
+<!ENTITY LinkAdvancedEditButton.tooltip "Add or modify HTML attributes, style attributes, and JavaScript">
+
+<!-- These tabs are currently used in the image input dialog -->
+<!ENTITY imageInputTab.label "Form">
+<!ENTITY imageLocationTab.label "Location">
+<!ENTITY imageDimensionsTab.label "Dimensions">
+<!ENTITY imageAppearanceTab.label "Appearance">
+<!ENTITY imageLinkTab.label "Link">
diff --git a/comm/mail/locales/en-US/chrome/messenger/messengercompose/EditorInsertChars.dtd b/comm/mail/locales/en-US/chrome/messenger/messengercompose/EditorInsertChars.dtd
new file mode 100644
index 0000000000..1755e499ca
--- /dev/null
+++ b/comm/mail/locales/en-US/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 "Insert Character">
+<!ENTITY category.label "Category">
+<!ENTITY letter.label "Letter:">
+<!ENTITY letter.accessKey "L">
+<!ENTITY character.label "Character:">
+<!ENTITY character.accessKey "C">
+<!ENTITY accentUpper.label "Accent Uppercase">
+<!ENTITY accentLower.label "Accent Lowercase">
+<!ENTITY otherUpper.label "Other Uppercase">
+<!ENTITY otherLower.label "Other Lowercase">
+<!ENTITY commonSymbols.label "Common Symbols">
+<!ENTITY insertButton.label "Insert">
+<!ENTITY closeButton.label "Close">
diff --git a/comm/mail/locales/en-US/chrome/messenger/messengercompose/EditorInsertMath.dtd b/comm/mail/locales/en-US/chrome/messenger/messengercompose/EditorInsertMath.dtd
new file mode 100644
index 0000000000..357ed0b20d
--- /dev/null
+++ b/comm/mail/locales/en-US/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 "Insert Math">
+
+<!ENTITY sourceEditField.label "Enter LaTeX source code:">
+
+<!ENTITY options.label "Options">
+<!ENTITY optionInline.label "Inline mode">
+<!ENTITY optionInline.accesskey "N">
+<!ENTITY optionDisplay.label "Display mode">
+<!ENTITY optionDisplay.accesskey "D">
+<!ENTITY optionLTR.label "Left-to-right direction">
+<!ENTITY optionLTR.accesskey "L">
+<!ENTITY optionRTL.label "Right-to-left direction">
+<!ENTITY optionRTL.accesskey "R">
+
+<!ENTITY insertButton.label "Insert">
+<!ENTITY insertButton.accesskey "I">
diff --git a/comm/mail/locales/en-US/chrome/messenger/messengercompose/EditorInsertSource.dtd b/comm/mail/locales/en-US/chrome/messenger/messengercompose/EditorInsertSource.dtd
new file mode 100644
index 0000000000..0b51a86c8c
--- /dev/null
+++ b/comm/mail/locales/en-US/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 "Insert HTML">
+<!ENTITY sourceEditField.label "Enter HTML tags and text:">
+<!ENTITY example.label "Example: ">
+<!-- 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 "Hello World!">
+<!ENTITY insertButton.label "Insert">
+<!ENTITY insertButton.accesskey "I">
diff --git a/comm/mail/locales/en-US/chrome/messenger/messengercompose/EditorInsertTOC.dtd b/comm/mail/locales/en-US/chrome/messenger/messengercompose/EditorInsertTOC.dtd
new file mode 100644
index 0000000000..f3285a357a
--- /dev/null
+++ b/comm/mail/locales/en-US/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 "Table of Contents">
+<!ENTITY buildToc.label "Build table of contents from:">
+<!ENTITY tag.label "Tag:">
+<!ENTITY class.label "Class:">
+<!ENTITY header1.label "Level 1">
+<!ENTITY header2.label "Level 2">
+<!ENTITY header3.label "Level 3">
+<!ENTITY header4.label "Level 4">
+<!ENTITY header5.label "Level 5">
+<!ENTITY header6.label "Level 6">
+<!ENTITY makeReadOnly.label "Make the table of contents read-only">
+<!ENTITY orderedList.label "Number all entries in the table of contents">
diff --git a/comm/mail/locales/en-US/chrome/messenger/messengercompose/EditorInsertTable.dtd b/comm/mail/locales/en-US/chrome/messenger/messengercompose/EditorInsertTable.dtd
new file mode 100644
index 0000000000..00b5d2d131
--- /dev/null
+++ b/comm/mail/locales/en-US/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 "Insert Table">
+
+<!ENTITY size.label "Size">
+<!ENTITY numRowsEditField.label "Rows:">
+<!ENTITY numRowsEditField.accessKey "R">
+<!ENTITY numColumnsEditField.label "Columns:">
+<!ENTITY numColumnsEditField.accessKey "C">
+<!ENTITY widthEditField.label "Width:">
+<!ENTITY widthEditField.accessKey "W">
+<!ENTITY borderEditField.label "Border:">
+<!ENTITY borderEditField.accessKey "B">
+<!ENTITY borderEditField.tooltip "Type a number for the table's border, or type zero (0) for no border">
+<!ENTITY pixels.label "pixels">
diff --git a/comm/mail/locales/en-US/chrome/messenger/messengercompose/EditorLinkProperties.dtd b/comm/mail/locales/en-US/chrome/messenger/messengercompose/EditorLinkProperties.dtd
new file mode 100644
index 0000000000..09b3b01550
--- /dev/null
+++ b/comm/mail/locales/en-US/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 "Link Properties">
+<!ENTITY LinkURLBox.label "Link Location">
diff --git a/comm/mail/locales/en-US/chrome/messenger/messengercompose/EditorListProperties.dtd b/comm/mail/locales/en-US/chrome/messenger/messengercompose/EditorListProperties.dtd
new file mode 100644
index 0000000000..2494330000
--- /dev/null
+++ b/comm/mail/locales/en-US/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 "List Properties">
+
+<!ENTITY ListType.label "List Type">
+<!ENTITY bulletStyle.label "Bullet Style:">
+<!ENTITY startingNumber.label "Start at:">
+<!ENTITY startingNumber.accessKey "S">
+<!ENTITY none.value "None">
+<!ENTITY bulletList.value "Bullet (Unnumbered) List">
+<!ENTITY numberList.value "Numbered List">
+<!ENTITY definitionList.value "Definition List">
+<!ENTITY changeEntireListRadio.label "Change entire list">
+<!ENTITY changeEntireListRadio.accessKey "C">
+<!ENTITY changeSelectedRadio.label "Change just selected items">
+<!ENTITY changeSelectedRadio.accessKey "I">
diff --git a/comm/mail/locales/en-US/chrome/messenger/messengercompose/EditorPersonalDictionary.dtd b/comm/mail/locales/en-US/chrome/messenger/messengercompose/EditorPersonalDictionary.dtd
new file mode 100644
index 0000000000..5eb0aa1af1
--- /dev/null
+++ b/comm/mail/locales/en-US/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 "Personal Dictionary">
+
+<!ENTITY wordEditField.label "New word:">
+<!ENTITY wordEditField.accessKey "N">
+<!ENTITY AddButton.label "Add">
+<!ENTITY AddButton.accessKey "A">
+<!ENTITY DictionaryList.label "Words in dictionary:">
+<!ENTITY DictionaryList.accessKey "W">
+<!ENTITY RemoveButton.label "Remove">
+<!ENTITY RemoveButton.accessKey "e">
+
+<!ENTITY CloseButton.label "Close">
+<!ENTITY CloseButton.accessKey "C">
diff --git a/comm/mail/locales/en-US/chrome/messenger/messengercompose/EditorReplace.dtd b/comm/mail/locales/en-US/chrome/messenger/messengercompose/EditorReplace.dtd
new file mode 100644
index 0000000000..74d907a012
--- /dev/null
+++ b/comm/mail/locales/en-US/chrome/messenger/messengercompose/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.xhtml -->
+
+<!ENTITY replaceDialog.title "Find and Replace">
+<!ENTITY findField.label "Find text:">
+<!ENTITY findField.accesskey "n">
+<!ENTITY replaceField.label "Replace with:">
+<!ENTITY replaceField.accesskey "e">
+<!ENTITY caseSensitiveCheckbox.label "Match exact case">
+<!ENTITY caseSensitiveCheckbox.accesskey "M">
+<!ENTITY wrapCheckbox.label "Wrap around">
+<!ENTITY wrapCheckbox.accesskey "W">
+<!ENTITY backwardsCheckbox.label "Search backwards">
+<!ENTITY backwardsCheckbox.accesskey "b">
+<!ENTITY findNextButton.label "Find Next">
+<!ENTITY findNextButton.accesskey "F">
+<!ENTITY replaceButton.label "Replace">
+<!ENTITY replaceButton.accesskey "R">
+<!ENTITY replaceAndFindButton.label "Replace and Find">
+<!ENTITY replaceAndFindButton.accesskey "d">
+<!ENTITY replaceAllButton.label "Replace All">
+<!ENTITY replaceAllButton.accesskey "A">
+<!ENTITY closeButton.label "Close">
+<!ENTITY closeButton.accesskey "C">
diff --git a/comm/mail/locales/en-US/chrome/messenger/messengercompose/EditorSpellCheck.dtd b/comm/mail/locales/en-US/chrome/messenger/messengercompose/EditorSpellCheck.dtd
new file mode 100644
index 0000000000..7d29154831
--- /dev/null
+++ b/comm/mail/locales/en-US/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 "Check Spelling">
+
+<!ENTITY misspelledWord.label "Misspelled word:">
+<!ENTITY wordEditField.label "Replace with:">
+<!ENTITY wordEditField.accessKey "w">
+<!ENTITY checkwordButton.label "Check Word">
+<!ENTITY checkwordButton.accessKey "k">
+<!ENTITY suggestions.label "Suggestions:">
+<!ENTITY suggestions.accessKey "u">
+<!ENTITY ignoreButton.label "Ignore">
+<!ENTITY ignoreButton.accessKey "I">
+<!ENTITY ignoreAllButton.label "Ignore All">
+<!ENTITY ignoreAllButton.accessKey "n">
+<!ENTITY replaceButton.label "Replace">
+<!ENTITY replaceButton.accessKey "R">
+<!ENTITY replaceAllButton.label "Replace All">
+<!ENTITY replaceAllButton.accessKey "A">
+<!ENTITY stopButton.label "Stop">
+<!ENTITY stopButton.accessKey "o">
+<!ENTITY userDictionary.label "Personal Dictionary:">
+<!ENTITY moreDictionaries.label "Download more dictionaries…">
+<!ENTITY addToUserDictionaryButton.label "Add Word">
+<!ENTITY addToUserDictionaryButton.accessKey "d">
+<!ENTITY editUserDictionaryButton.label "Edit…">
+<!ENTITY editUserDictionaryButton.accessKey "E">
+<!ENTITY recheckButton2.label "Recheck Text">
+<!ENTITY recheckButton2.accessKey "T">
+<!ENTITY closeButton.label "Close">
+<!ENTITY closeButton.accessKey "C">
+<!ENTITY sendButton.label "Send">
+<!ENTITY sendButton.accessKey "S">
+<!ENTITY languagePopup.label "Language:">
+<!ENTITY languagePopup.accessKey "L">
diff --git a/comm/mail/locales/en-US/chrome/messenger/messengercompose/EditorTableProperties.dtd b/comm/mail/locales/en-US/chrome/messenger/messengercompose/EditorTableProperties.dtd
new file mode 100644
index 0000000000..512734d7a0
--- /dev/null
+++ b/comm/mail/locales/en-US/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 "Table Properties">
+<!ENTITY applyButton.label "Apply">
+<!ENTITY applyButton.accesskey "A">
+<!ENTITY closeButton.label "Close">
+<!ENTITY tableTab.label "Table">
+<!ENTITY cellTab.label "Cells">
+<!ENTITY tableRows.label "Rows:">
+<!ENTITY tableRows.accessKey "R">
+<!ENTITY tableColumns.label "Columns:">
+<!ENTITY tableColumns.accessKey "C">
+<!ENTITY tableHeight.label "Height:">
+<!ENTITY tableHeight.accessKey "G">
+<!ENTITY tableWidth.label "Width:">
+<!ENTITY tableWidth.accessKey "W">
+<!ENTITY tableBorderSpacing.label "Borders and Spacing">
+<!ENTITY tableBorderWidth.label "Border:">
+<!ENTITY tableBorderWidth.accessKey "B">
+<!ENTITY tableSpacing.label "Spacing:">
+<!ENTITY tableSpacing.accessKey "S">
+<!ENTITY tablePadding.label "Padding:">
+<!ENTITY tablePadding.accessKey "P">
+<!ENTITY tablePxBetwCells.label "pixels between cells">
+<!ENTITY tablePxBetwBrdrCellContent.label "pixels between cell border and content">
+<!ENTITY tableAlignment.label "Table Alignment:">
+<!ENTITY tableAlignment.accessKey "T">
+<!ENTITY tableCaption.label "Caption:">
+<!ENTITY tableCaption.accessKey "N">
+<!ENTITY tableCaptionAbove.label "Above Table">
+<!ENTITY tableCaptionBelow.label "Below Table">
+<!ENTITY tableCaptionLeft.label "Left of Table">
+<!ENTITY tableCaptionRight.label "Right of table">
+<!ENTITY tableCaptionNone.label "None">
+<!ENTITY tableInheritColor.label "(Let page color show through)">
+
+<!ENTITY cellSelection.label "Selection">
+<!ENTITY cellSelectCell.label "Cell">
+<!ENTITY cellSelectRow.label "Row">
+<!ENTITY cellSelectColumn.label "Column">
+<!ENTITY cellSelectNext.label "Next">
+<!ENTITY cellSelectNext.accessKey "N">
+<!ENTITY cellSelectPrevious.label "Previous">
+<!ENTITY cellSelectPrevious.accessKey "P">
+<!ENTITY applyBeforeChange.label "Current changes will be applied before changing the selection.">
+<!ENTITY cellContentAlignment.label "Content Alignment">
+<!ENTITY cellHorizontal.label "Horizontal:">
+<!ENTITY cellHorizontal.accessKey "Z">
+<!ENTITY cellVertical.label "Vertical:">
+<!ENTITY cellVertical.accessKey "V">
+<!ENTITY cellStyle.label "Cell Style:">
+<!ENTITY cellStyle.accessKey "C">
+<!ENTITY cellNormal.label "Normal">
+<!ENTITY cellHeader.label "Header">
+<!ENTITY cellTextWrap.label "Text Wrap:">
+<!ENTITY cellTextWrap.accessKey "T">
+<!ENTITY cellWrap.label "Wrap">
+<!ENTITY cellNoWrap.label "Don't wrap">
+<!ENTITY cellAlignTop.label "Top">
+<!ENTITY cellAlignMiddle.label "Middle">
+<!ENTITY cellAlignBottom.label "Bottom">
+<!ENTITY cellAlignJustify.label "Justify">
+<!ENTITY cellInheritColor.label "(Let table color show through)">
+<!ENTITY cellUseCheckboxHelp.label "Use checkboxes to determine which properties are applied to all selected cells">
+
+<!-- Used in both Table and Cell panels -->
+<!ENTITY size.label "Size">
+<!ENTITY pixels.label "pixels">
+<!ENTITY backgroundColor.label "Background Color:">
+<!ENTITY backgroundColor.accessKey "B">
+<!ENTITY AlignLeft.label "Left">
+<!ENTITY AlignCenter.label "Center">
+<!ENTITY AlignRight.label "Right">
diff --git a/comm/mail/locales/en-US/chrome/messenger/messengercompose/composeMsgs.properties b/comm/mail/locales/en-US/chrome/messenger/messengercompose/composeMsgs.properties
new file mode 100644
index 0000000000..58e380b580
--- /dev/null
+++ b/comm/mail/locales/en-US/chrome/messenger/messengercompose/composeMsgs.properties
@@ -0,0 +1,457 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+#
+# 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=Unable to open the file %S.
+unableToOpenTmpFile=Unable to open the temporary file %S. Check your 'Temporary Directory' setting.
+unableToSaveTemplate=Unable to save your message as a template.
+unableToSaveDraft=Unable to save your message as a draft.
+couldntOpenFccFolder=Couldn't open the Sent Mail folder. Please verify that your account settings are correct.
+noSender=No sender was specified. Please add your email address in the account settings.
+noRecipients=No recipients were specified. Please enter a recipient or newsgroup in the addressing area.
+errorWritingFile=Error writing temporary file.
+
+## LOCALIZATION NOTE (errorSendingFromCommand): argument %s is the Outgoing server (SMTP) response
+errorSendingFromCommand=An error occurred while sending mail. The mail server responded: %s. Please verify that your email address is correct in your account settings and try again.
+
+## LOCALIZATION NOTE (errorSendingDataCommand): argument %s is the Outgoing server (SMTP) response
+errorSendingDataCommand=An Outgoing server (SMTP) error occurred while sending mail. The server responded: %s.
+
+## LOCALIZATION NOTE (errorSendingMessage): argument %s is the Outgoing server (SMTP) response
+errorSendingMessage=An error occurred while sending mail. The mail server responded: %s. Please check the message and try again.
+postFailed=The message could not be posted because connecting to the news server failed. The server may be unavailable or is refusing connections. Please verify that your news server settings are correct and try again.
+errorQueuedDeliveryFailed=An error occurred while delivering the unsent messages.
+sendFailed=Sending of the message failed.
+
+## LOCALIZATION NOTE (sendFailedUnexpected): argument %X is a hex error code value
+sendFailedUnexpected=Failed due to unexpected error %X. No description is available.
+
+## LOCALIZATION NOTE (smtpSecurityIssue): argument %S is the Outgoing server (SMTP) response
+smtpSecurityIssue=The configuration related to %S must be corrected.
+
+## LOCALIZATION NOTE (smtpServerError): argument %s is the Outgoing server (SMTP) response
+smtpServerError=An error occurred while sending mail: Outgoing server (SMTP) error. The server responded: %s.
+unableToSendLater=Sorry, we were unable to save your message for sending later.
+
+## LOCALIZATION NOTE (communicationsError): argument %d is the error code
+communicationsError=A communications error occurred: %d. Please try again.
+dontShowAlert=THIS IS JUST A PLACEHOLDER. YOU SHOULD NEVER SEE THIS STRING.
+
+couldNotGetUsersMailAddress2=An error occurred while sending mail: the sender's address (From:) was invalid. Please verify that this email address is correct and try again.
+couldNotGetSendersIdentity=An error occurred while sending mail: the sender identity was invalid. Please verify the configuration of your identity and try again.
+
+mimeMpartAttachmentError=Attachment error.
+failedCopyOperation=The message was sent successfully, but could not be copied to your Sent folder.
+nntpNoCrossPosting=You can only send a message to one news server at a time.
+msgCancelling=Cancelling…
+sendFailedButNntpOk=Your message has been posted to the newsgroup but has not been sent to the other recipient.
+errorReadingFile=Error reading file.
+followupToSenderMessage=The author of this message has requested that responses be sent only to the author. If you also want to reply to the newsgroup, add a new row to the addressing area, choose Newsgroup from the recipients list, and enter the name of the newsgroup.
+
+## LOCALIZATION NOTE (errorAttachingFile): argument %S is the file name/URI of the object to be attached
+errorAttachingFile=There was an error attaching %S. Please check that you have access to the file.
+
+## LOCALIZATION NOTE (incorrectSmtpGreeting): argument %s is the Outgoing server (SMTP) greeting
+incorrectSmtpGreeting=An error occurred while sending mail: The mail server sent an incorrect greeting: %s.
+
+## LOCALIZATION NOTE (errorSendingRcptCommand): argument %1$S is the Outgoing server (SMTP) response, argument %2$S is the intended message recipient.
+errorSendingRcptCommand=An error occurred while sending mail. The mail server responded:\n%1$S.\nPlease check the message recipient "%2$S" and try again.
+
+## LOCALIZATION NOTE (startTlsFailed): argument %S is the Outgoing server (SMTP)
+startTlsFailed=An error occurred while sending mail: Unable to establish a secure link with Outgoing server (SMTP) %S using STARTTLS since it doesn't advertise that feature. Switch off STARTTLS for that server or contact your service provider.
+
+## LOCALIZATION NOTE (smtpPasswordUndefined): argument %S is the Outgoing server (SMTP) account
+smtpPasswordUndefined=An error occurred while sending mail: Could not get password for %S. The message was not sent.
+
+## LOCALIZATION NOTE (smtpSendNotAllowed): argument %s is the Outgoing server (SMTP) response
+smtpSendNotAllowed=An error occurred while sending mail. The mail server responded:\n%s.\nPlease ensure that you are using the correct identity to send and that the used authentication method is correct. Verify that you are allowed to send via this SMTP server with your current credentials from your current network.
+
+## LOCALIZATION NOTE (smtpTooManyRecipients): argument %s is the Outgoing server (SMTP) response
+smtpTooManyRecipients=The message was not sent due to exceeding the allowed number of recipients. The server responded: %s.
+
+## LOCALIZATION NOTE (smtpClientid): argument %s is the Outgoing server (SMTP) response
+smtpClientid=The outgoing server (SMTP) detected an error in the CLIENTID command. The message was not sent. The server responded: %s
+
+## LOCALIZATION NOTE (smtpClientidPermission): argument %s is the Outgoing server (SMTP) response
+smtpClientidPermission=The outgoing server (SMTP) response to the CLIENTID command indicates that your device is not permitted to send mail. The server responded: %s
+
+## LOCALIZATION NOTE (smtpPermSizeExceeded2): argument %s is the Outgoing server (SMTP) response
+smtpPermSizeExceeded2=The size of the message you are trying to send exceeds the global size limit of the server. The message was not sent; reduce the message size and try again. The server responded: %s.
+
+## LOCALIZATION NOTE (smtpSendFailedUnknownServer): argument %S is the Outgoing server (SMTP)
+smtpSendFailedUnknownServer=An error occurred while sending mail: Outgoing server (SMTP) %S is unknown. The server may be incorrectly configured. Please verify that your Outgoing server (SMTP) settings are correct and try again.
+
+## LOCALIZATION NOTE (smtpSendRequestRefused): argument %S is the Outgoing server (SMTP)
+smtpSendRequestRefused=The message could not be sent because connecting to Outgoing server (SMTP) %S failed. The server may be unavailable or is refusing SMTP connections. Please verify that your Outgoing server (SMTP) settings are correct and try again.
+
+## LOCALIZATION NOTE (smtpSendInterrupted): argument %S is the Outgoing server (SMTP)
+smtpSendInterrupted=The message could not be sent because the connection to Outgoing server (SMTP) %S was lost in the middle of the transaction. Try again.
+
+## LOCALIZATION NOTE (smtpSendTimeout): argument %S is the Outgoing server (SMTP)
+smtpSendTimeout=The message could not be sent because the connection to Outgoing server (SMTP) %S timed out. Try again.
+
+## LOCALIZATION NOTE (smtpSendFailedUnknownReason): argument %S is the Outgoing server (SMTP)
+smtpSendFailedUnknownReason=The message could not be sent using Outgoing server (SMTP) %S for an unknown reason. Please verify that your Outgoing server (SMTP) settings are correct and try again.
+
+# LOCALIZATION NOTE (smtpHintAuthEncryptToPlainNoSsl): %S is the server hostname
+smtpHintAuthEncryptToPlainNoSsl=The Outgoing server (SMTP) %S does not seem to support encrypted passwords. If you just set up the account, try changing the 'Authentication method' in 'Account Settings | Outgoing server (SMTP)' to 'Password, transmitted insecurely'. If it used to work but now doesn't, you may be susceptible to getting your password stolen.
+
+# LOCALIZATION NOTE (smtpHintAuthEncryptToPlainSsl): %S is the server hostname
+smtpHintAuthEncryptToPlainSsl=The Outgoing server (SMTP) %S does not seem to support encrypted passwords. If you just set up the account, try changing the 'Authentication method' in 'Account settings | Outgoing server (SMTP)' to 'Normal password'.
+
+# LOCALIZATION NOTE (smtpHintAuthPlainToEncrypt): %S is the server hostname
+smtpHintAuthPlainToEncrypt=The Outgoing server (SMTP) %S does not allow plaintext passwords. Please try changing the 'Authentication method' in 'Account Settings | Outgoing server (SMTP)' to 'Encrypted password'.
+
+# LOCALIZATION NOTE (smtpAuthFailure): %S is the server hostname
+smtpAuthFailure=Unable to authenticate to Outgoing server (SMTP) %S. Please check the password and verify the 'Authentication method' in 'Account Settings | Outgoing server (SMTP)'.
+
+# LOCALIZATION NOTE (smtpAuthGssapi): %S is the server hostname
+smtpAuthGssapi=The Kerberos/GSSAPI ticket was not accepted by the Outgoing server (SMTP) %S. Please check that you are logged in to the Kerberos/GSSAPI realm.
+
+# LOCALIZATION NOTE (smtpAuthMechNotSupported): %S is the server hostname
+smtpAuthMechNotSupported=The Outgoing server (SMTP) %S does not support the selected authentication method. Please change the 'Authentication method' in 'Account Settings | Outgoing Server (SMTP)'.
+
+# LOCALIZATION NOTE (errorIllegalLocalPart2): %s is an email address with an illegal localpart
+errorIllegalLocalPart2=There are non-ASCII characters in the local part of the recipient address %s and your server does not support SMTPUTF8. Please change this address and try again.
+
+## Strings used for the save message dialog shown when the user closes a message compose window
+saveDlogTitle=Save Message
+
+## 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=Save this message to your drafts folder (%1$S) and close the Write window?
+discardButtonLabel=&Discard changes
+
+## generics string
+defaultSubject=(no subject)
+chooseFileToAttach=Attach File(s)
+genericFailureExplanation=Please verify that your account settings are correct and try again.
+
+## 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=Attach File(s) via %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=Write: %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=Print Preview: %1$S - %2$S
+
+## From field
+msgIdentityPlaceholder=Enter custom From address to be used instead of %S
+customizeFromAddressTitle=Customize From Address
+customizeFromAddressWarning=If your email provider supports it, Customize From Address allows you to make a one-off minor alteration to your From address without having to create a new identity in Account Settings. For example, if your From address is John Doe <john@example.com> you may want to change it to John Doe <john+doe@example.com> or John <john@example.com>.
+customizeFromAddressIgnore=Never notify me of this again
+
+## Strings used by the empty subject dialog
+subjectEmptyTitle=Subject Reminder
+subjectEmptyMessage=Your message doesn't have a subject.
+sendWithEmptySubjectButton=&Send Without Subject
+cancelSendingButton=&Cancel Sending
+
+## Strings used by the dialog that informs about the lack of newsgroup support.
+noNewsgroupSupportTitle=Newsgroups Not Supported
+recipientDlogMessage=This account only supports email recipients. Continuing will ignore newsgroups.
+
+## Strings used by the alert that tells the user that an email address is invalid.
+addressInvalidTitle=Invalid Recipient Address
+addressInvalid=%1$S is not a valid email address because it is not of the form user@host. You must correct it before sending the email.
+
+## String used by the dialog that asks the user to attach a web page
+attachPageDlogTitle=Please specify a location to attach
+attachPageDlogMessage=Web Page (URL):
+
+## String used for attachment pretty name, when the attachment is a message
+messageAttachmentSafeName=Attached Message
+
+## String used for attachment pretty name, when the attachment is a message part
+partAttachmentSafeName=Attached Message Part
+
+# LOCALIZATION NOTE (attachmentBucketAttachFilesTooltip):
+# This tooltip should be same as attachFile.label in messengercompose.dtd,
+# but without ellipsis (…).
+attachmentBucketAttachFilesTooltip=Attach File(s)
+attachmentBucketClearSelectionTooltip=Clear Selection
+attachmentBucketHeaderShowTooltip=Show attachment pane
+attachmentBucketHeaderMinimizeTooltip=Minimize attachment pane
+attachmentBucketHeaderRestoreTooltip=Restore attachment pane
+
+## String used by the Initialization Error dialog
+initErrorDlogTitle=Message Compose
+initErrorDlgMessage=An error occurred while creating a message compose window. Please try again.
+
+## String used if a file to attach does not exist when passed as
+## a command line argument
+errorFileAttachTitle=File Attach
+
+## LOCALIZATION NOTE (errorFileAttachMessage): %1$S will be replaced by the non-existent file name.
+errorFileAttachMessage=The file %1$S does not exist so could not be attached to the message.
+
+## 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=Message File
+
+## LOCALIZATION NOTE (errorFileMessageMessage): %1$S will be replaced by the non-existent file name.
+errorFileMessageMessage=The file %1$S does not exist and could not be used as message body.
+
+## LOCALIZATION NOTE (errorLoadFileMessageMessage): %1$S will be replaced by the name of the file that can't be loaded.
+errorLoadFileMessageMessage=The file %1$S could not be loaded as message body.
+
+## Strings used by the Save as Draft/Template dialog
+SaveDialogTitle=Save Message
+
+## LOCALIZATION NOTE (SaveDialogMsg): %1$S is the folder name, %2$S is the host name
+SaveDialogMsg=Your message has been saved to the folder %1$S under %2$S.
+CheckMsg=Do not show me this dialog box again.
+
+## Strings used by the prompt when Quitting while in progress
+quitComposeWindowTitle=Sending Message
+
+## LOCALIZATION NOTE (quitComposeWindowMessage2): don't translate \n
+quitComposeWindowMessage2=%1$S is currently in the process of sending a message.\nWould you like to wait until the message has been sent before quitting or quit now?
+quitComposeWindowQuitButtonLabel2=&Quit
+quitComposeWindowWaitButtonLabel2=&Wait
+quitComposeWindowSaveTitle=Saving Message
+
+## LOCALIZATION NOTE (quitComposeWindowSaveMessage): don't translate \n
+quitComposeWindowSaveMessage=%1$S is currently in the process of saving a message.\nWould you like to wait until the message has been saved before quitting or quit now?
+
+## Strings used by the prompt for Ctrl-Enter check before sending message
+sendMessageCheckWindowTitle=Send Message
+sendMessageCheckLabel=Are you sure you are ready to send this message?
+sendMessageCheckSendButtonLabel=Send
+assemblingMessageDone=Assembling message…Done
+assemblingMessage=Assembling message…
+smtpDeliveringMail=Delivering mail…
+smtpMailSent=Mail sent successfully
+assemblingMailInformation=Assembling mail information…
+
+## LOCALIZATION NOTE (gatheringAttachment): argument %S is the file name/URI of attachment
+gatheringAttachment=Attaching %S…
+creatingMailMessage=Creating mail message…
+
+## LOCALIZATION NOTE (copyMessageStart): argument %S is the folder name
+copyMessageStart=Copying message to %S folder…
+copyMessageComplete=Copy complete.
+copyMessageFailed=Copy failed.
+filterMessageComplete=Filter complete.
+filterMessageFailed=Filter failed.
+
+## LOCALIZATION NOTE (largeMessageSendWarning):
+## Do not translate %S. It is the size of the message in user-friendly notation.
+largeMessageSendWarning=Warning! You are about to send a message of size %S. Are you sure you want to do this?
+sendingMessage=Sending message…
+sendMessageErrorTitle=Send Message Error
+postingMessage=Posting message…
+sendLaterErrorTitle=Send Later Error
+saveDraftErrorTitle=Save Draft Error
+saveTemplateErrorTitle=Save Template Error
+
+## LOCALIZATION NOTE (failureOnObjectEmbeddingWhileSaving): argument %.200S is the file name/URI of object to be embedded
+failureOnObjectEmbeddingWhileSaving=There was a problem including the file %.200S in the message. Would you like to continue saving the message without this file?
+
+## LOCALIZATION NOTE (failureOnObjectEmbeddingWhileSending): argument %.200S is the file name/URI of object to be embedded
+failureOnObjectEmbeddingWhileSending=There was a problem including the file %.200S in the message. Would you like to continue sending the message without this file?
+returnToComposeWindowQuestion=Would you like to return to the compose window?
+
+## 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 wrote:
+
+## LOCALIZATION NOTE (mailnews.reply_header_ondateauthorwrote): #1 is the author, #2 is the date, #3 is the time
+mailnews.reply_header_ondateauthorwrote=On #2 #3, #1 wrote:
+
+## LOCALIZATION NOTE (mailnews.reply_header_authorwroteondate): #1 is the author, #2 is the date, #3 is the time
+mailnews.reply_header_authorwroteondate=#1 wrote on #2 #3:
+
+## reply header in composeMsg
+## user specified
+mailnews.reply_header_originalmessage=-------- Original Message --------
+
+## forwarded header in composeMsg
+## user specified
+mailnews.forward_header_originalmessage=-------- Forwarded Message --------
+
+## Strings used by the rename attachment dialog
+renameAttachmentTitle=Rename Attachment
+renameAttachmentMessage=New attachment name:
+
+## 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
+
+remindLaterButton=Remind Me Later
+remindLaterButton.accesskey=L
+disableAttachmentReminderButton=Disable attachment reminder for current message
+attachmentReminderTitle=Attachment Reminder
+attachmentReminderMsg=Did you forget to add an attachment?
+
+# LOCALIZATION NOTE (attachmentReminderKeywordsMsgs): Semi-colon list of plural forms.
+# See: https://developer.mozilla.org/en/Localization_and_Plurals
+# #1 number of keywords
+attachmentReminderKeywordsMsgs=Found an attachment keyword:;Found #1 attachment keywords:
+attachmentReminderOptionsMsg=Attachment reminder words can be configured in your preferences
+attachmentReminderYesIForgot=Oh, I did!
+attachmentReminderFalseAlarm=No, Send Now
+
+# Strings used by the Filelink offer notification bar.
+learnMore.label=Learn More…
+learnMore.accesskey=m
+
+# 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=This is a large file. It might be better to use Filelink instead.;These are large files. It might be better to use Filelink instead.
+bigFileShare.label=Link
+bigFileShare.accesskey=l
+bigFileAttach.label=Ignore
+bigFileAttach.accesskey=i
+bigFileChooseAccount.title=Choose Account
+bigFileChooseAccount.text=Choose a cloud account to upload the attachment to
+bigFileHideNotification.title=Don't Upload My Files
+bigFileHideNotification.text=You won't be notified if you attach more big files to this message.
+bigFileHideNotification.check=Never notify me of this again.
+
+# 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=Uploading to %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=Uploaded to %S
+cloudFileUploadingNotification=Your file is being linked. It will appear in the body of the message when it's done.;Your files are being linked. They will appear in the body of the message when it's done.
+cloudFileUploadingCancel.label=Cancel
+cloudFileUploadingCancel.accesskey=c
+cloudFilePrivacyNotification=Linking is complete. Please note that linked attachments may be accessible to people who can see or guess the links.
+
+## LOCALIZATION NOTE(smtpEnterPasswordPrompt): Do not translate the
+## word %S. Place the word %S where the host name should appear.
+smtpEnterPasswordPrompt=Enter your password for %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=Enter your password for %2$S on %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=Password Required for Outgoing (SMTP) Server %1$S
+
+# LOCALIZATION NOTE (removeAttachmentMsgs): Semi-colon list of plural forms.
+# See: https://developer.mozilla.org/en/Localization_and_Plurals
+removeAttachmentMsgs=Remove Attachment;Remove Attachments
+
+## 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=Your message was sent but a copy was not placed in your sent folder (%1$S) due to network or file access errors.\nYou can retry or save the message locally to %3$S/%1$S-%2$S.
+errorFilteringMsg=Your message has been sent and saved, but there was an error while running message filters on it.
+errorCloudFileAuth.title=Authentication Error
+
+## 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=Your draft message was not copied to your drafts folder (%1$S) due to network or file access errors.\nYou can retry or save the draft locally to %3$S/%1$S-%2$S.
+buttonLabelRetry2=&Retry
+
+## 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=Your template was not copied to your templates folder (%1$S) due to network or file access errors.\nYou can retry or save the template locally to %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=Unable to save your message to local folders. Possibly out of file storage space.
+
+## LOCALIZATION NOTE(errorCloudFileAuth.message):
+## %1$S is the name of the online storage service against which the authentication failed.
+errorCloudFileAuth.message=Unable to authenticate to %1$S.
+errorCloudFileUpload.title=Upload Error
+
+## 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=Unable to upload %2$S to %1$S.
+errorCloudFileQuota.title=Quota Error
+
+## 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=Uploading %2$S to %1$S would exceed your space quota.
+errorCloudFileLimit.title=File Size Error
+
+## 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 exceeds the maximum size for %1$S.
+errorCloudFileOther.title=Unknown Error
+
+## LOCALIZATION NOTE(errorCloudFileOther.message):
+## %1$S is the name of the online storage service that cannot be communicated with.
+errorCloudFileOther.message=An unknown error occurred when communicating with %1$S.
+errorCloudFileDeletion.title=Deletion Error
+
+## 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=There was a problem deleting %2$S from %1$S.
+errorCloudFileUpgrade.label=Upgrade
+
+## LOCALIZATION NOTE(stopShowingUploadingNotification): This string is used in the Filelink
+## upload notification bar to allow the user to dismiss the notification permanently.
+stopShowingUploadingNotification.accesskey=N
+stopShowingUploadingNotification.label=Never show this again
+replaceButton.label=Replace…
+replaceButton.accesskey=x
+replaceButton.tooltip=Show the Find and Replace dialog
+
+## LOCALIZATION NOTE(blockedAllowResource): %S is the URL to load.
+blockedAllowResource=Unblock %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 has blocked a file from loading into this message. Unblocking the file will include it in your sent message.;%S has blocked some files from loading into this message. Unblocking a file will include it in your sent message.
+
+blockedContentPrefLabel=Options
+blockedContentPrefAccesskey=O
+
+blockedContentPrefLabelUnix=Preferences
+blockedContentPrefAccesskeyUnix=P
+
+## Recipient pills fields.
+## LOCALIZATION NOTE(confirmRemoveRecipientRowTitle2): %S will be replaced with the field name.
+confirmRemoveRecipientRowTitle2=Remove %S Addresses
+## LOCALIZATION NOTE(confirmRemoveRecipientRowBody2): %S will be replaced with the field name.
+confirmRemoveRecipientRowBody2=Are you sure you want to remove the %S addresses?
+confirmRemoveRecipientRowButton=Remove
+
+## 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/comm/mail/locales/en-US/chrome/messenger/messengercompose/editor.properties b/comm/mail/locales/en-US/chrome/messenger/messengercompose/editor.properties
new file mode 100644
index 0000000000..de9f688ed8
--- /dev/null
+++ b/comm/mail/locales/en-US/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=No
+Save=Save
+More=More
+Less=Less
+MoreProperties=More Properties
+FewerProperties=Fewer Properties
+PropertiesAccessKey=P
+None=None
+none=none
+OpenHTMLFile=Open HTML File
+OpenTextFile=Open Text File
+SelectImageFile=Select Image File
+SaveDocument=Save Page
+SaveDocumentAs=Save Page As
+SaveTextAs=Save Text As
+EditMode=Edit Mode
+Preview=Preview
+Publish=Publish
+PublishPage=Publish Page
+DontPublish=Don't Publish
+SavePassword=Use Password Manager to save this password
+CorrectSpelling=(correct spelling)
+NoSuggestedWords=(no suggested words)
+NoMisspelledWord=No misspelled words
+CheckSpellingDone=Completed spell checking.
+CheckSpelling=Check Spelling
+InputError=Error
+Alert=Alert
+CantEditFramesetMsg=Composer cannot edit HTML framesets, or pages with inline frames. For framesets, try editing the page for each frame separately. For pages with iframes, save a copy of the page and remove the <iframe> tag.
+CantEditMimeTypeMsg=This type of page can't be edited.
+CantEditDocumentMsg=This page can't be edited for an unknown reason.
+BeforeClosing=before closing
+BeforePreview=before viewing in the browser
+BeforeValidate=before validating the document
+# LOCALIZATION NOTE (SaveFilePrompt, PublishPrompt): Don't translate %title% and %reason% (this is the reason for asking user to close, such as "before closing")
+SaveFilePrompt=Save changes to "%title%" %reason%?
+PublishPrompt=Save changes to "%title%" %reason%?
+SaveFileFailed=Saving file failed!
+
+# Publishing error strings:
+# LOCALIZATION NOTE Don't translate %dir% or %file% in the Publishing error strings:
+FileNotFound=%file% not found.
+SubdirDoesNotExist=The subdirectory "%dir%" doesn't exist on this site or the filename "%file%" is already in use by another subdirectory.
+FilenameIsSubdir=The filename "%file%" is already in use by another subdirectory.
+ServerNotAvailable=The server is not available. Check your connection and try again later.
+Offline=You are currently offline. Click the icon near the lower-right corner of any window to go online.
+DiskFull=There is not enough disk space available to save the file "%file%."
+NameTooLong=The filename or subdirectory name is too long.
+AccessDenied=You do not have permission to publish to this location.
+UnknownPublishError=Unknown publishing error occurred.
+PublishFailed=Publishing failed.
+PublishCompleted=Publishing completed.
+AllFilesPublished=All files published
+# LOCALIZATION NOTE Don't translate %x% or %total%
+FailedFileMsg=%x% of %total% files failed to publish.
+# End-Publishing error strings
+Prompt=Prompt
+# LOCALIZATION NOTE (PromptFTPUsernamePassword): Don't translate %host%
+PromptFTPUsernamePassword=Enter username and password for FTP server at %host%
+RevertCaption=Revert To Last Saved
+Revert=Revert
+SendPageReason=before sending this page
+Send=Send
+## LOCALIZATION NOTE (PublishProgressCaption, PublishToSite, AbandonChanges): Don't translate %title%
+PublishProgressCaption=Publishing: %title%
+PublishToSite=Publishing to Site: %title%
+AbandonChanges=Abandon unsaved changes to "%title%" and reload page?
+DocumentTitle=Page Title
+NeedDocTitle=Please enter a title for the current page.
+DocTitleHelp=This identifies the page in the window title and bookmarks.
+CancelPublishTitle=Cancel publishing?
+## LOCALIZATION NOTE: "Continue" in this sentence must match the text for
+## the CancelPublishContinue key below
+CancelPublishMessage=Cancelling while publishing is in progress may result in your file(s) being incompletely transferred. Would you like to Continue or Cancel?
+CancelPublishContinue=Continue
+MissingImageError=Please enter or choose an image of type gif, jpg, or png.
+EmptyHREFError=Please choose a location to create a new link.
+LinkText=Link Text
+LinkImage=Link Image
+MixedSelection=[Mixed selection]
+Mixed=(mixed)
+# LOCALIZATION NOTE (NotInstalled): %S is the name of the font
+NotInstalled=%S (not installed)
+EnterLinkText=Enter text to display for the link:
+EnterLinkTextAccessKey=T
+EmptyLinkTextError=Please enter some text for this link.
+EditTextWarning=This will replace existing content.
+#LOCALIZATION NOTE (ValidateNumber):Don't translate: %n% %min% %max%
+ValidateRangeMsg=The number you entered (%n%) is outside of the allowed range.
+ValidateNumberMsg=Please enter a number between %min% and %max%.
+MissingAnchorNameError=Please enter a name for this anchor.
+#LOCALIZATION NOTE (DuplicateAnchorNameError): Don't translate %name%
+DuplicateAnchorNameError="%name%" already exists in this page. Please enter a different name.
+BulletStyle=Bullet Style
+SolidCircle=Solid circle
+OpenCircle=Open circle
+SolidSquare=Solid square
+NumberStyle=Number Style
+Automatic=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=pixels
+Percent=percent
+PercentOfCell=% of cell
+PercentOfWindow=% of window
+PercentOfTable=% of table
+#LOCALIZATION NOTE (untitledTitle): %S is the window #. No plural handling needed.
+untitledTitle=untitled-%S
+untitledDefaultFilename=untitled
+ShowToolbar=Show Toolbar
+HideToolbar=Hide Toolbar
+ImapError=Unable to load image
+ImapCheck=\nPlease select a new location (URL) and try again.
+SaveToUseRelativeUrl=Relative URLs can only be used on pages which have been saved
+NoNamedAnchorsOrHeadings=(No named anchors or headings in this page)
+TextColor=Text Color
+HighlightColor=Highlight Color
+PageColor=Page Background Color
+BlockColor=Block Background Color
+TableColor=Table Background Color
+CellColor=Cell Background Color
+TableOrCellColor=Table or Cell Color
+LinkColor=Link Text Color
+ActiveLinkColor=Active Link Color
+VisitedLinkColor=Visited Link Color
+NoColorError=Click on a color or enter a valid HTML color string
+Table=Table
+TableCell=Table Cell
+NestedTable=Nested Table
+HLine=Horizontal Line
+Link=Link
+Image=Image
+ImageAndLink=Image and Link
+NamedAnchor=Named Anchor
+List=List
+ListItem=List Item
+Form=Form
+InputTag=Form Field
+InputImage=Form Image
+TextArea=Text Area
+Select=Selection List
+Button=Button
+Label=Label
+FieldSet=Field Set
+Tag=Tag
+MissingSiteNameError=Please enter a name for this publishing site.
+MissingPublishUrlError=Please enter a location for publishing this page.
+MissingPublishFilename=Please enter a filename for the current page.
+#LOCALIZATION NOTE (DuplicateSiteNameError): Don't translate %name%
+DuplicateSiteNameError="%name%" already exists. Please enter a different site name.
+AdvancedProperties=Advanced Properties…
+AdvancedEditForCellMsg=Advanced Edit is unavailable when multiple cells are selected
+# LOCALIZATION NOTE (ObjectProperties):Don't translate "%obj%" it will be replaced with one of above object nouns
+ObjectProperties=%obj% Properties…
+# LOCALIZATION NOTE This character must be in the above string and not conflict with other accesskeys in Format menu
+ObjectPropertiesAccessKey=o
+# LOCALIZATION NOTE (JoinSelectedCells): This variable should contain the "tableJoinCells.accesskey"
+# letter as defined in editorOverlay.dtd
+JoinSelectedCells=Join Selected Cells
+# LOCALIZATION NOTE (JoinCellToRight): This variable should contain the "tableJoinCells.accesskey"
+# letter as defined in editorOverlay.dtd
+JoinCellToRight=Join with Cell to the Right
+JoinCellAccesskey=j
+# 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=Delete
+DeleteCells=Delete Cells
+DeleteTableTitle=Delete Rows or Columns
+DeleteTableMsg=Reducing the number of rows or columns will delete table cells and their contents. Do you really want to do this?
+Clear=Clear
+#Mouse actions
+Click=Click
+Drag=Drag
+Unknown=Unknown
+#
+# LOCALIZATION NOTE "RemoveTextStylesAccesskey" is used for both
+# menu items: "RemoveTextStyles" and "StopTextStyles"
+RemoveTextStylesAccesskey=x
+RemoveTextStyles=Remove All Text Styles
+StopTextStyles=Discontinue Text Styles
+#
+# LOCALIZATION NOTE "RemoveLinksAccesskey" is used for both
+# menu items: "RemoveLinks" and "StopLinks"
+RemoveLinksAccesskey=n
+RemoveLinks=Remove Links
+StopLinks=Discontinue Link
+#
+NoFormAction=It is recommended that you enter an action for this form. Self-posting forms are an advanced technique that may not work consistently in all browsers.
+NoAltText=If the image is relevant to the content of the document, you must supply alternate text that will appear in text-only browsers, and that will appear in other browsers when an image is loading or when image loading is disabled.
+#
+Malformed=The source could not be converted back into the document because it is not valid XHTML.
+NoLinksToCheck=There are no elements with links to check
diff --git a/comm/mail/locales/en-US/chrome/messenger/messengercompose/editorOverlay.dtd b/comm/mail/locales/en-US/chrome/messenger/messengercompose/editorOverlay.dtd
new file mode 100644
index 0000000000..5dab39ce19
--- /dev/null
+++ b/comm/mail/locales/en-US/chrome/messenger/messengercompose/editorOverlay.dtd
@@ -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/. -->
+
+<!-- Attn: Localization - some of the menus in this dialog directly affect mail also. -->
+
+<!-- Edit menu items -->
+<!ENTITY pasteNoFormatting.label "Paste Without Formatting">
+<!ENTITY pasteNoFormatting.accesskey "n">
+<!ENTITY pasteNoFormatting.key "V">
+<!ENTITY pasteAsQuotationCmd.label "Paste As Quotation">
+<!ENTITY pasteAsQuotationCmd.accesskey "Q">
+
+<!-- Insert menu items -->
+<!ENTITY insertMenu.label "Insert">
+<!ENTITY insertMenu.accesskey "I">
+<!ENTITY insertLinkCmd2.label "Link…">
+<!ENTITY insertLinkCmd2.accesskey "L">
+<!ENTITY insertLinkCmd2.key "K">
+<!ENTITY insertAnchorCmd.label "Named Anchor…">
+<!ENTITY insertAnchorCmd.accesskey "A">
+<!ENTITY insertImageCmd.label "Image…">
+<!ENTITY insertImageCmd.accesskey "I">
+<!ENTITY insertHLineCmd.label "Horizontal Line">
+<!ENTITY insertHLineCmd.accesskey "o">
+<!ENTITY insertTableCmd.label "Table…">
+<!ENTITY insertTableCmd.accesskey "T">
+<!ENTITY insertHTMLCmd.label "HTML…">
+<!ENTITY insertHTMLCmd.accesskey "H">
+<!ENTITY insertMathCmd.label "Math…">
+<!ENTITY insertMathCmd.accesskey "M">
+<!ENTITY insertCharsCmd.label "Characters and Symbols…">
+<!ENTITY insertCharsCmd.accesskey "C">
+<!ENTITY insertBreakAllCmd.label "Break Below Image(s)">
+<!ENTITY insertBreakAllCmd.accesskey "k">
+
+<!-- Used just in context popup. -->
+<!ENTITY createLinkCmd.label "Create Link…">
+<!ENTITY createLinkCmd.accesskey "k">
+<!ENTITY editLinkCmd.label "Edit Link in New Composer">
+<!ENTITY editLinkCmd.accesskey "i">
+
+<!-- Font Face SubMenu -->
+<!ENTITY FontFaceSelect.tooltip "Choose a font">
+<!ENTITY fontfaceMenu.label "Font">
+<!ENTITY fontfaceMenu.accesskey "F">
+<!ENTITY fontVarWidth.label "Variable Width">
+<!ENTITY fontVarWidth.accesskey "V">
+<!ENTITY fontFixedWidth.label "Fixed Width">
+<!ENTITY fontFixedWidth.accesskey "x">
+<!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 "Choose a font size">
+<!ENTITY decreaseFontSize.label "Smaller">
+<!ENTITY decreaseFontSize.accesskey "r">
+<!ENTITY decrementFontSize.key "&lt;">
+<!ENTITY decrementFontSize.key2 ","> <!-- < is above this key on many keyboards -->
+<!ENTITY increaseFontSize.label "Larger">
+<!ENTITY increaseFontSize.accesskey "g">
+<!ENTITY incrementFontSize.key "&gt;">
+<!ENTITY incrementFontSize.key2 "."> <!-- > is above this key on many keyboards -->
+
+<!ENTITY fontSizeMenu.label "Size">
+<!ENTITY fontSizeMenu.accesskey "z">
+<!ENTITY size-tinyCmd.label "Tiny">
+<!ENTITY size-tinyCmd.accesskey "T">
+<!ENTITY size-smallCmd.label "Small">
+<!ENTITY size-smallCmd.accesskey "S">
+<!ENTITY size-mediumCmd.label "Medium">
+<!ENTITY size-mediumCmd.accesskey "M">
+<!ENTITY size-largeCmd.label "Large">
+<!ENTITY size-largeCmd.accesskey "L">
+<!ENTITY size-extraLargeCmd.label "Extra Large">
+<!ENTITY size-extraLargeCmd.accesskey "x">
+<!ENTITY size-hugeCmd.label "Huge">
+<!ENTITY size-hugeCmd.accesskey "H">
+
+<!-- Font Style SubMenu -->
+<!ENTITY fontStyleMenu.label "Text Style">
+<!ENTITY fontStyleMenu.accesskey "S">
+<!ENTITY styleBoldCmd.label "Bold">
+<!ENTITY styleBoldCmd.accesskey "B">
+<!ENTITY styleBoldCmd.key "B">
+<!ENTITY styleItalicCmd.label "Italic">
+<!ENTITY styleItalicCmd.accesskey "I">
+<!ENTITY styleItalicCmd.key "I">
+<!ENTITY styleUnderlineCmd.label "Underline">
+<!ENTITY styleUnderlineCmd.accesskey "U">
+<!ENTITY styleUnderlineCmd.key "U">
+<!ENTITY styleStrikeThruCmd.label "Strikethrough">
+<!ENTITY styleStrikeThruCmd.accesskey "k">
+<!ENTITY styleSuperscriptCmd.label "Superscript">
+<!ENTITY styleSuperscriptCmd.accesskey "p">
+<!ENTITY styleSubscriptCmd.label "Subscript">
+<!ENTITY styleSubscriptCmd.accesskey "S">
+<!ENTITY styleNonbreakingCmd.label "Nonbreaking">
+<!ENTITY styleNonbreakingCmd.accesskey "N">
+<!ENTITY styleEm.label "Emphasis">
+<!ENTITY styleEm.accesskey "E">
+<!ENTITY styleStrong.label "Stronger Emphasis">
+<!ENTITY styleStrong.accesskey "t">
+<!ENTITY styleCite.label "Citation">
+<!ENTITY styleCite.accesskey "C">
+<!ENTITY styleAbbr.label "Abbreviation">
+<!ENTITY styleAbbr.accesskey "A">
+<!ENTITY styleAcronym.label "Acronym">
+<!ENTITY styleAcronym.accesskey "r">
+<!ENTITY styleCode.label "Code">
+<!ENTITY styleCode.accesskey "o">
+<!ENTITY styleSamp.label "Sample Output">
+<!ENTITY styleSamp.accesskey "m">
+<!ENTITY styleVar.label "Variable">
+<!ENTITY styleVar.accesskey "V">
+
+<!ENTITY formatFontColor.label "Text Color…">
+<!ENTITY formatFontColor.accesskey "C">
+<!ENTITY tableOrCellColor.label "Table or Cell Background Color…">
+<!ENTITY tableOrCellColor.accesskey "B">
+
+<!ENTITY formatRemoveStyles.key "Y">
+<!ENTITY formatRemoveLinks.key "K">
+<!ENTITY formatRemoveNamedAnchors.label "Remove Named Anchors">
+<!ENTITY formatRemoveNamedAnchors.accesskey "R">
+<!ENTITY formatRemoveNamedAnchors2.key "R">
+
+<!ENTITY paragraphMenu.label "Paragraph">
+<!ENTITY paragraphMenu.accesskey "P">
+<!ENTITY paragraphParagraphCmd.label "Paragraph">
+<!ENTITY paragraphParagraphCmd.accesskey "P">
+<!ENTITY heading1Cmd.label "Heading 1">
+<!ENTITY heading1Cmd.accesskey "1">
+<!ENTITY heading2Cmd.label "Heading 2">
+<!ENTITY heading2Cmd.accesskey "2">
+<!ENTITY heading3Cmd.label "Heading 3">
+<!ENTITY heading3Cmd.accesskey "3">
+<!ENTITY heading4Cmd.label "Heading 4">
+<!ENTITY heading4Cmd.accesskey "4">
+<!ENTITY heading5Cmd.label "Heading 5">
+<!ENTITY heading5Cmd.accesskey "5">
+<!ENTITY heading6Cmd.label "Heading 6">
+<!ENTITY heading6Cmd.accesskey "6">
+<!ENTITY paragraphAddressCmd.label "Address">
+<!ENTITY paragraphAddressCmd.accesskey "A">
+<!ENTITY paragraphPreformatCmd.label "Preformat">
+<!ENTITY paragraphPreformatCmd.accesskey "f">
+
+<!-- List menu items -->
+<!ENTITY formatlistMenu.label "List">
+<!ENTITY formatlistMenu.accesskey "L">
+<!ENTITY noneCmd.label "None">
+<!ENTITY noneCmd.accesskey "N">
+<!ENTITY listBulletCmd.label "Bulleted">
+<!ENTITY listBulletCmd.accesskey "B">
+<!ENTITY listNumberedCmd.label "Numbered">
+<!ENTITY listNumberedCmd.accesskey "m">
+<!ENTITY listTermCmd.label "Term">
+<!ENTITY listTermCmd.accesskey "T">
+<!ENTITY listDefinitionCmd.label "Definition">
+<!ENTITY listDefinitionCmd.accesskey "D">
+<!ENTITY listPropsCmd.label "List Properties…">
+<!ENTITY listPropsCmd.accesskey "L">
+
+<!ENTITY ParagraphSelect.tooltip "Choose a paragraph format">
+<!-- Shared in Paragraph, and Toolbar menulist -->
+<!ENTITY bodyTextCmd.label "Body Text">
+<!ENTITY bodyTextCmd.accesskey "T">
+
+<!-- Align menu items -->
+<!ENTITY alignMenu.label "Align">
+<!ENTITY alignMenu.accesskey "A">
+<!ENTITY alignLeft.label "Left">
+<!ENTITY alignLeft.accesskey "L">
+<!ENTITY alignLeft.tooltip "Align Left">
+<!ENTITY alignCenter.label "Center">
+<!ENTITY alignCenter.accesskey "C">
+<!ENTITY alignCenter.tooltip "Align Center">
+<!ENTITY alignRight.label "Right">
+<!ENTITY alignRight.accesskey "R">
+<!ENTITY alignRight.tooltip "Align Right">
+<!ENTITY alignJustify.label "Justify">
+<!ENTITY alignJustify.accesskey "J">
+<!ENTITY alignJustify.tooltip "Align Justified">
+
+<!ENTITY increaseIndent.label "Increase Indent">
+<!ENTITY increaseIndent.accesskey "I">
+<!ENTITY increaseIndent.key "]">
+<!ENTITY decreaseIndent.label "Decrease Indent">
+<!ENTITY decreaseIndent.accesskey "D">
+<!ENTITY decreaseIndent.key "[">
+
+<!ENTITY colorsAndBackground.label "Page Colors and Background…">
+<!ENTITY colorsAndBackground.accesskey "u">
+
+<!-- Table Menu -->
+<!ENTITY tableMenu.label "Table">
+<!ENTITY tableMenu.accesskey "b">
+
+<!-- Select Submenu -->
+<!ENTITY tableSelectMenu.label "Select">
+<!ENTITY tableSelectMenu.accesskey "S">
+
+<!ENTITY tableSelectMenu2.label "Table Select">
+<!ENTITY tableSelectMenu2.accesskey "S">
+<!ENTITY tableInsertMenu2.label "Table Insert">
+<!ENTITY tableInsertMenu2.accesskey "I">
+<!ENTITY tableDeleteMenu2.label "Table Delete">
+<!ENTITY tableDeleteMenu2.accesskey "D">
+
+<!-- Insert SubMenu -->
+<!ENTITY tableInsertMenu.label "Insert">
+<!ENTITY tableInsertMenu.accesskey "I">
+<!ENTITY tableTable.label "Table">
+<!ENTITY tableTable.accesskey "T">
+<!ENTITY tableRow.label "Row">
+<!ENTITY tableRows.label "Row(s)">
+<!ENTITY tableRow.accesskey "R">
+<!ENTITY tableRowAbove.label "Row Above">
+<!ENTITY tableRowAbove.accesskey "R">
+<!ENTITY tableRowBelow.label "Row Below">
+<!ENTITY tableRowBelow.accesskey "B">
+<!ENTITY tableColumn.label "Column">
+<!ENTITY tableColumns.label "Column(s)">
+<!ENTITY tableColumn.accesskey "o">
+<!ENTITY tableColumnBefore.label "Column Before">
+<!ENTITY tableColumnBefore.accesskey "o">
+<!ENTITY tableColumnAfter.label "Column After">
+<!ENTITY tableColumnAfter.accesskey "A">
+<!ENTITY tableCell.label "Cell">
+<!ENTITY tableCells.label "Cell(s)">
+<!ENTITY tableCell.accesskey "C">
+<!ENTITY tableCellContents.label "Cell Contents">
+<!ENTITY tableCellContents.accesskey "n">
+<!ENTITY tableAllCells.label "All Cells">
+<!ENTITY tableAllCells.accesskey "A">
+<!ENTITY tableCellBefore.label "Cell Before">
+<!ENTITY tableCellBefore.accesskey "C">
+<!ENTITY tableCellAfter.label "Cell After">
+<!ENTITY tableCellAfter.accesskey "f">
+<!-- Delete SubMenu -->
+<!ENTITY tableDeleteMenu.label "Delete">
+<!ENTITY tableDeleteMenu.accesskey "D">
+
+<!-- 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 "j">
+<!ENTITY tableJoinCells.accesskey "j">
+<!ENTITY tableSplitCell.label "Split Cell">
+<!ENTITY tableSplitCell.accesskey "C">
+<!ENTITY convertToTable.label "Create Table from Selection">
+<!ENTITY convertToTable.accesskey "r">
+<!ENTITY tableProperties.label "Table Properties…">
+<!ENTITY tableProperties.accesskey "o">
+
+<!-- Toolbar-only items -->
+<!ENTITY imageToolbarCmd.label "Image">
+<!ENTITY imageToolbarCmd.tooltip "Insert new image or edit selected image's properties">
+<!ENTITY hruleToolbarCmd.label "H.Line">
+<!ENTITY hruleToolbarCmd.tooltip "Insert horizontal line or edit selected line's properties">
+<!ENTITY tableToolbarCmd.label "Table">
+<!ENTITY tableToolbarCmd.tooltip "Insert new table or edit selected table's properties">
+<!ENTITY linkToolbarCmd.label "Link">
+<!ENTITY linkToolbarCmd.tooltip "Insert new link or edit selected link's properties">
+<!ENTITY anchorToolbarCmd.label "Anchor">
+<!ENTITY anchorToolbarCmd.tooltip "Insert new named anchor or edit selected anchor's properties">
+<!ENTITY TextColorButton.tooltip "Choose color for text">
+<!ENTITY BackgroundColorButton.tooltip "Choose color for background">
+
+<!-- Editor toolbar -->
+<!ENTITY absoluteFontSizeToolbarCmd.tooltip "Set font size">
+<!ENTITY decreaseFontSizeToolbarCmd.tooltip "Smaller font size">
+<!ENTITY increaseFontSizeToolbarCmd.tooltip "Larger font size">
+<!ENTITY boldToolbarCmd.tooltip "Bold">
+<!ENTITY italicToolbarCmd.tooltip "Italic">
+<!ENTITY underlineToolbarCmd.tooltip "Underline">
+<!ENTITY bulletListToolbarCmd.tooltip "Apply or remove bulleted list">
+<!ENTITY numberListToolbarCmd.tooltip "Apply or remove numbered list">
+<!ENTITY outdentToolbarCmd.tooltip "Outdent text (move left)">
+<!ENTITY indentToolbarCmd.tooltip "Indent text (move right)">
+<!ENTITY AlignPopupButton.tooltip "Choose text alignment">
+<!ENTITY InsertPopupButton.tooltip "Insert a Link, Anchor, Image, Horizontal Line, or Table">
+<!ENTITY alignLeftButton.tooltip "Align text along left margin">
+<!ENTITY alignCenterButton.tooltip "Align text centered">
+<!ENTITY alignRightButton.tooltip "Align text along right margin">
+<!ENTITY alignJustifyButton.tooltip "Align text along left and right margins">
+
+<!-- TOC manipulation -->
+<!ENTITY insertTOC.label "Insert">
+<!ENTITY insertTOC.accesskey "i">
+<!ENTITY updateTOC.label "Update">
+<!ENTITY updateTOC.accesskey "u">
+<!ENTITY removeTOC.label "Remove">
+<!ENTITY removeTOC.accesskey "r">
+<!ENTITY tocMenu.label "Table of Contents…">
+<!ENTITY tocMenu.accesskey "b">
diff --git a/comm/mail/locales/en-US/chrome/messenger/messengercompose/mailComposeEditorOverlay.dtd b/comm/mail/locales/en-US/chrome/messenger/messengercompose/mailComposeEditorOverlay.dtd
new file mode 100755
index 0000000000..e367a329b0
--- /dev/null
+++ b/comm/mail/locales/en-US/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 "Attach this image to the message">
+<!ENTITY attachImageSource.accesskey "s">
+
+<!ENTITY attachLinkSource.label "Attach the source of this link to the message">
+<!ENTITY attachLinkSource.accesskey "s">
diff --git a/comm/mail/locales/en-US/chrome/messenger/messengercompose/messengercompose.dtd b/comm/mail/locales/en-US/chrome/messenger/messengercompose/messengercompose.dtd
new file mode 100644
index 0000000000..969189a02c
--- /dev/null
+++ b/comm/mail/locales/en-US/chrome/messenger/messengercompose/messengercompose.dtd
@@ -0,0 +1,306 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.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 "Write: (no subject)">
+
+<!-- File Menu -->
+<!ENTITY fileMenu.label "File">
+<!ENTITY fileMenu.accesskey "f">
+<!ENTITY newMenu.label "New">
+<!ENTITY newMenu.accesskey "N">
+<!ENTITY newMessage.label "Message">
+<!ENTITY newMessage.accesskey "M">
+<!ENTITY newMessageCmd2.key "N">
+<!ENTITY newContact.label "Address Book Contact…">
+<!ENTITY newContact.accesskey "C">
+<!ENTITY attachMenu.label "Attach">
+<!ENTITY attachMenu.accesskey "h">
+<!ENTITY attachCloudCmd.label "Filelink">
+<!ENTITY attachCloudCmd.accesskey "i">
+<!ENTITY attachPageCmd.label "Web Page…">
+<!ENTITY attachPageCmd.accesskey "W">
+<!ENTITY remindLater.label "Remind Me Later">
+<!ENTITY remindLater.accesskey "L">
+<!ENTITY closeCmd.label "Close">
+<!ENTITY closeCmd.key "W">
+<!ENTITY closeCmd.accesskey "c">
+<!ENTITY saveCmd.label "Save">
+<!ENTITY saveCmd.key "S">
+<!ENTITY saveCmd.accesskey "s">
+<!ENTITY saveAsCmd.label "Save As">
+<!ENTITY saveAsCmd.accesskey "A">
+<!ENTITY saveAsFileCmd.label "File…">
+<!ENTITY saveAsFileCmd.accesskey "F">
+<!ENTITY saveAsDraftCmd.label "Draft">
+<!ENTITY saveAsDraftCmd.accesskey "D">
+<!ENTITY saveAsTemplateCmd.label "Template">
+<!ENTITY saveAsTemplateCmd.accesskey "T">
+<!ENTITY sendNowCmd.label "Send Now">
+<!ENTITY sendCmd.keycode "VK_RETURN">
+<!ENTITY sendNowCmd.accesskey "d">
+<!ENTITY sendLaterCmd.label "Send Later">
+<!ENTITY sendLaterCmd.keycode "VK_RETURN">
+<!ENTITY sendLaterCmd.accesskey "L">
+<!ENTITY printCmd.label "Print…">
+<!ENTITY printCmd.key "P">
+<!ENTITY printCmd.accesskey "P">
+
+<!-- Edit Menu -->
+<!ENTITY editMenu.label "Edit">
+<!ENTITY editMenu.accesskey "e">
+<!ENTITY undoCmd.label "Undo">
+<!ENTITY undoCmd.key "Z">
+<!ENTITY undoCmd.accesskey "u">
+<!ENTITY redoCmd.label "Redo">
+<!ENTITY redoCmd.key "Y">
+<!ENTITY redoCmd.accesskey "r">
+<!ENTITY cutCmd.key "X">
+<!ENTITY copyCmd.key "C">
+<!ENTITY pasteCmd.key "V">
+<!ENTITY pasteNoFormattingCmd.key "V">
+<!ENTITY pasteAsQuotationCmd.key "o">
+<!ENTITY editRewrapCmd.accesskey "w">
+<!ENTITY deleteCmd.label "Delete">
+<!ENTITY deleteCmd.accesskey "d">
+<!ENTITY editRewrapCmd.label "Rewrap">
+<!ENTITY editRewrapCmd.key "R">
+<!ENTITY renameAttachmentCmd.label "Rename Attachment…">
+<!ENTITY renameAttachmentCmd.accesskey "e">
+<!ENTITY reorderAttachmentsCmd.label "Reorder Attachments…">
+<!ENTITY reorderAttachmentsCmd.accesskey "s">
+<!ENTITY reorderAttachmentsCmd.key "x">
+<!ENTITY selectAllCmd.accesskey "a">
+<!ENTITY findBarCmd.label "Find…">
+<!ENTITY findBarCmd.accesskey "F">
+<!ENTITY findBarCmd.key "F">
+<!ENTITY findReplaceCmd.label "Find and Replace…">
+<!ENTITY findReplaceCmd.accesskey "l">
+<!ENTITY findReplaceCmd.key "H">
+<!ENTITY findAgainCmd.label "Find Again">
+<!ENTITY findAgainCmd.accesskey "g">
+<!ENTITY findAgainCmd.key "G">
+<!ENTITY findAgainCmd.key2 "VK_F3">
+<!ENTITY findPrevCmd.label "Find Previous">
+<!ENTITY findPrevCmd.accesskey "v">
+<!ENTITY findPrevCmd.key "G">
+<!ENTITY findPrevCmd.key2 "VK_F3">
+
+<!-- Reorder Attachment Panel -->
+<!ENTITY reorderAttachmentsPanel.label "Reorder Attachments">
+<!ENTITY moveAttachmentBundleUpPanelBtn.label "Move together">
+
+<!-- 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 "Sort: A - Z">
+<!ENTITY sortAttachmentsPanelBtn.Sort.ZA.label "Sort: 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 "Sort Selection: A - Z">
+<!ENTITY sortAttachmentsPanelBtn.SortSelection.ZA.label "Sort Selection: Z - A">
+<!ENTITY sortAttachmentsPanelBtn.key "y">
+
+<!-- View Menu -->
+<!ENTITY viewMenu.label "View">
+<!ENTITY viewMenu.accesskey "v">
+<!ENTITY viewToolbarsMenuNew.label "Toolbars">
+<!ENTITY viewToolbarsMenuNew.accesskey "T">
+<!ENTITY menubarCmd.label "Menu Bar">
+<!ENTITY menubarCmd.accesskey "M">
+<!ENTITY showCompositionToolbarCmd.label "Composition Toolbar">
+<!ENTITY showCompositionToolbarCmd.accesskey "o">
+<!ENTITY showFormattingBarCmd.label "Formatting Bar">
+<!ENTITY showFormattingBarCmd.accesskey "F">
+<!ENTITY showTaskbarCmd.label "Status Bar">
+<!ENTITY showTaskbarCmd.accesskey "S">
+<!ENTITY customizeToolbar.label "Customize…">
+<!ENTITY customizeToolbar.accesskey "C">
+
+<!ENTITY addressSidebar.label "Contacts Sidebar">
+<!ENTITY addressSidebar.accesskey "o">
+
+<!-- Format Menu -->
+<!ENTITY formatMenu.label "Format">
+<!ENTITY formatMenu.accesskey "o">
+
+<!-- Options Menu -->
+<!ENTITY optionsMenu.label "Options">
+<!ENTITY optionsMenu.accesskey "p">
+<!ENTITY checkSpellingCmd2.label "Check Spelling…">
+<!ENTITY checkSpellingCmd2.key "p">
+<!ENTITY checkSpellingCmd2.key2 "VK_F7">
+<!ENTITY checkSpellingCmd2.accesskey "h">
+<!ENTITY enableInlineSpellChecker.label "Spellcheck As You Type">
+<!ENTITY enableInlineSpellChecker.accesskey "S">
+<!ENTITY quoteCmd.label "Quote Message">
+<!ENTITY quoteCmd.accesskey "Q">
+
+<!--LOCALIZATION NOTE attachVCard.label Don't translate the term 'vCard' -->
+<!ENTITY attachVCard.label "Attach Personal Card (vCard)">
+<!ENTITY attachVCard.accesskey "v">
+
+<!ENTITY returnReceiptMenu.label "Return Receipt">
+<!ENTITY returnReceiptMenu.accesskey "t">
+<!ENTITY dsnMenu.label "Delivery Status Notification">
+<!ENTITY dsnMenu.accesskey "N">
+<!ENTITY priorityMenu.label "Priority">
+<!ENTITY priorityMenu.accesskey "p">
+<!ENTITY priorityButton.title "Priority">
+<!ENTITY priorityButton.tooltiptext "Change the message priority">
+<!ENTITY priorityButton.label "Priority:">
+<!ENTITY lowestPriorityCmd.label "Lowest">
+<!ENTITY lowestPriorityCmd.accesskey "l">
+<!ENTITY lowPriorityCmd.label "Low">
+<!ENTITY lowPriorityCmd.accesskey "o">
+<!ENTITY normalPriorityCmd.label "Normal">
+<!ENTITY normalPriorityCmd.accesskey "n">
+<!ENTITY highPriorityCmd.label "High">
+<!ENTITY highPriorityCmd.accesskey "i">
+<!ENTITY highestPriorityCmd.label "Highest">
+<!ENTITY highestPriorityCmd.accesskey "H">
+<!ENTITY fileCarbonCopyCmd.label "Send a Copy To">
+<!ENTITY fileCarbonCopyCmd.accesskey "d">
+<!ENTITY fileHereMenu.label "File Here">
+
+<!-- Tools Menu -->
+<!ENTITY tasksMenu.label "Tools">
+<!ENTITY tasksMenu.accesskey "T">
+<!ENTITY messengerCmd.label "Mail &amp; Newsgroups">
+<!ENTITY messengerCmd.accesskey "m">
+<!ENTITY messengerCmd.commandkey "1">
+<!ENTITY addressBookCmd.label "Address Book">
+<!ENTITY addressBookCmd.accesskey "a">
+<!ENTITY addressBookCmd.key "B">
+<!ENTITY accountManagerCmd2.label "Account Settings">
+<!ENTITY accountManagerCmd2.accesskey "S">
+<!ENTITY accountManagerCmdUnix2.accesskey "S">
+
+<!-- Mac OS X Window Menu -->
+<!ENTITY minimizeWindow.key "m">
+<!ENTITY minimizeWindow.label "Minimize">
+<!ENTITY bringAllToFront.label "Bring All to Front">
+<!ENTITY zoomWindow.label "Zoom">
+<!ENTITY windowMenu.label "Window">
+
+<!-- Mail Toolbar -->
+<!ENTITY sendButton.label "Send">
+<!ENTITY quoteButton.label "Quote">
+<!ENTITY addressButton.label "Contacts">
+<!ENTITY spellingButton.label "Spelling">
+<!ENTITY saveButton.label "Save">
+<!ENTITY printButton.label "Print">
+
+<!-- Mail Toolbar Tooltips -->
+<!ENTITY sendButton.tooltip "Send this message now">
+<!ENTITY sendlaterButton.tooltip "Send this message later">
+<!ENTITY quoteButton.tooltip "Quote the previous message">
+<!ENTITY addressButton.tooltip "Select a recipient from an Address Book">
+<!ENTITY spellingButton.tooltip "Check spelling of selection or entire message">
+<!ENTITY saveButton.tooltip "Save this message">
+<!ENTITY cutButton.tooltip "Cut">
+<!ENTITY copyButton.tooltip "Copy">
+<!ENTITY pasteButton.tooltip "Paste">
+<!ENTITY printButton.tooltip "Print this message">
+
+<!-- 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 fromAddr2.label "From">
+<!ENTITY fromAddr.accesskey "r">
+<!ENTITY replyAddr2.label "Reply-To">
+<!ENTITY newsgroupsAddr2.label "Newsgroup">
+<!ENTITY followupAddr2.label "Followup-To">
+<!ENTITY subject2.label "Subject">
+<!ENTITY subject.accesskey "S">
+<!ENTITY attachmentBucketCloseButton.tooltip "Hide the attachment pane">
+
+<!-- Format Toolbar, imported from editorAppShell.xhtml -->
+<!ENTITY SmileButton.tooltip "Insert a smiley face">
+<!ENTITY smiley1Cmd.label "Smile">
+<!ENTITY smiley2Cmd.label "Frown">
+<!ENTITY smiley3Cmd.label "Wink">
+<!ENTITY smiley4Cmd.label "Tongue-out">
+<!ENTITY smiley5Cmd.label "Laughing">
+<!ENTITY smiley6Cmd.label "Embarrassed">
+<!ENTITY smiley7Cmd.label "Undecided">
+<!ENTITY smiley8Cmd.label "Surprise">
+<!ENTITY smiley9Cmd.label "Kiss">
+<!ENTITY smiley10Cmd.label "Yell">
+<!ENTITY smiley11Cmd.label "Cool">
+<!ENTITY smiley12Cmd.label "Money-Mouth">
+<!ENTITY smiley13Cmd.label "Foot-in-Mouth">
+<!ENTITY smiley14Cmd.label "Innocent">
+<!ENTITY smiley15Cmd.label "Cry">
+<!ENTITY smiley16Cmd.label "Lips-are-Sealed">
+
+<!-- Message Pane Context Menu -->
+<!ENTITY spellCheckNoSuggestions.label "No Suggestions Found">
+<!ENTITY spellCheckIgnoreWord.label "Ignore Word">
+<!ENTITY spellCheckIgnoreWord.accesskey "I">
+<!ENTITY spellCheckAddToDictionary.label "Add to Dictionary">
+<!ENTITY spellCheckAddToDictionary.accesskey "n">
+<!ENTITY undo.label "Undo">
+<!ENTITY undo.accesskey "U">
+<!ENTITY cut.label "Cut">
+<!ENTITY cut.accesskey "t">
+<!ENTITY copy.label "Copy">
+<!ENTITY copy.accesskey "C">
+<!ENTITY paste.label "Paste">
+<!ENTITY paste.accesskey "P">
+<!ENTITY pasteQuote.label "Paste As Quotation">
+<!ENTITY pasteQuote.accesskey "Q">
+
+<!-- Attachment Item and List Context Menus -->
+<!ENTITY openAttachment.label "Open">
+<!ENTITY openAttachment.accesskey "O">
+<!ENTITY delete.label "Delete">
+<!ENTITY delete.accesskey "D">
+<!ENTITY removeAttachment.label "Remove Attachment">
+<!ENTITY removeAttachment.accesskey "M">
+<!ENTITY renameAttachment.label "Rename…">
+<!ENTITY renameAttachment.accesskey "R">
+<!ENTITY reorderAttachments.label "Reorder Attachments…">
+<!ENTITY reorderAttachments.accesskey "s">
+<!ENTITY removeAllAttachments.label "Remove All Attachments">
+<!ENTITY removeAllAttachments.accesskey "v">
+<!ENTITY selectAll.label "Select All">
+<!ENTITY selectAll.accesskey "A">
+<!ENTITY attachCloud.label "Filelink…">
+<!ENTITY attachCloud.accesskey "i">
+<!ENTITY convertCloud.label "Convert to…">
+<!ENTITY convertCloud.accesskey "C">
+<!ENTITY cancelUpload.label "Cancel Upload">
+<!ENTITY cancelUpload.accesskey "n">
+<!ENTITY convertRegularAttachment.label "Regular Attachment">
+<!ENTITY convertRegularAttachment.accesskey "A">
+<!ENTITY attachPage.label "Attach Web Page…">
+<!ENTITY attachPage.accesskey "W">
+
+<!-- Attachment Pane Header Bar Context Menu -->
+<!-- LOCALIZATION NOTE (initiallyShowAttachmentPane.label):
+ Should use the same wording as startExpandedCmd.label
+ in msgHdrViewOverlay.dtd. -->
+<!ENTITY initiallyShowAttachmentPane.label "Initially Show Attachment Pane">
+<!ENTITY initiallyShowAttachmentPane.accesskey "S">
+
+<!-- Spell checker context menu items -->
+<!ENTITY spellAddDictionaries.label "Add Dictionaries…">
+<!ENTITY spellAddDictionaries.accesskey "A">
+
+<!-- Title for the address picker panel -->
+<!ENTITY addressesSidebarTitle.label "Contacts">
+
+<!-- Identity popup customize menuitem -->
+<!ENTITY customizeFromAddress.label "Customize From Address…">
+<!ENTITY customizeFromAddress.accesskey "A">
+
+<!-- Accessibility name for the document -->
+<!ENTITY aria.message.bodyName "Message body">
+
+<!-- Status Bar -->
+<!ENTITY languageStatusButton.tooltip "Spellcheck language">
+<!ENTITY encodingStatusPanel.tooltip "Text encoding">
diff --git a/comm/mail/locales/en-US/chrome/messenger/messengercompose/sendProgress.dtd b/comm/mail/locales/en-US/chrome/messenger/messengercompose/sendProgress.dtd
new file mode 100644
index 0000000000..0a94a609b1
--- /dev/null
+++ b/comm/mail/locales/en-US/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 "Processing Message">
+<!ENTITY status.label "Status:">
+<!ENTITY progress.label "Progress:">
diff --git a/comm/mail/locales/en-US/chrome/messenger/messengercompose/sendProgress.properties b/comm/mail/locales/en-US/chrome/messenger/messengercompose/sendProgress.properties
new file mode 100644
index 0000000000..61799efb37
--- /dev/null
+++ b/comm/mail/locales/en-US/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=Sending Message - %S
+titleSendMsg=Sending Message
+# LOCALIZATION NOTE (titleSaveMsgSubject):
+# %S will be replaced by the message subject.
+titleSaveMsgSubject=Saving Message - %S
+titleSaveMsg=Saving Message
+
+# 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=Your message has been sent.
+messageSaved=Your message has been saved.
diff --git a/comm/mail/locales/en-US/chrome/messenger/migration/migration.dtd b/comm/mail/locales/en-US/chrome/messenger/migration/migration.dtd
new file mode 100644
index 0000000000..bd126dfd1a
--- /dev/null
+++ b/comm/mail/locales/en-US/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 "Import Wizard">
+
+<!ENTITY importFromWin.label "Import Options, Account Settings, Address Book, Filters and other data from:">
+<!ENTITY importFromNonWin.label "Import Preferences, Account Settings, Address Book, Filters, and other data from:">
+<!ENTITY importSourceNotFound.label "No application to import data from found.">
+
+<!ENTITY importFromNothing.label "Don't import anything">
+<!ENTITY importFromNothing.accesskey "D">
+<!ENTITY importFromSeamonkey3.label "SeaMonkey 2 or later">
+<!ENTITY importFromSeamonkey3.accesskey "S">
+<!ENTITY importFromOutlook.label "Outlook">
+<!ENTITY importFromOutlook.accesskey "O">
+
+<!ENTITY importSource.title "Import Settings and Mail Folders">
+<!ENTITY importItems.title "Items to Import">
+<!ENTITY importItems.label "Select which items to import:">
+
+<!ENTITY migrating.title "Importing…">
+<!ENTITY migrating.label "The following items are currently being imported…">
+
+<!ENTITY selectProfile.title "Select Profile">
+<!ENTITY selectProfile.label "The following profiles are available to import from:">
+
+<!ENTITY done.title "Import Complete">
+<!ENTITY done.label "The following items were successfully imported:">
diff --git a/comm/mail/locales/en-US/chrome/messenger/migration/migration.properties b/comm/mail/locales/en-US/chrome/messenger/migration/migration.properties
new file mode 100644
index 0000000000..d679963c8c
--- /dev/null
+++ b/comm/mail/locales/en-US/chrome/messenger/migration/migration.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/.
+
+profileName_format=%S %S
+
+# Import Sources
+1_seamonkey=Preferences
+1_thunderbird=Preferences
+
+2_seamonkey=Account Settings
+2_thunderbird=Account Settings
+2_outlook=Account Settings
+
+4_seamonkey=Address Books
+4_thunderbird=Address Books
+4_outlook=Address Book
+
+8_seamonkey=Junk Mail Training
+
+16_seamonkey=Saved Passwords
+
+32_seamonkey=Other Data
+
+64_seamonkey=Newsgroup Folders
+64_thunderbird=Newsgroup Folders
+
+128_seamonkey=Mail Folders
+128_thunderbird=Mail Folders
+128_outlook=Mail Folders
diff --git a/comm/mail/locales/en-US/chrome/messenger/mime.properties b/comm/mail/locales/en-US/chrome/messenger/mime.properties
new file mode 100644
index 0000000000..55a4acff4c
--- /dev/null
+++ b/comm/mail/locales/en-US/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=Subject
+
+# Resent-Comments
+## @name MIME_MHTML_RESENT_COMMENTS
+## @loc
+1001=Resent-Comments
+
+# Resent-Date
+## @name MIME_MHTML_RESENT_DATE
+## @loc
+1002=Resent-Date
+
+# Resent-Sender
+## @name MIME_MHTML_RESENT_SENDER
+## @loc
+1003=Resent-Sender
+
+# Resent-From
+## @name MIME_MHTML_RESENT_FROM
+## @loc
+1004=Resent-From
+
+# Resent-To
+## @name MIME_MHTML_RESENT_TO
+## @loc
+1005=Resent-To
+
+# Resent-CC
+## @name MIME_MHTML_RESENT_CC
+## @loc
+1006=Resent-CC
+
+# Date
+## @name MIME_MHTML_DATE
+## @loc
+1007=Date
+
+# Sender
+## @name MIME_MHTML_SENDER
+## @loc
+1008=Sender
+
+# From
+## @name MIME_MHTML_FROM
+## @loc
+1009=From
+
+# Reply-To
+## @name MIME_MHTML_REPLY_TO
+## @loc
+1010=Reply-To
+
+# Organization
+## @name MIME_MHTML_ORGANIZATION
+## @loc
+1011=Organization
+
+# To
+## @name MIME_MHTML_TO
+## @loc
+1012=To
+
+# CC
+## @name MIME_MHTML_CC
+## @loc
+1013=CC
+
+# Newsgroups
+## @name MIME_MHTML_NEWSGROUPS
+## @loc
+1014=Newsgroups
+
+# Followup-To
+## @name MIME_MHTML_FOLLOWUP_TO
+## @loc
+1015=Followup-To
+
+# References
+## @name MIME_MHTML_REFERENCES
+## @loc
+1016=References
+
+# Message ID
+## @name MIME_MHTML_MESSAGE_ID
+## @loc
+1021=Message-ID
+
+# BCC
+## @name MIME_MHTML_BCC
+## @loc
+1023=BCC
+
+# Link to doc
+## @name MIME_MSG_LINK_TO_DOCUMENT
+## @loc
+1026=Link to Document
+
+# Get Doc info
+## @name MIME_MSG_DOCUMENT_INFO
+## @loc
+1027=<B>Document Info:</B>
+
+# Msg Attachment
+## @name MIME_MSG_ATTACHMENT
+## @loc
+1028=Attachment
+
+# 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=Part %s
+
+# default forwarded message prefix
+## @name MIME_FORWARDED_MESSAGE_HTML_USER_WROTE
+## @loc
+1041=-------- Original Message --------
+
+# Partial Message Truncated
+## @name MIME_MSG_PARTIAL_TRUNCATED
+## @loc
+MIME_MSG_PARTIAL_TRUNCATED=Truncated!
+
+# Partial Message Truncated Explanation
+## @name MIME_MSG_PARTIAL_TRUNCATED_EXPLANATION
+## @loc
+MIME_MSG_PARTIAL_TRUNCATED_EXPLANATION=This message exceeded the Maximum Message Size set in Account Settings, so we have only downloaded the first few lines from the mail server.
+
+# Partial Message Not Downloaded
+## @name MIME_MSG_PARTIAL_NOT_DOWNLOADED
+## @loc
+MIME_MSG_PARTIAL_NOT_DOWNLOADED=Not Downloaded
+
+# Partial Message Not Downloaded Explanation
+## @name MIME_MSG_PARTIAL_NOT_DOWNLOADED_EXPLANATION
+## @loc
+MIME_MSG_PARTIAL_NOT_DOWNLOADED_EXPLANATION=Only the headers for this message were downloaded from the mail server.
+
+# MIME_MSG_PARTIAL_CLICK_FOR_REST
+## @name MIME_MSG_PARTIAL_CLICK_FOR_REST
+## @loc
+MIME_MSG_PARTIAL_CLICK_FOR_REST=Download the rest of the message.
diff --git a/comm/mail/locales/en-US/chrome/messenger/mimeheader.properties b/comm/mail/locales/en-US/chrome/messenger/mimeheader.properties
new file mode 100644
index 0000000000..0166e31fef
--- /dev/null
+++ b/comm/mail/locales/en-US/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=To
+BCC=BCC
+CC=CC
+DATE=Date
+DISTRIBUTION=Distribution
+FCC=FCC
+FOLLOWUP-TO=Followup-To
+FROM=From
+STATUS=Status
+LINES=Lines
+MESSAGE-ID=Message-ID
+MIME-VERSION=MIME-Version
+NEWSGROUPS=Newsgroups
+ORGANIZATION=Organization
+REFERENCES=References
+REPLY-TO=Reply-To
+RESENT-COMMENTS=Resent-Comments
+RESENT-DATE=Resent-Date
+RESENT-FROM=Resent-From
+RESENT-MESSAGE-ID=Resent-Message-ID
+RESENT-SENDER=Resent-Sender
+RESENT-TO=Resent-To
+RESENT-CC=Resent-CC
+SENDER=Sender
+SUBJECT=Subject
+APPROVED-BY=Approved-By
+USER-AGENT=User-Agent
+FILENAME=Filename
diff --git a/comm/mail/locales/en-US/chrome/messenger/morkImportMsgs.properties b/comm/mail/locales/en-US/chrome/messenger/morkImportMsgs.properties
new file mode 100644
index 0000000000..ce65917ca4
--- /dev/null
+++ b/comm/mail/locales/en-US/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 Address Books
+
+# Short name of import module
+morkImportName = Mork database (.mab)
+
+# Description of import module
+morkImportDescription = Import an address book from SeaMonkey or earlier versions of Thunderbird.
+
+morkImportSuccess = Success!
diff --git a/comm/mail/locales/en-US/chrome/messenger/msgAccountCentral.dtd b/comm/mail/locales/en-US/chrome/messenger/msgAccountCentral.dtd
new file mode 100644
index 0000000000..a2d885270d
--- /dev/null
+++ b/comm/mail/locales/en-US/chrome/messenger/msgAccountCentral.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 emailSectionHdr.label "Email">
+<!ENTITY readMsgsLink.label "Read messages">
+<!ENTITY composeMsgLink.label "Write a new message">
+
+<!ENTITY newsSectionHdr.label "Newsgroups">
+<!ENTITY subscribeNewsLink.label "Manage newsgroup subscriptions">
+
+<!ENTITY feedsSectionHdr.label "Feeds">
+<!ENTITY subscribeFeeds.label "Manage subscriptions">
+
+<!ENTITY chat.label "Chat">
+
+<!ENTITY accountsSectionHdr.label "Accounts">
+<!ENTITY subscribeImapFolders.label "Manage folder subscriptions">
+<!ENTITY settingsLink.label "View settings for this account">
+<!ENTITY setupNewAcct.label "Set up an account:">
+
+<!ENTITY advFeaturesSectionHdr.label "Advanced Features">
+<!ENTITY searchMsgsLink.label "Search messages">
+<!ENTITY filtersLink.label "Manage message filters">
+<!ENTITY junkSettings.label "Junk mail settings">
+<!ENTITY offlineLink.label "Offline settings">
diff --git a/comm/mail/locales/en-US/chrome/messenger/msgHdrViewOverlay.dtd b/comm/mail/locales/en-US/chrome/messenger/msgHdrViewOverlay.dtd
new file mode 100644
index 0000000000..e868a669d7
--- /dev/null
+++ b/comm/mail/locales/en-US/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 "To">
+<!ENTITY fromField4.label "From">
+<!ENTITY senderField4.label "Sender">
+<!ENTITY author.label "Author">
+<!ENTITY organizationField4.label "Organization">
+<!ENTITY replyToField4.label "Reply to">
+
+<!ENTITY subjectField4.label "Subject">
+<!ENTITY ccField4.label "Cc">
+<!ENTITY bccField4.label "Bcc">
+<!ENTITY newsgroupsField4.label "Newsgroups">
+<!ENTITY followupToField4.label "Followup to">
+<!ENTITY tagsHdr4.label "Tags">
+<!ENTITY dateField4.label "Date">
+<!ENTITY userAgentField4.label "User agent">
+<!ENTITY referencesField4.label "References">
+<!ENTITY messageIdField4.label "Message ID">
+<!ENTITY inReplyToField4.label "In reply to">
+<!ENTITY originalWebsite4.label "Website">
+
+<!ENTITY hdrArchiveButton1.label "Archive">
+<!ENTITY hdrArchiveButton1.tooltip "Archive this message">
+<!ENTITY hdrSmartReplyButton1.label "Smart Reply">
+<!ENTITY hdrReplyButton1.label "Reply">
+<!ENTITY hdrReplyButton2.tooltip "Reply to the sender of this message">
+<!ENTITY hdrReplyAllButton1.label "Reply All">
+<!ENTITY hdrReplyAllButton1.tooltip "Reply to sender and all recipients">
+<!ENTITY hdrReplyListButton1.label "Reply List">
+<!ENTITY hdrReplyListButton1.tooltip "Reply to mailing list">
+<!ENTITY hdrFollowupButton1.label "Followup">
+<!ENTITY hdrFollowupButton1.tooltip "Post a followup to this newsgroup">
+<!ENTITY hdrForwardButton1.label "Forward">
+<!ENTITY hdrForwardButton1.tooltip "Forward this message">
+<!ENTITY hdrJunkButton1.label "Junk">
+<!ENTITY hdrJunkButton1.tooltip "Mark this message as junk">
+<!ENTITY hdrTrashButton1.label "Delete">
+<!ENTITY hdrTrashButton1.tooltip "Delete this message">
+
+<!ENTITY hdrViewToolbarShowFull.label "Show Icons and Text">
+<!ENTITY hdrViewToolbarShowFull.accesskey "a">
+<!ENTITY hdrViewToolbarShowIcons.label "Show Icons Only">
+<!ENTITY hdrViewToolbarShowIcons.accesskey "I">
+<!ENTITY hdrViewToolbarShowText.label "Show Text Only">
+<!ENTITY hdrViewToolbarShowText.accesskey "T">
+<!ENTITY hdrViewToolbarAlwaysReplySender.label "Always Show Reply to Sender">
+<!ENTITY hdrViewToolbarAlwaysReplySender.accesskey "R">
+
+<!ENTITY otherActionsButton2.label "More">
+<!ENTITY otherActionsButton.tooltip "More actions">
+<!ENTITY otherActionsOpenConversation1.label "Open in Conversation">
+<!ENTITY otherActionsOpenConversation1.accesskey "C">
+<!ENTITY otherActionsOpenInNewWindow1.label "Open in New Window">
+<!ENTITY otherActionsOpenInNewWindow1.accesskey "W">
+<!ENTITY otherActionsOpenInNewTab1.label "Open in New Tab">
+<!ENTITY otherActionsOpenInNewTab1.accesskey "T">
+<!ENTITY markAsReadMenuItem1.label "Mark as Read">
+<!ENTITY markAsReadMenuItem1.accesskey "R">
+<!ENTITY markAsUnreadMenuItem1.label "Mark as Unread">
+<!ENTITY markAsUnreadMenuItem1.accesskey "r">
+<!ENTITY saveAsMenuItem1.label "Save as…">
+<!ENTITY saveAsMenuItem1.accesskey "S">
+<!ENTITY viewSourceMenuItem1.label "View Source">
+<!ENTITY viewSourceMenuItem1.accesskey "V">
+<!ENTITY otherActionsPrint1.label "Print…">
+<!ENTITY otherActionsPrint1.accesskey "P">
+
+<!-- Attachment bar context menu items -->
+<!ENTITY startExpandedCmd.label "Initially Show Attachment Pane">
+<!ENTITY startExpandedCmd.accesskey "S">
+
+<!-- Attachment context menu items -->
+<!ENTITY openAttachmentCmd.label "Open">
+<!ENTITY openAttachmentCmd.accesskey "O">
+<!ENTITY saveAsAttachmentCmd.label "Save As…">
+<!ENTITY saveAsAttachmentCmd.accesskey "S">
+<!ENTITY detachAttachmentCmd.label "Detach…">
+<!ENTITY detachAttachmentCmd.accesskey "D">
+<!ENTITY deleteAttachmentCmd.label "Delete">
+<!ENTITY deleteAttachmentCmd.accesskey "e">
+<!ENTITY openAllAttachmentsCmd.label "Open All…">
+<!ENTITY openAllAttachmentsCmd.accesskey "O">
+<!ENTITY saveAllAttachmentsCmd.label "Save All…">
+<!ENTITY saveAllAttachmentsCmd.accesskey "S">
+<!ENTITY detachAllAttachmentsCmd.label "Detach All…">
+<!ENTITY detachAllAttachmentsCmd.accesskey "D">
+<!ENTITY deleteAllAttachmentsCmd.label "Delete All…">
+<!ENTITY deleteAllAttachmentsCmd.accesskey "e">
+
+<!ENTITY openAttachment.tooltip "Open the attached file">
+
+<!ENTITY detachedAttachmentFolder.show.label "Open Containing Folder">
+<!ENTITY detachedAttachmentFolder.show.accesskey "F">
+<!ENTITY detachedAttachmentFolder.showMac.label "Show In Finder">
+<!ENTITY detachedAttachmentFolder.showMac.accesskey "F">
+
+<!-- Attachment toolbar items -->
+<!ENTITY saveAttachmentButton1.label "Save">
+<!ENTITY saveAttachmentButton1.tooltip "Save the attached file">
+<!ENTITY saveAllAttachmentsButton1.label "Save All">
+<!ENTITY saveAllAttachmentsButton1.tooltip "Save all the attached files">
+
+<!ENTITY copyLinkCmd.label "Copy Link Location">
+<!ENTITY copyLinkCmd.accesskey "C">
+
+<!ENTITY CopyMessageId.label "Copy Message-ID">
+<!ENTITY CopyMessageId.accesskey "C">
+<!ENTITY OpenMessageForMsgId.label "Open Message For ID">
+<!ENTITY OpenMessageForMsgId.accesskey "O">
+<!ENTITY OpenBrowserWithMsgId.label "Open Browser With Message-ID">
+<!ENTITY OpenBrowserWithMsgId.accesskey "B">
diff --git a/comm/mail/locales/en-US/chrome/messenger/msgSynchronize.dtd b/comm/mail/locales/en-US/chrome/messenger/msgSynchronize.dtd
new file mode 100644
index 0000000000..813cd5eb71
--- /dev/null
+++ b/comm/mail/locales/en-US/chrome/messenger/msgSynchronize.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/. -->
+
+<!-- extracted from MsgSynchronize.xhtml and msgSelectOfflineFolders.xhtml-->
+
+<!ENTITY MsgSynchronize.label "Download and Sync Messages">
+<!ENTITY MsgSelect.label "Items for Offline Use">
+<!ENTITY MsgSyncDesc.label "If you have already selected mail folders or newsgroups for offline use, you can download and/or sync them now. Otherwise, use the &quot;Select&quot; button to choose mail folders and newsgroups for offline use.">
+<!ENTITY MsgSyncDirections.label "Download and/or sync the following:">
+<!ENTITY syncTypeMail.label "Mail messages">
+<!ENTITY syncTypeMail.accesskey "M">
+<!ENTITY syncTypeNews.label "Newsgroup messages">
+<!ENTITY syncTypeNews.accesskey "N">
+<!ENTITY sendMessage.label "Send Unsent messages">
+<!ENTITY sendMessage.accesskey "S">
+<!ENTITY workOffline.label "Work offline once download and/or sync is complete">
+<!ENTITY workOffline.accesskey "W">
+<!ENTITY selectButton.label "Select…">
+<!ENTITY selectButton.accesskey "E">
+<!ENTITY MsgSelectDesc.label "Choose mail folders and newsgroups for offline use.">
+<!ENTITY MsgSelectInd.label "Download">
+<!ENTITY MsgSelectItems.label "Folders and Newsgroups">
diff --git a/comm/mail/locales/en-US/chrome/messenger/msgViewPickerOverlay.dtd b/comm/mail/locales/en-US/chrome/messenger/msgViewPickerOverlay.dtd
new file mode 100644
index 0000000000..95937c7e33
--- /dev/null
+++ b/comm/mail/locales/en-US/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 "View:">
+<!ENTITY viewPicker.accesskey "i">
+<!ENTITY viewAll.label "All">
+<!ENTITY viewAll.accesskey "A">
+<!ENTITY viewUnread.label "Unread">
+<!ENTITY viewUnread.accesskey "U">
+<!ENTITY viewNotDeleted.label "Not Deleted">
+<!ENTITY viewNotDeleted.accesskey "D">
+<!ENTITY viewTags.label "Tags">
+<!ENTITY viewTags.accesskey "T">
+<!ENTITY viewCustomViews.label "Custom Views">
+<!ENTITY viewCustomViews.accesskey "V">
+<!ENTITY viewVirtualFolder.label "Save View as a Folder…">
+<!ENTITY viewVirtualFolder.accesskey "S">
+<!ENTITY viewCustomizeView.label "Customize…">
+<!ENTITY viewCustomizeView.accesskey "C">
diff --git a/comm/mail/locales/en-US/chrome/messenger/msgmdn.properties b/comm/mail/locales/en-US/chrome/messenger/msgmdn.properties
new file mode 100644
index 0000000000..6a9ccf58f6
--- /dev/null
+++ b/comm/mail/locales/en-US/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=Note: This Return Receipt only acknowledges that the message was displayed on the recipient's computer. There is no guarantee that the recipient has read or understood the message contents.
+MsgMdnDispatched=The message was either printed, faxed, or forwarded without being displayed to the recipient. There is no guarantee that the recipient will read the message at a later time.
+MsgMdnProcessed=The message was processed by the recipient's mail client without being displayed. There is no guarantee that the message will be read at a later time.
+MsgMdnDeleted=The message has been deleted. The person you sent it to may or may not have seen it. They might undelete it at a later time and read it.
+MsgMdnDenied=The recipient of the message does not wish to send a return receipt back to you.
+MsgMdnFailed=A failure occurred. A proper return receipt could not be generated or sent to you.
+# LOCALIZATION NOTE : Do not translate the word "%S" below.
+MsgMdnMsgSentTo=This is a Return Receipt for the mail that you sent to %S.
+MdnDisplayedReceipt=Return Receipt (displayed)
+MdnDispatchedReceipt=Return Receipt (dispatched)
+MdnProcessedReceipt=Return Receipt (processed)
+MdnDeletedReceipt=Return Receipt (deleted)
+MdnDeniedReceipt=Return Receipt (denied)
+MdnFailedReceipt=Return Receipt (failed)
diff --git a/comm/mail/locales/en-US/chrome/messenger/multimessageview.dtd b/comm/mail/locales/en-US/chrome/messenger/multimessageview.dtd
new file mode 100644
index 0000000000..ca5cae2cb6
--- /dev/null
+++ b/comm/mail/locales/en-US/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 "Message Summary">
+<!ENTITY selectedmessages.label "Selected Messages">
+<!ENTITY archiveButton.label "Archive">
+<!ENTITY deleteButton.label "Delete">
diff --git a/comm/mail/locales/en-US/chrome/messenger/multimessageview.properties b/comm/mail/locales/en-US/chrome/messenger/multimessageview.properties
new file mode 100644
index 0000000000..31e4e7546c
--- /dev/null
+++ b/comm/mail/locales/en-US/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 conversation; #1 conversations
+
+# 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+ conversation; #1+ conversations
+
+# 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 message;#1 messages
+
+# 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 unread;, #1 unread
+
+# 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 ignored;, #1 ignored
+
+# 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+ ignored;, #1+ ignored
+
+# LOCALIZATION NOTE (noSubject): What to display for a message if it has no
+# subject.
+noSubject=(no subject)
+
+# LOCALIZATION NOTE (messagesTotalSize): A message indicating the total size on
+# disk of the selected messages. #1 is the size, e.g. "123 KB".
+messagesTotalSize=These messages take up #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=These messages take up more than #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= (Note: #1 messages are selected, the first #2 are shown)
+
+# 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= (Note: #1 threads are selected, the first #2 are shown)
diff --git a/comm/mail/locales/en-US/chrome/messenger/newFolderDialog.dtd b/comm/mail/locales/en-US/chrome/messenger/newFolderDialog.dtd
new file mode 100644
index 0000000000..c34028d2d4
--- /dev/null
+++ b/comm/mail/locales/en-US/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 "New Folder">
+<!ENTITY name.label "Name:">
+<!ENTITY name.accesskey "n">
+<!ENTITY description.label "Create as a subfolder of:">
+<!ENTITY description.accesskey "c">
+<!ENTITY folderRestriction1.label "This server restricts folders to two special kinds.">
+<!ENTITY folderRestriction2.label "Allow your new folder to contain:">
+<!ENTITY foldersOnly.label "Folders Only">
+<!ENTITY messagesOnly.label "Messages Only">
+<!ENTITY accept.label "Create Folder">
+<!ENTITY accept.accesskey "r">
diff --git a/comm/mail/locales/en-US/chrome/messenger/news.properties b/comm/mail/locales/en-US/chrome/messenger/news.properties
new file mode 100644
index 0000000000..32d0fe7c7a
--- /dev/null
+++ b/comm/mail/locales/en-US/chrome/messenger/news.properties
@@ -0,0 +1,55 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+downloadHeadersTitlePrefix=Download Headers
+downloadHeadersInfoText=There are %S new message headers to download for this newsgroup.
+cancelConfirm=Are you sure you want to cancel this message?
+messageCancelled=Message cancelled.
+enterUserPassTitle=News Server Username and Password Required
+# LOCALIZATION NOTE (enterUserPassServer): %S is the server being accessed
+enterUserPassServer=Please enter a username and password for %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=Please enter a username and password for %1$S on %2$S:
+okButtonText=Download
+
+noNewMessages=There are no new messages on the server.
+# 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=Downloading %1$S of %2$S headers for %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=Getting headers for filters: %1$S (%2$S/%3$S) on %4$S
+downloadingArticles=Downloading articles %S-%S
+bytesReceived=Downloading newsgroups: %S received (%SKB read at %SKB/sec)
+downloadingArticlesForOffline=Downloading articles %S-%S in %S
+
+# LOCALIZATION NOTE (autoUnsubscribeText): %1$S is the newsgroup and %2$S is the newsgroup-server it is being removed from.
+autoUnsubscribeText=The newsgroup %1$S does not appear to exist on the host %2$S. Would you like to unsubscribe from it?
+
+# LOCALIZATION NOTE (autoSubscribeText): %1$S is the newsgroup.
+autoSubscribeText=Would you like to subscribe to %1$S?
+
+# LOCALIZATION NOTE (Error -304): In the following item, don't translate "NNTP"
+# Error - server error
+## @name NNTP_ERROR_MESSAGE
+## @loc None
+-304=A News (NNTP) error occurred:
+
+# Error - newsgroup scan error
+## @name NNTP_NEWSGROUP_SCAN_ERROR
+## @loc None
+-305=A News error occurred. The scan of all newsgroups is incomplete. Try to View All Newsgroups again
+
+# Error - NNTP authinfo failure
+## @name NNTP_AUTH_FAILED
+## @loc None
+-260=An authorization error occurred. Please try entering your name and/or password again.
+
+# Error - TCP error
+## @name TCP_ERROR
+## @loc None
+-206=A communications error occurred. Try connecting again. TCP Error:
diff --git a/comm/mail/locales/en-US/chrome/messenger/newsError.dtd b/comm/mail/locales/en-US/chrome/messenger/newsError.dtd
new file mode 100644
index 0000000000..be88a12507
--- /dev/null
+++ b/comm/mail/locales/en-US/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 "Problem Loading Article">
+
+<!-- LOCALIZATION NOTE (articleNotFound.title): The main heading for the news
+ error page. -->
+<!ENTITY articleNotFound.title "Article not found">
+
+<!-- LOCALIZATION NOTE (articleNotFound.desc): A longer description for the news
+ error page. -->
+<!ENTITY articleNotFound.desc "The newsgroup server reports that it can't find the article.">
+
+<!-- LOCALIZATION NOTE (serverResponded.title): A string preceding the text
+ response from the newsgroup server describing the error. -->
+<!ENTITY serverResponded.title "Newsgroup server responded:">
+
+<!-- LOCALIZATION NOTE (articleExpired.title): A string explaining that the
+ article may have expired. -->
+<!ENTITY articleExpired.title "Perhaps the article has expired?">
+
+<!-- LOCALIZATION NOTE (trySearching.title): A string preceding the message's
+ ID. -->
+<!ENTITY trySearching.title "Try searching for article:">
+
+<!-- LOCALIZATION NOTE (removeExpiredArticles.title): The label for the button
+ to remove all expired articles from the newsgroup. -->
+<!ENTITY removeExpiredArticles.title "Remove All Expired Articles">
diff --git a/comm/mail/locales/en-US/chrome/messenger/offline.properties b/comm/mail/locales/en-US/chrome/messenger/offline.properties
new file mode 100644
index 0000000000..bdb69847c9
--- /dev/null
+++ b/comm/mail/locales/en-US/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=Download Messages
+downloadMessagesLabel1=Do you want to download messages for offline use before going offline?
+downloadMessagesCheckboxLabel1=Always ask me when I go offline
+downloadMessagesNow2=&Download Now
+
+# Send Messages Prompt
+sendMessagesWindowTitle1=Unsent Messages
+sendMessagesLabel2=Do you want to send your unsent messages now?
+sendMessagesCheckboxLabel1=Always ask me when I go online
+sendMessagesNow2=&Send Now
+
+processMessagesLater2=&Later
+
+# GetMessages While Offline Prompt
+getMessagesOfflineWindowTitle1=Get Messages
+getMessagesOfflineLabel1=You are currently offline. Do you want to go online to get new messages?
+
+# Send Messages Offline Prompt
+sendMessagesOfflineWindowTitle1=Unsent Messages
+sendMessagesOfflineLabel1=You are currently offline. Do you want to go online to send unsent messages?
+
+offlineTooltip=You are currently offline.
+onlineTooltip=You are currently online.
diff --git a/comm/mail/locales/en-US/chrome/messenger/offlineStartup.properties b/comm/mail/locales/en-US/chrome/messenger/offlineStartup.properties
new file mode 100644
index 0000000000..bd2024e761
--- /dev/null
+++ b/comm/mail/locales/en-US/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=Work Online
+desc=Would you like to go online now?\n\n(If you choose to work offline, you can go online later - choose `Offline' from the `File' menu, then uncheck `Work Offline'.)
+workOnline=Work Online
+workOffline=Work Offline
diff --git a/comm/mail/locales/en-US/chrome/messenger/outlookImportMsgs.properties b/comm/mail/locales/en-US/chrome/messenger/outlookImportMsgs.properties
new file mode 100644
index 0000000000..ce2bc1fa3f
--- /dev/null
+++ b/comm/mail/locales/en-US/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 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 mail, address books, and settings
+
+# 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=Mailbox %S, imported %d messages
+
+# Error message
+## @name OUTLOOKIMPORT_MAILBOX_BADPARAM
+## @loc None
+2003=Bad parameter passed to import mailbox.
+
+# 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=Error importing mailbox %S, all messages may not be imported from this mailbox.
+
+# Address book name
+## @name OUTLOOKIMPORT_ADDRNAME
+## @loc None
+## LOCALIZATION NOTE (2005): In this item, don't translate "Outlook"
+2005=Outlook address books
+
+# 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=Imported address book %S
+
+# Error message
+## @name OUTLOOKIMPORT_ADDRESS_BADPARAM
+## @loc None
+2007=Bad parameter passed to import address book.
+
+# 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=Error accessing file for address book %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=Error importing address book %S, all addresses may not have been imported.
diff --git a/comm/mail/locales/en-US/chrome/messenger/pgpmime.properties b/comm/mail/locales/en-US/chrome/messenger/pgpmime.properties
new file mode 100644
index 0000000000..2754392a07
--- /dev/null
+++ b/comm/mail/locales/en-US/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=This is an encrypted OpenPGP message, but support for OpenPGP decryption is not available.
diff --git a/comm/mail/locales/en-US/chrome/messenger/preferences/applicationManager.properties b/comm/mail/locales/en-US/chrome/messenger/preferences/applicationManager.properties
new file mode 100644
index 0000000000..576fe11b9f
--- /dev/null
+++ b/comm/mail/locales/en-US/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=The following applications can be used to handle %S.
+
+handleProtocol=%S links
+handleFile=%S content
+
+descriptionWebApp=This web application is hosted at:
+descriptionLocalApp=This application is located at:
diff --git a/comm/mail/locales/en-US/chrome/messenger/preferences/applications.properties b/comm/mail/locales/en-US/chrome/messenger/preferences/applications.properties
new file mode 100644
index 0000000000..3ed05ce859
--- /dev/null
+++ b/comm/mail/locales/en-US/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=Are you sure you want to remove the account "%S"?
+
+# LOCALIZATION NOTE (addProvider):
+# %S will be replace with the display name of a provider, e.g. DropBox
+addProvider=Add %S
+
+notConfiguredYet=This account has not been configured yet
diff --git a/comm/mail/locales/en-US/chrome/messenger/preferences/messagestyle.properties b/comm/mail/locales/en-US/chrome/messenger/preferences/messagestyle.properties
new file mode 100644
index 0000000000..9a2081a522
--- /dev/null
+++ b/comm/mail/locales/en-US/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=Default
+nick1=Florian
+buddy1=florian@im.instantbird.org
+nick2=Patrick
+buddy2=patrick@im.instantbird.org
+message1=Hi! :-)
+message2=What's up?
+message3=I'm trying Thunderbird! ;-)
diff --git a/comm/mail/locales/en-US/chrome/messenger/preferences/preferences.properties b/comm/mail/locales/en-US/chrome/messenger/preferences/preferences.properties
new file mode 100644
index 0000000000..8763436949
--- /dev/null
+++ b/comm/mail/locales/en-US/chrome/messenger/preferences/preferences.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/.
+
+#### Junk
+confirmResetJunkTrainingTitle=Confirm
+confirmResetJunkTrainingText=Are you sure you want to reset the adaptive filter training data?
+
+#### Downloads
+desktopFolderName=Desktop
+myDownloadsFolderName=My Downloads
+chooseAttachmentsFolderTitle=Choose Folder
+
+#### Applications
+
+fileEnding=%S file
+saveFile=Save File
+
+# LOCALIZATION NOTE (useApp, useDefault): %S = Application name
+useApp=Use %S
+useDefault=Use %S (default)
+
+useOtherApp=Use other…
+fpTitleChooseApp=Select Helper Application
+manageApp=Application Details…
+alwaysAsk=Always ask
+delete=Delete Action
+confirmDeleteTitle=Delete Action
+confirmDeleteText=Are you sure you want to delete this action?
+
+# 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=Choose Sound
+
+#### Remote content
+imagepermissionstext=You can specify from which web sites images and other remote content are allowed to load. You can also allow all remote content based on sender email address. Type the address of the site or email you want to manage and then click Block or Allow.
+imagepermissionstitle=Exceptions - Remote Content
+
+#### Cookies
+cookiepermissionstitle=Exceptions - Cookies
+cookiepermissionstext=You can specify which web sites are always or never allowed to use cookies. Type the exact address of the site you want to manage and then click Block, Allow for Session, or Allow.
+
+#### Cookie Viewer
+hostColon=Host:
+domainColon=Domain:
+forSecureOnly=Encrypted connections only
+forAnyConnection=Any type of connection
+expireAtEndOfSession=At end of session
+
+noCookieSelected=<no cookie selected>
+cookiesAll=The following cookies are stored on your computer:
+cookiesFiltered=The following cookies match your search:
+# 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=Remove Selected;Remove Selected
+defaultUserContextLabel=None
+
+####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=Your cache is currently using %1$S %2$S of disk space
+actualDiskCacheSizeCalculated=Calculating cache size…
+
+# LOCALIZATION NOTE (labelDefaultFont): %S = font name
+labelDefaultFont=Default (%S)
+labelDefaultFontUnnamed=Default
+
+# LOCALIZATION NOTE (appLocale.label): %S = Name of the application locale,
+# e.g. English (United States)
+appLocale.label=Application locale: %S
+appLocale.accesskey=o
+# LOCALIZATION NOTE (rsLocale.label): %S = Name of the locale chosen in regional settings,
+# e.g. German (Germany)
+rsLocale.label=Regional settings locale: %S
+rsLocale.accesskey=e
+
+applications-type-pdf = Portable Document Format (PDF)
+
+# LOCALIZATION NOTE (previewInApp): %S = brandShortName
+previewInApp=Preview in %S
diff --git a/comm/mail/locales/en-US/chrome/messenger/prefs.properties b/comm/mail/locales/en-US/chrome/messenger/prefs.properties
new file mode 100644
index 0000000000..484ce2c15d
--- /dev/null
+++ b/comm/mail/locales/en-US/chrome/messenger/prefs.properties
@@ -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/.
+
+# The following are used by the Account Wizard
+#
+enterValidEmail=Please enter a valid email address.
+accountNameExists=An account with this name already exists. Please enter a different account name.
+accountNameEmpty=The account name can not be empty.
+modifiedAccountExists=An account with that user name and server name already exists. Please enter a different user name and/or server name.
+userNameChanged=Your User Name has been updated. You may also need to update your Email Address and/or User Name associated with this account.
+serverNameChanged=The server name setting has changed. Please verify that any folders used by filters exist on the new server.
+# LOCALIZATION NOTE (junkSettingsBroken): %1$S is the account name
+junkSettingsBroken=The Junk settings on account "%1$S" have a possible problem. Would you like to review them before saving Account Settings?
+# LOCALIZATION NOTE (localDirectoryChanged): %1$S is program name (&brandShortName;)
+localDirectoryChanged=%1$S needs to restart now to apply the change to the Local directory setting.
+localDirectoryRestart=Restart
+userNameEmpty=The user name can not be empty.
+# LOCALIZATION NOTE (localDirectoryInvalid): %1$S is path to folder
+localDirectoryInvalid=The Local Directory path "%1$S" is invalid. Please pick a different directory.
+# LOCALIZATION NOTE (localDirectoryNotAllowed): %1$S is path to folder
+localDirectoryNotAllowed=The Local Directory path "%1$S" is not suitable for message storage. Please choose another directory.
+# 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=Are you sure you want to exit the Account Wizard?\n\nIf you exit, any information you have entered will be lost and the account will not be created.
+accountWizard=Account Wizard
+WizardExit=Exit
+WizardContinue=Cancel
+# when the wizard already has a domain (Should we say something different?)
+enterValidServerName=Please enter a valid server name.
+failedRemoveAccount=Failed to remove this account.
+#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=If you store this account's new mail in a different account's Inbox, you will no longer be able to access already downloaded email for this account. If you have mail in this account, please copy it to another account first.\n\nIf you have filters that filter mail into this account, you should disable them or change the destination folder. If any accounts have special folders in this account (Sent, Drafts, Templates, Archives, Junk), you should change them to be in another account.\n\nDo you still want to store this account's email in a different account?
+confirmDeferAccountTitle=Defer Account?
+
+directoryAlreadyUsedByOtherAccount=The directory specified in the Local Directory setting is already used by the "%S" account. Please pick a different directory.
+directoryParentUsedByOtherAccount=A parent directory of the directory specified in the Local Directory setting is already used by the "%S" account. Please pick a different directory.
+directoryChildUsedByOtherAccount=A subdirectory of the directory specified in the Local Directory setting is already used by the "%S" account. Please pick a different directory.
+#Provide default example values for sample email address
+exampleEmailUserName=user
+exampleEmailDomain=example.net
+emailFieldText=Email Address:
+#LOCALIZATION NOTE: defaultEmailText: %1$S is user name, %2$S is domain
+defaultEmailText=Enter your email address. This is the address others will use to send email to you (for example, "%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=Enter your %1$S %2$S (for example, if your %1$S email address is "%3$S", your %2$S is "%4$S").
+
+# account manager stuff
+prefPanel-server=Server Settings
+prefPanel-copies=Copies & Folders
+prefPanel-synchronization=Synchronization & Storage
+prefPanel-diskspace=Disk Space
+prefPanel-addressing=Composition & Addressing
+prefPanel-junk=Junk Settings
+## LOCALIZATION NOTE (prefPanel-smtp): Don't translate "SMTP"
+prefPanel-smtp=Outgoing Server (SMTP)
+
+# account manager multiple identity support
+#LOCALIZATION NOTE: accountName: %1$S
+identity-list-title=Identities for %1$S
+
+identityDialogTitleAdd=New Identity
+## LOCALIZATION NOTE (identityDialogTitleEdit): %S is the identity name
+identityDialogTitleEdit=Edit %S
+
+identity-edit-req=You must specify a valid email address for this identity.
+identity-edit-req-title=Error Creating Identity
+
+## 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=Are you sure you want to delete the identity\n%S?
+## LOCALIZATION NOTE (identity-delete-confirm-title): %S is the account name
+identity-delete-confirm-title=Deleting identity for %S
+identity-delete-confirm-button=Delete
+
+choosefile=Choose a file
+
+forAccount=For account "%S"
+
+removeFromServerTitle=Confirm permanent, automatic deletion of messages
+removeFromServer=This setting will permanently delete old messages from the remote server AND your local storage. Are you sure you want to proceed?
+
+confirmSyncChangesTitle=Confirm synchronization changes
+confirmSyncChanges=The Message Synchronization settings were changed.\n\nDo you want to save them?
+confirmSyncChangesDiscard=Discard
diff --git a/comm/mail/locales/en-US/chrome/messenger/removeAccount.dtd b/comm/mail/locales/en-US/chrome/messenger/removeAccount.dtd
new file mode 100644
index 0000000000..fbc22bcec3
--- /dev/null
+++ b/comm/mail/locales/en-US/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 "Remove Account and Data">
+<!ENTITY removeButton.label "Remove">
+<!ENTITY removeButton.accesskey "R">
+<!ENTITY removeAccount.label "Remove account information">
+<!ENTITY removeAccount.accesskey "a">
+<!ENTITY removeAccount.desc "Removes only &brandShortName;'s knowledge of this account. Does not affect the account itself on the server.">
+<!ENTITY removeData.label "Remove message data">
+<!ENTITY removeData.accesskey "d">
+<!ENTITY removeDataChat.label "Remove conversation data">
+<!ENTITY removeDataChat.accesskey "d">
+<!ENTITY removeDataLocalAccount.desc "Removes all messages, folders and filters associated with this account from your local disk. This does not affect some messages which may still be kept on the server. Do not choose this if you plan to archive the local data or re-use it in &brandShortName; later.">
+<!ENTITY removeDataServerAccount.desc "Removes all messages, folders and filters associated with this account from your local disk. Your messages and folders are still kept on the server.">
+<!ENTITY removeDataChatAccount.desc "Removes all logs of conversations stored for this account on your local disk.">
+<!ENTITY showData.label "Show data location">
+<!ENTITY showData.accesskey "S">
+<!ENTITY progressPending "Removing selected data…">
+<!ENTITY progressSuccess "Removal succeeded.">
+<!ENTITY progressFailure "Removal failed.">
diff --git a/comm/mail/locales/en-US/chrome/messenger/removeAccount.properties b/comm/mail/locales/en-US/chrome/messenger/removeAccount.properties
new file mode 100644
index 0000000000..535fd1ea9c
--- /dev/null
+++ b/comm/mail/locales/en-US/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=Are you sure you want to remove the account "%S"?
diff --git a/comm/mail/locales/en-US/chrome/messenger/renameFolderDialog.dtd b/comm/mail/locales/en-US/chrome/messenger/renameFolderDialog.dtd
new file mode 100644
index 0000000000..62dd784f45
--- /dev/null
+++ b/comm/mail/locales/en-US/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 "Rename Folder">
+<!ENTITY rename.label "Enter the new name for your folder:">
+<!ENTITY rename.accesskey "E">
+<!ENTITY accept.label "Rename">
+<!ENTITY accept.accesskey "R">
diff --git a/comm/mail/locales/en-US/chrome/messenger/sanitize.dtd b/comm/mail/locales/en-US/chrome/messenger/sanitize.dtd
new file mode 100644
index 0000000000..e959a11924
--- /dev/null
+++ b/comm/mail/locales/en-US/chrome/messenger/sanitize.dtd
@@ -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/. -->
+
+<!ENTITY sanitizeDialog2.title "Clear Recent History">
+
+<!-- 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 "Time range to clear: ">
+<!ENTITY clearTimeDuration.accesskey "T">
+<!ENTITY clearTimeDuration.lastHour "Last Hour">
+<!ENTITY clearTimeDuration.last2Hours "Last Two Hours">
+<!ENTITY clearTimeDuration.last4Hours "Last Four Hours">
+<!ENTITY clearTimeDuration.today "Today">
+<!ENTITY clearTimeDuration.everything "Everything">
+<!-- Localization note (clearTimeDuration.suffix) - trailing entity for languages
+that require it. -->
+<!ENTITY clearTimeDuration.suffix "">
+
+
+<!ENTITY historyGroup.label "History">
+
+<!ENTITY itemHistory.label "Browsing History">
+<!ENTITY itemHistory.accesskey "B">
+<!ENTITY itemCookies.label "Cookies">
+<!ENTITY itemCookies.accesskey "C">
+<!ENTITY itemCache.label "Cache">
+<!ENTITY itemCache.accesskey "A">
+
+<!-- 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 "This action cannot be undone.">
+
+<!ENTITY dialog.width "28em">
diff --git a/comm/mail/locales/en-US/chrome/messenger/seamonkeyImportMsgs.properties b/comm/mail/locales/en-US/chrome/messenger/seamonkeyImportMsgs.properties
new file mode 100644
index 0000000000..5e0b9d8499
--- /dev/null
+++ b/comm/mail/locales/en-US/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=Import address books, mail and accounts from SeaMonkey.
+
+# Success Message for addressbook import
+SeamonkeyImportAddressSuccess=Address books were successfully imported.
+
+# Success Message for mail import
+SeamonkeyImportSettingsSuccess=Local messages and accounts were successfully imported.
diff --git a/comm/mail/locales/en-US/chrome/messenger/search-attributes.properties b/comm/mail/locales/en-US/chrome/messenger/search-attributes.properties
new file mode 100644
index 0000000000..010b8cd1ef
--- /dev/null
+++ b/comm/mail/locales/en-US/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=Subject
+From=From
+Body=Body
+Date=Date
+Priority=Priority
+Status=Status
+To=To
+Cc=Cc
+ToOrCc=To or Cc
+AgeInDays=Age In Days
+SizeKB=Size (KB)
+Tags=Tags
+# for AB and LDAP
+AnyName=Any Name
+DisplayName=Display Name
+Nickname=Nickname
+ScreenName=Screen Name
+Email=Email
+AdditionalEmail=Additional Email
+AnyNumber=Any Number
+WorkPhone=Work Phone
+HomePhone=Home Phone
+Fax=Fax
+Pager=Pager
+Mobile=Mobile
+City=City
+Street=Street
+Title=Title
+Organization=Organization
+Department=Department
+# more mailnews
+FromToCcOrBcc=From, To, Cc or Bcc
+JunkScoreOrigin=Junk Score Origin
+JunkPercent=Junk Percent
+AttachmentStatus=Attachment Status
+JunkStatus=Junk Status
+Label=Label
+Customize=Customize…
+MissingCustomTerm=Missing Custom Term
diff --git a/comm/mail/locales/en-US/chrome/messenger/search-operators.properties b/comm/mail/locales/en-US/chrome/messenger/search-operators.properties
new file mode 100644
index 0000000000..f61c239b30
--- /dev/null
+++ b/comm/mail/locales/en-US/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=contains
+1=doesn't contain
+2=is
+3=isn't
+4=is empty
+
+5=is before
+6=is after
+
+7=is higher than
+8=is lower than
+
+9=begins with
+10=ends with
+
+11=sounds like
+12=LdapDwim
+
+13=is greater than
+14=is less than
+
+15=NameCompletion
+16=is in my address book
+17=isn't in my address book
+18=isn't empty
+19=matches
+20=doesn't match
diff --git a/comm/mail/locales/en-US/chrome/messenger/search.properties b/comm/mail/locales/en-US/chrome/messenger/search.properties
new file mode 100644
index 0000000000..c629881f6a
--- /dev/null
+++ b/comm/mail/locales/en-US/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=Searching…
+# LOCALIZATION NOTE (matchesFound): #1 number of matches found
+matchesFound=#1 match found;#1 matches found
+noMatchesFound=No matches found
+labelForStopButton=Stop
+labelForSearchButton=Search
+labelForStopButton.accesskey=S
+labelForSearchButton.accesskey=S
+
+moreButtonTooltipText=Add a new rule
+lessButtonTooltipText=Remove this rule
diff --git a/comm/mail/locales/en-US/chrome/messenger/searchTermOverlay.dtd b/comm/mail/locales/en-US/chrome/messenger/searchTermOverlay.dtd
new file mode 100644
index 0000000000..e9bdfa0870
--- /dev/null
+++ b/comm/mail/locales/en-US/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 "Match all of the following">
+<!ENTITY matchAll.accesskey "a">
+<!ENTITY matchAny.label "Match any of the following">
+<!ENTITY matchAny.accesskey "o">
+<!ENTITY matchAllMsgs.label "Match all messages">
+<!ENTITY matchAllMsgs.accesskey "m">
+
+<!-- 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/comm/mail/locales/en-US/chrome/messenger/shutdownWindow.properties b/comm/mail/locales/en-US/chrome/messenger/shutdownWindow.properties
new file mode 100644
index 0000000000..4333ba08a3
--- /dev/null
+++ b/comm/mail/locales/en-US/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=Shutdown Progress Window
+taskProgress=Processing %1$S of %2$S Tasks
+
+# These strings are loaded by the individual shutdown tasks.
diff --git a/comm/mail/locales/en-US/chrome/messenger/smime.properties b/comm/mail/locales/en-US/chrome/messenger/smime.properties
new file mode 100644
index 0000000000..7bfffdb56a
--- /dev/null
+++ b/comm/mail/locales/en-US/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=This is an <B>ENCRYPTED</B> or <B>SIGNED</B> message.<br> This Mail application does not support encrypted or signed mail.
diff --git a/comm/mail/locales/en-US/chrome/messenger/smtpEditOverlay.dtd b/comm/mail/locales/en-US/chrome/messenger/smtpEditOverlay.dtd
new file mode 100644
index 0000000000..593393a21b
--- /dev/null
+++ b/comm/mail/locales/en-US/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 "Settings">
+<!ENTITY security.caption "Security and Authentication">
+<!ENTITY serverName.label "Server Name:">
+<!ENTITY serverName.accesskey "S">
+<!ENTITY serverDescription.label "Description:">
+<!ENTITY serverDescription.accesskey "D">
+<!ENTITY serverPort.label "Port:">
+<!ENTITY serverPort.accesskey "P">
+<!ENTITY userName.label "User Name:">
+<!ENTITY userName.accesskey "m">
+<!ENTITY connectionSecurity.label "Connection security:">
+<!ENTITY connectionSecurity.accesskey "n">
+<!ENTITY connectionSecurityType-0.label "None">
+<!ENTITY connectionSecurityType-1.label "STARTTLS, if available">
+<!ENTITY connectionSecurityType-2.label "STARTTLS">
+<!ENTITY connectionSecurityType-3.label "SSL/TLS">
+<!ENTITY smtpEditTitle.label "SMTP Server">
+<!ENTITY serverPortDefault.label "Default:">
+<!ENTITY authMethod.label "Authentication method:">
+<!ENTITY authMethod.accesskey "i">
diff --git a/comm/mail/locales/en-US/chrome/messenger/subscribe.dtd b/comm/mail/locales/en-US/chrome/messenger/subscribe.dtd
new file mode 100644
index 0000000000..37c7979f2f
--- /dev/null
+++ b/comm/mail/locales/en-US/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 "Subscribe">
+<!ENTITY subscribeButton.label "Subscribe">
+<!ENTITY subscribeButton.accesskey "S">
+<!ENTITY unsubscribeButton.label "Unsubscribe">
+<!ENTITY unsubscribeButton.accesskey "U">
+<!ENTITY newGroupsTab.label "New Groups">
+<!ENTITY newGroupsTab.accesskey "N">
+<!ENTITY refreshButton.label "Refresh">
+<!ENTITY refreshButton.accesskey "R">
+<!ENTITY stopButton.label "Stop">
+<!ENTITY stopButton.accesskey "T">
+<!ENTITY server.label "Account:">
+<!ENTITY server.accesskey "A">
+<!ENTITY subscribedHeader.label "Subscribe">
+<!-- commenting out until bug 38906 is fixed
+<!ENTITY messagesHeader.label "Messages"> -->
+<!ENTITY namefield.label "Show items that contain:">
+<!ENTITY namefield.accesskey "O">
diff --git a/comm/mail/locales/en-US/chrome/messenger/subscribe.properties b/comm/mail/locales/en-US/chrome/messenger/subscribe.properties
new file mode 100644
index 0000000000..10dbb101c3
--- /dev/null
+++ b/comm/mail/locales/en-US/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=Select the newsgroups to subscribe to:
+subscribeLabel-imap=Select the folders to subscribe to:
+currentListTab-nntp.label=Current Group List
+currentListTab-nntp.accesskey=L
+currentListTab-imap.label=Folder List
+currentListTab-imap.accesskey=L
+pleaseWaitString=Please wait…
+offlineState=You are offline. Items could not be retrieved from the server.
+errorPopulating=Error retrieving items from the server.
diff --git a/comm/mail/locales/en-US/chrome/messenger/tabmail.dtd b/comm/mail/locales/en-US/chrome/messenger/tabmail.dtd
new file mode 100644
index 0000000000..0b49814597
--- /dev/null
+++ b/comm/mail/locales/en-US/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 "Close Tab">
+<!ENTITY listAllTabs.label "List all tabs">
+<!-- LOCALIZATION NOTE(defaultTabTitle.label): This is the default tab
+ title to show when the tab has no title. -->
+<!ENTITY defaultTabTitle.label "Home">
diff --git a/comm/mail/locales/en-US/chrome/messenger/taskbar.properties b/comm/mail/locales/en-US/chrome/messenger/taskbar.properties
new file mode 100644
index 0000000000..47959f9102
--- /dev/null
+++ b/comm/mail/locales/en-US/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=Write new message
+taskbar.tasks.composeMessage.description=Write a new message.
+taskbar.tasks.openAddressBook.label=Open address book
+taskbar.tasks.openAddressBook.description=Open your address book.
diff --git a/comm/mail/locales/en-US/chrome/messenger/telemetry.properties b/comm/mail/locales/en-US/chrome/messenger/telemetry.properties
new file mode 100644
index 0000000000..f80bc9edd8
--- /dev/null
+++ b/comm/mail/locales/en-US/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 = Would you like to help improve %1$S by automatically reporting memory usage, performance, and responsiveness to %2$S?
+telemetryLinkLabel = Learn More
+telemetryYesButtonLabel = Yes
+telemetryYesButtonAccessKey = Y
+telemetryNoButtonLabel = No
+telemetryNoButtonAccessKey = N
diff --git a/comm/mail/locales/en-US/chrome/messenger/templateUtils.properties b/comm/mail/locales/en-US/chrome/messenger/templateUtils.properties
new file mode 100644
index 0000000000..063891d153
--- /dev/null
+++ b/comm/mail/locales/en-US/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=yesterday
diff --git a/comm/mail/locales/en-US/chrome/messenger/textImportMsgs.properties b/comm/mail/locales/en-US/chrome/messenger/textImportMsgs.properties
new file mode 100644
index 0000000000..37df51c03f
--- /dev/null
+++ b/comm/mail/locales/en-US/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 text import code to display status/error
+# and informational messages
+#
+
+# Short name of import module
+## @name TEXTIMPORT_NAME
+## @loc None
+2000=Text file (LDIF, .tab, .csv, .txt)
+
+# Description of import module
+## @name TEXTIMPORT_DESCRIPTION
+## @loc None
+2001=Import an address book from a text file, including: LDIF (.ldif, .ldi), tab-delimited (.tab, .txt) or comma-separated (.csv) formats.
+
+# Description of import module
+## @name TEXTIMPORT_ADDRESS_NAME
+## @loc None
+2002=Text Address Book
+
+# Description
+## @name TEXTIMPORT_ADDRESS_SUCCESS
+## @loc None
+2003=Imported address book %S
+
+# Error message
+## @name TEXTIMPORT_ADDRESS_BADPARAM
+## @loc None
+2004=Bad parameter passed to import address book.
+
+# Error message
+## @name TEXTIMPORT_ADDRESS_BADSOURCEFILE
+## @loc None
+2005=Error accessing file for address book %S.
+
+# Error message
+## @name TEXTIMPORT_ADDRESS_CONVERTERROR
+## @loc None
+2006=Error importing address book %S, all addresses may not have been imported.
diff --git a/comm/mail/locales/en-US/chrome/messenger/vCardImportMsgs.properties b/comm/mail/locales/en-US/chrome/messenger/vCardImportMsgs.properties
new file mode 100644
index 0000000000..0a24e9cf2d
--- /dev/null
+++ b/comm/mail/locales/en-US/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 file (.vcf)
+
+vCardImportDescription=Import an address book from vCard format
+
+vCardImportAddressName=vCard Address Book
+
+# LOCALIZATION NOTE (vCardImportAddressSuccess): %S is replaced by the
+# name of the address book being imported.
+vCardImportAddressSuccess=Imported address book %S
+
+# LOCALIZATION NOTE (vCardImportAddressSuccess): %S is replaced by the
+# name of the address book being imported.
+vCardImportAddressBadSourceFile=Error accessing file for address book %S.
+
+# LOCALIZATION NOTE (vCardImportAddressSuccess): %S is replaced by the
+# name of the address book being imported.
+vCardImportAddressConvertError=Error importing address book %S, all addresses may not have been imported.
diff --git a/comm/mail/locales/en-US/chrome/messenger/viewLog.dtd b/comm/mail/locales/en-US/chrome/messenger/viewLog.dtd
new file mode 100644
index 0000000000..5bca64539e
--- /dev/null
+++ b/comm/mail/locales/en-US/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 "Filter Log">
+<!ENTITY viewLogInfo.text "The Filter Log documents the filters that have been run for this account. Use the check box below to enable logging.">
+<!ENTITY clearLog.label "Clear Log">
+<!ENTITY clearLog.accesskey "C">
+<!ENTITY enableLog.label "Enable the Filter Log">
+<!ENTITY enableLog.accesskey "E">
+<!ENTITY closeLog.label "Close">
+<!ENTITY closeLog.accesskey "o">
diff --git a/comm/mail/locales/en-US/chrome/messenger/viewSource.dtd b/comm/mail/locales/en-US/chrome/messenger/viewSource.dtd
new file mode 100644
index 0000000000..7895345453
--- /dev/null
+++ b/comm/mail/locales/en-US/chrome/messenger/viewSource.dtd
@@ -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/. -->
+
+<!-- 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 "Source of: ">
+
+<!ENTITY editMenu.label "Edit">
+<!ENTITY editMenu.accesskey "E">
+<!ENTITY fileMenu.label "File">
+<!ENTITY fileMenu.accesskey "F">
+<!ENTITY savePageCmd.label "Save Page As…">
+<!ENTITY savePageCmd.accesskey "A">
+<!ENTITY savePageCmd.commandkey "S">
+<!ENTITY printCmd.label "Print…">
+<!ENTITY printCmd.accesskey "P">
+<!ENTITY printCmd.commandkey "P">
+<!ENTITY closeCmd.label "Close">
+<!ENTITY closeCmd.accesskey "C">
+<!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 "Go to Line…">
+<!ENTITY goToLineCmd.accesskey "G">
+<!ENTITY goToLineCmd.commandkey "l">
+
+<!ENTITY viewMenu.label "View">
+<!ENTITY viewMenu.accesskey "V">
+<!ENTITY reloadCmd.label "Reload">
+<!ENTITY reloadCmd.accesskey "R">
+<!ENTITY reloadCmd.commandkey "r">
+<!ENTITY menu_wrapLongLines.title "Wrap Long Lines">
+<!ENTITY menu_wrapLongLines.accesskey "W">
+<!ENTITY menu_highlightSyntax.label "Syntax Highlighting">
+<!ENTITY menu_highlightSyntax.accesskey "H">
+<!ENTITY menu_textSize.label "Text Size">
+<!ENTITY menu_textSize.accesskey "Z">
+<!ENTITY menu_textEnlarge.label "Increase">
+<!ENTITY menu_textEnlarge.accesskey "I">
+<!ENTITY menu_textReduce.label "Decrease">
+<!ENTITY menu_textReduce.accesskey "D">
+<!ENTITY menu_textReset.label "Normal">
+<!ENTITY menu_textReset.accesskey "N">
+
+<!ENTITY findOnCmd.label "Find in This Page…">
+<!ENTITY findOnCmd.accesskey "F">
+<!ENTITY findOnCmd.commandkey "f">
+<!ENTITY findAgainCmd.label "Find Again">
+<!ENTITY findAgainCmd.accesskey "g">
+<!ENTITY findAgainCmd.commandkey "g">
+<!ENTITY findAgainCmd.commandkey2 "VK_F3">
+<!ENTITY findSelectionCmd.commandkey "e">
+
+<!ENTITY backCmd.label "Back">
+<!ENTITY backCmd.accesskey "B">
+<!ENTITY forwardCmd.label "Forward">
+<!ENTITY forwardCmd.accesskey "F">
+<!ENTITY goBackCmd.commandKey "[">
+<!ENTITY goForwardCmd.commandKey "]">
+
+<!ENTITY copyLinkCmd.label "Copy Link Location">
+<!ENTITY copyLinkCmd.accesskey "L">
+<!ENTITY copyEmailCmd.label "Copy Email Address">
+<!ENTITY copyEmailCmd.accesskey "E">
diff --git a/comm/mail/locales/en-US/chrome/messenger/viewSource.properties b/comm/mail/locales/en-US/chrome/messenger/viewSource.properties
new file mode 100644
index 0000000000..ea79ace721
--- /dev/null
+++ b/comm/mail/locales/en-US/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 = Go to line
+goToLineText = Enter line number
+invalidInputTitle = Invalid input
+invalidInputText = The line number entered is invalid.
+outOfRangeTitle = Line not found
+outOfRangeText = The specified line was not found.
+viewSelectionSourceTitle = DOM Source of Selection
+viewMathMLSourceTitle = DOM Source of MathML
+
+context_goToLine_label = Go to Line…
+context_goToLine_accesskey = L
+context_wrapLongLines_label = Wrap Long Lines
+context_highlightSyntax_label = Syntax Highlighting
diff --git a/comm/mail/locales/en-US/chrome/messenger/viewZoomOverlay.dtd b/comm/mail/locales/en-US/chrome/messenger/viewZoomOverlay.dtd
new file mode 100644
index 0000000000..55541f6dc8
--- /dev/null
+++ b/comm/mail/locales/en-US/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 "Zoom In">
+<!ENTITY fullZoomEnlargeCmd.accesskey "I">
+<!ENTITY fullZoomEnlargeCmd.commandkey "+">
+<!ENTITY fullZoomEnlargeCmd.commandkey2 "="> <!-- + is above this key on many keyboards -->
+<!ENTITY fullZoomEnlargeCmd.commandkey3 "">
+
+<!ENTITY fullZoomReduceCmd.label "Zoom Out">
+<!ENTITY fullZoomReduceCmd.accesskey "O">
+<!ENTITY fullZoomReduceCmd.commandkey "-">
+<!ENTITY fullZoomReduceCmd.commandkey2 "">
+
+<!ENTITY fullZoomResetCmd.label "Reset">
+<!ENTITY fullZoomResetCmd.accesskey "R">
+<!ENTITY fullZoomResetCmd.commandkey "0">
+<!ENTITY fullZoomResetCmd.commandkey2 "">
+
+<!ENTITY fullZoomToggleCmd.label "Zoom Text Only">
+<!ENTITY fullZoomToggleCmd.accesskey "T">
+<!ENTITY fullZoom.label "Zoom">
+<!ENTITY fullZoom.accesskey "Z">
diff --git a/comm/mail/locales/en-US/chrome/messenger/virtualFolderListDialog.dtd b/comm/mail/locales/en-US/chrome/messenger/virtualFolderListDialog.dtd
new file mode 100644
index 0000000000..d3199adb48
--- /dev/null
+++ b/comm/mail/locales/en-US/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 "Select Folder(s)">
+<!ENTITY virtualFolderDesc.label "Select the folders to search:">
+<!ENTITY folderName.label "Folder name">
+<!ENTITY folderSearch.label "Search">
diff --git a/comm/mail/locales/en-US/chrome/messenger/virtualFolderProperties.dtd b/comm/mail/locales/en-US/chrome/messenger/virtualFolderProperties.dtd
new file mode 100644
index 0000000000..46018de550
--- /dev/null
+++ b/comm/mail/locales/en-US/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 "New Saved Search Folder">
+<!ENTITY name.label "Name:">
+<!ENTITY name.accesskey "N">
+<!ENTITY description.label "Create as a subfolder of:">
+<!ENTITY description.accesskey "C">
+
+<!ENTITY searchTermCaption.label "Configure the search criteria used for this saved search folder: ">
+
+<!ENTITY folderSelectionCaption.label "Select the folders to search: ">
+<!ENTITY chooseFoldersButton.label "Choose…">
+<!ENTITY chooseFoldersButton.accesskey "h">
+
+<!ENTITY searchOnline.label "Search Online (Gives up-to-date results for IMAP and News folders but increases time to open the folder)">
+<!ENTITY searchOnline.accesskey "S">
+<!ENTITY newFolderButton.label "Create">
+<!ENTITY newFolderButton.accesskey "r">
+<!ENTITY editFolderButton.label "Update">
+<!ENTITY editFolderButton.accesskey "U">
diff --git a/comm/mail/locales/en-US/chrome/messenger/wmImportMsgs.properties b/comm/mail/locales/en-US/chrome/messenger/wmImportMsgs.properties
new file mode 100644
index 0000000000..42786af7c1
--- /dev/null
+++ b/comm/mail/locales/en-US/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 settings
+
+# 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=Mailbox %1$S, imported %2$d messages
+
+# Error message
+## @name WMIMPORT_MAILBOX_BADPARAM
+## @loc None
+2003=Bad parameter passed to import mailbox.
+
+# 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=Error accessing file for mailbox %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=Error importing mailbox %S, all messages may not be imported from this mailbox.
+
+# Default name of imported addressbook
+## @name WMIMPORT_DEFAULT_NAME
+## @loc None
+2006=Windows Live Mail Address Book
+
+# Autofind description
+## @name WMIMPORT_AUTOFIND
+## @loc None
+2007=Windows Live Mail address book (windows address book)
+
+# 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=Imported address book %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=Error importing address book %S, all addresses may not have been imported.
+
+# Error message
+## @name WMIMPORT_ADDRESS_BADPARAM
+## @loc None
+2010=Bad parameter passed to import addressbook.
diff --git a/comm/mail/locales/en-US/chrome/mozldap/ldap.properties b/comm/mail/locales/en-US/chrome/mozldap/ldap.properties
new file mode 100644
index 0000000000..4f5df59f4a
--- /dev/null
+++ b/comm/mail/locales/en-US/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 Server Password Required
+
+## @name AUTH_PROMPT_TEXT
+## @loc %1$S should not be localized. It is the hostname of the LDAP server.
+authPromptText=Please enter your password for %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=Operations error
+
+## @name PROTOCOL_ERROR
+## @loc none
+2=Protocol error
+
+## @name TIMELIMIT_EXCEEDED
+## @loc none
+3=Timelimit exceeded
+
+## @name SIZELIMIT_EXCEEDED
+## @loc none
+4=Sizelimit exceeded
+
+## @name COMPARE_FALSE
+## @loc none
+5=Compare false
+
+## @name COMPARE_TRUE
+## @loc none
+6=Compare true
+
+## @name STRONG_AUTH_NOT_SUPPORTED
+## @loc none
+7=Authentication method not supported
+
+## @name STRONG_AUTH_REQUIRED
+## @loc none
+8=Strong authentication required
+
+## @name PARTIAL_RESULTS
+## @loc none
+9=Partial results and referral received
+
+## @name REFERRAL
+## @loc none
+10=Referral received
+
+## @name ADMINLIMIT_EXCEEDED
+## @loc none
+11=Administrative limit exceeded
+
+## @name UNAVAILABLE_CRITICAL_EXTENSION
+## @loc none
+12=Unavailable critical extension
+
+## @name CONFIDENTIALITY_REQUIRED
+## @loc none
+13=Confidentiality required
+
+## @name SASL_BIND_IN_PROGRESS
+## @loc none
+14=SASL bind in progress
+
+## @name NO_SUCH_ATTRIBUTE
+## @loc none
+16=No such attribute
+
+## @name UNDEFINED_TYPE
+## @loc none
+17=Undefined attribute type
+
+## @name INAPPROPRIATE MATCHING
+## @loc none
+18=Inappropriate matching
+
+## @name CONSTRAINT_VIOLATION
+## @loc none
+19=Constraint violation
+
+## @name TYPE_OR_VALUE_EXISTS
+## @loc none
+20=Type or value exists
+
+## @name INVALID_SYNTAX
+## @loc none
+21=Invalid syntax
+
+## @name NO_SUCH_OBJECT
+## @loc none
+32=No such object
+
+## @name ALIAS_PROBLEM
+## @loc none
+33=Alias problem
+
+## @name INVALID_DN_ SYNTAX
+## @loc none
+34=Invalid DN syntax
+
+## @name IS_LEAF
+## @loc none
+35=Object is a leaf
+
+## @name ALIAS_DEREF_PROBLEM
+## @loc none
+36=Alias dereferencing problem
+
+## @name INAPPROPRIATE_AUTH
+## @loc none
+48=Inappropriate authentication
+
+## @name INVALID_CREDENTIALS
+## @loc none
+49=Invalid credentials
+
+## @name INSUFFICIENT_ACCESS
+## @loc none
+50=Insufficient access
+
+## @name BUSY
+## @loc none
+51=The LDAP server is busy
+
+## @name UNAVAILABLE
+## @loc none
+52=LDAP server is unavailable
+
+## @name UNWILLING_TO_PERFORM
+## @loc none
+53=LDAP server is unwilling to perform
+
+## @name LOOP_DETECT
+## @loc none
+54=Loop detected
+
+## @name SORT_CONTROL_MISSING
+## @loc none
+60=Sort Control is missing
+
+## @name INDEX_RANGE_ERROR
+## @loc none
+61=Search results exceed the range specified by the offsets
+
+## @name NAMING_VIOLATION
+## @loc none
+64=Naming violation
+
+## @name OBJECT_CLASS_VIOLATION
+## @loc none
+65=Object class violation
+
+## @name NOT_ALLOWED_ON_NONLEAF
+## @loc none
+66=Operation not allowed on nonleaf
+
+## @name NOT_ALLOWED_ON_RDN
+## @loc none
+67=Operation not allowed on RDN
+
+## @name ALREADY_EXISTS
+## @loc none
+68=Already exists
+
+## @name NO_OBJECT_CLASS_MODS
+## @loc none
+69=Cannot modify object class
+
+## @name RESULTS_TOO_LARGE
+## @loc none
+70=Results too large
+
+## @name AFFECTS_MULTIPLE_DSAS
+## @loc none
+71=Affects multiple servers
+
+## @name OTHER
+## @loc none
+80=Unknown error
+
+## @name SERVER_DOWN
+## @loc none
+81=Can't contact the LDAP server
+
+## @name LOCAL_ERROR
+## @loc none
+82=Local error
+
+## @name ENCODING_ERROR
+## @loc none
+83=Encoding error
+
+## @name DECODING_ERROR
+## @loc none
+84=Decoding error
+
+## @name TIMEOUT
+## @loc none
+85=The LDAP server timed out
+
+## @name AUTH_UNKNOWN
+## @loc none
+86=Unknown authentication method
+
+## @name FILTER_ERROR
+## @loc none
+87=Invalid search filter
+
+## @name USER_CANCELLED
+## @loc none
+88=User cancelled operation
+
+## @name PARAM_ERROR
+## @loc none
+89=Bad parameter to an LDAP routine
+
+## @name NO_MEMORY
+## @loc none
+90=Out of memory
+
+## @name CONNECT_ERROR
+## @loc none
+91=Can't connect to the LDAP server
+
+## @name NOT_SUPPORTED
+## @loc none
+92=Not supported by this version of the LDAP protocol
+
+## @name CONTROL_NOT_FOUND
+## @loc none
+93=Requested LDAP control not found
+
+## @name NO_RESULTS_RETURNED
+## @loc none
+94=No results returned
+
+## @name MORE_RESULTS_TO_RETURN
+## @loc none
+95=More results to return
+
+## @name CLIENT_LOOP
+## @loc none
+96=Client detected loop
+
+## @name REFERRAL_LIMIT_EXCEEDED
+## @loc none
+97=Referral hop limit exceeded
diff --git a/comm/mail/locales/en-US/chrome/overrides/profileDowngrade.dtd b/comm/mail/locales/en-US/chrome/overrides/profileDowngrade.dtd
new file mode 100644
index 0000000000..c23dc62d13
--- /dev/null
+++ b/comm/mail/locales/en-US/chrome/overrides/profileDowngrade.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/. -->
+
+<!-- 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 "You have launched an older version of &brandProductName;">
+
+<!ENTITY window.nosync2 "A newer version of &brandProductName; may have made changes to your profile which are no longer compatible with this older version. Use this profile only with that newer version, or create a new profile for this installation of &brandShortName;. Creating a new profile requires setting up your accounts, calendars and add-ons again.">
+
+<!ENTITY window.moreinfo "More information…">
+<!ENTITY window.create "Create New Profile">
+<!ENTITY window.quit-win "Exit">
+<!ENTITY window.quit-nonwin "Quit">
diff --git a/comm/mail/locales/en-US/crashreporter/crashreporter-override.ini b/comm/mail/locales/en-US/crashreporter/crashreporter-override.ini
new file mode 100644
index 0000000000..c54574d69b
--- /dev/null
+++ b/comm/mail/locales/en-US/crashreporter/crashreporter-override.ini
@@ -0,0 +1,9 @@
+; This Source Code Form is subject to the terms of the Mozilla Public
+; License, v. 2.0. If a copy of the MPL was not distributed with this
+; file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# This file is in the UTF-8 encoding
+[Strings]
+# LOCALIZATION NOTE (CrashReporterProductErrorText2): The %s is replaced with a string containing detailed information.
+CrashReporterProductErrorText2=Thunderbird had a problem and crashed. We’ll try to restore your tabs and windows when it restarts.\n\nUnfortunately the crash reporter is unable to submit a crash report.\n\nDetails: %s
+CrashReporterDescriptionText2=Thunderbird had a problem and crashed. We’ll try to restore your tabs and windows when it restarts.\n\nTo help us diagnose and fix the problem, you can send us a crash report.
diff --git a/comm/mail/locales/en-US/installer/custom.properties b/comm/mail/locales/en-US/installer/custom.properties
new file mode 100755
index 0000000000..56d9f8ff65
--- /dev/null
+++ b/comm/mail/locales/en-US/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 is a full-featured email application. $BrandShortName supports IMAP and POP mail protocols, as well as HTML mail formatting. Built-in junk mail controls, RSS capabilities, powerful quick search, spell check as you type, global inbox, and advanced message filtering round out $BrandShortName's modern feature set.
+CONTEXT_OPTIONS=$BrandShortName &Options
+CONTEXT_SAFE_MODE=$BrandShortName &Safe Mode
+OPTIONS_PAGE_TITLE=Setup Type
+OPTIONS_PAGE_SUBTITLE=Choose setup options
+SHORTCUTS_PAGE_TITLE=Set Up Shortcuts
+SHORTCUTS_PAGE_SUBTITLE=Create Program Icons
+COMPONENTS_PAGE_TITLE=Set Up Optional Components
+COMPONENTS_PAGE_SUBTITLE=Optional Recommended Components
+OPTIONAL_COMPONENTS_DESC=The Maintenance Service will allow you to update $BrandShortName silently in the background.
+MAINTENANCE_SERVICE_CHECKBOX_DESC=Install &Maintenance Service
+SUMMARY_PAGE_TITLE=Summary
+SUMMARY_PAGE_SUBTITLE=Ready to start installing $BrandShortName
+SUMMARY_INSTALLED_TO=$BrandShortName will be installed to the following location:
+SUMMARY_REBOOT_REQUIRED_INSTALL=A restart of your computer may be required to complete the installation.
+SUMMARY_REBOOT_REQUIRED_UNINSTALL=A restart of your computer may be required to complete the uninstall.
+SUMMARY_TAKE_DEFAULTS=U&se $BrandShortName as my default mail application
+SUMMARY_INSTALL_CLICK=Click Install to continue.
+SUMMARY_UPGRADE_CLICK=Click Upgrade to continue.
+SURVEY_TEXT=&Tell us what you thought of $BrandShortName
+LAUNCH_TEXT=&Launch $BrandFullName now
+CREATE_ICONS_DESC=Create icons for $BrandShortName:
+ICONS_DESKTOP=On my &desktop
+ICONS_STARTMENU=In my &Start menu Programs folder
+ICONS_TASKBAR=On my &taskbar
+WARN_MANUALLY_CLOSE_APP_INSTALL=$BrandShortName must be closed to proceed with the installation.\n\nPlease close $BrandShortName to continue.
+WARN_MANUALLY_CLOSE_APP_UNINSTALL=$BrandShortName must be closed to proceed with the uninstall.\n\nPlease close $BrandShortName to continue.
+WARN_MANUALLY_CLOSE_APP_LAUNCH=$BrandShortName is already running.\n\nPlease close $BrandShortName prior to launching the version you have just installed.
+WARN_WRITE_ACCESS=You don't have access to write to the installation directory.\n\nClick OK to select a different directory.
+WARN_DISK_SPACE=You don't have sufficient disk space to install to this location.\n\nClick OK to select a different location.
+WARN_MIN_SUPPORTED_OSVER_MSG=Sorry, $BrandShortName can't be installed. This version of $BrandShortName requires ${MinSupportedVer} or newer. Please click the OK button for additional information.
+WARN_MIN_SUPPORTED_CPU_MSG=Sorry, $BrandShortName can't be installed. This version of $BrandShortName requires a processor with ${MinSupportedCPU} support. Please click the OK button for additional information.
+WARN_MIN_SUPPORTED_OSVER_CPU_MSG=Sorry, $BrandShortName can't be installed. This version of $BrandShortName requires ${MinSupportedVer} or newer and a processor with ${MinSupportedCPU} support. Please click the OK button for additional information.
+WARN_RESTART_REQUIRED_UNINSTALL=Your computer must be restarted to complete a previous uninstall of $BrandShortName. Do you want to reboot now?
+WARN_RESTART_REQUIRED_UPGRADE=Your computer must be restarted to complete a previous upgrade of $BrandShortName. Do you want to reboot now?
+ERROR_CREATE_DIRECTORY_PREFIX=Error creating directory:
+ERROR_CREATE_DIRECTORY_SUFFIX=Click Cancel to stop the installation or\nRetry to try again.
+
+UN_CONFIRM_PAGE_TITLE=Uninstall $BrandFullName
+UN_CONFIRM_PAGE_SUBTITLE=Remove $BrandFullName from your computer.
+UN_CONFIRM_UNINSTALLED_FROM=$BrandShortName will be uninstalled from the following location:
+UN_CONFIRM_CLICK=Click Uninstall to continue.
+
+BANNER_CHECK_EXISTING=Checking existing installation…
+
+STATUS_INSTALL_APP=Installing $BrandShortName…
+STATUS_INSTALL_LANG=Installing Language Files (${AB_CD})…
+STATUS_UNINSTALL_MAIN=Uninstalling $BrandShortName…
+STATUS_CLEANUP=Cleaning up the birdcage…
+
+# _DESC strings support approximately 65 characters per line.
+# One line
+OPTIONS_SUMMARY=Choose the type of setup you prefer, then click Next.
+# One line
+OPTION_STANDARD_DESC=$BrandShortName will be installed with the most common options.
+OPTION_STANDARD_RADIO=&Standard
+# Two lines
+OPTION_CUSTOM_DESC=You may choose individual options to be installed. Recommended for experienced users.
+OPTION_CUSTOM_RADIO=&Custom
+
+# 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=&Upgrade
diff --git a/comm/mail/locales/en-US/installer/mui.properties b/comm/mail/locales/en-US/installer/mui.properties
new file mode 100755
index 0000000000..8620b8ae9d
--- /dev/null
+++ b/comm/mail/locales/en-US/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=Welcome to the $BrandFullNameDA Setup Wizard
+MUI_TEXT_WELCOME_INFO_TEXT=This wizard will guide you through the installation of $BrandFullNameDA.\n\nIt is recommended that you close all other applications before starting Setup. This will make it possible to update relevant system files without having to reboot your computer.\n\n$_CLICK
+MUI_TEXT_COMPONENTS_TITLE=Choose Components
+MUI_TEXT_COMPONENTS_SUBTITLE=Choose which features of $BrandFullNameDA you want to install.
+MUI_INNERTEXT_COMPONENTS_DESCRIPTION_TITLE=Description
+MUI_INNERTEXT_COMPONENTS_DESCRIPTION_INFO=Position your mouse over a component to see its description.
+MUI_TEXT_DIRECTORY_TITLE=Choose Install Location
+MUI_TEXT_DIRECTORY_SUBTITLE=Choose the folder in which to install $BrandFullNameDA.
+MUI_TEXT_INSTALLING_TITLE=Installing
+MUI_TEXT_INSTALLING_SUBTITLE=Please wait while $BrandFullNameDA is being installed.
+MUI_TEXT_FINISH_TITLE=Installation Complete
+MUI_TEXT_FINISH_SUBTITLE=Setup was completed successfully.
+MUI_TEXT_ABORT_TITLE=Installation Aborted
+MUI_TEXT_ABORT_SUBTITLE=Setup was not completed successfully.
+MUI_BUTTONTEXT_FINISH=&Finish
+MUI_TEXT_FINISH_INFO_TITLE=Completing the $BrandFullNameDA Setup Wizard
+MUI_TEXT_FINISH_INFO_TEXT=$BrandFullNameDA has been installed on your computer.\n\nClick Finish to close this wizard.
+MUI_TEXT_FINISH_INFO_REBOOT=Your computer must be restarted in order to complete the installation of $BrandFullNameDA. Do you want to reboot now?
+MUI_TEXT_FINISH_REBOOTNOW=Reboot now
+MUI_TEXT_FINISH_REBOOTLATER=I want to manually reboot later
+MUI_TEXT_STARTMENU_TITLE=Choose Start Menu Folder
+MUI_TEXT_STARTMENU_SUBTITLE=Choose a Start Menu folder for the $BrandFullNameDA shortcuts.
+MUI_INNERTEXT_STARTMENU_TOP=Select the Start Menu folder in which you would like to create the program's shortcuts. You can also enter a name to create a new folder.
+MUI_TEXT_ABORTWARNING=Are you sure you want to quit $BrandFullName Setup?
+MUI_UNTEXT_WELCOME_INFO_TITLE=Welcome to the $BrandFullNameDA Uninstall Wizard
+MUI_UNTEXT_WELCOME_INFO_TEXT=This wizard will guide you through the uninstallation of $BrandFullNameDA.\n\nBefore starting the uninstallation, make sure $BrandFullNameDA is not running.\n\n$_CLICK
+MUI_UNTEXT_CONFIRM_TITLE=Uninstall $BrandFullNameDA
+MUI_UNTEXT_CONFIRM_SUBTITLE=Remove $BrandFullNameDA from your computer.
+MUI_UNTEXT_UNINSTALLING_TITLE=Uninstalling
+MUI_UNTEXT_UNINSTALLING_SUBTITLE=Please wait while $BrandFullNameDA is being uninstalled.
+MUI_UNTEXT_FINISH_TITLE=Uninstallation Complete
+MUI_UNTEXT_FINISH_SUBTITLE=Uninstall was completed successfully.
+MUI_UNTEXT_ABORT_TITLE=Uninstallation Aborted
+MUI_UNTEXT_ABORT_SUBTITLE=Uninstall was not completed successfully.
+MUI_UNTEXT_FINISH_INFO_TITLE=Completing the $BrandFullNameDA Uninstall Wizard
+MUI_UNTEXT_FINISH_INFO_TEXT=$BrandFullNameDA has been uninstalled from your computer.\n\nClick Finish to close this wizard.
+MUI_UNTEXT_FINISH_INFO_REBOOT=Your computer must be restarted in order to complete the uninstallation of $BrandFullNameDA. Do you want to reboot now?
+MUI_UNTEXT_ABORTWARNING=Are you sure you want to quit $BrandFullName Uninstall?
diff --git a/comm/mail/locales/en-US/installer/override.properties b/comm/mail/locales/en-US/installer/override.properties
new file mode 100755
index 0000000000..bb8cac7387
--- /dev/null
+++ b/comm/mail/locales/en-US/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 Setup
+UninstallCaption=$BrandFullName Uninstall
+BackBtn=< &Back
+NextBtn=&Next >
+AcceptBtn=I &accept the terms in the License Agreement
+DontAcceptBtn=I &do not accept the terms in the License Agreement
+InstallBtn=&Install
+UninstallBtn=&Uninstall
+CancelBtn=Cancel
+CloseBtn=&Close
+BrowseBtn=B&rowse…
+ShowDetailsBtn=Show &details
+ClickNext=Click Next to continue.
+ClickInstall=Click Install to start the installation.
+ClickUninstall=Click Uninstall to start the uninstallation.
+Completed=Completed
+LicenseTextRB=Please review the license agreement before installing $BrandFullNameDA. If you accept all terms of the agreement, select the first option below. $_CLICK
+ComponentsText=Check the components you want to install and uncheck the components you don't want to install. $_CLICK
+ComponentsSubText2_NoInstTypes=Select components to install:
+DirText=Setup will install $BrandFullNameDA in the following folder. To install in a different folder, click Browse and select another folder. $_CLICK
+DirSubText=Destination Folder
+DirBrowseText=Select the folder to install $BrandFullNameDA in:
+SpaceAvailable="Space available: "
+SpaceRequired="Space required: "
+UninstallingText=$BrandFullNameDA will be uninstalled from the following folder. $_CLICK
+UninstallingSubText=Uninstalling from:
+FileError=Error opening file for writing: \r\n\r\n$0\r\n\r\nClick Abort to stop the installation,\r\nRetry to try again, or\r\nIgnore to skip this file.
+FileError_NoIgnore=Error opening file for writing: \r\n\r\n$0\r\n\r\nClick Retry to try again, or\r\nCancel to stop the installation.
+CantWrite="Can't write: "
+CopyFailed=Copy failed
+CopyTo="Copy to "
+Registering="Registering: "
+Unregistering="Unregistering: "
+SymbolNotFound="Could not find symbol: "
+CouldNotLoad="Could not load: "
+CreateFolder="Create folder: "
+CreateShortcut="Create shortcut: "
+CreatedUninstaller="Created uninstaller: "
+Delete="Delete file: "
+DeleteOnReboot="Delete on reboot: "
+ErrorCreatingShortcut="Error creating shortcut: "
+ErrorCreating="Error creating: "
+ErrorDecompressing=Error decompressing data! Corrupted installer?
+ErrorRegistering=Error registering DLL
+ExecShell="ExecShell: "
+Exec="Execute: "
+Extract="Extract: "
+ErrorWriting="Extract: error writing to file "
+InvalidOpcode=Installer corrupted: invalid opcode
+NoOLE="No OLE for: "
+OutputFolder="Output folder: "
+RemoveFolder="Remove folder: "
+RenameOnReboot="Rename on reboot: "
+Rename="Rename: "
+Skipped="Skipped: "
+CopyDetails=Copy Details To Clipboard
+LogInstall=Log install process
+Byte=B
+Kilo=K
+Mega=M
+Giga=G
diff --git a/comm/mail/locales/en-US/langpack-metadata.ftl b/comm/mail/locales/en-US/langpack-metadata.ftl
new file mode 100644
index 0000000000..86dbc9c490
--- /dev/null
+++ b/comm/mail/locales/en-US/langpack-metadata.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/.
+
+## Strings used to define the metadata of langpacks published on addons.mozilla.org.
+## Only text elements and literals are supported for these strings.
+
+langpack-creator = mozilla.org
+
+# To credit multiple contributors, use a comma-delimited list.
+# Example: Joe Solon, Suzy Solon
+langpack-contributors = { "" }
diff --git a/comm/mail/locales/en-US/messenger/about3Pane.ftl b/comm/mail/locales/en-US/messenger/about3Pane.ftl
new file mode 100644
index 0000000000..267570aac9
--- /dev/null
+++ b/comm/mail/locales/en-US/messenger/about3Pane.ftl
@@ -0,0 +1,482 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+## Message List Header Bar
+
+quick-filter-button =
+ .title = Toggle the Quick Filter Bar
+quick-filter-button-label = Quick Filter
+
+thread-pane-header-display-button =
+ .title = Message list display options
+
+# Variables:
+# $count (Number) - The number of messages in this folder.
+thread-pane-folder-message-count =
+ { $count ->
+ [one] { $count } Message
+ *[other] { $count } Messages
+ }
+
+# Variables:
+# $count (Number) - The number of messages currently selected.
+thread-pane-folder-selected-count =
+ { $count ->
+ *[other] { $count } Selected
+ }
+
+thread-pane-header-context-table-view =
+ .label = Table View
+
+thread-pane-header-context-cards-view =
+ .label = Cards View
+
+thread-pane-header-context-hide =
+ .label = Hide Message List Header
+
+## Quick Filter Bar
+
+# The tooltip to display when the user hovers over the sticky button
+# (currently displayed as a push-pin). When active, the sticky button
+# causes the current filter settings to be retained when the user changes
+# folders or opens new tabs. (When inactive, only the state of the text
+# filters are propagated between folder changes and when opening new tabs.)
+quick-filter-bar-sticky =
+ .title = Keep filters applied when switching folders
+
+# The tooltip for the filter button that replaces the quick filter buttons with
+# a dropdown menu.
+quick-filter-bar-dropdown =
+ .title = Quick filter menu
+
+quick-filter-bar-dropdown-unread =
+ .label = Unread
+
+quick-filter-bar-dropdown-starred =
+ .label = Starred
+
+quick-filter-bar-dropdown-inaddrbook =
+ .label = Contact
+
+quick-filter-bar-dropdown-tags =
+ .label = Tags
+
+quick-filter-bar-dropdown-attachment =
+ .label = Attachment
+
+# The tooltip for the filter button that causes us to filter results to only
+# include unread messages.
+quick-filter-bar-unread =
+ .title = Show only unread messages
+# The label for the filter button that causes us to filter results to only
+# include unread messages.
+quick-filter-bar-unread-label = Unread
+
+# The tooltip for the filter button that causes us to filter results to only
+# include messages that have been starred/flagged.
+quick-filter-bar-starred =
+ .title = Show only starred messages
+# The label for the filter button that causes us to filter results to only
+# include messages that have been starred/flagged.
+quick-filter-bar-starred-label = Starred
+
+# The tooltip for the filter button that causes us to filter results to only
+# include messages from contacts in one of the user's non-remote address
+# books.
+quick-filter-bar-inaddrbook =
+ .title = Show only messages from people in your address book
+# The label for the filter button that causes us to filter results to only
+# include messages from contacts in one of the user's non-remote address
+# books.
+quick-filter-bar-inaddrbook-label = Contact
+
+# The tooltip for the filter button that causes us to filter results to only
+# include messages with at least one tag on them.
+quick-filter-bar-tags =
+ .title = Show only messages with tags on them
+# The label for the filter button that causes us to filter results to only
+# include messages with at least one tag on them.
+quick-filter-bar-tags-label = Tags
+
+# The tooltip for the filter button that causes us to filter results to only
+# include messages with attachments.
+quick-filter-bar-attachment =
+ .title = Show only messages with attachments
+# The label for the filter button that causes us to filter results to only
+# include messages with attachments.
+quick-filter-bar-attachment-label = Attachment
+
+# The contents of the results box when there is a filter active but there
+# are no messages matching the filter.
+quick-filter-bar-no-results = No results
+
+# This is used to populate the results box; it either displays the
+# number of messages found using this string, that there are no messages
+# (using quick-filter-bar-no-results), or the box is hidden.
+# Variables:
+# $count (Number) - The number of messages that match selected filters.
+quick-filter-bar-results =
+ { $count ->
+ [one] { $count } message
+ *[other] { $count } messages
+ }
+
+# Keyboard shortcut for the text search box.
+# This should match quick-filter-bar-show in messenger.ftl.
+quick-filter-bar-textbox-shortcut =
+ { PLATFORM() ->
+ [macos] ⇧ ⌘ K
+ *[other] Ctrl+Shift+K
+ }
+
+# This is the empty text for the text search box.
+# The goal is to convey to the user that typing in the box will filter
+# the messages and that there is a hotkey they can press to get to the
+# box faster.
+quick-filter-bar-textbox =
+ .placeholder = Filter these messages <{ quick-filter-bar-textbox-shortcut }>
+
+# Tooltip of the Any-of/All-of tagging mode selector.
+quick-filter-bar-boolean-mode =
+ .title = Tag filtering mode
+# The Any-of tagging mode.
+quick-filter-bar-boolean-mode-any =
+ .label = Any of
+ .title = At least one of the selected tag criteria should match
+# The All-of tagging mode.
+quick-filter-bar-boolean-mode-all =
+ .label = All of
+ .title = All of the selected tag criteria must match
+
+# This label explains what the sender/recipients/subject/body buttons do.
+# This string should ideally be kept short because the label and the text
+# filter buttons share their bar (that appears when there is text in the text
+# filter box) with the list of tags when the tag filter is active, and the
+# tag sub-bar wants as much space as possible. (Overflow is handled by an
+# arrow scroll box.)
+quick-filter-bar-text-filter-explanation = Filter messages by:
+# The button label that toggles whether the text filter searches the message
+# sender for the string.
+quick-filter-bar-text-filter-sender = Sender
+# The button label that toggles whether the text filter searches the message
+# recipients (to, cc) for the string.
+quick-filter-bar-text-filter-recipients = Recipients
+# The button label that toggles whether the text filter searches the message
+# subject for the string.
+quick-filter-bar-text-filter-subject = Subject
+# The button label that toggles whether the text filter searches the message
+# body for the string.
+quick-filter-bar-text-filter-body = Body
+
+# The first line of the panel popup that tells the user we found no matches
+# but we can convert to a global search for them.
+quick-filter-bar-gloda-upsell-line1 = Continue this search across all folders
+# The second line of the panel popup that tells the user we found no matches.
+# Variables:
+# $text (String) - What the user has typed so far.
+quick-filter-bar-gloda-upsell-line2 = Press ‘Enter’ again to continue your search for: { $text }
+
+## Folder pane
+
+folder-pane-get-messages-button =
+ .title = Get Messages
+
+folder-pane-get-all-messages-menuitem =
+ .label = Get All New Messages
+ .accesskey = G
+
+folder-pane-write-message-button = New Message
+ .title = Compose a new message
+
+folder-pane-more-menu-button =
+ .title = Folder pane options
+
+# Context menu item to show/hide different folder types in the folder pane
+folder-pane-header-folder-modes =
+ .label = Folder Modes
+
+# Context menu item to toggle display of "Get messages" button in folder pane header
+folder-pane-header-context-toggle-get-messages =
+ .label = Show “Get Messages”
+
+# Context menu item to toggle display of "New Message" button in folder pane header
+folder-pane-header-context-toggle-new-message =
+ .label = Show “New Message”
+
+folder-pane-header-context-hide =
+ .label = Hide Folder Pane Header
+
+folder-pane-show-total-toggle =
+ .label = Show Total Message Count
+
+# Context menu item to show or hide folder sizes
+folder-pane-header-toggle-folder-size =
+ .label = Show Folder Size
+
+folder-pane-header-hide-local-folders =
+ .label = Hide Local Folders
+
+folder-pane-mode-context-button =
+ .title = Folder mode options
+
+folder-pane-mode-context-toggle-compact-mode =
+ .label = Compact View
+ .accesskey = C
+
+folder-pane-mode-move-up =
+ .label = Move Up
+
+folder-pane-mode-move-down =
+ .label = Move Down
+
+# Variables:
+# $count (Number) - Number of unread messages.
+folder-pane-unread-aria-label =
+ { $count ->
+ [one] 1 unread message
+ *[other] { $count } unread messages
+ }
+
+# Variables:
+# $count (Number) - Number of total messages.
+folder-pane-total-aria-label =
+ { $count ->
+ [one] 1 total message
+ *[other] { $count } total messages
+ }
+
+## Message thread pane
+
+threadpane-column-header-select =
+ .title = Toggle select all messages
+threadpane-column-header-select-all =
+ .title = Select all messages
+threadpane-column-header-deselect-all =
+ .title = Deselect all messages
+threadpane-column-label-select =
+ .label = Select Messages
+threadpane-cell-select =
+ .aria-label = Select message
+
+threadpane-column-header-thread =
+ .title = Toggle message threads
+threadpane-column-label-thread =
+ .label = Thread
+threadpane-cell-thread =
+ .aria-label = Thread status
+
+threadpane-column-header-flagged =
+ .title = Sort by star
+threadpane-column-label-flagged =
+ .label = Starred
+threadpane-cell-flagged =
+ .aria-label = Starred
+
+threadpane-flagged-cell-label = Starred
+
+threadpane-column-header-attachments =
+ .title = Sort by attachments
+threadpane-column-label-attachments =
+ .label = Attachments
+threadpane-cell-attachments =
+ .aria-label = Attachments
+
+threadpane-attachments-cell-label = Attachments
+
+threadpane-column-header-spam =
+ .title = Sort by spam status
+threadpane-column-label-spam =
+ .label = Spam
+threadpane-cell-spam =
+ .aria-label = Spam status
+
+threadpane-spam-cell-label = Spam
+
+threadpane-column-header-unread-button =
+ .title = Sort by read status
+threadpane-column-label-unread-button =
+ .label = Read status
+
+threadpane-cell-read-status =
+ .aria-label = Read status
+
+threadpane-read-cell-label = Read
+threadpane-unread-cell-label = Unread
+
+threadpane-column-header-sender = From
+ .title = Sort by from
+threadpane-column-label-sender =
+ .label = From
+threadpane-cell-sender =
+ .aria-label = From
+
+threadpane-column-header-recipient = Recipient
+ .title = Sort by recipient
+threadpane-column-label-recipient =
+ .label = Recipient
+threadpane-cell-recipient =
+ .aria-label = Recipient
+
+threadpane-column-header-correspondents = Correspondents
+ .title = Sort by correspondents
+threadpane-column-label-correspondents =
+ .label = Correspondents
+threadpane-cell-correspondents =
+ .aria-label = Correspondents
+
+threadpane-column-header-subject = Subject
+ .title = Sort by subject
+threadpane-column-label-subject =
+ .label = Subject
+threadpane-cell-subject =
+ .aria-label = Subject
+
+threadpane-column-header-date = Date
+ .title = Sort by date
+threadpane-column-label-date =
+ .label = Date
+threadpane-cell-date =
+ .aria-label = Date
+
+threadpane-column-header-received = Received
+ .title = Sort by date received
+threadpane-column-label-received =
+ .label = Received
+threadpane-cell-received =
+ .aria-label = Date received
+
+threadpane-column-header-status = Status
+ .title = Sort by status
+threadpane-column-label-status =
+ .label = Status
+threadpane-cell-status =
+ .aria-label = Status
+
+threadpane-column-header-size = Size
+ .title = Sort by size
+threadpane-column-label-size =
+ .label = Size
+threadpane-cell-size =
+ .aria-label = Size
+
+threadpane-column-header-tags = Tags
+ .title = Sort by tags
+threadpane-column-label-tags =
+ .label = Tags
+threadpane-cell-tags =
+ .aria-label = Tags
+
+threadpane-column-header-account = Account
+ .title = Sort by account
+threadpane-column-label-account =
+ .label = Account
+threadpane-cell-account =
+ .aria-label = Account
+
+threadpane-column-header-priority = Priority
+ .title = Sort by priority
+threadpane-column-label-priority =
+ .label = Priority
+threadpane-cell-priority =
+ .aria-label = Priority
+
+threadpane-column-header-unread = Unread
+ .title = Number of unread messages in thread
+threadpane-column-label-unread =
+ .label = Unread
+threadpane-cell-unread =
+ .aria-label = Number of unread messages
+
+threadpane-column-header-total = Total
+ .title = Total number of messages in thread
+threadpane-column-label-total =
+ .label = Total
+threadpane-cell-total =
+ .aria-label = Total number of messages
+
+threadpane-column-header-location = Location
+ .title = Sort by location
+threadpane-column-label-location =
+ .label = Location
+threadpane-cell-location =
+ .aria-label = Location
+
+threadpane-column-header-id = Order Received
+ .title = Sort by order received
+threadpane-column-label-id =
+ .label = Order Received
+threadpane-cell-id =
+ .aria-label = Order received
+
+threadpane-column-header-delete =
+ .title = Delete a message
+threadpane-column-label-delete =
+ .label = Delete
+threadpane-cell-delete =
+ .aria-label = Delete
+
+## Message state variations
+
+threadpane-message-new =
+ .alt = New message indicator
+ .title = New message
+
+threadpane-message-replied =
+ .alt = Replied indicator
+ .title = Message replied
+
+threadpane-message-redirected =
+ .alt = Redirected indicator
+ .title = Message redirected
+
+threadpane-message-forwarded =
+ .alt = Forwarded indicator
+ .title = Message forwarded
+
+threadpane-message-replied-forwarded =
+ .alt = Replied and forwarded indicator
+ .title = Message replied and forwarded
+
+threadpane-message-replied-redirected =
+ .alt = Replied and redirected indicator
+ .title = Message replied and redirected
+
+threadpane-message-forwarded-redirected =
+ .alt = Forwarded and redirected indicator
+ .title = Message forwarded and redirected
+
+threadpane-message-replied-forwarded-redirected =
+ .alt = Replied, forwarded, and redirected indicator
+ .title = Message replied, forwarded, and redirected
+
+apply-columns-to-menu =
+ .label = Apply columns to…
+
+apply-current-view-to-menu =
+ .label = Apply current view to…
+
+apply-current-view-to-folder =
+ .label = Folder…
+
+apply-current-view-to-folder-children =
+ .label = Folder and its children…
+
+## Apply columns confirmation dialog
+
+apply-changes-to-folder-title = Apply Changes?
+
+# Variables:
+# $name (String): The name of the folder to apply to.
+apply-current-columns-to-folder-message = Apply the current folder’s columns to { $name }?
+
+# Variables:
+# $name (String): The name of the folder to apply to.
+apply-current-columns-to-folder-with-children-message = Apply the current folder’s columns to { $name } and its children?
+
+# Variables:
+# $name (String): The name of the folder to apply to.
+apply-current-view-to-folder-message = Apply the current folder’s view to { $name }?
+# Variables:
+# $name (String): The name of the folder to apply to.
+apply-current-view-to-folder-with-children-message = Apply the current folder’s view to { $name } and its children?
diff --git a/comm/mail/locales/en-US/messenger/aboutAddonsExtra.ftl b/comm/mail/locales/en-US/messenger/aboutAddonsExtra.ftl
new file mode 100644
index 0000000000..991a75695c
--- /dev/null
+++ b/comm/mail/locales/en-US/messenger/aboutAddonsExtra.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/.
+
+add-on-options-button =
+ .title = Add-on Options
+
+add-on-search-alternative-button-label = Find an alternative add-on
+
+atn-addons-heading-search-input =
+ .placeholder = Search addons.thunderbird.net
diff --git a/comm/mail/locales/en-US/messenger/aboutDialog.ftl b/comm/mail/locales/en-US/messenger/aboutDialog.ftl
new file mode 100644
index 0000000000..e14777deee
--- /dev/null
+++ b/comm/mail/locales/en-US/messenger/aboutDialog.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/.
+
+about-update-whats-new = What’s New
+
+about-dialog-title = About { -brand-full-name }
+
+release-notes-link = Release notes
+
+update-internal-error = Unable to check for updates due to internal error. Updates available at <a data-l10n-name="manual-link"/>
+
+update-check-for-updates-button = Check for Updates
+ .accesskey = C
+
+update-update-button = Restart to update { -brand-shorter-name }
+ .accesskey = R
+
+update-checking-for-updates = Checking for updates…
+
+update-downloading-message = Downloading update — <span data-l10n-name="download-status"></span>
+
+update-applying = Applying update…
+
+update-downloading = <img data-l10n-name="icon"/>Downloading update — <span data-l10n-name="download-status"></span>
+
+update-failed = Update failed. <a data-l10n-name="failed-link">Download the latest version</a>
+
+update-admin-disabled = Updates disabled by your system administrator
+
+update-no-updates-found = { -brand-short-name } is up to date
+
+update-other-instance-handling-updates = { -brand-short-name } is being updated by another instance
+
+update-manual = Updates available at <a data-l10n-name="manual-link"/>
+
+update-unsupported = You can not perform further updates on this system. <a data-l10n-name="unsupported-link">Learn more</a>
+
+update-restarting = Restarting…
+
+# Variables:
+# $channel (String): description of the update channel (e.g. "release", "beta", "nightly" etc.)
+channel-description = You are currently on the <span data-l10n-name="current-channel">{ $channel }</span> update channel.
+
+warning-desc-version = { -brand-short-name } is experimental and may be unstable.
+
+warning-desc-telemetry = It automatically sends information about performance, hardware, usage and customizations back to { -vendor-short-name } to help make { -brand-short-name } better.
+
+# Example of resulting string: 66.0.1 (64-bit)
+# Variables:
+# $version (String): version of Thunderbird, e.g. 66.0.1
+# $bits (Number): bits of the architecture (32 or 64)
+aboutDialog-version = { $version } ({ $bits }-bit)
+
+# Example of resulting string: 66.0a1 (2019-01-16) (64-bit)
+# Variables:
+# $version (String): version of Thunderbird for Daily builds, e.g. 66.0a1
+# $isodate (String): date in ISO format, e.g. 2019-01-16
+# $bits (Number): bits of the architecture (32 or 64)
+aboutDialog-version-nightly = { $version } ({ $isodate }) ({ $bits }-bit)
+
+aboutdialog-update-checking-failed = Failed to check for updates.
+
+community-experimental = <a data-l10n-name="community-exp-mozilla-link">{ -vendor-short-name }</a> is a <a data-l10n-name="community-exp-credits-link">global community</a> working together to keep the Web open, public and accessible to all.
+
+community-desc = { -brand-short-name } is designed by <a data-l10n-name="community-mozilla-link">{ -vendor-short-name }</a>, a <a data-l10n-name="community-credits-link">global community</a> working together to keep the Web open, public and accessible to all.
+
+about-donation = Want to help? <a data-l10n-name="helpus-donate-link">Make a donation</a> or <a data-l10n-name="helpus-get-involved-link">get involved!</a>
+
+bottom-links-license = Licensing Information
+bottom-links-rights = End-User Rights
+bottom-links-privacy = Privacy Policy
+cmd-close-mac-command-key =
+ .key = w
diff --git a/comm/mail/locales/en-US/messenger/aboutImport.ftl b/comm/mail/locales/en-US/messenger/aboutImport.ftl
new file mode 100644
index 0000000000..3cf62f0c7b
--- /dev/null
+++ b/comm/mail/locales/en-US/messenger/aboutImport.ftl
@@ -0,0 +1,283 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, you can obtain one at http://mozilla.org/MPL/2.0/.
+
+import-page-title = Import
+
+export-page-title = Export
+
+## Header
+
+import-start = Import Tool
+
+import-start-title = Import settings or data from an application or a file.
+
+import-start-description = Select the source from which you want to import. You will later be asked to choose which data needs to be imported.
+
+import-from-app = Import from Application
+
+import-file = Import from a file
+
+import-file-title = Select a file to import its content.
+
+import-file-description = Choose to import a previously backed up profile, address books or calendars.
+
+import-address-book-title = Import Address Book file
+
+import-calendar-title = Import Calendar file
+
+export-profile = Export
+
+## Buttons
+
+button-back = Back
+
+button-continue = Continue
+
+button-export = Export
+
+button-finish = Finish
+
+## Import from app steps
+
+app-name-thunderbird = Thunderbird
+
+app-name-seamonkey = SeaMonkey
+
+app-name-outlook = Outlook
+
+app-name-becky = Becky! Internet Mail
+
+app-name-apple-mail = Apple Mail
+
+source-thunderbird = Import from another { app-name-thunderbird } installation
+
+source-thunderbird-description = Import settings, filters, messages, and other data from a { app-name-thunderbird } profile.
+
+source-seamonkey = Import from a { app-name-seamonkey } installation
+
+source-seamonkey-description = Import settings, filters, messages, and other data from a { app-name-seamonkey } profile.
+
+source-outlook = Import from { app-name-outlook }
+
+source-outlook-description = Import accounts, address books, and messages from { app-name-outlook }.
+
+source-becky = Import from { app-name-becky }
+
+source-becky-description = Import address books and messages from { app-name-becky }.
+
+source-apple-mail = Import from { app-name-apple-mail }
+
+source-apple-mail-description = Import messages from { app-name-apple-mail }.
+
+source-file2 = Import from a file
+
+source-file-description = Select a file to import address books, calendars, or a profile backup (ZIP file).
+
+## Import from file selections
+
+file-profile2 = Import Backed-up Profile
+
+file-profile-description = Select a previously backed up Thunderbird profile (.zip)
+
+file-calendar = Import Calendars
+
+file-calendar-description = Select a file containing exported Calendars or Events (.ics)
+
+file-addressbook = Import Address Books
+
+file-addressbook-description = Select a file containing exported Address Books and Contacts
+
+## Import from app profile steps
+
+from-app-thunderbird = Import from a { app-name-thunderbird } profile
+
+from-app-seamonkey = Import from a { app-name-seamonkey } profile
+
+from-app-outlook = Import from { app-name-outlook }
+
+from-app-becky = Import from { app-name-becky }
+
+from-app-apple-mail = Import from { app-name-apple-mail }
+
+profiles-pane-title-thunderbird = Import Settings and Data from a { app-name-thunderbird } profile.
+
+profiles-pane-title-seamonkey = Import Settings and Data from a { app-name-seamonkey } profile.
+
+profiles-pane-title-outlook = Import Data from { app-name-outlook }.
+
+profiles-pane-title-becky = Import Data from { app-name-becky }.
+
+profiles-pane-title-apple-mail = Import Messages from { app-name-apple-mail }.
+
+profile-source = Import from profile
+
+# $profileName (string) - name of the profile
+profile-source-named = Import from profile <strong>"{ $profileName }"</strong>
+
+profile-file-picker-directory = Choose a profile folder
+
+profile-file-picker-archive = Choose a <strong>ZIP</strong> file
+
+profile-file-picker-archive-description = The ZIP file must be smaller than 2GB.
+
+profile-file-picker-archive-title = Choose a ZIP file (smaller than 2GB)
+
+items-pane-title2 = Choose what to import:
+
+items-pane-directory = Directory:
+
+items-pane-profile-name = Profile name:
+
+items-pane-checkbox-accounts = Accounts and Settings
+
+items-pane-checkbox-address-books = Address Books
+
+items-pane-checkbox-calendars = Calendars
+
+items-pane-checkbox-mail-messages = Mail Messages
+
+items-pane-override = Any existing or identical data will not be overwritten.
+
+## Import from address book file steps
+
+import-from-addr-book-file-description = Choose the file format containing your Address Book data.
+
+addr-book-csv-file = Comma or tab separated file (.csv, .tsv)
+
+addr-book-ldif-file = LDIF file (.ldif)
+
+addr-book-vcard-file = vCard file (.vcf, .vcard)
+
+addr-book-sqlite-file = SQLite database file (.sqlite)
+
+addr-book-mab-file = Mork database file (.mab)
+
+addr-book-file-picker = Select an address book file
+
+addr-book-csv-field-map-title = Match field names
+
+addr-book-csv-field-map-desc = Select address book fields corresponding to the source fields. Uncheck fields you do not want to import.
+
+addr-book-directories-title = Select where to import the chosen data
+
+addr-book-directories-pane-source = Source file:
+
+# $addressBookName (string) - name of the new address book that would be created.
+addr-book-import-into-new-directory2 = Create a new directory called <strong>"{ $addressBookName }"</strong>
+
+# $addressBookName (string) - name of the address book to import into
+addr-book-summary-title = Import the chosen data into the "{ $addressBookName }" directory
+
+# $addressBookName (string) - name of the address book that will be created.
+addr-book-summary-description = A new address book called "{ $addressBookName }" will be created.
+
+## Import from calendar file steps
+
+import-from-calendar-file-desc = Select the iCalendar (.ics) file you would like to import.
+
+calendar-items-title = Select which items to import.
+
+calendar-items-loading = Loading items…
+
+calendar-items-filter-input =
+ .placeholder = Filter items…
+
+calendar-select-all-items = Select all
+
+calendar-deselect-all-items = Deselect all
+
+calendar-target-title = Select where to import the chosen items.
+
+# $targetCalendar (string) - name of the new calendar that would be created
+calendar-import-into-new-calendar2 = Create a new calendar called <strong>"{ $targetCalendar }"</strong>
+
+# $itemCount (number) - count of selected items (tasks, events) that will be imported
+# $targetCalendar (string) - name of the calendar the items will be imported into
+calendar-summary-title =
+ { $itemCount ->
+ [one] Import one item into the "{ $targetCalendar }" calendar
+ *[other] Import { $itemCount } items into the "{ $targetCalendar }" calendar
+ }
+
+# $targetCalendar (string) - name of the calendar that will be created
+calendar-summary-description = A new calendar called "{ $targetCalendar }" will be created.
+
+## Import dialog
+
+# $progressPercent (string) - percent formatted progress (for example "10%")
+progress-pane-importing2 = Importing… { $progressPercent }
+
+# $progressPercent (string) - percent formatted progress (for example "10%")
+progress-pane-exporting2 = Exporting… { $progressPercent }
+
+progress-pane-finished-desc2 = Complete.
+
+error-pane-title = Error
+
+error-message-zip-file-too-big2 = The selected ZIP file is larger than 2GB. Please extract it first, then import from the extracted folder instead.
+
+error-message-extract-zip-file-failed2 = Failed to extract the ZIP file. Please extract it manually, then import from the extracted folder instead.
+
+error-message-failed = Import failed unexpectedly, more information may be available in the Error Console.
+
+error-failed-to-parse-ics-file = No importable items found in the file.
+
+error-export-failed = Export failed unexpectedly, more information may be available in the Error Console.
+
+error-message-no-profile = No profile found.
+
+## <csv-field-map> element
+
+csv-first-row-contains-headers = First row contains field names
+
+csv-source-field = Source field
+
+csv-source-first-record = First record
+
+csv-source-second-record = Second record
+
+csv-target-field = Address book field
+
+## Export tab
+
+export-profile-title = Export accounts, messages, address books, and settings to a ZIP file.
+
+export-profile-description = If your current profile is larger than 2GB, we suggest you back it up by yourself.
+
+export-open-profile-folder = Open profile folder
+
+export-file-picker2 = Export to a ZIP file
+
+export-brand-name = { -brand-product-name }
+
+## Summary pane
+
+summary-pane-title = Data to be imported
+
+summary-pane-start = Start Import
+
+summary-pane-warning = { -brand-product-name } will need to be restarted when importing is complete.
+
+summary-pane-start-over = Restart Import Tool
+
+## Footer area
+
+footer-help = Need help?
+
+footer-import-documentation = Import documentation
+
+footer-export-documentation = Export documentation
+
+footer-support-forum = Support forum
+
+## Step navigation on top of the wizard pages
+
+step-list =
+ .aria-label = Import steps
+
+step-confirm = Confirm
+
+# Variables:
+# $number (number) - step number
+step-count = { $number }
diff --git a/comm/mail/locales/en-US/messenger/aboutProfilesExtra.ftl b/comm/mail/locales/en-US/messenger/aboutProfilesExtra.ftl
new file mode 100644
index 0000000000..fe428ad56b
--- /dev/null
+++ b/comm/mail/locales/en-US/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 = Launch profile
diff --git a/comm/mail/locales/en-US/messenger/aboutRights.ftl b/comm/mail/locales/en-US/messenger/aboutRights.ftl
new file mode 100644
index 0000000000..7888f0f098
--- /dev/null
+++ b/comm/mail/locales/en-US/messenger/aboutRights.ftl
@@ -0,0 +1,122 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+rights-title = About Your Rights
+rights-intro =
+ { -brand-full-name } is free and open source software, built by a community
+ of thousands from all over the world. There are a few things you should
+ know:
+rights-intro-point-1 =
+ { -brand-short-name } is made available to you under the terms of the
+ <a data-l10n-name="mozilla-public-license-link">Mozilla Public License</a>.
+ This means you may use, copy and distribute { -brand-short-name } to
+ others. You are also welcome to modify the source code of
+ { -brand-short-name } as you want to meet your needs. The Mozilla Public
+ License also gives you the right to distribute your modified versions.
+rights-intro-point-2 =
+ You are not granted any trademark rights or licenses to the trademarks of
+ the Mozilla Foundation or any party, including without limitation the
+ Thunderbird name or logo. Additional information on trademarks may be found
+ <a data-l10n-name="mozilla-trademarks-link">here</a>.
+rights-intro-point-3 =
+ Some features in { -brand-short-name }, such as the Crash Reporter, give
+ you the option to provide feedback to { -vendor-short-name }. By choosing
+ to submit feedback, you give { -vendor-short-name } permission to use the
+ feedback to improve its products, to publish the feedback on its websites,
+ and to distribute the feedback.
+rights-intro-point-4 =
+ How we use your personal information and feedback submitted to
+ { -vendor-short-name } through { -brand-short-name } is described in the
+ <a data-l10n-name="mozilla-privacy-policy-link">{ -brand-short-name }
+ Privacy Policy</a>.
+rights-intro-point-4-unbranded =
+ Any applicable privacy policies for this product should be listed here.
+rights-intro-point-5 =
+ Some { -brand-short-name } features make use of web-based information
+ services, however, we cannot guarantee they are 100% accurate or
+ error-free. More details, including information on how to disable the
+ features that use these services, can be found in the
+ <a data-l10n-name="mozilla-service-terms-link">service terms</a>.
+rights-intro-point-5-unbranded =
+ If this product incorporates web services, any applicable service terms for
+ the service(s) should be linked to the
+ <a data-l10n-name="mozilla-website-services-link"> Website Services</a>
+ section.
+rights-intro-point-6 =
+ In order to play back certain types of video content, { -brand-short-name }
+ downloads certain content decryption modules from third parties.
+rights-webservices-header = { -brand-full-name } Web-Based Information Services
+rights-webservices2 =
+ { -brand-full-name } uses web-based information services (“Services”) to
+ provide some of the features provided for your use with this binary version
+ of { -brand-short-name } under the terms described below. If you do not
+ want to use one or more of the Services or the terms below are
+ unacceptable, you may disable the feature or Service(s). Instructions on
+ how to disable a particular feature or Service may be found
+ <a data-l10n-name="mozilla-disable-service-link">here</a>. Other features
+ and Services can be disabled in the application settings.
+rights-locationawarebrowsing =
+ <strong>Location Aware Browsing: </strong>is always opt-in. No location
+ information is ever sent without your permission. If you wish to disable
+ the feature completely, follow these steps:
+rights-locationawarebrowsing-term-1 =
+ Open the Config Editor
+rights-locationawarebrowsing-term-2 = Type geo.enabled
+rights-locationawarebrowsing-term-3 =
+ Double click on the geo.enabled preference
+rights-locationawarebrowsing-term-4 = Location-Aware Browsing is now disabled
+rights-webservices-unbranded =
+ An overview of the website services the product incorporates, along with
+ instructions on how to disable them, if applicable, should be included
+ here.
+rights-webservices-term-unbranded =
+ Any applicable service terms for this product should be listed here.
+rights-webservices-term-1 =
+ { -vendor-short-name } and its contributors, licensors and partners work to
+ provide the most accurate and up-to-date Services. However, we cannot
+ guarantee that this information is comprehensive and error-free. For
+ example, the Safe Browsing Service may not identify some risky sites and
+ may identify some safe sites in error and the Location Aware Service all
+ locations returned by our service providers are estimates only and neither
+ we nor our service providers guarantee the accuracy of the locations
+ provided.
+rights-webservices-term-2 =
+ { -vendor-short-name } may discontinue or change the Services at its
+ discretion.
+rights-webservices-term-3 =
+ You are welcome to use these Services with the accompanying version of
+ { -brand-short-name }, and { -vendor-short-name } grants you its rights to
+ do so. { -vendor-short-name } and its licensors reserve all other rights in
+ the Services. These terms are not intended to limit any rights granted
+ under open source licenses applicable to { -brand-short-name } and to
+ corresponding source code versions of { -brand-short-name }.
+rights-webservices-term-4 =
+ <strong>The Services are provided “as-is.” { -vendor-short-name }, its
+ contributors, licensors, and distributors, disclaim all warranties, whether
+ express or implied, including without limitation, warranties that the
+ Services are merchantable and fit for your particular purposes. You bear
+ the entire risk as to selecting the Services for your purposes and as to
+ the quality and performance of the Services. Some jurisdictions do not
+ allow the exclusion or limitation of implied warranties, so this disclaimer
+ may not apply to you.</strong>
+rights-webservices-term-5 =
+ <strong>Except as required by law, { -vendor-short-name }, its
+ contributors, licensors, and distributors will not be liable for any
+ indirect, special, incidental, consequential, punitive, or exemplary
+ damages arising out of or in any way relating to the use of
+ { -brand-short-name } and the Services. The collective liability under
+ these terms will not exceed $500 (five hundred dollars). Some jurisdictions
+ do not allow the exclusion or limitation of certain damages, so this
+ exclusion and limitation may not apply to you.</strong>
+rights-webservices-term-6 =
+ { -vendor-short-name } may update these terms as necessary from time to
+ time. These terms may not be modified or canceled without
+ { -vendor-short-name }’s written agreement.
+rights-webservices-term-7 =
+ These terms are governed by the laws of the state of California, U.S.A.,
+ excluding its conflict of law provisions. If any portion of these terms is
+ held to be invalid or unenforceable, the remaining portions will remain in
+ full force and effect. In the event of a conflict between a translated
+ version of these terms and the English language version, the English
+ language version shall control.
diff --git a/comm/mail/locales/en-US/messenger/aboutSupportCalendar.ftl b/comm/mail/locales/en-US/messenger/aboutSupportCalendar.ftl
new file mode 100644
index 0000000000..50073f91bd
--- /dev/null
+++ b/comm/mail/locales/en-US/messenger/aboutSupportCalendar.ftl
@@ -0,0 +1,33 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+calendars-title = Calendar Settings
+calendars-table-heading-property = Name
+calendars-table-heading-value = Value
+calendars-table-name = Name
+calendars-table-type = Type
+calendars-table-disabled = Disabled
+calendars-table-username = Username
+calendars-table-uri = URI
+calendars-table-refreshinterval = Refresh Interval
+calendars-table-readonly = Read-only
+calendars-table-suppressalarms = Suppress Alarms
+calendars-table-cache-enabled = Cache Enabled
+calendars-table-imip-identity = iMIP Identity
+calendars-table-imip-identity-disabled = iMIP Disabled
+calendars-table-imip-identity-account = iMIP Account
+calendars-table-organizerid = Organizer Id
+calendars-table-forceemailscheduling = Force Email Scheduling
+calendars-table-capabilities-alarms-popup-supported = Popup Alarms Supported
+calendars-table-capabilities-alarms-oninviations-supported = Alarms on Invitation Supported
+calendars-table-capabilities-alarms-maxcount = Max Alarms Per Event
+calendars-table-capabilities-attachments-supported = Attachment Supported
+calendars-table-capabilities-categories-maxcount = Max Categories
+calendars-table-capabilities-privacy-supported = Privacy State Supported
+calendars-table-capabilities-priority-supported = Priority Supported
+calendars-table-capabilities-events-supported = Event Supported
+calendars-table-capabilities-tasks-supported = Task Supported
+calendars-table-capabilities-timezones-floating-supported = Local Time Supported
+calendars-table-capabilities-timezones-utc-supported = UTC/GMT Supported
+calendars-table-capabilities-autoschedule-supported = Auto-Scheduling Supported
diff --git a/comm/mail/locales/en-US/messenger/aboutSupportChat.ftl b/comm/mail/locales/en-US/messenger/aboutSupportChat.ftl
new file mode 100644
index 0000000000..7731079ba6
--- /dev/null
+++ b/comm/mail/locales/en-US/messenger/aboutSupportChat.ftl
@@ -0,0 +1,11 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+chat-title = Chat Accounts
+chat-table-heading-account = ID
+chat-table-heading-protocol = Protocol
+chat-table-heading-name = Name
+chat-table-heading-actions = Actions
+chat-table-copy-debug-log = Copy Debug Log
+ .title = Copy errors and other logging from this chat account to the clipboard. May contain personal information like chat messages.
diff --git a/comm/mail/locales/en-US/messenger/aboutSupportMail.ftl b/comm/mail/locales/en-US/messenger/aboutSupportMail.ftl
new file mode 100644
index 0000000000..e7b0e45cca
--- /dev/null
+++ b/comm/mail/locales/en-US/messenger/aboutSupportMail.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/.
+
+accounts-title = Mail and News Accounts
+show-private-data-main-text = Include account names
+show-private-data-explanation-text = (possibly identifying information)
+accounts-ID = ID
+accounts-name = Name
+accounts-incoming-server = Incoming server
+accounts-outgoing-servers = Outgoing servers
+accounts-server-name = Name
+accounts-conn-security = Connection security
+accounts-auth-method = Authentication method
+accounts-default = Default?
+identity-name = Identity
+
+send-via-email = Send via email
+
+app-basics-telemetry = Telemetry Data
+app-basics-cache-use = Cache Use
+
+mail-libs-title = Libraries
+libs-table-heading-library = Library
+libs-table-heading-expected-version = Expected minimum version
+libs-table-heading-loaded-version = Version in use
+libs-table-heading-path = Path
+libs-table-heading-status = Status
+
+libs-rnp-status-ok = OK
+libs-rnp-status-load-failed = Failed to load. OpenPGP will not work.
+libs-rnp-status-incompatible = Incompatible version. OpenPGP will not work.
+libs-rnp-status-unofficial = Unofficial version. OpenPGP might not work as expected.
diff --git a/comm/mail/locales/en-US/messenger/accountCentral.ftl b/comm/mail/locales/en-US/messenger/accountCentral.ftl
new file mode 100644
index 0000000000..24141189af
--- /dev/null
+++ b/comm/mail/locales/en-US/messenger/accountCentral.ftl
@@ -0,0 +1,68 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+account-central-title = Welcome to { -brand-full-name }
+account-settings = Account Settings
+
+# $accounts (Number) - the number of configured accounts
+setup-title = { $accounts ->
+ [0] Choose What to Set Up
+ *[other] Set Up Another Account
+}
+about-title = About { -brand-full-name }
+resources-title = Resources
+
+release-notes =
+ .title = About { -brand-full-name }
+
+email-label = Email
+ .aria-label = Connect to your existing email account
+email-description = { -brand-short-name } lets you connect to your existing email account, to read your emails conveniently and efficiently from within the application.
+
+calendar-label = Calendar
+ .aria-label = Create a new calendar
+calendar-description = { -brand-short-name } lets you handle events and keeps you organized. Connecting to a remote calendar will keep all your events in sync across all your devices.
+
+chat-label = Chat
+ .aria-label = Connect to your chat account
+chat-description = { -brand-short-name } lets you connect to multiple instant messaging accounts, offering support for various platforms.
+
+filelink-label = Filelink
+ .aria-label = Set up Filelink
+filelink-description = { -brand-short-name } lets you set up a convenient filelink cloud account to easily send large attachments.
+
+addressbook-label = Address Book
+ .aria-label = Create a new address book
+addressbook-description = { -brand-short-name } lets you organize all your contacts in an address book. You can also connect to a remote address book to keep all your contacts in sync.
+
+feeds-label = Feeds
+ .aria-label = Connect to feeds
+feeds-description = { -brand-short-name } lets you connect to RSS/Atom feeds to get news and updates from all around.
+
+newsgroups-label = Newsgroups
+ .aria-label = Connect to a newsgroup
+newsgroups-description = { -brand-short-name } lets you connect to all the newsgroups you want.
+
+import-title = Import from Another Program
+import-paragraph2 = { -brand-short-name } lets you import mail messages, address book entries, feed subscriptions, settings, and/or filters from other mail programs and common address book formats.
+
+import-label = Import
+ .aria-label = Import data from other programs
+
+about-paragraph = Thunderbird is the leading open source, cross-platform email and calendaring client, free for business and personal use. We want it to stay secure and become even better. A donation will allow us to hire developers, pay for infrastructure, and continue to improve.
+
+about-paragraph-consider-donation = <b>Thunderbird is funded by users like you! If you like Thunderbird, please consider making a donation.</b> The best way for you to ensure Thunderbird remains available is to <a data-l10n-name="donation-link"> make a donation</a>.
+
+explore-link = Explore Features
+support-link = Support
+involved-link = Get Involved
+developer-link = Developer Documentation
+
+read = Read messages
+compose = Write a new message
+search = Search messages
+filter = Manage message filters
+nntp-subscription = Manage newsgroup subscriptions
+rss-subscription = Manage feed subscriptions
+e2e = End-to-end Encryption
diff --git a/comm/mail/locales/en-US/messenger/accountManager.ftl b/comm/mail/locales/en-US/messenger/accountManager.ftl
new file mode 100644
index 0000000000..607c22e94a
--- /dev/null
+++ b/comm/mail/locales/en-US/messenger/accountManager.ftl
@@ -0,0 +1,18 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+open-preferences-sidebar-button2 = { -brand-short-name } Settings
+
+open-addons-sidebar-button = Add-ons and Themes
+
+account-action-add-newsgroup-account =
+ .label = Add Newsgroup Account…
+ .accesskey = N
+
+server-change-restart-required = Restart is required to apply the server name or username change.
+
+edit-vcard-dialog-accept-button = Save
+ .accesskey = S
+edit-vcard-dialog-cancel-button = Cancel
+ .accesskey = C
diff --git a/comm/mail/locales/en-US/messenger/accountProvisioner.ftl b/comm/mail/locales/en-US/messenger/accountProvisioner.ftl
new file mode 100644
index 0000000000..ac60ba5939
--- /dev/null
+++ b/comm/mail/locales/en-US/messenger/accountProvisioner.ftl
@@ -0,0 +1,80 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+account-provisioner-tab-title = Get a new email address from a service provider
+
+provisioner-searching-icon =
+ .alt = Searching…
+
+account-provisioner-title = Create a new email address
+
+account-provisioner-description = Use our trusted partners to get a new private and secure email address.
+
+account-provisioner-start-help = The search terms used are sent to { -vendor-short-name } (<a data-l10n-name="mozilla-privacy-link">Privacy Policy</a>) and 3rd party email providers <strong>mailfence.com</strong> (<a data-l10n-name="mailfence-privacy-link">Privacy Policy</a>, <a data-l10n-name="mailfence-tou-link">Terms of Use</a>) and <strong>gandi.net</strong> (<a data-l10n-name="gandi-privacy-link">Privacy Policy</a>, <a data-l10n-name="gandi-tou-link">Terms of Use</a>) to find available email addresses.
+
+account-provisioner-mail-account-title = Buy a new email address
+
+account-provisioner-mail-account-description = Thunderbird partnered with <a data-l10n-name="mailfence-home-link">Mailfence</a> to offer you a new private and secure email. We believe everyone should have a secure email.
+
+account-provisioner-domain-title = Buy an email and domain of your own
+
+account-provisioner-domain-description = Thunderbird partnered with <a data-l10n-name="gandi-home-link">Gandi</a> to offer you a custom domain. This lets you use any address on that domain.
+
+## Forms
+
+account-provisioner-mail-input =
+ .placeholder = Your name, nickname, or other search term
+
+account-provisioner-domain-input =
+ .placeholder = Your name, nickname, or other search term
+
+account-provisioner-search-button = Search
+
+account-provisioner-button-cancel = Cancel
+
+account-provisioner-button-existing = Use an existing email account
+
+account-provisioner-button-back = Go back
+
+## Notifications
+
+account-provisioner-fetching-provisioners = Retrieving provisioners…
+
+account-provisioner-connection-issues = Unable to communicate with our sign-up servers. Please check your connection.
+
+account-provisioner-searching-email = Searching for available email accounts…
+
+account-provisioner-searching-domain = Searching for available domains…
+
+account-provisioner-searching-error = Could not find any addresses to suggest. Try changing the search terms.
+
+## Illustrations
+
+account-provisioner-step1-image =
+ .title = Choose which account to create
+
+## Search results
+
+# Variables:
+# $count (Number) - The number of domains found during search.
+account-provisioner-results-title =
+ { $count ->
+ [one] One available address found for:
+ *[other] { $count } available addresses found for:
+ }
+
+account-provisioner-mail-results-caption = You can try to search for nicknames or any other term to find more emails.
+
+account-provisioner-domain-results-caption = You can try to search for nicknames or any other term to find more domains.
+
+account-provisioner-free-account = Free
+
+# Variables:
+# $price (String) - Yearly fee for the mail account. For example "US $9.99".
+account-provision-price-per-year = { $price } a year
+
+account-provisioner-all-results-button = Show all results
+
+account-provisioner-open-in-tab-img =
+ .title = Opens in a new Tab
diff --git a/comm/mail/locales/en-US/messenger/accountcreation/accountHub.ftl b/comm/mail/locales/en-US/messenger/accountcreation/accountHub.ftl
new file mode 100644
index 0000000000..b26305a689
--- /dev/null
+++ b/comm/mail/locales/en-US/messenger/accountcreation/accountHub.ftl
@@ -0,0 +1,60 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+### Account Hub
+### Account hub is where user can setup new accounts in Thunderbird.
+
+## Header
+
+account-hub-brand = { -brand-full-name }
+
+account-hub-welcome-line = Welcome to <span data-l10n-name="brand-name">{ -brand-full-name }</span>
+
+account-hub-title = Account Hub
+
+## Footer
+
+account-hub-release-notes = Release notes
+
+account-hub-support = Support
+
+account-hub-donate = Donate
+
+## Initial setup page
+
+account-hub-email-setup-button = Email Account
+ .title = Set up an email account
+
+account-hub-calendar-setup-button = Calendar
+ .title = Set up a local or remote calendar
+
+account-hub-address-book-setup-button = Address Book
+ .title = Set up a local or remote address book
+
+account-hub-chat-setup-button = Chat
+ .title = Set up a chat account
+
+account-hub-feed-setup-button = RSS feed
+ .title = Set up an RSS feed account
+
+account-hub-newsgroup-setup-button = Newsgroup
+ .title = Set up a newsgroup account
+
+account-hub-import-setup-button = Import
+ .title = Import a backed up profile
+
+# Note: "Sync" represents the Firefox Sync product so it shouldn't be translated.
+account-hub-sync-button = Sign in to Sync…
+
+## Email page
+
+account-hub-email-title = Set up your email account
+
+account-hub-email-cancel-button = Cancel
+
+account-hub-email-back-button = Back
+
+account-hub-email-continue-button = Continue
+
+account-hub-email-confirm-button = Confirm
diff --git a/comm/mail/locales/en-US/messenger/accountcreation/accountSetup.ftl b/comm/mail/locales/en-US/messenger/accountcreation/accountSetup.ftl
new file mode 100644
index 0000000000..f36d924d60
--- /dev/null
+++ b/comm/mail/locales/en-US/messenger/accountcreation/accountSetup.ftl
@@ -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/.
+
+account-setup-tab-title = Account Setup
+
+## Header
+
+account-setup-title = Set Up Your Existing Email Address
+
+account-setup-description = To use your current email address fill in your credentials.
+
+account-setup-secondary-description = { -brand-product-name } will automatically search for a working and recommended server configuration.
+
+account-setup-success-title = Account successfully created
+
+account-setup-success-description = You can now use this account with { -brand-short-name }.
+
+account-setup-success-secondary-description = You can improve the experience by connecting related services and configuring advanced account settings.
+
+## Form fields
+
+account-setup-name-label = Your full name
+ .accesskey = n
+
+# Note: "John Doe" is a multiple-use name that is used when the true name of a person is unknown. We use this fake name as an input placeholder. Translators should update this to reflect the placeholder name of their language/country.
+account-setup-name-input =
+ .placeholder = John Doe
+
+account-setup-name-info-icon =
+ .title = Your name, as shown to others
+
+
+account-setup-name-warning-icon =
+ .title = Please enter your name
+
+account-setup-email-label = Email address
+ .accesskey = E
+
+account-setup-email-input =
+ .placeholder = john.doe@example.com
+
+account-setup-email-info-icon =
+ .title = Your existing email address
+
+account-setup-email-warning-icon =
+ .title = Invalid email address
+
+account-setup-password-label = Password
+ .accesskey = P
+ .title = Optional, will only be used to validate the username
+
+account-provisioner-button = Get a new email address
+ .accesskey = G
+
+account-setup-password-toggle-show =
+ .title = Show password in clear text
+
+account-setup-password-toggle-hide =
+ .title = Hide password
+
+account-setup-remember-password = Remember password
+ .accesskey = m
+
+account-setup-exchange-label = Your login
+ .accesskey = l
+
+# YOURDOMAIN refers to the Windows domain in ActiveDirectory. yourusername refers to the user's account name in Windows.
+account-setup-exchange-input =
+ .placeholder = YOURDOMAIN\yourusername
+
+# Domain refers to the Windows domain in ActiveDirectory. We mean the user's login in Windows at the local corporate network.
+account-setup-exchange-info-icon =
+ .title = Domain login
+
+## Action buttons
+
+account-setup-button-cancel = Cancel
+ .accesskey = a
+
+account-setup-button-manual-config = Configure manually
+ .accesskey = m
+
+account-setup-button-stop = Stop
+ .accesskey = S
+
+account-setup-button-retest = Re-test
+ .accesskey = t
+
+account-setup-button-continue = Continue
+ .accesskey = C
+
+account-setup-button-done = Done
+ .accesskey = D
+
+## Notifications
+
+account-setup-looking-up-settings = Looking up configuration…
+
+account-setup-looking-up-settings-guess = Looking up configuration: Trying common server names…
+
+account-setup-looking-up-settings-half-manual = Looking up configuration: Probing server…
+
+account-setup-looking-up-disk = Looking up configuration: { -brand-short-name } installation…
+
+account-setup-looking-up-isp = Looking up configuration: Email provider…
+
+# Note: Do not translate or replace Mozilla. It stands for the public project mozilla.org, not Mozilla Corporation. The database is a generic, public domain facility usable by any client.
+account-setup-looking-up-db = Looking up configuration: Mozilla ISP database…
+
+account-setup-looking-up-mx = Looking up configuration: Incoming mail domain…
+
+account-setup-looking-up-exchange = Looking up configuration: Exchange server…
+
+account-setup-checking-password = Checking password…
+
+account-setup-installing-addon = Downloading and installing add-on…
+
+account-setup-success-half-manual = The following settings were found by probing the given server:
+
+account-setup-success-guess = Configuration found by trying common server names.
+
+account-setup-success-guess-offline = You are offline. We guessed some settings but you will need to enter the right settings.
+
+account-setup-success-password = Password OK
+
+account-setup-success-addon = Successfully installed the add-on
+
+# Note: Do not translate or replace Mozilla. It stands for the public project mozilla.org, not Mozilla Corporation. The database is a generic, public domain facility usable by any client.
+account-setup-success-settings-db = Configuration found in Mozilla ISP database.
+
+account-setup-success-settings-disk = Configuration found on { -brand-short-name } installation.
+
+account-setup-success-settings-isp = Configuration found at email provider.
+
+# Note: Microsoft Exchange is a product name.
+account-setup-success-settings-exchange = Configuration found for a Microsoft Exchange server.
+
+## Illustrations
+
+account-setup-step1-image =
+ .title = Initial setup
+
+account-setup-step2-image =
+ .title = Loading…
+
+account-setup-step3-image =
+ .title = Configuration found
+
+account-setup-step4-image =
+ .title = Connection error
+
+account-setup-step5-image =
+ .title = Account created
+
+account-setup-privacy-footnote2 = Your credentials will only be stored locally on your computer.
+
+account-setup-selection-help = Not sure what to select?
+
+account-setup-selection-error = Need help?
+
+account-setup-success-help = Not sure about your next steps?
+
+account-setup-documentation-help = Setup documentation
+
+account-setup-forum-help = Support forum
+
+account-setup-privacy-help = Privacy policy
+
+account-setup-getting-started = Getting started
+
+## Results area
+
+# Variables:
+# $count (Number) - Number of available protocols.
+account-setup-results-area-title =
+ { $count ->
+ [one] Available configuration
+ *[other] Available configurations
+ }
+
+account-setup-result-imap-description = Keep your folders and emails synced on your server
+
+account-setup-result-pop-description = Keep your folders and emails on your computer
+
+# Note: Exchange, Office365 are the name of products.
+account-setup-result-exchange2-description = Use the Microsoft Exchange server or Office365 cloud services
+
+account-setup-incoming-title = Incoming
+
+account-setup-outgoing-title = Outgoing
+
+account-setup-username-title = Username
+
+account-setup-exchange-title = Server
+
+account-setup-result-no-encryption = No Encryption
+
+account-setup-result-ssl = SSL/TLS
+
+account-setup-result-starttls = STARTTLS
+
+account-setup-result-outgoing-existing = Use existing outgoing SMTP server
+
+# Variables:
+# $incoming (String): The email/username used to log into the incoming server
+# $outgoing (String): The email/username used to log into the outgoing server
+account-setup-result-username-different = Incoming: { $incoming }, Outgoing: { $outgoing }
+
+## Error messages
+
+# Note: The reference to "janedoe" (Jane Doe) is the name of an example person. You will want to translate it to whatever example persons would be named in your language. In the example, AD is the name of the Windows domain, and this should usually not be translated.
+account-setup-credentials-incomplete = Authentication failed. Either the entered credentials are incorrect or a separate username is required for logging in. This username is usually your Windows domain login with or without the domain (for example, janedoe or AD\\janedoe)
+
+account-setup-credentials-wrong = Authentication failed. Please check the username and password
+
+account-setup-find-settings-failed = { -brand-short-name } failed to find the settings for your email account
+
+account-setup-exchange-config-unverifiable = Configuration could not be verified. If your username and password are correct, it’s likely that the server administrator has disabled the selected configuration for your account. Try selecting another protocol.
+
+account-setup-provisioner-error = An error occurred while setting up your new account in { -brand-short-name }. Please, try to manually set up your account with your credentials.
+
+## Manual configuration area
+
+account-setup-manual-config-title = Manual configuration
+
+account-setup-incoming-server-legend = Incoming server
+
+account-setup-protocol-label = Protocol:
+
+account-setup-hostname-label = Hostname:
+
+account-setup-port-label = Port:
+ .title = Set the port number to 0 for autodetection
+
+account-setup-auto-description = { -brand-short-name } will attempt to auto-detect fields that are left blank.
+
+account-setup-ssl-label = Connection security:
+
+account-setup-outgoing-server-legend = Outgoing server
+
+## Incoming/Outgoing SSL Authentication options
+
+ssl-autodetect-option = Autodetect
+
+ssl-no-authentication-option = No authentication
+
+ssl-cleartext-password-option = Normal password
+
+ssl-encrypted-password-option = Encrypted password
+
+## Incoming/Outgoing SSL options
+
+ssl-noencryption-option = None
+
+account-setup-auth-label = Authentication method:
+
+account-setup-username-label = Username:
+
+account-setup-advanced-setup-button = Advanced config
+ .accesskey = A
+
+## Warning insecure server dialog
+
+account-setup-insecure-title = Warning!
+
+account-setup-insecure-incoming-title = Incoming settings:
+
+account-setup-insecure-outgoing-title = Outgoing settings:
+
+# Variables:
+# $server (String): The name of the hostname of the server the user was trying to connect to.
+account-setup-warning-cleartext = <b>{ $server }</b> does not use encryption.
+
+account-setup-warning-cleartext-details = Insecure mail servers do not use encrypted connections to protect your passwords and private information. By connecting to this server you could expose your password and private information.
+
+account-setup-insecure-server-checkbox = I understand the risks
+ .accesskey = u
+
+account-setup-insecure-description = { -brand-short-name } can allow you to get to your mail using the provided configurations. However, you should contact your administrator or email provider regarding these improper connections. See the <a data-l10n-name="thunderbird-faq-link">Thunderbird FAQ</a> for more information.
+
+insecure-dialog-cancel-button = Change Settings
+ .accesskey = S
+
+insecure-dialog-confirm-button = Confirm
+ .accesskey = C
+
+## Warning Exchange confirmation dialog
+
+# Variables:
+# $domain (String): The name of the server where the configuration was found, e.g. rackspace.com.
+exchange-dialog-question = { -brand-short-name } found your account setup information on { $domain }. Do you want to proceed and submit your credentials?
+
+exchange-dialog-confirm-button = Login
+
+exchange-dialog-cancel-button = Cancel
+
+## Dismiss account creation dialog
+
+exit-dialog-title = No Email Account Configured
+
+exit-dialog-description = Are you sure you want to cancel the setup process? { -brand-short-name } can still be used without an email account, but many features will not be available.
+
+account-setup-no-account-checkbox = Use { -brand-short-name } without an email account
+ .accesskey = U
+
+exit-dialog-cancel-button = Continue Setup
+ .accesskey = C
+
+exit-dialog-confirm-button = Exit Setup
+ .accesskey = E
+
+## Alert dialogs
+
+account-setup-creation-error-title = Error Creating Account
+
+account-setup-error-server-exists = Incoming server already exists.
+
+account-setup-confirm-advanced-title = Confirm Advanced Configuration
+
+account-setup-confirm-advanced-description = This dialog will be closed and an account with the current settings will be created, even if the configuration is incorrect. Do you want to proceed?
+
+## Addon installation section
+
+account-setup-addon-install-title = Install
+
+account-setup-addon-install-intro = A third-party add-on can allow you to access your email account on this server:
+
+account-setup-addon-no-protocol = This email server unfortunately does not support open protocols. { account-setup-addon-install-intro }
+
+## Success view
+
+account-setup-settings-button = Account settings
+
+account-setup-encryption-button = End-to-end encryption
+
+account-setup-signature-button = Add a signature
+
+account-setup-dictionaries-button = Download dictionaries
+
+account-setup-address-book-carddav-button = Connect to a CardDAV address book
+
+account-setup-address-book-ldap-button = Connect to an LDAP address book
+
+account-setup-calendar-button = Connect to a remote calendar
+
+account-setup-linked-services-title = Connect your linked services
+
+account-setup-linked-services-description = { -brand-short-name } detected other services linked to your email account.
+
+account-setup-no-linked-description = Setup other services to get the most out of your { -brand-short-name } experience.
+
+# Variables:
+# $count (Number) - The number of address books found during autoconfig.
+account-setup-found-address-books-description =
+ { $count ->
+ [one] { -brand-short-name } found one address book linked to your email account.
+ *[other] { -brand-short-name } found { $count } address books linked to your email account.
+ }
+
+# Variables:
+# $count (Number) - The number of calendars found during autoconfig.
+account-setup-found-calendars-description =
+ { $count ->
+ [one] { -brand-short-name } found one calendar linked to your email account.
+ *[other] { -brand-short-name } found { $count } calendars linked to your email account.
+ }
+
+account-setup-button-finish = Finish
+ .accesskey = F
+
+account-setup-looking-up-address-books = Looking up address books…
+
+account-setup-looking-up-calendars = Looking up calendars…
+
+account-setup-address-books-button = Address Books
+
+account-setup-calendars-button = Calendars
+
+account-setup-connect-link = Connect
+
+account-setup-existing-address-book = Connected
+ .title = Address book already connected
+
+account-setup-existing-calendar = Connected
+ .title = Calendar already connected
+
+account-setup-connect-all-calendars = Connect all calendars
+
+account-setup-connect-all-address-books = Connect all address books
+
+## Calendar synchronization dialog
+
+calendar-dialog-title = Connect calendar
+
+calendar-dialog-cancel-button = Cancel
+ .accesskey = C
+
+calendar-dialog-confirm-button = Connect
+ .accesskey = n
+
+account-setup-calendar-name-label = Name
+
+account-setup-calendar-name-input =
+ .placeholder = My calendar
+
+account-setup-calendar-color-label = Color
+
+account-setup-calendar-refresh-label = Refresh
+
+account-setup-calendar-refresh-manual = Manually
+
+# Variables:
+# $count (Number) - Number of minutes in the calendar refresh interval.
+account-setup-calendar-refresh-interval =
+ { $count ->
+ [one] Every minute
+ *[other] Every { $count } minutes
+ }
+
+account-setup-calendar-read-only = Read only
+ .accesskey = R
+
+account-setup-calendar-show-reminders = Show reminders
+ .accesskey = S
+
+account-setup-calendar-offline-support = Offline support
+ .accesskey = O
diff --git a/comm/mail/locales/en-US/messenger/addonNotifications.ftl b/comm/mail/locales/en-US/messenger/addonNotifications.ftl
new file mode 100644
index 0000000000..a2451e41ab
--- /dev/null
+++ b/comm/mail/locales/en-US/messenger/addonNotifications.ftl
@@ -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/.
+
+xpinstall-prompt = { -brand-short-name } prevented this site from asking you to install software on your computer.
+
+## Variables:
+## $host (String): The hostname of the site the add-on is being installed from.
+
+xpinstall-prompt-header = Allow { $host } to install an add-on?
+xpinstall-prompt-message = You are attempting to install an add-on from { $host }. Make sure you trust this site before continuing.
+
+##
+
+xpinstall-prompt-header-unknown = Allow an unknown site to install an add-on?
+xpinstall-prompt-message-unknown = You are attempting to install an add-on from an unknown site. Make sure you trust this site before continuing.
+
+xpinstall-prompt-dont-allow =
+ .label = Don’t Allow
+ .accesskey = D
+xpinstall-prompt-never-allow =
+ .label = Never Allow
+ .accesskey = N
+# Long text in this context make the dropdown menu extend awkwardly to the left,
+# avoid a localization that's significantly longer than the English version.
+xpinstall-prompt-never-allow-and-report =
+ .label = Report Suspicious Site
+ .accesskey = R
+# Accessibility Note:
+# Be sure you do not choose an accesskey that is used elsewhere in the active context (e.g. main menu bar, submenu of the warning popup button)
+# See https://website-archive.mozilla.org/www.mozilla.org/access/access/keyboard/ for details
+xpinstall-prompt-install =
+ .label = Continue to Installation
+ .accesskey = C
+
+# These messages are shown when a website invokes navigator.requestMIDIAccess.
+
+site-permission-install-first-prompt-midi-header = This site is requesting access to your MIDI (Musical Instrument Digital Interface) devices. Device access can be enabled by installing an add-on.
+site-permission-install-first-prompt-midi-message = This access is not guaranteed to be safe. Only continue if you trust this site.
+
+##
+
+xpinstall-disabled-locked = Software installation has been disabled by your system administrator.
+xpinstall-disabled = Software installation is currently disabled. Click Enable and try again.
+xpinstall-disabled-button =
+ .label = Enable
+ .accesskey = n
+
+# This message is shown when the installation of an add-on is blocked by enterprise policy.
+# Variables:
+# $addonName (String): the name of the add-on.
+# $addonId (String): the ID of add-on.
+addon-install-blocked-by-policy = { $addonName } ({ $addonId }) is blocked by your system administrator.
+# This message is shown when the installation of add-ons from a domain is blocked by enterprise policy.
+addon-domain-blocked-by-policy = Your system administrator prevented this site from asking you to install software on your computer.
+addon-install-full-screen-blocked = Add-on installation is not allowed while in or before entering fullscreen mode.
+
+# Variables:
+# $addonName (String): the localized name of the sideloaded add-on.
+webext-perms-sideload-menu-item = { $addonName } added to { -brand-short-name }
+# Variables:
+# $addonName (String): the localized name of the extension which has been updated.
+webext-perms-update-menu-item = { $addonName } requires new permissions
+
+## Add-on removal warning
+
+# Variables:
+# $name (String): The name of the add-on that will be removed.
+addon-removal-title = Remove { $name }?
+# Variables:
+# $name (String): the name of the extension which is about to be removed.
+addon-removal-message = Remove { $name } from { -brand-shorter-name }?
+addon-removal-button = Remove
+addon-removal-abuse-report-checkbox = Report this extension to { -vendor-short-name }
+
+# Variables:
+# $addonCount (Number): the number of add-ons being downloaded
+addon-downloading-and-verifying =
+ { $addonCount ->
+ [1] Downloading and verifying add-on…
+ *[other] Downloading and verifying { $addonCount } add-ons…
+ }
+addon-download-verifying = Verifying
+
+addon-install-cancel-button =
+ .label = Cancel
+ .accesskey = C
+addon-install-accept-button =
+ .label = Add
+ .accesskey = A
+
+## Variables:
+## $addonCount (Number): the number of add-ons being installed
+
+addon-confirm-install-message =
+ { $addonCount ->
+ [1] This site would like to install an add-on in { -brand-short-name }:
+ *[other] This site would like to install { $addonCount } add-ons in { -brand-short-name }:
+ }
+addon-confirm-install-unsigned-message =
+ { $addonCount ->
+ [1] Caution: This site would like to install an unverified add-on in { -brand-short-name }. Proceed at your own risk.
+ *[other] Caution: This site would like to install { $addonCount } unverified add-ons in { -brand-short-name }. Proceed at your own risk.
+ }
+# Variables:
+# $addonCount (Number): the number of add-ons being installed (at least 2)
+addon-confirm-install-some-unsigned-message =
+ { $addonCount ->
+ *[other] Caution: This site would like to install { $addonCount } add-ons in { -brand-short-name }, some of which are unverified. Proceed at your own risk.
+ }
+
+## Add-on install errors
+## Variables:
+## $addonName (String): the add-on name.
+
+addon-install-error-network-failure = The add-on could not be downloaded because of a connection failure.
+addon-install-error-incorrect-hash = The add-on could not be installed because it does not match the add-on { -brand-short-name } expected.
+addon-install-error-corrupt-file = The add-on downloaded from this site could not be installed because it appears to be corrupt.
+addon-install-error-file-access = { $addonName } could not be installed because { -brand-short-name } cannot modify the needed file.
+addon-install-error-not-signed = { -brand-short-name } has prevented this site from installing an unverified add-on.
+addon-install-error-invalid-domain = The add-on { $addonName } can not be installed from this location.
+addon-local-install-error-network-failure = This add-on could not be installed because of a filesystem error.
+addon-local-install-error-incorrect-hash = This add-on could not be installed because it does not match the add-on { -brand-short-name } expected.
+addon-local-install-error-corrupt-file = This add-on could not be installed because it appears to be corrupt.
+addon-local-install-error-file-access = { $addonName } could not be installed because { -brand-short-name } cannot modify the needed file.
+addon-local-install-error-not-signed = This add-on could not be installed because it has not been verified.
+# Variables:
+# $appVersion (String): the application version.
+addon-install-error-incompatible = { $addonName } could not be installed because it is not compatible with { -brand-short-name } { $appVersion }.
+addon-install-error-blocklisted = { $addonName } could not be installed because it has a high risk of causing stability or security problems.
diff --git a/comm/mail/locales/en-US/messenger/addressbook/abCardDAVDialog.ftl b/comm/mail/locales/en-US/messenger/addressbook/abCardDAVDialog.ftl
new file mode 100644
index 0000000000..8558b4a2d9
--- /dev/null
+++ b/comm/mail/locales/en-US/messenger/addressbook/abCardDAVDialog.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/.
+
+carddav-window-title = New CardDAV Address Book
+
+carddav-dialog =
+ .buttonlabelaccept = Continue
+ .buttonaccesskeyaccept = C
+
+carddav-username-label =
+ .value = Username:
+ .accesskey = U
+carddav-location-label =
+ .value = Location:
+ .accesskey = L
+carddav-location =
+ .default-placeholder = URL or host name of the address book server
+
+carddav-loading = Looking up configuration…
+
+# Variables:
+# $url (String) - CardDAV endpoint hostname. For example "example.com".
+carddav-known-incompatible = { $url } is known to be incompatible with { -brand-short-name }.
+carddav-connection-error = Failed to connect.
+carddav-none-found = Found no address books to add for the specified account.
+carddav-already-added = All address books for the specified account have already been added.
+
+carddav-available-books = Available address books:
diff --git a/comm/mail/locales/en-US/messenger/addressbook/abCardDAVProperties.ftl b/comm/mail/locales/en-US/messenger/addressbook/abCardDAVProperties.ftl
new file mode 100644
index 0000000000..4306c8bf78
--- /dev/null
+++ b/comm/mail/locales/en-US/messenger/addressbook/abCardDAVProperties.ftl
@@ -0,0 +1,31 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, you can obtain one at http://mozilla.org/MPL/2.0/.
+
+carddav-url-label =
+ .value = CardDAV URL:
+ .accesskey = V
+
+carddav-refreshinterval-label =
+ .label = Synchronize:
+ .accesskey = S
+
+# Variables:
+# $minutes (integer) - Number of minutes between address book synchronizations
+carddav-refreshinterval-minutes-value =
+ .label = { $minutes ->
+ [one] every minute
+ *[other] every { $minutes } minutes
+ }
+
+# Variables:
+# $hours (integer) - Number of hours between address book synchronizations
+carddav-refreshinterval-hours-value =
+ .label = { $hours ->
+ [one] every hour
+ *[other] every { $hours } hours
+ }
+
+carddav-readonly-label =
+ .label = Read-only
+ .accesskey = R
diff --git a/comm/mail/locales/en-US/messenger/addressbook/aboutAddressBook.ftl b/comm/mail/locales/en-US/messenger/addressbook/aboutAddressBook.ftl
new file mode 100644
index 0000000000..cd3e13fd05
--- /dev/null
+++ b/comm/mail/locales/en-US/messenger/addressbook/aboutAddressBook.ftl
@@ -0,0 +1,299 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, you can obtain one at http://mozilla.org/MPL/2.0/.
+
+about-addressbook-title = Address Book
+
+## Toolbar
+
+about-addressbook-toolbar-new-address-book =
+ .label = New Address Book
+about-addressbook-toolbar-add-carddav-address-book =
+ .label = Add CardDAV Address Book
+about-addressbook-toolbar-add-ldap-address-book =
+ .label = Add LDAP Address Book
+about-addressbook-toolbar-new-contact =
+ .label = New Contact
+about-addressbook-toolbar-new-list =
+ .label = New List
+about-addressbook-toolbar-import =
+ .label = Import
+
+## Books
+
+all-address-books-row =
+ .title = All Address Books
+all-address-books = All Address Books
+
+# Variables:
+# $name (String) - The name of the selected book/list.
+# $count (Number) - The number of contacts in the selected book/list.
+about-addressbook-card-count = Total contacts in { $name }: { $count }
+# Variables:
+# $count (Number) - The number of contacts in all address books.
+about-addressbook-card-count-all = Total contacts in all address books: { $count }
+
+about-addressbook-books-context-properties =
+ .label = Properties
+about-addressbook-books-context-edit-list =
+ .label = Edit list
+about-addressbook-books-context-synchronize =
+ .label = Synchronize
+about-addressbook-books-context-edit =
+ .label = Edit
+about-addressbook-books-context-print =
+ .label = Print…
+about-addressbook-books-context-export =
+ .label = Export…
+about-addressbook-books-context-delete =
+ .label = Delete
+about-addressbook-books-context-remove =
+ .label = Remove
+about-addressbook-books-context-startup-default =
+ .label = Default startup directory
+
+about-addressbook-confirm-delete-book-title = Delete Address Book
+# Variables:
+# $name (String) - Name of the address book to be deleted.
+about-addressbook-confirm-delete-book =
+ Are you sure you want to delete { $name } and all of its contacts?
+about-addressbook-confirm-remove-remote-book-title = Remove Address Book
+# Variables:
+# $name (String) - Name of the remote address book to be removed.
+about-addressbook-confirm-remove-remote-book =
+ Are you sure you want to remove { $name }?
+
+## Cards
+
+# Variables:
+# $name (String) - Name of the address book that will be searched.
+about-addressbook-search =
+ .placeholder = Search { $name }
+about-addressbook-search-all =
+ .placeholder = Search all address books
+
+about-addressbook-sort-button2 =
+ .title = List display options
+
+about-addressbook-name-format-display =
+ .label = Display Name
+about-addressbook-name-format-firstlast =
+ .label = First Last
+about-addressbook-name-format-lastfirst =
+ .label = Last, First
+
+about-addressbook-sort-name-ascending =
+ .label = Sort by name (A > Z)
+about-addressbook-sort-name-descending =
+ .label = Sort by name (Z > A)
+about-addressbook-sort-email-ascending =
+ .label = Sort by email address (A > Z)
+about-addressbook-sort-email-descending =
+ .label = Sort by email address (Z > A)
+
+about-addressbook-table-layout =
+ .label = Table layout
+
+## Card column headers
+## Each string is listed here twice, and the values should match.
+
+about-addressbook-column-header-generatedname2 = Name
+ .title = Sort by name
+about-addressbook-column-label-generatedname2 =
+ .label = Name
+
+about-addressbook-column-header-emailaddresses2 = Email Addresses
+ .title = Sort by email addresses
+about-addressbook-column-label-emailaddresses2 =
+ .label = Email Addresses
+
+about-addressbook-column-header-nickname2 = Nickname
+ .title = Sort by nickname
+about-addressbook-column-label-nickname2 =
+ .label = Nickname
+
+about-addressbook-column-header-phonenumbers2 = Phone Numbers
+ .title = Sort by phone numbers
+about-addressbook-column-label-phonenumbers2 =
+ .label = Phone Numbers
+
+about-addressbook-column-header-addresses2 = Addresses
+ .title = Sort by addresses
+about-addressbook-column-label-addresses2 =
+ .label = Addresses
+
+about-addressbook-column-header-title2 = Title
+ .title = Sort by title
+about-addressbook-column-label-title2 =
+ .label = Title
+
+about-addressbook-column-header-department2 = Department
+ .title = Sort by department
+about-addressbook-column-label-department2 =
+ .label = Department
+
+about-addressbook-column-header-organization2 = Organization
+ .title = Sort by organization
+about-addressbook-column-label-organization2 =
+ .label = Organization
+
+about-addressbook-column-header-addrbook2 = Address Book
+ .title = Sort by address book
+about-addressbook-column-label-addrbook2 =
+ .label = Address Book
+
+about-addressbook-cards-context-write =
+ .label = Write
+
+about-addressbook-confirm-delete-mixed-title = Delete Contacts and Lists
+# Variables:
+# $count (Number) - The number of contacts and lists to be deleted. Always greater than 1.
+about-addressbook-confirm-delete-mixed =
+ Are you sure you want to delete these { $count } contacts and lists?
+# Variables:
+# $count (Number) - The number of lists to be deleted.
+about-addressbook-confirm-delete-lists-title =
+ { $count ->
+ [one] Delete List
+ *[other] Delete Lists
+ }
+# Variables:
+# $count (Number) - The number of lists to be deleted.
+# $name (String) - The name of the list to be deleted, if $count is 1.
+about-addressbook-confirm-delete-lists =
+ { $count ->
+ [one] Are you sure you want to delete the list { $name }?
+ *[other] Are you sure you want to delete these { $count } lists?
+ }
+# Variables:
+# $count (Number) - The number of contacts to be removed.
+about-addressbook-confirm-remove-contacts-title =
+ { $count ->
+ [one] Remove Contact
+ *[other] Remove Contacts
+ }
+# Variables:
+# $name (String) - The name of the contact to be removed.
+# $list (String) - The name of the list that contacts will be removed from.
+about-addressbook-confirm-remove-contacts-single =
+ Are you sure you want to remove { $name } from { $list }?
+# Variables:
+# $count (Number) - The number of contacts to be removed.
+# $list (String) - The name of the list that contacts will be removed from.
+about-addressbook-confirm-remove-contacts-multi =
+ { $count ->
+ *[other] Are you sure you want to remove these { $count } contacts from { $list }?
+ }
+# Variables:
+# $count (Number) - The number of contacts to be deleted.
+about-addressbook-confirm-delete-contacts-title =
+ { $count ->
+ [one] Delete Contact
+ *[other] Delete Contacts
+ }
+# Variables:
+# $name (String) - The name of the contact to be deleted.
+about-addressbook-confirm-delete-contacts-single =
+ Are you sure you want to delete the contact { $name }?
+# Variables:
+# $count (Number) - The number of contacts to be deleted.
+about-addressbook-confirm-delete-contacts-multi =
+ { $count ->
+ *[other] Are you sure you want to delete these { $count } contacts?
+ }
+
+## Card list placeholder
+## Shown when there are no cards in the list
+
+about-addressbook-placeholder-empty-book = No contacts available
+about-addressbook-placeholder-new-contact = New Contact
+about-addressbook-placeholder-search-only = This address book shows contacts only after a search
+about-addressbook-placeholder-searching = Searching…
+about-addressbook-placeholder-no-search-results = No contacts found
+
+## Details
+
+# Variables:
+# $count (Number) - The number of selected items (will never be fewer than 2).
+about-addressbook-selection-mixed-header2 =
+ { $count ->
+ *[other] { $count } selected address book entries
+ }
+# Variables:
+# $count (Number) - The number of selected contacts
+about-addressbook-selection-contacts-header2 =
+ { $count ->
+ [one] { $count } selected contact
+ *[other] { $count } selected contacts
+ }
+# Variables:
+# $count (Number) - The number of selected lists
+about-addressbook-selection-lists-header2 =
+ { $count ->
+ [one] { $count } selected list
+ *[other] { $count } selected lists
+ }
+
+about-addressbook-details-edit-photo =
+ .title = Edit contact photo
+
+about-addressbook-new-contact-header = New Contact
+
+about-addressbook-prefer-display-name = Prefer display name over message header
+
+about-addressbook-write-action-button = Write
+about-addressbook-event-action-button = Event
+about-addressbook-search-action-button = Search
+about-addressbook-new-list-action-button = New List
+
+about-addressbook-begin-edit-contact-button = Edit
+about-addressbook-delete-edit-contact-button = Delete
+about-addressbook-cancel-edit-contact-button = Cancel
+about-addressbook-save-edit-contact-button = Save
+
+about-addressbook-add-contact-to = Add to:
+
+about-addressbook-details-email-addresses-header = Email Addresses
+about-addressbook-details-phone-numbers-header = Phone Numbers
+about-addressbook-details-addresses-header = Addresses
+about-addressbook-details-notes-header = Notes
+about-addressbook-details-impp-header = Instant Messaging
+about-addressbook-details-websites-header = Websites
+about-addressbook-details-other-info-header = Other Information
+
+about-addressbook-entry-type-work = Work
+about-addressbook-entry-type-home = Home
+about-addressbook-entry-type-fax = Fax
+# Or "Mobile"
+about-addressbook-entry-type-cell = Cell
+about-addressbook-entry-type-pager = Pager
+
+about-addressbook-entry-name-birthday = Birthday
+about-addressbook-entry-name-anniversary = Anniversary
+about-addressbook-entry-name-title = Title
+about-addressbook-entry-name-role = Role
+about-addressbook-entry-name-organization = Organization
+about-addressbook-entry-name-website = Website
+about-addressbook-entry-name-time-zone = Time Zone
+about-addressbook-entry-name-custom1 = Custom 1
+about-addressbook-entry-name-custom2 = Custom 2
+about-addressbook-entry-name-custom3 = Custom 3
+about-addressbook-entry-name-custom4 = Custom 4
+
+about-addressbook-unsaved-changes-prompt-title = Unsaved Changes
+about-addressbook-unsaved-changes-prompt = Do you want to save your changes before leaving the edit view?
+
+# Photo dialog
+
+about-addressbook-photo-drop-target = Drop or paste a photo here, or click to select a file.
+about-addressbook-photo-drop-loading = Loading photo…
+about-addressbook-photo-drop-error = Failed to load photo.
+about-addressbook-photo-filepicker-title = Select an image file
+
+about-addressbook-photo-discard = Discard existing photo
+about-addressbook-photo-cancel = Cancel
+about-addressbook-photo-save = Save
+
+# Keyboard shortcuts
+
+about-addressbook-new-contact-key = N
diff --git a/comm/mail/locales/en-US/messenger/addressbook/fieldMapImport.ftl b/comm/mail/locales/en-US/messenger/addressbook/fieldMapImport.ftl
new file mode 100644
index 0000000000..5e39bf05ea
--- /dev/null
+++ b/comm/mail/locales/en-US/messenger/addressbook/fieldMapImport.ftl
@@ -0,0 +1,12 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+import-ab-csv-dialog-title = Import Address Book from Text File
+
+# $recordNumber (Number) - The current record number of the preview data.
+import-ab-csv-preview-record-number = Preview of the data import for record { $recordNumber }
+
+import-ab-csv-dialog =
+ .buttonlabelaccept = Import
+ .buttonaccesskeyaccept = I
diff --git a/comm/mail/locales/en-US/messenger/addressbook/vcard.ftl b/comm/mail/locales/en-US/messenger/addressbook/vcard.ftl
new file mode 100644
index 0000000000..febae64507
--- /dev/null
+++ b/comm/mail/locales/en-US/messenger/addressbook/vcard.ftl
@@ -0,0 +1,189 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, you can obtain one at http://mozilla.org/MPL/2.0/.
+
+# Display Name
+
+vcard-displayname = Display name
+
+vcard-displayname-placeholder =
+ .placeholder = { vcard-displayname }
+
+# Type selection
+
+vcard-entry-type-label = Type
+
+vcard-entry-type-home = Home
+
+vcard-entry-type-work = Work
+
+vcard-entry-type-none = None
+
+vcard-entry-type-custom = Custom
+
+# N vCard field
+
+vcard-name-header = Name
+
+vcard-n-prefix = Prefix
+
+vcard-n-add-prefix =
+ .title = Add prefix
+
+vcard-n-firstname = First name
+
+vcard-n-add-firstname =
+ .title = Add first name
+
+vcard-n-middlename = Middle name
+
+vcard-n-add-middlename =
+ .title = Add middle name
+
+vcard-n-lastname = Last name
+
+vcard-n-add-lastname =
+ .title = Add last name
+
+vcard-n-suffix = Suffix
+
+vcard-n-add-suffix =
+ .title = Add suffix
+
+# Nickname
+
+vcard-nickname = Nickname
+
+# Email vCard field
+
+vcard-email-header = Email Addresses
+
+vcard-email-add = Add email address
+
+vcard-email-label = Email address
+
+vcard-primary-email-label = Default
+
+# URL vCard field
+
+vcard-url-header = Websites
+
+vcard-url-add = Add website
+
+vcard-url-label = Website
+
+# Tel vCard field
+
+vcard-tel-header = Phone Numbers
+
+vcard-tel-add = Add phone number
+
+vcard-tel-label = Phone number
+
+# Or "Mobile"
+vcard-entry-type-cell = Cell
+
+vcard-entry-type-fax = Fax
+
+vcard-entry-type-pager = Pager
+
+# TZ vCard field
+
+vcard-tz-header = Time Zone
+
+vcard-tz-add = Add time zone
+
+# IMPP vCard field
+
+vcard-impp2-header = Instant Messaging
+
+vcard-impp-add = Add chat account
+
+vcard-impp-label = Chat account
+
+vcard-impp-select = Protocol
+vcard-impp-option-other = Other
+
+vcard-impp-input-label = URI
+vcard-impp-input-title = URI for instant messaging
+
+# BDAY and ANNIVERSARY vCard field
+
+vcard-bday-anniversary-header = Special Dates
+
+vcard-bday-anniversary-add = Add special date
+
+vcard-bday-label = Birthday
+
+vcard-anniversary-label = Anniversary
+
+vcard-date-day = Day
+
+vcard-date-month = Month
+
+vcard-date-year = Year
+
+# ADR vCard field
+
+vcard-adr-header = Addresses
+
+vcard-adr-add = Add address
+
+vcard-adr-label = Address
+
+vcard-adr-delivery-label = Delivery label
+
+vcard-adr-street = Street address
+
+# Or "Locality"
+vcard-adr-locality = City
+
+# Or "Region"
+vcard-adr-region = State/Province
+
+# The term "ZIP code" only applies in USA. Most locales should use "Postal code" only.
+vcard-adr-code = ZIP/Postal code
+
+vcard-adr-country = Country
+
+# NOTE vCard field
+
+vcard-note-header = Notes
+
+vcard-note-add = Add note
+
+# TITLE, ROLE and ORGANIZATION vCard fields
+
+vcard-org-header = Organizational Properties
+
+vcard-org-add = Add organizational properties
+
+vcard-org-title = Title
+vcard-org-title-input =
+ .title = Position or job
+ .placeholder = Job title
+
+vcard-org-role = Role
+vcard-org-role-input =
+ .title = Function or part played in a particular situation
+ .placeholder = Role in a project
+
+vcard-org-org = Organization
+vcard-org-org-input =
+ .title = Organizational name
+ .placeholder = Company name
+vcard-org-org-unit = Department
+vcard-org-org-unit-input =
+ .title = Organizational unit name
+ .placeholder = Department
+
+# Custom properties
+
+vcard-custom-header = Custom Properties
+
+vcard-custom-add = Add custom properties
+
+vcard-remove-button-title =
+ .title = Remove
+
+vcard-remove-button = Remove
diff --git a/comm/mail/locales/en-US/messenger/appmenu.ftl b/comm/mail/locales/en-US/messenger/appmenu.ftl
new file mode 100644
index 0000000000..c8a8d394c3
--- /dev/null
+++ b/comm/mail/locales/en-US/messenger/appmenu.ftl
@@ -0,0 +1,267 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+## Sync
+
+appmenu-sync-panel-title =
+ .title = Sync
+
+appmenu-signin-panel =
+ .label = Sign in to Sync
+ .accesskey = i
+
+appmenu-sync-sync =
+ .value = Account Sync
+ .accesskey = A
+
+appmenu-sync-manage =
+ .value = Manage Account
+ .accesskey = M
+
+appmenu-sync-account =
+ .value = example@example.com
+
+appmenu-sync-now =
+ .label = Sync Now
+ .accesskey = N
+
+appmenu-sync-settings =
+ .label = Sync Settings
+ .accesskey = S
+
+appmenu-sync-sign-out =
+ .label = Sign Out…
+ .accesskey = O
+
+## New Account
+
+appmenu-new-account-panel-title =
+ .title = New Account
+
+appmenu-new-account-panel =
+ .label = New Account
+ .accesskey = N
+
+appmenu-create-new-mail-account =
+ .label = Get a New Email
+ .accesskey = G
+
+appmenu-new-mail-account =
+ .label = Existing Email
+ .accesskey = E
+
+appmenu-new-calendar =
+ .label = Calendar
+ .accesskey = C
+
+appmenu-new-chat-account =
+ .label = Chat
+ .accesskey = h
+
+appmenu-new-feed =
+ .label = Feed
+ .accesskey = F
+
+appmenu-new-newsgroup =
+ .label = Newsgroup
+ .accesskey = N
+
+## New Account / Address Book
+
+appmenu-newab-panel-title =
+ .title = New Address Book
+
+appmenu-newab-panel =
+ .label = New Address Book
+ .accesskey = A
+
+appmenu-new-addressbook =
+ .label = Local Address Book
+ .accesskey = A
+
+appmenu-new-carddav =
+ .label = CardDav Address Book
+ .accesskey = C
+
+appmenu-new-ldap =
+ .label = LDAP Address Book
+ .accesskey = L
+
+## Create
+
+appmenu-create-panel-title =
+ .title = Create
+
+appmenu-create-panel =
+ .label = Create
+ .accesskey = C
+
+appmenu-create-message =
+ .label = Message
+ .accesskey = M
+
+appmenu-create-event =
+ .label = Event
+ .accesskey = E
+
+appmenu-create-task =
+ .label = Task
+ .accesskey = T
+
+appmenu-create-contact =
+ .label = Contact
+ .accesskey = C
+
+## Open
+
+appmenu-open-file-panel =
+ .label = Open from File
+ .accesskey = O
+
+appmenu-open-file-panel-title =
+ .title = Open from File
+
+appmenu-open-message =
+ .label = Message…
+ .accesskey = M
+
+appmenu-open-calendar =
+ .label = Calendar…
+ .accesskey = C
+
+## View / Layout
+
+appmenu-view-panel-title =
+ .title = View
+
+appmenu-view-panel =
+ .label = View
+ .accesskey = V
+
+appmenuitem-toggle-thread-pane-header =
+ .label = Message List Header
+
+appmenu-font-size-value = Font Size
+
+appmenu-mail-uidensity-value = Density
+
+appmenu-uidensity-compact =
+ .tooltiptext = Compact
+
+appmenu-uidensity-default =
+ .tooltiptext = Default
+
+appmenu-uidensity-relaxed =
+ .tooltiptext = Relaxed
+
+appmenuitem-font-size-enlarge =
+ .tooltiptext = Increase Font Size
+
+appmenuitem-font-size-reduce =
+ .tooltiptext = Reduce Font Size
+
+# Variables:
+# $size (String) - The current font size.
+appmenuitem-font-size-reset =
+ .label = { $size }px
+ .tooltiptext = Reset Font Size
+
+## Tools
+
+appmenu-tools-panel-title =
+ .title = Tools
+
+appmenu-tools-panel =
+ .label = Tools
+ .accesskey = T
+
+appmenu-tools-import =
+ .label = Import
+ .accesskey = I
+
+appmenu-tools-export =
+ .label = Export
+ .accesskey = E
+
+appmenu-tools-message-search =
+ .label = Search Messages
+ .accesskey = S
+
+appmenu-tools-message-filters =
+ .label = Message Filters
+ .accesskey = F
+
+appmenu-tools-download-manager =
+ .label = Download Manager
+ .accesskey = D
+
+appmenu-tools-activity-manager =
+ .label = Activity Manager
+ .accesskey = A
+
+appmenu-tools-dev-tools =
+ .label = Developer Tools
+ .accesskey = T
+
+## Help
+
+appmenu-help-panel-title =
+ .title = Help
+
+appmenu-help-get-help =
+ .label = Get Help
+ .accesskey = H
+
+appmenu-help-explore-features =
+ .label = Explore Features
+ .accesskey = F
+
+appmenu-help-shortcuts =
+ .label = Keyboard Shortcuts
+ .accesskey = K
+
+appmenu-help-get-involved =
+ .label = Get Involved
+ .accesskey = G
+
+appmenu-help-donation =
+ .label = Make a Donation
+ .accesskey = D
+
+appmenu-help-share-feedback =
+ .label = Share Ideas and Feedback
+ .accesskey = S
+
+appmenu-help-enter-troubleshoot-mode2 =
+ .label = Troubleshoot Mode…
+ .accesskey = M
+
+appmenu-help-exit-troubleshoot-mode2 =
+ .label = Turn Troubleshoot Mode Off
+ .accesskey = M
+
+appmenu-help-troubleshooting-info =
+ .label = Troubleshooting Information
+ .accesskey = T
+
+appmenu-help-about-product =
+ .label = About { -brand-short-name }
+ .accesskey = A
+
+## Application Update
+
+appmenuitem-banner-update-downloading =
+ .label = Downloading { -brand-shorter-name } update
+
+appmenuitem-banner-update-available =
+ .label = Update available — download now
+
+appmenuitem-banner-update-manual =
+ .label = Update available — download now
+
+appmenuitem-banner-update-unsupported =
+ .label = Unable to update — system incompatible
+
+appmenuitem-banner-update-restart =
+ .label = Update available — restart now
diff --git a/comm/mail/locales/en-US/messenger/chat-verifySession.ftl b/comm/mail/locales/en-US/messenger/chat-verifySession.ftl
new file mode 100644
index 0000000000..f231654bfa
--- /dev/null
+++ b/comm/mail/locales/en-US/messenger/chat-verifySession.ftl
@@ -0,0 +1,17 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+verify-window-title = Verify Identity
+
+# Variables:
+# $subject (String) - a human readable identifier for the other side of the verification flow.
+verify-window-subject-title = Verify Identity of { $subject }
+
+verify-dialog =
+ .buttonlabelaccept = They Match
+ .buttonaccesskeyaccept = M
+ .buttonlabelextra2 = They don’t match
+ .buttonaccesskeyextra2 = D
+
+challenge-label = Verify the displayed string matches the display on the other end.
diff --git a/comm/mail/locales/en-US/messenger/chat.ftl b/comm/mail/locales/en-US/messenger/chat.ftl
new file mode 100644
index 0000000000..49573e7d58
--- /dev/null
+++ b/comm/mail/locales/en-US/messenger/chat.ftl
@@ -0,0 +1,47 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+chat-joining-chat-icon2 =
+ .alt = Joining chat
+
+chat-left-chat-icon2 =
+ .alt = Left chat
+
+chat-participant-owner-role-icon2 =
+ .alt = Owner
+
+chat-participant-administrator-role-icon2 =
+ .alt = Administrator
+
+chat-participant-moderator-role-icon2 =
+ .alt = Moderator
+
+chat-participant-voiced-role-icon2 =
+ .alt = Participant can post messages
+
+chat-verify-identity =
+ .label = Verify Identity
+ .accesskey = I
+
+chat-identity-verified =
+ .label = Identity already verified
+
+chat-buddy-identity-status = Encryption Trust
+chat-buddy-identity-status-verified = Verified
+chat-buddy-identity-status-unverified = Unverified
+
+## Conversation invite notification box
+
+# This string appears in a notification bar at the top of the Contacts window
+# when someone invited the user to a multi user chat conversation, to request
+# the user to confirm they want to join the chat.
+# Variables:
+# $conversation (String) - Name of the conversation the user is invited to.
+chat-conv-invite-label = You have been invited to chat in { $conversation }
+chat-conv-invite-accept =
+ .label = Accept
+ .accesskey = A
+chat-conv-invite-deny =
+ .label = Reject
+ .accesskey = R
diff --git a/comm/mail/locales/en-US/messenger/compactFoldersDialog.ftl b/comm/mail/locales/en-US/messenger/compactFoldersDialog.ftl
new file mode 100644
index 0000000000..322a78ec76
--- /dev/null
+++ b/comm/mail/locales/en-US/messenger/compactFoldersDialog.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/.
+
+compact-dialog-window-title =
+ .title = Compact folders
+
+compact-dialog =
+ .buttonlabelaccept = Compact now
+ .buttonaccesskeyaccept = C
+ .buttonlabelcancel = Remind me later
+ .buttonaccesskeycancel = R
+ .buttonlabelextra1 = Learn more…
+ .buttonaccesskeyextra1 = L
+
+# Variables:
+# $data (String): The amount of space to be freed, formatted byte, MB, GB, etc., based on the size.
+compact-dialog-message = { -brand-short-name } needs to do regular file maintenance to improve the performance of your mail folders. This will recover { $data } of disk space without changing your messages. To let { -brand-short-name } do this automatically in the future without asking, check the box below before choosing ‘{ compact-dialog.buttonlabelaccept }’.
+
+compact-dialog-never-ask-checkbox =
+ .label = Compact folders automatically in the future
+ .accesskey = a
diff --git a/comm/mail/locales/en-US/messenger/exportDialog.ftl b/comm/mail/locales/en-US/messenger/exportDialog.ftl
new file mode 100644
index 0000000000..554e627e34
--- /dev/null
+++ b/comm/mail/locales/en-US/messenger/exportDialog.ftl
@@ -0,0 +1,22 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+export-dialog-brand-name = { -brand-product-name }
+
+export-dialog-title = Export
+
+export-dialog =
+ .buttonlabelaccept = Next
+
+export-dialog-button-finish = Finish
+
+export-dialog-file-picker = Export to a zip file
+
+export-dialog-description1 = Export mail accounts, mail messages, address books, settings to a zip file.
+
+export-dialog-desc2 = When needed, you can import the zip file to restore your profile.
+
+export-dialog-exporting = Exporting…
+
+export-dialog-exported = Exported!
diff --git a/comm/mail/locales/en-US/messenger/extensionPermissions.ftl b/comm/mail/locales/en-US/messenger/extensionPermissions.ftl
new file mode 100644
index 0000000000..10caa835e6
--- /dev/null
+++ b/comm/mail/locales/en-US/messenger/extensionPermissions.ftl
@@ -0,0 +1,23 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+## Extension permission description keys are derived from permission names.
+## Permissions for which the message has been changed and the key updated
+## must have a corresponding entry in the `PERMISSION_L10N_ID_OVERRIDES` map.
+
+webext-perms-description-accountsFolders=Create, rename, or delete your mail account folders
+webext-perms-description-accountsIdentities=Create, modify or delete your mail account identities
+webext-perms-description-accountsRead = See your mail accounts, their identities and their folders
+webext-perms-description-addressBooks=Read and modify your address books and contacts
+webext-perms-description-compose=Read and modify your email messages as you compose and send them
+webext-perms-description-compose-send=Send composed email messages on your behalf
+webext-perms-description-compose-save=Save composed email messages as drafts or templates
+webext-perms-description-experiment=Have full, unrestricted access to { -brand-short-name }, and your computer
+webext-perms-description-messagesImport=Import messages into Thunderbird
+webext-perms-description-messagesModify=Read and modify your email messages as they are displayed to you
+webext-perms-description-messagesMove = Copy or move your email messages (including moving them to the trash folder)
+webext-perms-description-messagesDelete=Permanently delete your email messages
+webext-perms-description-messagesRead=Read your email messages and mark or tag them
+webext-perms-description-messagesTags=Create, modify and delete message tags
+webext-perms-description-sensitiveDataUpload=Transfer sensitive user data (if access has been granted) to a remote server for further processing
diff --git a/comm/mail/locales/en-US/messenger/extensions/popup.ftl b/comm/mail/locales/en-US/messenger/extensions/popup.ftl
new file mode 100644
index 0000000000..0e6908ef87
--- /dev/null
+++ b/comm/mail/locales/en-US/messenger/extensions/popup.ftl
@@ -0,0 +1,14 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+close-shortcut =
+ .key = w
+
+# Variables:
+# $title (String): the title of the popup window
+extension-popup-title = { PLATFORM() ->
+ [macos] { $title }
+ *[other] { $title } - { -brand-full-name }
+}
+extension-popup-default-title = { -brand-full-name }
diff --git a/comm/mail/locales/en-US/messenger/extensionsUI.ftl b/comm/mail/locales/en-US/messenger/extensionsUI.ftl
new file mode 100644
index 0000000000..9a6ac822b8
--- /dev/null
+++ b/comm/mail/locales/en-US/messenger/extensionsUI.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/.
+
+webext-experiment-warning = Malicious add-ons can steal your private information or compromise your computer. Only install this add-on if you trust the source.
+
+webext-perms-learn-more = Learn more
+
+# Variables:
+# $addonName (String): localized named of the extension that was just installed.
+addon-post-install-message = { $addonName } was added.
diff --git a/comm/mail/locales/en-US/messenger/firefoxAccounts.ftl b/comm/mail/locales/en-US/messenger/firefoxAccounts.ftl
new file mode 100644
index 0000000000..669fd166f3
--- /dev/null
+++ b/comm/mail/locales/en-US/messenger/firefoxAccounts.ftl
@@ -0,0 +1,32 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, you can obtain one at http://mozilla.org/MPL/2.0/.
+
+# “Account” can be localized, “Firefox” must be treated as a brand,
+# and kept in English.
+-fxaccount-brand-name =
+ { $capitalization ->
+ [sentence] Firefox account
+ *[title] Firefox Account
+ }
+
+## These strings are shown in a desktop notification after the user requests we resend a verification email.
+
+fxa-verification-sent-title = Verification Sent
+# Variables:
+# $userEmail (String) - Email address of user's Firefox Account.
+fxa-verification-sent-body = A verification link has been sent to { $userEmail }.
+fxa-verification-not-sent-title = Unable to Send Verification
+fxa-verification-not-sent-body = We are unable to send a verification mail at this time, please try again later.
+
+## These strings are shown in a confirmation dialog when the user chooses to sign out.
+
+fxa-signout-dialog-title = Sign out of { -fxaccount-brand-name(capitalization: "sentence") }?
+fxa-signout-dialog-body = Synced data will remain in your account.
+fxa-signout-dialog-button = Sign out
+
+## These strings are shown in a confirmation dialog when the user chooses to stop syncing.
+
+sync-disconnect-dialog-title = Disconnect?
+sync-disconnect-dialog-body = { -brand-product-name } will stop syncing but won’t delete any of your data on this device.
+sync-disconnect-dialog-button = Disconnect
diff --git a/comm/mail/locales/en-US/messenger/flatpak.ftl b/comm/mail/locales/en-US/messenger/flatpak.ftl
new file mode 100644
index 0000000000..b96d09dfe3
--- /dev/null
+++ b/comm/mail/locales/en-US/messenger/flatpak.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/.
+
+### These messages are used by the Thunderbird Linux Flatpak "desktop" file.
+### An end user will see them associated with the application launcher icon
+
+# This is the label on the icon
+flatpak-desktop-name = { -brand-short-name }
+
+# Appears as a tooltip when hovering over application menu entry
+flatpak-desktop-comment = Send and receive mail with { -brand-product-name }
+
+# A generic description of Thunderbird
+flatpak-desktop-generic-name = Mail Client
+
+## Actions Section
+## These are alternative ways of starting Thunderbird, such as open the compose
+## window to write a message. Visible in a context menu after right clicking a
+## Thunderbird taskbar icon, possibly other places depending on the environment.
+
+flatpak-desktop-action-compose = Write New Message
+
+flatpak-desktop-action-addressbook = Open the Address Book
+
+flatpak-desktop-action-calendar = Open the Calendar
+
+flatpak-desktop-action-keymanager = Open the OpenPGP Key Manager
diff --git a/comm/mail/locales/en-US/messenger/folderprops.ftl b/comm/mail/locales/en-US/messenger/folderprops.ftl
new file mode 100644
index 0000000000..8610bf91d0
--- /dev/null
+++ b/comm/mail/locales/en-US/messenger/folderprops.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/.
+
+## Quota tab
+
+# Variables:
+# $percent (Number) - Usage percentage of the assigned IMAP quota.
+quota-percent-used = { $percent }% full
diff --git a/comm/mail/locales/en-US/messenger/importDialog.ftl b/comm/mail/locales/en-US/messenger/importDialog.ftl
new file mode 100644
index 0000000000..679d02e0a1
--- /dev/null
+++ b/comm/mail/locales/en-US/messenger/importDialog.ftl
@@ -0,0 +1,30 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# Short name of the import module
+thunderbird-import-name = Thunderbird
+
+# Description of the import module
+thunderbird-import-description = Import mail from a Thunderbird profile directory.
+
+import-from-thunderbird-zip =
+ .label = Thunderbird (exported profile backup; zip file smaller than 2GB)
+ .accesskey = Z
+
+import-from-thunderbird-dir =
+ .label = Thunderbird (profile folder)
+ .accesskey = T
+
+import-select-profile-zip = Select a zipped profile directory
+
+import-select-profile-dir = Select a profile directory
+
+zip-file-too-big-title = Zip File Too Big
+
+zip-file-too-big-message = The selected zip file is larger than 2GB. Please extract it first, then import from the extracted folder instead.
+
+wizardpage-failed =
+ .label = Import Failed
+
+wizardpage-failed-message = Import failed unexpectedly, more information may be available in the Error Console.
diff --git a/comm/mail/locales/en-US/messenger/mailWidgets.ftl b/comm/mail/locales/en-US/messenger/mailWidgets.ftl
new file mode 100644
index 0000000000..0df738f354
--- /dev/null
+++ b/comm/mail/locales/en-US/messenger/mailWidgets.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/.
+
+apply-current-view-to-menu =
+ .label = Apply current view to…
+
+threadpane-apply-changes-prompt-title = Apply Changes?
+# Variables:
+# $name (String): The name of the folder to apply to.
+threadpane-apply-changes-prompt-no-children-text = Apply the current folder’s view to { $name }?
+# Variables:
+# $name (String): The name of the folder to apply to.
+threadpane-apply-changes-prompt-with-children-text = Apply the current folder’s view to { $name } and its children?
diff --git a/comm/mail/locales/en-US/messenger/menubar.ftl b/comm/mail/locales/en-US/messenger/menubar.ftl
new file mode 100644
index 0000000000..3da55dd14a
--- /dev/null
+++ b/comm/mail/locales/en-US/messenger/menubar.ftl
@@ -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/.
+
+toolbar-context-menu-menu-bar =
+ .toolbarname = Menu Bar
+ .accesskey = M
+
+## Tools Menu
+
+menu-tools-settings =
+ .label = Settings
+ .accesskey = e
+
+menu-addons-and-themes =
+ .label = Add-ons and Themes
+ .accesskey = A
+
+## Help Menu
+
+menu-help-help-title =
+ .label = Help
+ .accesskey = H
+
+menu-help-get-help =
+ .label = Get Help
+ .accesskey = H
+
+menu-help-explore-features =
+ .label = Explore Features
+ .accesskey = F
+
+menu-help-shortcuts =
+ .label = Keyboard Shortcuts
+ .accesskey = K
+
+menu-help-get-involved =
+ .label = Get Involved
+ .accesskey = G
+
+menu-help-donation =
+ .label = Make a Donation
+ .accesskey = D
+
+menu-help-share-feedback =
+ .label = Share Ideas and Feedback
+ .accesskey = S
+
+menu-help-enter-troubleshoot-mode =
+ .label = Troubleshoot Mode…
+ .accesskey = M
+
+menu-help-exit-troubleshoot-mode =
+ .label = Turn Troubleshoot Mode Off
+ .accesskey = M
+
+menu-help-troubleshooting-info =
+ .label = Troubleshooting Information
+ .accesskey = T
+
+menu-help-about-product =
+ .label = About { -brand-short-name }
+ .accesskey = A
+
+# These menu-quit strings are only used on Windows and Linux.
+menu-quit =
+ .label =
+ { PLATFORM() ->
+ [windows] Exit
+ *[other] Quit
+ }
+ .accesskey =
+ { PLATFORM() ->
+ [windows] x
+ *[other] Q
+ }
+
+# This menu-quit-mac string is only used on macOS.
+menu-quit-mac =
+ .label = Quit { -brand-shorter-name }
+
+# Localization note: Do not translate unless your locale's keyboard layout
+# does not include this key, as it determines the keyboard shortcut for
+# shutting down the application.
+quit-app-shortcut =
+ .key = Q
+
+## Mail Toolbar
+
+toolbar-junk-button =
+ .label = Junk
+ .tooltiptext = Mark the selected messages as junk
+toolbar-not-junk-button =
+ .label = Not Junk
+ .tooltiptext = Mark the selected messages as not junk
+toolbar-delete-button =
+ .label = Delete
+ .tooltiptext = Delete selected messages or folder
+toolbar-undelete-button =
+ .label = Undelete
+ .tooltiptext = Undelete selected messages
+
+## View
+
+menu-view-repair-text-encoding =
+ .label = Repair Text Encoding
+ .accesskey = c
+
+## View / Folders
+
+menu-view-folders-toggle-header =
+ .label = Folder Pane Header
+ .accesskey = F
+
+## View / Layout
+
+menu-view-toggle-thread-pane-header =
+ .label = Message List Header
+ .accesskey = H
+
+menu-font-size-label =
+ .label = Font Size
+ .accesskey = o
+
+menuitem-font-size-enlarge =
+ .label = Increase Font Size
+ .accesskey = I
+
+menuitem-font-size-reduce =
+ .label = Reduce Font Size
+ .accesskey = D
+
+menuitem-font-size-reset =
+ .label = Reset Font Size
+ .accesskey = R
+
+mail-uidensity-label =
+ .label = Density
+ .accesskey = D
+
+mail-uidensity-compact =
+ .label = Compact
+ .accesskey = C
+
+mail-uidensity-default =
+ .label = Default
+ .accesskey = D
+
+mail-uidensity-relaxed =
+ .label = Relaxed
+ .accesskey = R
+
+menu-spaces-toolbar-button =
+ .label = Spaces Toolbar
+ .accesskey = S
+
+## File
+
+file-new-newsgroup-account =
+ .label = Newsgroup Account…
+ .accesskey = N
diff --git a/comm/mail/locales/en-US/messenger/messageheader/headerFields.ftl b/comm/mail/locales/en-US/messenger/messageheader/headerFields.ftl
new file mode 100644
index 0000000000..e74cc5a865
--- /dev/null
+++ b/comm/mail/locales/en-US/messenger/messageheader/headerFields.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/.
+
+## Header lists
+
+message-header-to-list-name = To
+
+message-header-from-list-name = From
+
+message-header-sender-list-name = Sender
+
+message-header-reply-to-list-name = Reply to
+
+message-header-cc-list-name = Cc
+
+message-header-bcc-list-name = Bcc
+
+message-header-newsgroups-list-name = Newsgroups
+
+message-header-followup-to-list-name = Followup to
+
+message-header-tags-list-name = Tags
+
+## Other message headers.
+## The field-separator is for screen readers to separate the field name from the field value.
+
+message-header-author-field = Author<span data-l10n-name="field-separator">:</span>
+
+message-header-organization-field = Organization<span data-l10n-name="field-separator">:</span>
+
+message-header-subject-field = Subject<span data-l10n-name="field-separator">:</span>
+
+message-header-date-field = Date<span data-l10n-name="field-separator">:</span>
+
+message-header-user-agent-field = User agent<span data-l10n-name="field-separator">:</span>
+
+message-header-references-field = References<span data-l10n-name="field-separator">:</span>
+
+message-header-message-id-field = Message ID<span data-l10n-name="field-separator">:</span>
+
+message-header-in-reply-to-field = In reply to<span data-l10n-name="field-separator">:</span>
+
+message-header-website-field = Website<span data-l10n-name="field-separator">:</span>
+
+# An additional email header field that the user has chosen to display. Unlike
+# the other headers, the name of this header is not expected to be localised
+# because it is generated from the raw field name found in the email header.
+# $fieldName (String) - The field name.
+message-header-custom-field = { $fieldName }<span data-l10n-name="field-separator">:</span>
+
+##
+
+message-header-address-in-address-book-icon2 =
+ .alt = In the Address Book
+
+message-header-address-not-in-address-book-icon2 =
+ .alt = Not in the Address Book
+
+message-header-address-not-in-address-book-button =
+ .title = Save this address in the Address Book
+
+message-header-address-in-address-book-button =
+ .title = Edit contact
+
+message-header-field-show-more = More
+ .title = Show all recipients
+
+message-ids-field-show-all = Show all
diff --git a/comm/mail/locales/en-US/messenger/messenger.ftl b/comm/mail/locales/en-US/messenger/messenger.ftl
new file mode 100644
index 0000000000..1ef66fb6a4
--- /dev/null
+++ b/comm/mail/locales/en-US/messenger/messenger.ftl
@@ -0,0 +1,484 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+## Window controls
+
+messenger-window-minimize-button =
+ .tooltiptext = Minimize
+messenger-window-maximize-button =
+ .tooltiptext = Maximize
+messenger-window-restore-down-button =
+ .tooltiptext = Restore Down
+messenger-window-close-button =
+ .tooltiptext = Close
+
+# Variables:
+# $count (Number) - Number of unread messages.
+unread-messages-os-tooltip =
+ { $count ->
+ [one] 1 unread message
+ *[other] { $count } unread messages
+ }
+
+about-rights-notification-text = { -brand-short-name } is free and open source software, built by a community of thousands from all over the world.
+
+## Content tabs
+
+content-tab-page-loading-icon =
+ .alt = The page is loading
+content-tab-security-high-icon =
+ .alt = The connection is secure
+content-tab-security-broken-icon =
+ .alt = The connection is not secure
+
+# Back
+
+# Variables
+# $shortcut (String) - A keyboard shortcut for the Go Back command.
+content-tab-menu-back =
+ .tooltiptext = Go back one page ({ $shortcut })
+ .aria-label = Back
+ .accesskey = B
+
+# This menuitem is only visible on macOS
+content-tab-menu-back-mac =
+ .label = Back
+ .accesskey = B
+
+# Forward
+
+# Variables
+# $shortcut (String) - A keyboard shortcut for the Go Forward command.
+content-tab-menu-forward =
+ .tooltiptext = Go forward one page ({ $shortcut })
+ .aria-label = Forward
+ .accesskey = F
+
+# This menuitem is only visible on macOS
+content-tab-menu-forward-mac =
+ .label = Forward
+ .accesskey = F
+
+# Reload
+
+content-tab-menu-reload =
+ .tooltiptext = Reload page
+ .aria-label = Reload
+ .accesskey = R
+
+# This menuitem is only visible on macOS
+content-tab-menu-reload-mac =
+ .tooltiptext = Reload page
+ .label = Reload
+ .accesskey = R
+
+# Stop
+
+content-tab-menu-stop =
+ .tooltiptext = Stop page loading
+ .aria-label = Stop
+ .accesskey = S
+
+# This menuitem is only visible on macOS
+content-tab-menu-stop-mac =
+ .tooltiptext = Stop page loading
+ .label = Stop
+ .accesskey = S
+
+## Toolbar
+
+addons-and-themes-toolbarbutton =
+ .label = Add-ons and Themes
+ .tooltiptext = Manage your add-ons
+
+quick-filter-toolbarbutton =
+ .label = Quick Filter
+ .tooltiptext = Filter messages
+
+redirect-msg-button =
+ .label = Redirect
+ .tooltiptext = Redirect selected message
+
+## Folder Pane
+
+folder-pane-toolbar =
+ .toolbarname = Folder Pane Toolbar
+ .accesskey = F
+
+folder-pane-toolbar-options-button =
+ .tooltiptext = Folder Pane Options
+
+folder-pane-header-label = Folders
+
+## Folder Toolbar Header Popup
+
+folder-toolbar-hide-toolbar-toolbarbutton =
+ .label = Hide Toolbar
+ .accesskey = H
+
+show-all-folders-label =
+ .label = All Folders
+ .accesskey = A
+
+show-unread-folders-label =
+ .label = Unread Folders
+ .accesskey = n
+
+show-favorite-folders-label =
+ .label = Favorite Folders
+ .accesskey = F
+
+show-smart-folders-label =
+ .label = Unified Folders
+ .accesskey = U
+
+show-recent-folders-label =
+ .label = Recent Folders
+ .accesskey = R
+
+show-tags-folders-label =
+ .label = Tags
+ .accesskey = T
+
+folder-toolbar-toggle-folder-compact-view =
+ .label = Compact View
+ .accesskey = C
+
+## File Menu
+
+menu-file-save-as-file =
+ .label = File…
+ .accesskey = F
+
+## Edit Menu
+
+menu-edit-delete-folder =
+ .label = Delete Folder
+ .accesskey = D
+
+menu-edit-unsubscribe-newsgroup =
+ .label = Unsubscribe Newsgroup
+ .accesskey = b
+
+# Variables:
+# $count (Number) - Number of selected messages.
+menu-edit-delete-messages =
+ .label =
+ { $count ->
+ [one] Delete Message
+ *[other] Delete Selected Messages
+ }
+ .accesskey = D
+
+# Variables:
+# $count (Number) - Number of selected messages.
+menu-edit-undelete-messages =
+ .label =
+ { $count ->
+ [one] Undelete Message
+ *[other] Undelete Selected Messages
+ }
+ .accesskey = d
+
+menu-edit-properties =
+ .label = Properties
+ .accesskey = o
+
+menu-edit-folder-properties =
+ .label = Folder Properties
+ .accesskey = o
+
+menu-edit-newsgroup-properties =
+ .label = Newsgroup Properties
+ .accesskey = o
+
+## Message Menu
+
+redirect-msg-menuitem =
+ .label = Redirect
+ .accesskey = D
+
+## AppMenu
+
+appmenu-save-as-file =
+ .label = File…
+
+appmenu-settings =
+ .label = Settings
+
+appmenu-addons-and-themes =
+ .label = Add-ons and Themes
+
+## Context menu
+
+context-menu-redirect-msg =
+ .label = Redirect
+
+# This menu item is for canceling an NNTP message
+context-menu-cancel-msg =
+ .label = Cancel Message
+
+# Variables:
+# $count (Number) - Number of selected messages.
+mail-context-delete-messages =
+ .label =
+ { $count ->
+ [one] Delete Message
+ *[other] Delete Selected Messages
+ }
+
+# Variables:
+# $count (Number) - Number of selected messages.
+mail-context-undelete-messages =
+ .label =
+ { $count ->
+ [one] Undelete Message
+ *[other] Undelete Selected Messages
+ }
+
+context-menu-decrypt-to-folder2 =
+ .label = Create Decrypted Copy In
+ .accesskey = y
+
+## Message header pane
+
+other-action-redirect-msg =
+ .label = Redirect
+
+message-header-msg-flagged =
+ .title = Starred
+ .aria-label = Starred
+
+# Variables:
+# $address (String) - The email address of the recipient this picture belongs to.
+message-header-recipient-avatar =
+ .alt = Profile picture of { $address }.
+
+## Message header cutomize panel
+
+message-header-customize-panel-title = Message Header Settings
+
+message-header-customize-button-style =
+ .value = Button style
+ .accesskey = B
+
+message-header-button-style-default =
+ .label = Icons and text
+
+message-header-button-style-text =
+ .label = Text
+
+message-header-button-style-icons =
+ .label = Icons
+
+message-header-show-sender-full-address =
+ .label = Always show sender’s full address
+ .accesskey = f
+
+message-header-show-sender-full-address-description = The email address will be shown underneath the display name.
+
+message-header-show-recipient-avatar =
+ .label = Show sender’s profile picture
+ .accesskey = p
+
+message-header-show-big-avatar =
+ .label = Larger profile picture
+ .accesskey = g
+
+message-header-hide-label-column =
+ .label = Hide labels column
+ .accesskey = l
+
+message-header-large-subject =
+ .label = Large subject
+ .accesskey = s
+
+message-header-all-headers =
+ .label = Show all headers
+ .accesskey = a
+
+## Action Button Context Menu
+
+toolbar-context-menu-manage-extension =
+ .label = Manage Extension
+ .accesskey = E
+toolbar-context-menu-remove-extension =
+ .label = Remove Extension
+ .accesskey = v
+
+## Add-on removal warning
+
+# Variables:
+# $name (String): The name of the add-on that will be removed.
+addon-removal-title = Remove { $name }?
+addon-removal-confirmation-button = Remove
+# Variables:
+# $name (String): The name of the add-on that will be removed.
+addon-removal-confirmation-message = Remove { $name } as well as its configuration and data from { -brand-short-name }?
+
+caret-browsing-prompt-title = Caret Browsing
+caret-browsing-prompt-text = Pressing F7 turns Caret Browsing on or off. This feature places a moveable cursor within some content, allowing you to select text with the keyboard. Do you want to turn Caret Browsing on?
+caret-browsing-prompt-check-text = Do not ask again.
+
+repair-text-encoding-button =
+ .label = Repair Text Encoding
+ .tooltiptext = Guess correct text encoding from message content
+
+## no-reply handling
+
+no-reply-title = Reply Not Supported
+# Variables:
+# $email (String) - Email address the reply will be sent to. Example: "noreply@example.com"
+no-reply-message = The reply address ({ $email }) does not appear to be a monitored address. Messages to this address will likely not be read by anyone.
+no-reply-reply-anyway-button = Reply Anyway
+
+## error messages
+
+# Variables:
+# $failures (Number) - Number of messages that could not be decrypted.
+# $total (Number) - Total number of messages that were attempted to be decrypted.
+decrypt-and-copy-failures-multiple =
+ { $failures ->
+ [one] { $failures } of { $total } messages could not be decrypted and was not copied.
+ *[other] { $failures } of { $total } messages could not be decrypted and were not copied.
+ }
+
+## Spaces toolbar
+
+spaces-toolbar-element =
+ .toolbarname = Spaces Toolbar
+ .aria-label = Spaces Toolbar
+ .aria-description = Vertical toolbar for switching between different spaces. Use the arrow keys to navigate the available buttons.
+
+spaces-toolbar-button-mail2 =
+ .title = Mail
+
+spaces-toolbar-button-address-book2 =
+ .title = Address Book
+
+spaces-toolbar-button-calendar2 =
+ .title = Calendar
+
+spaces-toolbar-button-tasks2 =
+ .title = Tasks
+
+spaces-toolbar-button-chat2 =
+ .title = Chat
+
+spaces-toolbar-button-overflow =
+ .title = More spaces…
+
+spaces-toolbar-button-settings2 =
+ .title = Settings
+
+spaces-toolbar-button-hide =
+ .title = Hide Spaces Toolbar
+
+spaces-toolbar-button-show =
+ .title = Show Spaces Toolbar
+
+spaces-context-new-tab-item =
+ .label = Open in new tab
+
+spaces-context-new-window-item =
+ .label = Open in new window
+
+# Variables:
+# $tabName (String) - The name of the tab this item will switch to.
+spaces-context-switch-tab-item =
+ .label = Switch to { $tabName }
+
+settings-context-open-settings-item2 =
+ .label = Settings
+
+settings-context-open-account-settings-item2 =
+ .label = Account Settings
+
+settings-context-open-addons-item2 =
+ .label = Add-ons and Themes
+
+## Spaces toolbar pinned tab menupopup
+
+spaces-toolbar-pinned-tab-button =
+ .tooltiptext = Spaces Menu
+
+spaces-pinned-button-menuitem-mail2 =
+ .label = { spaces-toolbar-button-mail2.title }
+
+spaces-pinned-button-menuitem-address-book2 =
+ .label = { spaces-toolbar-button-address-book2.title }
+
+spaces-pinned-button-menuitem-calendar2 =
+ .label = { spaces-toolbar-button-calendar2.title }
+
+spaces-pinned-button-menuitem-tasks2 =
+ .label = { spaces-toolbar-button-tasks2.title }
+
+spaces-pinned-button-menuitem-chat2 =
+ .label = { spaces-toolbar-button-chat2.title }
+
+spaces-pinned-button-menuitem-settings2 =
+ .label = { spaces-toolbar-button-settings2.title }
+
+spaces-pinned-button-menuitem-show =
+ .label = { spaces-toolbar-button-show.title }
+
+# Variables:
+# $count (Number) - Number of unread messages.
+chat-button-unread-messages = { $count }
+ .title = { $count ->
+ [one] One unread message
+ *[other] { $count } unread messages
+ }
+
+## Spaces toolbar customize panel
+
+menuitem-customize-label =
+ .label = Customize…
+
+spaces-customize-panel-title = Spaces Toolbar Settings
+
+spaces-customize-background-color = Background color
+
+spaces-customize-icon-color = Button color
+
+# The background color used on the buttons of the spaces toolbar when they are
+# `current`, meaning the related space/tab is active and visible.
+spaces-customize-accent-background-color = Selected button background color
+
+# The icon color used on the buttons of the spaces toolbar when they are
+# `current`, meaning the related space/tab is active and visible.
+spaces-customize-accent-text-color = Selected button color
+
+spaces-customize-button-restore = Restore Defaults
+ .accesskey = R
+
+customize-panel-button-save = Done
+ .accesskey = D
+
+## Quick Filter Bar
+
+# The label to display for the "View... Toolbars..." menu item that controls
+# whether the quick filter bar is visible.
+quick-filter-bar-toggle =
+ .label = Quick Filter Bar
+ .accesskey = Q
+
+# This is the key used to show the quick filter bar.
+# This should match quick-filter-bar-textbox-shortcut in about3Pane.ftl.
+quick-filter-bar-show =
+ .key = k
+
+## OpenPGP
+
+openpgp-forget = Forget OpenPGP passphrases
+
+## Quota panel.
+
+# Variables:
+# $percent (Number) - Usage percentage of the assigned IMAP quota.
+# $usage (String) - Current quota usage (may include unit)
+# $limit (String) - Current quota limit (may include unit)
+quota-panel-percent-used = { $percent }% full
+ .title = IMAP quota: { $usage } used of { $limit } total
diff --git a/comm/mail/locales/en-US/messenger/messengercompose/messengercompose.ftl b/comm/mail/locales/en-US/messenger/messengercompose/messengercompose.ftl
new file mode 100644
index 0000000000..8d7c39cdc4
--- /dev/null
+++ b/comm/mail/locales/en-US/messenger/messengercompose/messengercompose.ftl
@@ -0,0 +1,492 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+## Send Format
+
+compose-send-format-menu =
+ .label = Sending Format
+ .accesskey = F
+
+compose-send-auto-menu-item =
+ .label = Automatic
+ .accesskey = A
+
+compose-send-both-menu-item =
+ .label = Both HTML and Plain Text
+ .accesskey = B
+
+compose-send-html-menu-item =
+ .label = Only HTML
+ .accesskey = H
+
+compose-send-plain-menu-item =
+ .label = Only Plain Text
+ .accesskey = P
+
+## Addressing widget
+
+# $type (String) - the type of the addressing row
+remove-address-row-button =
+ .title = Remove the { $type } field
+
+# $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 }
+ [one] { $type } with one address, use left arrow key to focus on it.
+ *[other] { $type } with { $count } addresses, use left arrow key to focus on them.
+}
+
+# $email (String) - the email address
+# $count (Number) - the number of address pills currently present in the addressing row
+pill-aria-label = { $count ->
+ [one] { $email }: press Enter to edit, Delete to remove.
+ *[other] { $email }, 1 of { $count }: press Enter to edit, Delete to remove.
+}
+
+# $email (String) - the email address
+pill-tooltip-invalid-address = { $email } is not a valid email address
+
+# $email (String) - the email address
+pill-tooltip-not-in-address-book = { $email } is not in your address book
+
+pill-action-edit =
+ .label = Edit Address
+ .accesskey = E
+
+# $type (String) - the type of the addressing row, e.g. Cc, Bcc, etc.
+pill-action-select-all-sibling-pills =
+ .label = Select All Addresses in { $type }
+ .accesskey = A
+
+pill-action-select-all-pills =
+ .label = Select All Addresses
+ .accesskey = S
+
+pill-action-move-to =
+ .label = Move to To
+ .accesskey = T
+
+pill-action-move-cc =
+ .label = Move to Cc
+ .accesskey = C
+
+pill-action-move-bcc =
+ .label = Move to Bcc
+ .accesskey = B
+
+pill-action-expand-list =
+ .label = Expand List
+ .accesskey = x
+
+## Attachment widget
+
+ctrl-cmd-shift-pretty-prefix = {
+ PLATFORM() ->
+ [macos] ⇧ ⌘{" "}
+ *[other] Ctrl+Shift+
+}
+
+trigger-attachment-picker-key = A
+toggle-attachment-pane-key = M
+
+menuitem-toggle-attachment-pane =
+ .label = Attachment Pane
+ .accesskey = m
+ .acceltext = { ctrl-cmd-shift-pretty-prefix }{ toggle-attachment-pane-key }
+
+toolbar-button-add-attachment =
+ .label = Attach
+ .tooltiptext = Add an Attachment ({ ctrl-cmd-shift-pretty-prefix }{ trigger-attachment-picker-key })
+
+add-attachment-notification-reminder2 =
+ .label = Add Attachment…
+ .accesskey = A
+ .tooltiptext = { toolbar-button-add-attachment.tooltiptext }
+
+menuitem-attach-files =
+ .label = File(s)…
+ .accesskey = F
+ .acceltext = { ctrl-cmd-shift-pretty-prefix }{ trigger-attachment-picker-key }
+
+context-menuitem-attach-files =
+ .label = Attach File(s)…
+ .accesskey = F
+ .acceltext = { ctrl-cmd-shift-pretty-prefix }{ trigger-attachment-picker-key }
+
+# Note: Do not translate the term 'vCard'.
+context-menuitem-attach-vcard =
+ .label = My vCard
+ .accesskey = C
+
+context-menuitem-attach-openpgp-key =
+ .label = My OpenPGP Public Key
+ .accesskey = K
+
+# $count (Number) - the number of attachments in the attachment bucket
+attachment-bucket-count-value = { $count ->
+ [1] { $count } Attachment
+ *[other] { $count } Attachments
+}
+
+attachment-area-show =
+ .title = Show the attachment pane ({ ctrl-cmd-shift-pretty-prefix }{ toggle-attachment-pane-key })
+
+attachment-area-hide =
+ .title = Hide the attachment pane ({ ctrl-cmd-shift-pretty-prefix }{ toggle-attachment-pane-key })
+
+## Variables:
+## $count (Number) - Number of files being dropped onto the composer.
+
+drop-file-label-attachment = { $count ->
+ [one] Add as attachment
+ *[other] Add as attachments
+}
+
+drop-file-label-inline = { $count ->
+ [one] Insert inline
+ *[other] Insert inline
+}
+
+## Reorder Attachment Panel
+
+move-attachment-first-panel-button =
+ .label = Move First
+move-attachment-left-panel-button =
+ .label = Move Left
+move-attachment-right-panel-button =
+ .label = Move Right
+move-attachment-last-panel-button =
+ .label = Move Last
+
+button-return-receipt =
+ .label = Receipt
+ .tooltiptext = Request a return receipt for this message
+
+## Encryption
+
+encryption-menu =
+ .label = Security
+ .accesskey = c
+
+encryption-toggle =
+ .label = Encrypt
+ .tooltiptext = Use end-to-end encryption for this message
+
+encryption-options-openpgp =
+ .label = OpenPGP
+ .tooltiptext = View or change OpenPGP encryption settings
+
+encryption-options-smime =
+ .label = S/MIME
+ .tooltiptext = View or change S/MIME encryption settings
+
+signing-toggle =
+ .label = Sign
+ .tooltiptext = Use digital signing for this message
+
+menu-openpgp =
+ .label = OpenPGP
+ .accesskey = O
+
+menu-smime =
+ .label = S/MIME
+ .accesskey = S
+
+menu-encrypt =
+ .label = Encrypt
+ .accesskey = E
+
+menu-encrypt-subject =
+ .label = Encrypt Subject
+ .accesskey = B
+
+menu-sign =
+ .label = Digitally Sign
+ .accesskey = i
+
+menu-manage-keys =
+ .label = Key Assistant
+ .accesskey = A
+
+menu-view-certificates =
+ .label = View Certificates Of Recipients
+ .accesskey = V
+
+menu-open-key-manager =
+ .label = Key Manager
+ .accesskey = M
+
+# Variables:
+# $addr (String) - Email address (which related to the currently selected
+# from address) which isn't set up to end-to-end encryption.
+openpgp-key-issue-notification-from =
+ You are not set up to send end-to-end encrypted messages from { $addr }.
+
+# Variables:
+# $addr (String) - Email address with key issues.
+openpgp-key-issue-notification-single = End-to-end encryption requires resolving key issues for { $addr }.
+
+# Variables:
+# $count (Number) - Number of recipients with key issues.
+openpgp-key-issue-notification-multi =
+ { $count ->
+ *[other] End-to-end encryption requires resolving key issues for { $count } recipients.
+ }
+
+# Variables:
+# $addr (String) - mail address with certificate issues.
+smime-cert-issue-notification-single = End-to-end encryption requires resolving certificate issues for { $addr }.
+
+# Variables:
+# $count (Number) - Number of recipients with certificate issues.
+smime-cert-issue-notification-multi =
+ { $count ->
+ *[other] End-to-end encryption requires resolving certificate issues for { $count } recipients.
+ }
+
+key-notification-disable-encryption =
+ .label = Do Not Encrypt
+ .accesskey = D
+ .tooltiptext = Disable end-to-end encryption
+
+key-notification-resolve =
+ .label = Resolve…
+ .accesskey = R
+ .tooltiptext = Open the OpenPGP Key Assistant
+
+can-encrypt-smime-notification =
+ S/MIME end-to-end encryption is possible.
+
+can-encrypt-openpgp-notification =
+ OpenPGP end-to-end encryption is possible.
+
+can-e2e-encrypt-button =
+ .label = Encrypt
+ .accesskey = E
+
+## Addressing Area
+
+to-address-row-label =
+ .value = To
+
+# $key (String) - the shortcut key for this field
+show-to-row-main-menuitem =
+ .label = To Field
+ .accesskey = T
+ .acceltext = { ctrl-cmd-shift-pretty-prefix }{ $key }
+
+# No acceltext should be shown.
+# The label should match the show-to-row-button text.
+show-to-row-extra-menuitem =
+ .label = To
+ .accesskey = T
+
+# $key (String) - the shortcut key for this field
+show-to-row-button = To
+ .title = Show To Field ({ ctrl-cmd-shift-pretty-prefix }{ $key })
+
+
+cc-address-row-label =
+ .value = Cc
+
+# $key (String) - the shortcut key for this field
+show-cc-row-main-menuitem =
+ .label = Cc Field
+ .accesskey = C
+ .acceltext = { ctrl-cmd-shift-pretty-prefix }{ $key }
+
+# No acceltext should be shown.
+# The label should match the show-cc-row-button text.
+show-cc-row-extra-menuitem =
+ .label = Cc
+ .accesskey = C
+
+# $key (String) - the shortcut key for this field
+show-cc-row-button = Cc
+ .title = Show Cc Field ({ ctrl-cmd-shift-pretty-prefix }{ $key })
+
+
+bcc-address-row-label =
+ .value = Bcc
+
+# $key (String) - the shortcut key for this field
+show-bcc-row-main-menuitem =
+ .label = Bcc Field
+ .accesskey = B
+ .acceltext = { ctrl-cmd-shift-pretty-prefix }{ $key }
+
+# No acceltext should be shown.
+# The label should match the show-bcc-row-button text.
+show-bcc-row-extra-menuitem =
+ .label = Bcc
+ .accesskey = B
+
+# $key (String) - the shortcut key for this field
+show-bcc-row-button = Bcc
+ .title = Show Bcc Field ({ ctrl-cmd-shift-pretty-prefix }{ $key })
+
+extra-address-rows-menu-button =
+ .title = Other addressing fields to show
+
+public-recipients-notice-single =
+ Your message has a public recipient. You can avoid disclosing the recipient by using Bcc instead.
+
+# Variables:
+# $count (Number) - the count of addresses in the "To" and "Cc" fields.
+public-recipients-notice-multi = { $count ->
+ *[other] The { $count } recipients in To and Cc will see each other’s address. You can avoid disclosing recipients by using Bcc instead.
+}
+
+many-public-recipients-bcc =
+ .label = Use Bcc Instead
+ .accesskey = U
+
+many-public-recipients-ignore =
+ .label = Keep Recipients Public
+ .accesskey = K
+
+many-public-recipients-prompt-title = Too Many Public Recipients
+
+# $count (Number) - the count of addresses in the public recipients fields.
+many-public-recipients-prompt-msg = { $count ->
+ [one] Your message has a public recipient. This may be a privacy concern. You can avoid this by moving the recipient from To/Cc to Bcc instead.
+ *[other] Your message has { $count } public recipients, who will be able to see each other’s addresses. This may be a privacy concern. You can avoid disclosing recipients by moving recipients from To/Cc to Bcc instead.
+}
+
+many-public-recipients-prompt-cancel = Cancel Sending
+many-public-recipients-prompt-send = Send Anyway
+
+## Notifications
+
+# Variables:
+# $identity (string) - The name of the used identity, most likely an email address.
+compose-missing-identity-warning = A unique identity matching the From address was not found. The message will be sent using the current From field and settings from identity { $identity }.
+
+encrypted-bcc-warning = When sending an encrypted message, recipients in Bcc are not fully hidden. All recipients may be able to identify them.
+
+encrypted-bcc-ignore-button = Understood
+
+auto-disable-e2ee-warning = End-to-end encryption for this message was automatically disabled.
+
+## Editing
+
+# Tools
+
+compose-tool-button-remove-text-styling =
+ .tooltiptext = Remove Text Styling
+
+## Filelink
+
+# A text used in a tooltip of Filelink attachments, whose account has been
+# removed or is unknown.
+cloud-file-unknown-account-tooltip = Uploaded to an unknown Filelink account.
+
+# Placeholder file
+
+# Title for the html placeholder file.
+# $filename - name of the file
+cloud-file-placeholder-title = { $filename } - Filelink Attachment
+
+# A text describing that the file was attached as a Filelink and can be downloaded
+# from the link shown below.
+# $filename - name of the file
+cloud-file-placeholder-intro = The file { $filename } was attached as a Filelink. It can be downloaded from the link below.
+
+# Template
+
+# A line of text describing how many uploaded files have been appended to this
+# message. Emphasis should be on sharing as opposed to attaching. This item is
+# used as a header to a list, hence the colon.
+# Variables:
+# $count (Number) - Number of files.
+cloud-file-count-header = { $count ->
+ [one] I’ve linked { $count } file to this email:
+ *[other] I’ve linked { $count } files to this email:
+}
+
+# A text used in a footer, instructing the reader where to find additional
+# information about the used service provider.
+# $link (string) - html a-tag for a link pointing to the web page of the provider
+cloud-file-service-provider-footer-single = Learn more about { $link }.
+
+# A text used in a footer, instructing the reader where to find additional
+# information about the used service providers. Links for the used providers are
+# split into a comma separated list of the first n-1 providers and a single entry
+# at the end.
+# $firstLinks (string) - comma separated list of html a-tags pointing to web pages
+# of the first n-1 used providers
+# $lastLink (string) - html a-tag pointing the web page of the n-th used provider
+cloud-file-service-provider-footer-multiple = Learn more about { $firstLinks } and { $lastLink }.
+
+# Tooltip for an icon, indicating that the link is protected by a password.
+cloud-file-tooltip-password-protected-link = Password protected link
+
+# Used in a list of stats about a specific file
+# Service - the used service provider to host the file (Filelink Service: BOX.com)
+# Size - the size of the file (Size: 4.2 MB)
+# Link - the link to the file (Link: https://some.provider.com)
+# Expiry Date - stating the date the link will expire (Expiry Date: 12.12.2022)
+# Download Limit - stating the maximum allowed downloads, before the link becomes invalid
+# (Download Limit: 6)
+cloud-file-template-service-name = Filelink Service:
+cloud-file-template-size = Size:
+cloud-file-template-link = Link:
+cloud-file-template-password-protected-link = Password Protected Link:
+cloud-file-template-expiry-date = Expiry Date:
+cloud-file-template-download-limit = Download Limit:
+
+# Messages
+
+cloud-file-connection-error-title = Connection Error
+# Variables:
+# $provider (string) - name of the online storage service that reported the error
+cloud-file-connection-error = { -brand-short-name } is offline. Could not connect to { $provider }.
+
+# Variables:
+# $provider (string) - name of the online storage service that reported the error
+# $filename (string) - name of the file that was uploaded and caused the error
+cloud-file-upload-error-with-custom-message-title = Uploading { $filename } to { $provider } Failed
+
+cloud-file-rename-error-title = Rename Error
+
+# Variables:
+# $provider (string) - name of the online storage service that reported the error
+# $filename (string) - name of the file that was renamed and caused the error
+cloud-file-rename-error = There was a problem renaming { $filename } on { $provider }.
+
+# Variables:
+# $provider (string) - name of the online storage service that reported the error
+# $filename (string) - name of the file that was renamed and caused the error
+cloud-file-rename-error-with-custom-message-title = Renaming { $filename } on { $provider } Failed
+
+# Variables:
+# $provider (string) - name of the online storage service that reported the error
+cloud-file-rename-not-supported = { $provider } does not support renaming already uploaded files.
+
+cloud-file-attachment-error-title = Filelink Attachment Error
+
+# Variables:
+# $filename (string) - name of the file that was renamed and caused the error
+cloud-file-attachment-error = Failed to update the Filelink attachment { $filename }, because its local file has been moved or deleted.
+
+cloud-file-account-error-title = Filelink Account Error
+
+# Variables:
+# $filename (string) - name of the file that was renamed and caused the error
+cloud-file-account-error = Failed to update the Filelink attachment { $filename }, because its Filelink account has been deleted.
+
+## Link Preview
+
+link-preview-title = Link Preview
+link-preview-description = { -brand-short-name } can add an embedded preview when pasting links.
+link-preview-autoadd = Automatically add link previews when possible
+link-preview-replace-now = Add a Link Preview for this link?
+link-preview-yes-replace = Yes
+
+## Dictionary selection popup
+
+spell-add-dictionaries =
+ .label = Add Dictionaries…
+ .accesskey = A
diff --git a/comm/mail/locales/en-US/messenger/migration.ftl b/comm/mail/locales/en-US/messenger/migration.ftl
new file mode 100644
index 0000000000..9690fe9b34
--- /dev/null
+++ b/comm/mail/locales/en-US/messenger/migration.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/.
+
+migration-progress-header = Getting { -brand-short-name } ready…
+
+## Migration tasks
+
+# These strings are displayed to the user if a migration is taking a long time.
+# They should be short (no more than a handful of words) and in the present tense.
diff --git a/comm/mail/locales/en-US/messenger/multimessageview.ftl b/comm/mail/locales/en-US/messenger/multimessageview.ftl
new file mode 100644
index 0000000000..4dce968837
--- /dev/null
+++ b/comm/mail/locales/en-US/messenger/multimessageview.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/.
+
+multi-message-window-title =
+ .title = Message Summary
+
+selected-messages-label =
+ .label = Selected Messages
+
+multi-message-archive-button =
+ .label = Archive
+ .tooltiptext = Archive
+
+multi-message-delete-button =
+ .label = Delete
+ .tooltiptext = Delete
diff --git a/comm/mail/locales/en-US/messenger/openpgp/backupKeyPassword.ftl b/comm/mail/locales/en-US/messenger/openpgp/backupKeyPassword.ftl
new file mode 100644
index 0000000000..264ad1aa68
--- /dev/null
+++ b/comm/mail/locales/en-US/messenger/openpgp/backupKeyPassword.ftl
@@ -0,0 +1,17 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+set-password-window-title = Choose a password to backup your OpenPGP Key
+
+set-password-legend = Choose a Password
+
+set-password-message = The password you set here protects the OpenPGP secret key backup file that you are about to create. You must set this password to proceed with the backup.
+
+set-password-backup-pw-label = Secret Key backup password:
+
+set-password-backup-pw2-label = Secret Key backup password (again):
+
+set-password-reminder = <b>Important!</b> If you forget your secret key backup password, you will not be able to restore this backup later. Please record it in a safe location.
+
+password-quality-meter = Password quality meter
diff --git a/comm/mail/locales/en-US/messenger/openpgp/changeExpiryDlg.ftl b/comm/mail/locales/en-US/messenger/openpgp/changeExpiryDlg.ftl
new file mode 100644
index 0000000000..58155e866c
--- /dev/null
+++ b/comm/mail/locales/en-US/messenger/openpgp/changeExpiryDlg.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/.
+
+openpgp-change-expiry-title = Change Key Expiration
+
+# Variables:
+# $date (String) - Date the key is expiring on.
+info-will-expire = This key is currently configured to expire on { $date }.
+info-already-expired = This key has already expired.
+info-does-not-expire = This key is currently configured to never expire.
+
+info-explanation-1 = <b>After a key expires</b>, it’s no longer possible to use it for encryption or digital signing.
+
+info-explanation-2 = To use this key for a longer period of time, change its expiration date, and then share the public key with your conversation partners again.
+
+expire-no-change-label = Do not change the expiry date
+expire-in-time-label = Key will expire in:
+expire-never-expire-label = Key will never expire
diff --git a/comm/mail/locales/en-US/messenger/openpgp/composeKeyStatus.ftl b/comm/mail/locales/en-US/messenger/openpgp/composeKeyStatus.ftl
new file mode 100644
index 0000000000..cd3abc5f86
--- /dev/null
+++ b/comm/mail/locales/en-US/messenger/openpgp/composeKeyStatus.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/.
+
+openpgp-compose-key-status-intro-need-keys = To send an end-to-end encrypted message, you must obtain and accept a public key for each recipient.
+openpgp-compose-key-status-keys-heading = Availability of OpenPGP keys:
+openpgp-compose-key-status-title =
+ .title = OpenPGP Message Security
+openpgp-compose-key-status-recipient =
+ .label = Recipient
+openpgp-compose-key-status-status =
+ .label = Status
+openpgp-compose-key-status-open-details = Manage keys for selected recipient…
+openpgp-recip-good = ok
+openpgp-recip-missing = no key available
+openpgp-recip-none-accepted = no accepted key
+openpgp-compose-general-info-alias = { -brand-short-name} normally requires that the recipient’s public key contains a user ID with a matching email address. This can be overridden by using OpenPGP recipient alias rules.
+openpgp-compose-general-info-alias-learn-more = Learn more
+# Variables:
+# $count (Number) - Number of alias keys for a recipient.
+openpgp-compose-alias-status-direct = { $count ->
+ [one] mapped to an alias key
+ *[other] mapped to {$count} alias keys
+ }
+openpgp-compose-alias-status-error = unusable/unavailable alias key
diff --git a/comm/mail/locales/en-US/messenger/openpgp/keyAssistant.ftl b/comm/mail/locales/en-US/messenger/openpgp/keyAssistant.ftl
new file mode 100644
index 0000000000..ece7c8e127
--- /dev/null
+++ b/comm/mail/locales/en-US/messenger/openpgp/keyAssistant.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/.
+
+openpgp-key-assistant-title = OpenPGP Key Assistant
+
+openpgp-key-assistant-rogue-warning = Avoid accepting a counterfeit key. To ensure you have obtained the right key you should verify it. <a data-l10n-name="openpgp-link">Learn more…</a>
+
+## Encryption status
+
+openpgp-key-assistant-recipients-issue-header = Cannot Encrypt
+
+# Variables:
+# $count (Number) - The number of recipients that need attention.
+openpgp-key-assistant-recipients-issue-description =
+ { $count ->
+ [one] To encrypt, you must obtain and accept a usable key for one recipient. <a data-l10n-name="openpgp-link">Learn more…</a>
+ *[other] To encrypt, you must obtain and accept usable keys for { $count } recipients. <a data-l10n-name="openpgp-link">Learn more…</a>
+ }
+
+openpgp-key-assistant-info-alias = { -brand-short-name } normally requires that the recipient’s public key contains a user ID with a matching email address. This can be overridden by using OpenPGP recipient alias rules. <a data-l10n-name="openpgp-link">Learn more…</a>
+
+# Variables:
+# $count (Number) - The number of recipients that need attention.
+openpgp-key-assistant-recipients-description =
+ { $count ->
+ [one] You already have a usable and accepted key for one recipient.
+ *[other] You already have usable and accepted keys for { $count } recipients.
+ }
+
+openpgp-key-assistant-recipients-description-no-issues = This message can be encrypted. You have usable and accepted keys for all recipients.
+
+## Resolve section
+
+# Variables:
+# $recipient (String) - The email address of the recipient needing resolution.
+# $numKeys (Number) - The number of keys.
+openpgp-key-assistant-resolve-title =
+ { $numKeys ->
+ [one] { -brand-short-name } found the following key for { $recipient }.
+ *[other] { -brand-short-name } found the following keys for { $recipient }.
+ }
+
+openpgp-key-assistant-valid-description = Select the key that you want to accept
+
+# Variables:
+# $numKeys (Number) - The number of available keys.
+openpgp-key-assistant-invalid-title =
+ { $numKeys ->
+ [one] The following key cannot be used, unless you obtain an update.
+ *[other] The following keys cannot be used, unless you obtain an update.
+ }
+
+openpgp-key-assistant-no-key-available = No key available.
+
+openpgp-key-assistant-multiple-keys = Multiple keys are available.
+
+# Variables:
+# $count (Number) - The number of unaccepted keys.
+openpgp-key-assistant-key-unaccepted =
+ { $count ->
+ [one] A key is available, but it hasn’t been accepted yet.
+ *[other] Multiple keys are available, but none of them have been accepted yet.
+ }
+
+# Variables:
+# $date (String) - The expiration date of the key.
+openpgp-key-assistant-key-accepted-expired = An accepted key has expired on { $date }.
+
+openpgp-key-assistant-keys-accepted-expired = Multiple accepted keys have expired.
+
+# Variables:
+# $date (String) - The expiration date of the key.
+openpgp-key-assistant-this-key-accepted-expired = This key was previously accepted but expired on { $date }.
+
+# Variables:
+# $date (String) - The expiration date of the key.
+openpgp-key-assistant-key-unaccepted-expired-one =
+ The key expired on { $date }.
+openpgp-key-assistant-key-unaccepted-expired-many =
+ Multiple keys have expired.
+
+openpgp-key-assistant-key-fingerprint = Fingerprint
+
+# Variables:
+# $count (Number) - Number of key sources.
+openpgp-key-assistant-key-source =
+ { $count ->
+ [one] Source
+ *[other] Sources
+ }
+
+openpgp-key-assistant-key-collected-attachment = email attachment
+# Autocrypt is the name of a standard.
+openpgp-key-assistant-key-collected-autocrypt = Autocrypt header
+openpgp-key-assistant-key-collected-keyserver = keyserver
+# Web Key Directory (WKD) is a concept.
+openpgp-key-assistant-key-collected-wkd = Web Key Directory
+# Do not translate GnuPG, it's a name of other software.
+openpgp-key-assistant-key-collected-gnupg = GnuPG keyring
+
+# Variables:
+# $count (Number) - Number of found keys.
+openpgp-key-assistant-keys-has-collected =
+ { $count ->
+ [one] A key was found, but it hasn’t been accepted yet.
+ *[other] Multiple keys were found, but none of them have been accepted yet.
+ }
+
+openpgp-key-assistant-key-rejected = This key has been previously rejected.
+openpgp-key-assistant-key-accepted-other = This key has been previously accepted for a different email address.
+
+# Variables:
+# $recipient (String) - The email address of the recipient needing resolution.
+openpgp-key-assistant-resolve-discover-info =
+ Discover additional or updated keys for { $recipient } online, or import them from a file.
+
+## Discovery section
+
+openpgp-key-assistant-discover-title = Online discovery in progress.
+
+# Variables:
+# $recipient (String) - The email address which we're discovering keys.
+openpgp-key-assistant-discover-keys = Discovering keys for { $recipient }…
+
+# Variables:
+# $recipient (String) - The email address which we're discovering keys.
+openpgp-key-assistant-expired-key-update =
+ An update was found for one of the previously accepted keys for { $recipient }.
+ It can now be used as it is no longer expired.
+
+## Dialog buttons
+
+openpgp-key-assistant-discover-online-button = Discover Public Keys Online…
+
+openpgp-key-assistant-import-keys-button = Import Public Keys From File…
+
+openpgp-key-assistant-issue-resolve-button = Resolve…
+
+openpgp-key-assistant-view-key-button = View Key…
+
+openpgp-key-assistant-recipients-show-button = Show
+
+openpgp-key-assistant-recipients-hide-button = Hide
+
+openpgp-key-assistant-cancel-button = Cancel
+
+openpgp-key-assistant-back-button = Back
+
+openpgp-key-assistant-accept-button = Accept
+
+openpgp-key-assistant-close-button = Close
+
+openpgp-key-assistant-disable-button = Disable Encryption
+
+openpgp-key-assistant-confirm-button = Send Encrypted
+
+# Variables:
+# $date (String) - The key creation date.
+openpgp-key-assistant-key-created = created on { $date }
diff --git a/comm/mail/locales/en-US/messenger/openpgp/keyWizard.ftl b/comm/mail/locales/en-US/messenger/openpgp/keyWizard.ftl
new file mode 100644
index 0000000000..59382143b5
--- /dev/null
+++ b/comm/mail/locales/en-US/messenger/openpgp/keyWizard.ftl
@@ -0,0 +1,198 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.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 = Add a Personal OpenPGP Key for { $identity }
+
+key-wizard-dialog =
+ .buttonlabelaccept = Continue
+ .buttonlabelextra1 = Go back
+
+key-wizard-warning = <b>If you have an existing personal key</b> for this email address, you should import it. Otherwise you will not have access to your archives of encrypted emails, nor be able to read incoming encrypted emails from people who are still using your existing key.
+
+key-wizard-learn-more = Learn more
+
+radio-create-key =
+ .label = Create a new OpenPGP Key
+ .accesskey = C
+
+radio-import-key =
+ .label = Import an existing OpenPGP Key
+ .accesskey = I
+
+radio-gnupg-key =
+ .label = Use your external key through GnuPG (e.g. from a smartcard)
+ .accesskey = U
+
+## Generate key section
+
+openpgp-generate-key-title = Generate OpenPGP Key
+
+openpgp-keygen-secret-protection = Secret Key Protection
+
+radio-keygen-no-protection =
+ .label = Unprotected
+radio-keygen-protect-primary-pass =
+ .label = Protect with the Primary Password
+
+radio-keygen-passphrase-protection =
+ .label = Protect with a passphrase:
+openpgp-passphrase-repeat = Confirm the passphrase:
+
+openpgp-generate-key-info = <b>Key generation may take up to several minutes to complete.</b> Do not exit the application while key generation is in progress. Actively browsing or performing disk-intensive operations during key generation will replenish the ‘randomness pool’ and speed-up the process. You will be alerted when key generation is completed.
+
+openpgp-keygen-expiry-title = Key expiry
+
+openpgp-keygen-expiry-description = Define the expiration time of your newly generated key. You can later control the date to extend it if necessary.
+
+radio-keygen-expiry =
+ .label = Key expires in
+ .accesskey = e
+
+radio-keygen-no-expiry =
+ .label = Key does not expire
+ .accesskey = d
+
+openpgp-keygen-days-label =
+ .label = days
+openpgp-keygen-months-label =
+ .label = months
+openpgp-keygen-years-label =
+ .label = years
+
+openpgp-keygen-advanced-title = Advanced settings
+
+openpgp-keygen-advanced-description = Control the advanced settings of your OpenPGP Key.
+
+openpgp-keygen-keytype =
+ .value = Key type:
+ .accesskey = t
+
+openpgp-keygen-keysize =
+ .value = Key size:
+ .accesskey = s
+
+openpgp-keygen-type-rsa =
+ .label = RSA
+
+openpgp-keygen-type-ecc =
+ .label = ECC (Elliptic Curve)
+
+openpgp-keygen-button = Generate key
+
+openpgp-keygen-progress-title = Generating your new OpenPGP Key…
+
+openpgp-keygen-import-progress-title = Importing your OpenPGP Keys…
+
+openpgp-import-success = OpenPGP Keys successfully imported!
+
+openpgp-import-success-title = Complete the import process
+
+openpgp-import-success-description = To start using your imported OpenPGP key for email encryption, close this dialog and access your Account Settings to select it.
+
+openpgp-keygen-confirm =
+ .label = Confirm
+
+openpgp-keygen-dismiss =
+ .label = Cancel
+
+openpgp-keygen-cancel =
+ .label = Cancel process…
+
+openpgp-keygen-import-complete =
+ .label = Close
+ .accesskey = C
+
+openpgp-keygen-missing-username = There is no name specified for the current account. Please enter a value in the field “Your name” in the account settings.
+openpgp-keygen-long-expiry = You cannot create a key that expires in more than 100 years.
+openpgp-keygen-short-expiry = Your key must be valid for at least one day.
+
+openpgp-keygen-ongoing = Key generation already in progress!
+
+openpgp-keygen-error-core = Unable to initialize OpenPGP Core Service
+
+openpgp-keygen-error-failed = OpenPGP Key generation unexpectedly failed
+
+# $key (String) - the ID of the newly generated OpenPGP key
+openpgp-keygen-error-revocation = OpenPGP Key created successfully, but failed to obtain revocation for key { $key }
+
+openpgp-keygen-abort-title = Abort key generation?
+openpgp-keygen-abort = OpenPGP Key generation currently in progress, are you sure you want to cancel it?
+
+# $identity (String) - the name and email address of the currently selected identity
+openpgp-key-confirm = Generate public and secret key for { $identity }?
+
+## Import Key section
+
+openpgp-import-key-title = Import an existing personal OpenPGP Key
+
+openpgp-import-key-legend = Select a previously backed up file.
+
+openpgp-import-key-description = You may import personal keys that were created with other OpenPGP software.
+
+openpgp-import-key-info = Other software might describe a personal key using alternative terms such as your own key, secret key, private key or key pair.
+
+# $count (Number) - the number of keys found in the selected files
+openpgp-import-key-list-amount-2 = { $count ->
+ [one] { -brand-short-name } found one key that can be imported.
+ *[other] { -brand-short-name } found { $count } keys that can be imported.
+}
+
+openpgp-import-key-list-description = Confirm which keys may be treated as your personal keys. Only keys that you created yourself and that show your own identity should be used as personal keys. You can change this option later in the Key Properties dialog.
+
+openpgp-import-key-list-caption = Keys marked to be treated as Personal Keys will be listed in the End-To-End Encryption section. The others will be available inside the Key Manager.
+
+openpgp-import-keep-passphrases =
+ .label = Keep passphrase protection for imported secret keys
+
+openpgp-passphrase-prompt-title = Passphrase required
+
+openpgp-import-key-button =
+ .label = Select File to Import…
+ .accesskey = S
+
+import-key-file = Import OpenPGP Key File
+
+import-key-personal-checkbox =
+ .label = Treat this key as a Personal Key
+
+gnupg-file = GnuPG Files
+
+import-error-file-size = <b>Error!</b> Files larger than 5MB are not supported.
+
+# $error (String) - the reported error from the failed key import method
+import-error-failed = <b>Error!</b> Failed to import file. { $error }
+
+# $error (String) - the reported error from the failed key import method
+openpgp-import-keys-failed = <b>Error!</b> Failed to import keys. { $error }
+
+openpgp-import-identity-label = Identity
+
+openpgp-import-fingerprint-label = Fingerprint
+
+openpgp-import-created-label = Created
+
+openpgp-import-bits-label = Bits
+
+openpgp-import-key-props =
+ .label = Key Properties
+ .accesskey = K
+
+## External Key section
+
+openpgp-external-key-title = External GnuPG Key
+
+openpgp-external-key-description = Configure an external GnuPG key by entering the Key ID
+
+openpgp-external-key-info = In addition, you must use Key Manager to import and accept the corresponding Public Key.
+
+openpgp-external-key-warning = <b>You may configure only one external GnuPG Key.</b> Your previous entry will be replaced.
+
+openpgp-save-external-button = Save key ID
+
+openpgp-external-key-label = Secret Key ID:
+
+openpgp-external-key-input =
+ .placeholder = 123456789341298340
diff --git a/comm/mail/locales/en-US/messenger/openpgp/msgReadStatus.ftl b/comm/mail/locales/en-US/messenger/openpgp/msgReadStatus.ftl
new file mode 100644
index 0000000000..13db8ac6f6
--- /dev/null
+++ b/comm/mail/locales/en-US/messenger/openpgp/msgReadStatus.ftl
@@ -0,0 +1,93 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+## Message Header Encryption Button
+
+message-header-show-security-info-key = S
+
+# $type (String) - the shortcut key defined in the message-header-show-security-info-key
+message-security-button =
+ .title = { PLATFORM() ->
+ [macos] Show Message Security (⌃ ⌘ { message-header-show-security-info-key })
+ *[other] Show Message Security (Ctrl+Alt+{ message-header-show-security-info-key })
+ }
+
+openpgp-view-signer-key =
+ .label = View signer key
+openpgp-view-your-encryption-key =
+ .label = View your decryption key
+openpgp-openpgp = OpenPGP
+
+openpgp-no-sig = No Digital Signature
+openpgp-no-sig-info = This message does not include the sender’s digital signature. The absence of a digital signature means that the message could have been sent by someone pretending to have this email address. It is also possible that the message has been altered while in transit over the network.
+openpgp-uncertain-sig = Uncertain Digital Signature
+# Variables:
+# $date (String) - Date with time the signature was made in a short format.
+openpgp-uncertain-sig-with-date = Uncertain Digital Signature - Signed on { $date }
+openpgp-invalid-sig = Invalid Digital Signature
+# Variables:
+# $date (String) - Date with time the signature was made in a short format.
+openpgp-invalid-sig-with-date = Invalid Digital Signature - Signed on { $date }
+openpgp-good-sig = Good Digital Signature
+# Variables:
+# $date (String) - Date with time the signature was made in a short format.
+openpgp-good-sig-with-date = Good Digital Signature - Signed on { $date }
+
+openpgp-sig-uncertain-no-key = This message contains a digital signature, but it is uncertain if it is correct. To verify the signature, you need to obtain a copy of the sender’s public key.
+openpgp-sig-uncertain-uid-mismatch = This message contains a digital signature, but a mismatch was detected. The message was sent from an email address that doesn’t match the signer’s public key.
+openpgp-sig-uncertain-not-accepted = This message contains a digital signature, but you haven’t yet decided if the signer’s key is acceptable to you.
+openpgp-sig-invalid-rejected = This message contains a digital signature, but you have previously decided to reject the signer key.
+openpgp-sig-invalid-technical-problem = This message contains a digital signature, but a technical error was detected. Either the message has been corrupted, or the message has been modified by someone else.
+openpgp-sig-valid-unverified = This message includes a valid digital signature from a key that you have already accepted. However, you have not yet verified that the key is really owned by the sender.
+openpgp-sig-valid-verified = This message includes a valid digital signature from a verified key.
+openpgp-sig-valid-own-key = This message includes a valid digital signature from your personal key.
+
+# Variables:
+# $key (String) - The ID of the OpenPGP key used to create the signature.
+openpgp-sig-key-id = Signer key ID: { $key }
+# Variables:
+# $key (String) - The primary ID of the OpenPGP key used to create the signature.
+# $subkey (String) - A subkey of the primary key was used to create the signature, and this is the ID of that subkey.
+openpgp-sig-key-id-with-subkey-id = Signer key ID: { $key } (Sub key ID: { $subkey })
+
+# Variables:
+# $key (String) - The ID of the user's OpenPGP key used to decrypt the message.
+openpgp-enc-key-id = Your decryption key ID: { $key }
+# Variables:
+# $key (String) - The primary ID of the user's OpenPGP key used to decrypt the message.
+# $subkey (String) - A subkey of the primary key was used to decrypt the message, and this is the ID of that subkey.
+openpgp-enc-key-with-subkey-id = Your decryption key ID: { $key } (Sub key ID: { $subkey })
+
+openpgp-enc-none = Message Is Not Encrypted
+openpgp-enc-none-label = This message was not encrypted before it was sent. Information sent over the Internet without encryption can be seen by other people while in transit.
+
+openpgp-enc-invalid-label = Message Cannot Be Decrypted
+openpgp-enc-invalid = This message was encrypted before it was sent to you, but it cannot be decrypted.
+
+openpgp-enc-clueless = There are unknown problems with this encrypted message.
+
+openpgp-enc-valid-label = Message Is Encrypted
+openpgp-enc-valid = This message was encrypted before it was sent to you. Encryption ensures the message can only be read by the recipients it was intended for.
+
+openpgp-unknown-key-id = Unknown key
+
+openpgp-other-enc-additional-key-ids = In addition, the message was encrypted to the owners of the following keys:
+openpgp-other-enc-all-key-ids = The message was encrypted to the owners of the following keys:
+
+openpgp-message-header-encrypted-ok-icon =
+ .alt = Decryption successful
+openpgp-message-header-encrypted-notok-icon =
+ .alt = Decryption failed
+
+openpgp-message-header-signed-ok-icon =
+ .alt = Good signature
+# Mismatch icon is used for notok state as well
+openpgp-message-header-signed-mismatch-icon =
+ .alt = Bad signature
+openpgp-message-header-signed-unknown-icon =
+ .alt = Unknown signature status
+openpgp-message-header-signed-verified-icon =
+ .alt = Verified signature
+openpgp-message-header-signed-unverified-icon =
+ .alt = Unverified signature
diff --git a/comm/mail/locales/en-US/messenger/openpgp/oneRecipientStatus.ftl b/comm/mail/locales/en-US/messenger/openpgp/oneRecipientStatus.ftl
new file mode 100644
index 0000000000..6d5e858ab6
--- /dev/null
+++ b/comm/mail/locales/en-US/messenger/openpgp/oneRecipientStatus.ftl
@@ -0,0 +1,60 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+openpgp-one-recipient-status-title =
+ .title = OpenPGP Message Security
+openpgp-one-recipient-status-status =
+ .label = Status
+openpgp-one-recipient-status-key-id =
+ .label = Key ID
+openpgp-one-recipient-status-created-date =
+ .label = Created
+openpgp-one-recipient-status-expires-date =
+ .label = Expires
+openpgp-one-recipient-status-open-details =
+ .label = Open details and edit acceptance…
+openpgp-one-recipient-status-discover =
+ .label = Discover new or updated key
+
+openpgp-one-recipient-status-instruction1 = To send an end-to-end encrypted message to a recipient, you need to obtain their OpenPGP public key and mark it as accepted.
+openpgp-one-recipient-status-instruction2 = To obtain their public key, import them from email they have sent to you and that includes it. Alternatively, you can try to discover their public key on a directory.
+
+openpgp-key-own = Accepted (personal key)
+openpgp-key-secret-not-personal = Not usable
+openpgp-key-verified = Accepted (verified)
+openpgp-key-unverified = Accepted (unverified)
+openpgp-key-undecided = Not accepted (undecided)
+openpgp-key-rejected = Not accepted (rejected)
+openpgp-key-expired = Expired
+
+# Variables:
+# $key (String) - Recipient email address.
+openpgp-intro = Available public keys for { $key }
+
+# Variables:
+# $kid (String) - Public key id to import.
+openpgp-pubkey-import-id = ID: { $kid }
+# Variables:
+# $fpr (String) - Fingerprint of the public key to import.
+openpgp-pubkey-import-fpr = Fingerprint: { $fpr }
+
+# Variables:
+# $num (Number) - Number of public keys contained in the key file.
+openpgp-pubkey-import-intro =
+ { $num ->
+ [one] The file contains one public key as shown below:
+ *[other] The file contains {$num} public keys as shown below:
+ }
+
+# Variables:
+# $num (Number) - Number of keys to accept.
+openpgp-pubkey-import-accept =
+ { $num ->
+ [one] Do you accept this key for verifying digital signatures and for encrypting messages, for all shown email addresses?
+ *[other] Do you accept these keys for verifying digital signatures and for encrypting messages, for all shown email addresses?
+ }
+
+pubkey-import-button =
+ .buttonlabelaccept = Import
+ .buttonaccesskeyaccept = I
diff --git a/comm/mail/locales/en-US/messenger/openpgp/openpgp-frontend.ftl b/comm/mail/locales/en-US/messenger/openpgp/openpgp-frontend.ftl
new file mode 100644
index 0000000000..88011ce2ab
--- /dev/null
+++ b/comm/mail/locales/en-US/messenger/openpgp/openpgp-frontend.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/.
+
+openpgp-manage-keys-openpgp-cmd =
+ .label = OpenPGP Key Manager
+ .accesskey = O
+
+openpgp-ctx-decrypt-open =
+ .label = Decrypt and Open
+ .accesskey = D
+openpgp-ctx-decrypt-save =
+ .label = Decrypt and Save As…
+ .accesskey = C
+openpgp-ctx-import-key =
+ .label = Import OpenPGP Key
+ .accesskey = I
+openpgp-ctx-verify-att =
+ .label = Verify Signature
+ .accesskey = V
+
+openpgp-has-sender-key = This message claims to contain the sender’s OpenPGP public key.
+# Variables:
+# $email (String) - Email address with the problematic public key.
+openpgp-be-careful-new-key =
+ Warning: The new OpenPGP public key in this message differs from the public keys that you previously accepted for { $email }.
+
+openpgp-import-sender-key =
+ .label = Import…
+
+openpgp-search-keys-openpgp =
+ .label = Discover OpenPGP Key
+
+openpgp-missing-signature-key = This message was signed with a key that you don’t yet have.
+
+openpgp-search-signature-key =
+ .label = Discover…
+
+# Don't translate the terms "OpenPGP" and "MS-Exchange"
+openpgp-broken-exchange-opened = This is an OpenPGP message that was apparently corrupted by MS-Exchange and it can’t be repaired because it was opened from a local file. Copy the message into a mail folder to try an automatic repair.
+openpgp-broken-exchange-info = This is an OpenPGP message that was apparently corrupted by MS-Exchange. If the message contents isn’t shown as expected, you can try an automatic repair.
+openpgp-broken-exchange-repair =
+ .label = Repair message
+openpgp-broken-exchange-wait = Please wait…
+
+openpgp-has-nested-encrypted-parts = This message includes additional encrypted parts.
+openpgp-show-encrypted-parts = Decrypt and Show
+
+openpgp-cannot-decrypt-because-mdc =
+ This is an encrypted message that uses an old and vulnerable mechanism.
+ It could have been modified while in transit, with the intention to steal its contents.
+ To prevent this risk, the contents are not shown.
+
+openpgp-cannot-decrypt-because-missing-key =
+ The secret key that is required to decrypt this message is not available.
+
+openpgp-partially-signed =
+ Only a subset of this message was digitally signed using OpenPGP.
+ If you click the verify button, the unprotected parts will be hidden, and the status of the digital signature will be shown.
+
+openpgp-partially-encrypted =
+ Only a subset of this message was encrypted using OpenPGP.
+ The readable parts of the message that are already shown were not encrypted.
+ If you click the decrypt button, the contents of the encrypted parts will be shown.
+
+openpgp-reminder-partial-display = Reminder: The message shown below is only a subset of the original message.
+
+openpgp-partial-verify-button = Verify
+openpgp-partial-decrypt-button = Decrypt
+
+openpgp-unexpected-key-for-you = Warning: This message contains an unknown OpenPGP key that refers to one of your own email addresses. If this isn’t one of your own keys, it could be an attempt to trick other correspondents.
diff --git a/comm/mail/locales/en-US/messenger/openpgp/openpgp.ftl b/comm/mail/locales/en-US/messenger/openpgp/openpgp.ftl
new file mode 100644
index 0000000000..8804e0cd05
--- /dev/null
+++ b/comm/mail/locales/en-US/messenger/openpgp/openpgp.ftl
@@ -0,0 +1,856 @@
+
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.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 = To send encrypted or digitally signed messages, you need to configure an encryption technology, either OpenPGP or S/MIME.
+e2e-intro-description-more = Select your personal key to enable the use of OpenPGP, or your personal certificate to enable the use of S/MIME. For a personal key or certificate you own the corresponding secret key.
+
+e2e-signing-description = A digital signature allows recipients to verify that the message was sent by you and its content was not changed. Encrypted messages are always signed by default.
+
+e2e-sign-message =
+ .label = Sign unencrypted messages
+ .accesskey = u
+
+e2e-disable-enc =
+ .label = Disable encryption for new messages
+ .accesskey = D
+e2e-enable-enc =
+ .label = Enable encryption for new messages
+ .accesskey = n
+e2e-enable-description = You will be able to disable encryption for individual messages.
+
+e2e-advanced-section = Advanced settings
+e2e-attach-key =
+ .label = Attach my public key when adding an OpenPGP digital signature
+ .accesskey = p
+e2e-encrypt-subject =
+ .label = Encrypt the subject of OpenPGP messages
+ .accesskey = b
+e2e-encrypt-drafts =
+ .label = Store draft messages in encrypted format
+ .accesskey = r
+
+# Do not translate "Autocrypt", it's the name of a standard.
+e2e-autocrypt-headers =
+ .label = Send OpenPGP public key(s) in the email headers for compatibility with Autocrypt
+ .accesskey = t
+
+openpgp-key-created-label =
+ .label = Created
+
+openpgp-key-expiry-label =
+ .label = Expiry
+
+openpgp-key-id-label =
+ .label = Key ID
+
+openpgp-cannot-change-expiry = This is a key with a complex structure, changing its expiry date isn’t supported.
+
+openpgp-key-man-title =
+ .title = OpenPGP Key Manager
+openpgp-key-man-generate =
+ .label = New Key Pair
+ .accesskey = K
+openpgp-key-man-gen-revoke =
+ .label = Revocation Certificate
+ .accesskey = R
+openpgp-key-man-ctx-gen-revoke-label =
+ .label = Generate & Save Revocation Certificate
+
+openpgp-key-man-file-menu =
+ .label = File
+ .accesskey = F
+openpgp-key-man-edit-menu =
+ .label = Edit
+ .accesskey = E
+openpgp-key-man-view-menu =
+ .label = View
+ .accesskey = V
+openpgp-key-man-generate-menu =
+ .label = Generate
+ .accesskey = G
+openpgp-key-man-keyserver-menu =
+ .label = Keyserver
+ .accesskey = K
+
+openpgp-key-man-import-public-from-file =
+ .label = Import Public Key(s) From File
+ .accesskey = I
+openpgp-key-man-import-secret-from-file =
+ .label = Import Secret Key(s) From File
+openpgp-key-man-import-sig-from-file =
+ .label = Import Revocation(s) From File
+openpgp-key-man-import-from-clipbrd =
+ .label = Import Key(s) From Clipboard
+ .accesskey = I
+openpgp-key-man-import-from-url =
+ .label = Import Key(s) From URL
+ .accesskey = U
+openpgp-key-man-export-to-file =
+ .label = Export Public Key(s) To File
+ .accesskey = E
+openpgp-key-man-send-keys =
+ .label = Send Public Key(s) By Email
+ .accesskey = S
+openpgp-key-man-backup-secret-keys =
+ .label = Backup Secret Key(s) To File
+ .accesskey = B
+
+openpgp-key-man-discover-cmd =
+ .label = Discover Keys Online
+ .accesskey = D
+openpgp-key-man-publish-cmd =
+ .label = Publish
+ .accesskey = P
+openpgp-key-publish = Publish
+openpgp-key-man-discover-prompt = To discover OpenPGP keys online, on keyservers or using the WKD protocol, enter either an email address or a key ID.
+openpgp-key-man-discover-progress = Searching…
+
+# Variables:
+# $keyserver (String) - The address of a server that contains a directory of OpenPGP public keys
+openpgp-key-publish-ok = Public key sent to "{ $keyserver }".
+
+# Variables:
+# $keyserver (String) - The address of a server that contains a directory of OpenPGP public keys
+openpgp-key-publish-fail = Failed to send your public key to "{ $keyserver }".
+
+openpgp-key-copy-key =
+ .label = Copy Public Key
+ .accesskey = C
+
+openpgp-key-export-key =
+ .label = Export Public Key To File
+ .accesskey = E
+
+openpgp-key-backup-key =
+ .label = Backup Secret Key To File
+ .accesskey = B
+
+openpgp-key-send-key =
+ .label = Send Public Key Via Email
+ .accesskey = S
+
+# Variables:
+# $count (Number) - Number of keys ids to copy.
+openpgp-key-man-copy-key-ids =
+ .label = { $count ->
+ [one] Copy Key ID To Clipboard
+ *[other] Copy Key IDs To Clipboard
+ }
+ .accesskey = K
+
+# Variables:
+# $count (Number) - Number of fingerprints to copy.
+openpgp-key-man-copy-fprs =
+ .label = { $count ->
+ [one] Copy Fingerprint To Clipboard
+ *[other] Copy Fingerprints To Clipboard
+ }
+ .accesskey = F
+
+# Variables:
+# $count (Number) - Number of public keys to copy.
+openpgp-key-man-copy-to-clipboard =
+ .label = { $count ->
+ [one] Copy Public Key To Clipboard
+ *[other] Copy Public Keys To Clipboard
+ }
+ .accesskey = P
+
+openpgp-key-man-ctx-copy =
+ .label = Copy
+ .accesskey = C
+
+# Variables:
+# $count (Number) - Number of fingerprints.
+openpgp-key-man-ctx-copy-fprs =
+ .label = { $count ->
+ [one] Fingerprint
+ *[other] Fingerprints
+ }
+ .accesskey = F
+
+# Variables:
+# $count (Number) - Number of key ids.
+openpgp-key-man-ctx-copy-key-ids =
+ .label = { $count ->
+ [one] Key ID
+ *[other] Key IDs
+ }
+ .accesskey = K
+
+# Variables:
+# $count (Number) - Number of public keys.
+openpgp-key-man-ctx-copy-public-keys =
+ .label = { $count ->
+ [one] Public Key
+ *[other] Public Keys
+ }
+ .accesskey = P
+
+openpgp-key-man-close =
+ .label = Close
+openpgp-key-man-reload =
+ .label = Reload Key Cache
+ .accesskey = R
+openpgp-key-man-change-expiry =
+ .label = Change Expiration Date
+ .accesskey = E
+openpgp-key-man-refresh-online =
+ .label = Refresh Online
+ .accesskey = R
+openpgp-key-man-ignored-ids =
+ .label = Email addresses
+openpgp-key-man-del-key =
+ .label = Delete Key(s)
+ .accesskey = D
+openpgp-delete-key =
+ .label = Delete Key
+ .accesskey = D
+openpgp-key-man-revoke-key =
+ .label = Revoke Key
+ .accesskey = R
+openpgp-key-man-key-props =
+ .label = Key Properties
+ .accesskey = K
+openpgp-key-man-key-more =
+ .label = More
+ .accesskey = M
+openpgp-key-man-view-photo =
+ .label = Photo ID
+ .accesskey = P
+openpgp-key-man-ctx-view-photo-label =
+ .label = View Photo ID
+openpgp-key-man-show-invalid-keys =
+ .label = Display invalid keys
+ .accesskey = D
+openpgp-key-man-show-others-keys =
+ .label = Display Keys From Other People
+ .accesskey = O
+openpgp-key-man-user-id-label =
+ .label = Name
+openpgp-key-man-fingerprint-label =
+ .label = Fingerprint
+openpgp-key-man-select-all =
+ .label = Select All Keys
+ .accesskey = A
+openpgp-key-man-empty-tree-tooltip =
+ .label = Enter search terms in the box above
+openpgp-key-man-nothing-found-tooltip =
+ .label = No keys match your search terms
+openpgp-key-man-please-wait-tooltip =
+ .label = Please wait while keys are being loaded…
+
+openpgp-key-man-filter-label =
+ .placeholder = Search for keys
+
+openpgp-key-man-select-all-key =
+ .key = A
+openpgp-key-man-key-details-key =
+ .key = I
+
+openpgp-ign-addr-intro =
+ You accept using this key for the following selected email addresses:
+
+openpgp-key-details-doc-title = Key Properties
+openpgp-key-details-signatures-tab =
+ .label = Certifications
+openpgp-key-details-structure-tab =
+ .label = Structure
+openpgp-key-details-uid-certified-col =
+ .label = User ID / Certified by
+openpgp-key-details-key-id-label = Key ID
+openpgp-key-details-user-id3-label = Claimed Key Owner
+openpgp-key-details-id-label =
+ .label = ID
+openpgp-key-details-key-type-label = Type
+openpgp-key-details-key-part-label =
+ .label = Key Part
+
+openpgp-key-details-attr-ignored = Warning: This key might not work as expected, because some of its properties are unsafe and might be ignored.
+openpgp-key-details-attr-upgrade-sec = You should upgrade the unsafe properties.
+openpgp-key-details-attr-upgrade-pub = You should ask the owner of this key to upgrade the unsafe properties.
+
+openpgp-key-details-upgrade-unsafe =
+ .label = Upgrade Unsafe Properties
+ .accesskey = P
+
+openpgp-key-details-upgrade-ok = The key was successfully upgraded. You should share the upgraded public key with your correspondents.
+
+openpgp-key-details-algorithm-label =
+ .label = Algorithm
+openpgp-key-details-size-label =
+ .label = Size
+openpgp-key-details-created-label =
+ .label = Created
+openpgp-key-details-created-header = Created
+openpgp-key-details-expiry-label =
+ .label = Expiry
+openpgp-key-details-expiry-header = Expiry
+openpgp-key-details-usage-label =
+ .label = Usage
+openpgp-key-details-fingerprint-label = Fingerprint
+openpgp-key-details-legend-secret-missing =
+ For keys marked with (!) the secret key is not available.
+openpgp-key-details-sel-action =
+ .label = Select action…
+ .accesskey = S
+openpgp-card-details-close-window-label =
+ .buttonlabelaccept = Close
+openpgp-acceptance-label =
+ .label = Your Acceptance
+openpgp-acceptance-rejected-label =
+ .label = No, reject this key.
+openpgp-acceptance-undecided-label =
+ .label = Not yet, maybe later.
+openpgp-acceptance-unverified-label =
+ .label = Yes, but I have not verified that it is the correct key.
+openpgp-acceptance-verified-label =
+ .label = Yes, I’ve verified in person this key has the correct fingerprint.
+key-accept-personal =
+ For this key, you have both the public and the secret part. You may use it as a personal key.
+ If this key was given to you by someone else, then don’t use it as a personal key.
+openpgp-personal-no-label =
+ .label = No, don’t use it as my personal key.
+openpgp-personal-yes-label =
+ .label = Yes, treat this key as a personal key.
+
+openpgp-passphrase-protection =
+ .label = Passphrase Protection
+
+openpgp-passphrase-status-unprotected = Unprotected
+openpgp-passphrase-status-primary-password = Protected by { -brand-short-name }’s Primary Password
+openpgp-passphrase-status-user-passphrase = Protected by a passphrase
+
+openpgp-passphrase-instruction-unprotected = Set a passphrase to protect this key
+openpgp-passphrase-instruction-primary-password = Alternatively protect this key with a separate passphrase
+openpgp-passphrase-instruction-user-passphrase = Unlock this key to change its protection.
+
+openpgp-passphrase-unlock = Unlock
+openpgp-passphrase-unlocked = Key successfully unlocked.
+
+openpgp-remove-protection = Remove passphrase protection
+openpgp-use-primary-password = Remove passphrase and protect with Primary Password
+
+openpgp-passphrase-new = New passphrase
+openpgp-passphrase-new-repeat = Confirm new passphrase
+
+openpgp-passphrase-set = Set passphrase
+openpgp-passphrase-change = Change passphrase
+
+openpgp-copy-cmd-label =
+ .label = Copy
+
+## e2e encryption settings
+
+# $identity (String) - the email address of the currently selected identity
+openpgp-description-no-key = { -brand-short-name } doesn’t have a personal OpenPGP key for <b>{ $identity }</b>
+
+# $count (Number) - the number of configured keys associated with the current identity
+# $identity (String) - the email address of the currently selected identity
+openpgp-description-has-keys = { $count ->
+ [one] { -brand-short-name } found { $count } personal OpenPGP key associated with <b>{ $identity }</b>
+ *[other] { -brand-short-name } found { $count } personal OpenPGP keys associated with <b>{ $identity }</b>
+}
+
+# $key (String) - the currently selected OpenPGP key
+openpgp-selection-status-have-key = Your current configuration uses key ID <b>{ $key }</b>
+
+# $key (String) - the currently selected OpenPGP key
+openpgp-selection-status-error = Your current configuration uses the key <b>{ $key }</b>, which has expired.
+
+openpgp-add-key-button =
+ .label = Add Key…
+ .accesskey = A
+
+e2e-learn-more = Learn more
+
+openpgp-keygen-success = OpenPGP Key created successfully!
+
+openpgp-keygen-import-success = OpenPGP Keys imported successfully!
+
+openpgp-keygen-external-success = External GnuPG Key ID saved!
+
+## OpenPGP Key selection area
+
+openpgp-radio-none =
+ .label = None
+
+openpgp-radio-none-desc = Do not use OpenPGP for this identity.
+
+openpgp-radio-key-not-usable = This key is not usable as a personal key, because the secret key is missing!
+openpgp-radio-key-not-accepted = To use this key you must approve it as a personal key!
+openpgp-radio-key-not-found = This key could not be found! If you want to use it you must import it to { -brand-short-name }.
+
+# $date (String) - the future expiration date of when the OpenPGP key will expire
+openpgp-radio-key-expires = Expires on: { $date }
+
+# $date (String) - the past expiration date of when the OpenPGP key expired
+openpgp-radio-key-expired = Expired on: { $date }
+
+openpgp-key-expires-within-6-months-icon =
+ .title = Key is expiring in less than 6 months
+
+openpgp-key-has-expired-icon =
+ .title = Key expired
+
+openpgp-suggest-publishing-key = Publishing the public key on a keyserver allows others to discover it.
+
+openpgp-key-expand-section =
+ .tooltiptext = More information
+
+openpgp-key-revoke-title = Revoke Key
+
+openpgp-key-edit-title = Change OpenPGP Key
+
+openpgp-key-edit-date-title = Extend Expiration Date
+
+openpgp-manager-description = Use the OpenPGP Key Manager to view and manage public keys of your correspondents and all other keys not listed above.
+
+openpgp-manager-button =
+ .label = OpenPGP Key Manager
+ .accesskey = K
+
+openpgp-key-remove-external =
+ .label = Remove External Key ID
+ .accesskey = E
+
+key-external-label = External GnuPG Key
+
+## Strings in keyDetailsDlg.xhtml
+
+key-type-public = public key
+key-type-primary = primary key
+key-type-subkey = subkey
+key-type-pair = key pair (secret key and public key)
+key-expiry-never = never
+key-usage-encrypt = Encrypt
+key-usage-sign = Sign
+key-usage-certify = Certify
+key-usage-authentication = Authentication
+key-does-not-expire = The key does not expire
+# Variables:
+# $keyExpiry (String) - Date the key expired on.
+key-expired-date = The key expired on { $keyExpiry }
+key-expired-simple = The key has expired
+key-revoked-simple = The key was revoked
+key-do-you-accept = Do you accept this key for verifying digital signatures and for encrypting messages?
+# Variables:
+# $addr (String) - Email address the key claims it belongs to.
+key-verification = Verify the fingerprint of the key using a secure communication channel other than email to make sure that it’s really the key of { $addr }.
+
+## Strings enigmailMsgComposeOverlay.js
+
+# Variables:
+# $problem (String) - Error message from key usability check.
+cannot-use-own-key-because = Unable to send the message, because there is a problem with your personal key. { $problem }
+window-locked = Compose window is locked; send cancelled
+
+## Strings in keyserver.jsm
+
+keyserver-error-aborted = Aborted
+keyserver-error-unknown = An unknown error occurred
+keyserver-error-server-error = The keyserver reported an error.
+keyserver-error-import-error = Failed to import the downloaded key.
+keyserver-error-unavailable = The keyserver is not available.
+keyserver-error-security-error = The keyserver does not support encrypted access.
+keyserver-error-certificate-error = The keyserver’s certificate is not valid.
+keyserver-error-unsupported = The keyserver is not supported.
+
+## Strings in mimeWkdHandler.jsm
+
+wkd-message-body-req =
+ Your email provider processed your request to upload your public key to the OpenPGP Web Key Directory.
+ Please confirm to complete the publishing of your public key.
+wkd-message-body-process =
+ This is an email related to the automatic processing to upload your public key to the OpenPGP Web Key Directory.
+ You do not need to take any manual action at this point.
+
+## Strings in persistentCrypto.jsm
+
+# Variables:
+# $subject (String) - Subject of the message.
+converter-decrypt-body-failed =
+ Could not decrypt message with subject
+ { $subject }.
+ Do you want to retry with a different passphrase or do you want to skip the message?
+
+## Strings filters.jsm
+
+filter-folder-required = You must select a target folder.
+filter-decrypt-move-warn-experimental =
+ Warning - the filter action “Decrypt permanently” may lead to destroyed messages.
+ We strongly recommend that you first try the “Create decrypted Copy” filter, test the result carefully, and only start using this filter once you are satisfied with the result.
+filter-term-pgpencrypted-label = OpenPGP Encrypted
+filter-key-required = You must select a recipient key.
+# Variables:
+# $desc (String) - Email address to look for a key of.
+filter-key-not-found = Could not find an encryption key for ‘{ $desc }’.
+# Variables:
+# $desc (String) - The ID of a secret key that is required to read the email after the user executes the current action.
+filter-warn-key-not-secret =
+ Warning - the filter action “Encrypt to key” replaces the recipients.
+ If you do not have the secret key for ‘{ $desc }’ you will no longer be able to read the emails.
+
+## Strings filtersWrapper.jsm
+
+filter-decrypt-move-label = Decrypt permanently (OpenPGP)
+filter-decrypt-copy-label = Create decrypted Copy (OpenPGP)
+filter-encrypt-label = Encrypt to key (OpenPGP)
+
+## Strings in enigmailKeyImportInfo.js
+
+import-info-title =
+ .title = Success! Keys imported
+import-info-bits = Bits
+import-info-created = Created
+import-info-fpr = Fingerprint
+import-info-details = View Details and manage key acceptance
+import-info-no-keys = No keys imported.
+
+## Strings in enigmailKeyManager.js
+
+import-from-clip = Do you want to import some key(s) from clipboard?
+import-from-url = Download public key from this URL:
+copy-to-clipbrd-failed = Could not copy the selected key(s) to the clipboard.
+copy-to-clipbrd-ok = Key(s) copied to clipboard
+# Variables:
+# $userId (String) - User id of the key.
+delete-secret-key =
+ WARNING: You are about to delete a secret key!
+
+ If you delete your secret key, you will no longer be able to decrypt any messages encrypted for that key, nor will you be able to revoke it.
+
+ Do you really want to delete BOTH, the secret key and the public key
+ ‘{ $userId }’?
+delete-mix =
+ WARNING: You are about to delete secret keys!
+ If you delete your secret key, you will no longer be able to decrypt any messages encrypted for that key.
+ Do you really want to delete BOTH, the selected secret and public keys?
+# Variables:
+# $userId (String) - User id of the key.
+delete-pub-key =
+ Do you want to delete the public key
+ ‘{ $userId }’?
+delete-selected-pub-key = Do you want to delete the public keys?
+refresh-all-question = You did not select any key. Would you like to refresh ALL keys?
+key-man-button-export-sec-key = Export &Secret Keys
+key-man-button-export-pub-key = Export &Public Keys Only
+key-man-button-refresh-all = &Refresh All Keys
+key-man-loading-keys = Loading keys, please wait…
+ascii-armor-file = ASCII Armored Files (*.asc)
+no-key-selected = You should select at least one key in order to perform the selected operation
+export-to-file = Export Public Key To File
+export-keypair-to-file = Export Secret and Public Key To File
+export-secret-key = Do you want to include the secret key in the saved OpenPGP key file?
+save-keys-ok = The keys were successfully saved
+save-keys-failed = Saving the keys failed
+default-pub-key-filename = Exported-public-keys
+default-pub-sec-key-filename = Backup-of-secret-keys
+refresh-key-warn = Warning: depending on the number of keys and the connection speed, refreshing all keys could be quite a lengthy process!
+preview-failed = Can’t read public key file.
+# Variables:
+# $reason (String) - Error description.
+general-error = Error: { $reason }
+dlg-button-delete = &Delete
+
+## Account settings export output
+
+openpgp-export-public-success = <b>Public Key successfully exported!</b>
+openpgp-export-public-fail = <b>Unable to export the selected public key!</b>
+
+openpgp-export-secret-success = <b>Secret Key successfully exported!</b>
+openpgp-export-secret-fail = <b>Unable to export the selected secret key!</b>
+
+## Strings in keyObj.jsm
+## Variables:
+## $userId (String) - The name and/or email address that is mentioned in the key's information.
+## $keyId (String) - Key id for the key entry.
+
+key-ring-pub-key-revoked = The key { $userId } (key ID { $keyId }) is revoked.
+key-ring-pub-key-expired = The key { $userId } (key ID { $keyId }) has expired.
+key-ring-no-secret-key = You do not seem to have the secret key for { $userId } (key ID { $keyId }) on your keyring; you cannot use the key for signing.
+key-ring-pub-key-not-for-signing = The key { $userId } (key ID { $keyId }) cannot be used for signing.
+key-ring-pub-key-not-for-encryption = The key { $userId } (key ID { $keyId }) cannot be used for encryption.
+key-ring-sign-sub-keys-revoked = All signing-subkeys of key { $userId } (key ID { $keyId }) are revoked.
+key-ring-sign-sub-keys-expired = All signing-subkeys of key { $userId } (key ID { $keyId }) have expired.
+key-ring-enc-sub-keys-revoked = All encryption subkeys of key { $userId } (key ID { $keyId }) are revoked.
+key-ring-enc-sub-keys-expired = All encryption subkeys of key { $userId } (key ID { $keyId }) have expired.
+
+## Strings in gnupg-keylist.jsm
+
+keyring-photo = Photo
+user-att-photo = User attribute (JPEG image)
+
+## Strings in key.jsm
+
+already-revoked = This key has already been revoked.
+
+# $identity (String) - the id and associated user identity of the key being revoked
+revoke-key-question =
+ You are about to revoke the key ‘{ $identity }’.
+ You will no longer be able to sign with this key, and once distributed, others will no longer be able to encrypt with that key. You can still use the key to decrypt old messages.
+ Do you want to proceed?
+
+# $keyId (String) - the id of the key being revoked
+revoke-key-not-present =
+ You have no key (0x{ $keyId }) which matches this revocation certificate!
+ If you have lost your key, you must import it (e.g. from a keyserver) before importing the revocation certificate!
+
+# $keyId (String) - the id of the key being revoked
+revoke-key-already-revoked = The key 0x{ $keyId } has already been revoked.
+
+key-man-button-revoke-key = &Revoke Key
+
+openpgp-key-revoke-success = Key successfully revoked.
+
+after-revoke-info =
+ The key has been revoked.
+ Share this public key again, by sending it by email, or by uploading it to keyservers, to let others know that you revoked your key.
+ As soon as the software used by other people learns about the revocation, it will stop using your old key.
+ If you are using a new key for the same email address, and you attach the new public key to emails you send, then information about your revoked old key will be automatically included.
+
+## Strings in keyRing.jsm & decryption.jsm
+
+key-man-button-import = &Import
+
+delete-key-title = Delete OpenPGP Key
+
+delete-external-key-title = Remove the External GnuPG Key
+
+delete-external-key-description = Do you want to remove this External GnuPG key ID?
+
+key-in-use-title = OpenPGP Key currently in use
+
+delete-key-in-use-description = Unable to proceed! The Key you selected for deletion is currently being used by this identity. Select a different key, or select none, and try again.
+
+revoke-key-in-use-description = Unable to proceed! The Key you selected for revocation is currently being used by this identity. Select a different key, or select none, and try again.
+
+## Strings used in errorHandling.jsm
+
+# Variables:
+# $keySpec (String) - Email address.
+key-error-key-spec-not-found = The email address ‘{ $keySpec }’ cannot be matched to a key on your keyring.
+# $keySpec (String) - Key id.
+key-error-key-id-not-found = The configured key ID ‘{ $keySpec }’ cannot be found on your keyring.
+# $keySpec (String) - Key id.
+key-error-not-accepted-as-personal = You have not confirmed that the key with ID ‘{ $keySpec }’ is your personal key.
+
+## Strings used in enigmailKeyManager.js & windows.jsm
+
+need-online = The function you have selected is not available in offline mode. Please go online and try again.
+
+## Strings used in keyRing.jsm & keyLookupHelper.jsm
+
+no-key-found2 = We couldn’t find any usable key matching the specified search criteria.
+no-update-found = You already have the keys that were discovered online.
+
+## Strings used in keyRing.jsm & GnuPGCryptoAPI.jsm
+
+fail-key-extract = Error - key extraction command failed
+
+## Strings used in keyRing.jsm
+
+fail-cancel = Error - Key receive cancelled by user
+not-first-block = Error - First OpenPGP block not public key block
+import-key-confirm = Import public key(s) embedded in message?
+fail-key-import = Error - key importing failed
+# Variables:
+# $output (String) - File that writing was attempted to.
+file-write-failed = Failed to write to file { $output }
+no-pgp-block = Error - No valid armored OpenPGP data block found
+confirm-permissive-import = Import failed. The key you are trying to import might be corrupt or use unknown attributes. Would you like to attempt to import the parts that are correct? This might result in the import of incomplete and unusable keys.
+
+## Strings used in trust.jsm
+
+key-valid-unknown = unknown
+key-valid-invalid = invalid
+key-valid-disabled = disabled
+key-valid-revoked = revoked
+key-valid-expired = expired
+key-trust-untrusted = untrusted
+key-trust-marginal = marginal
+key-trust-full = trusted
+key-trust-ultimate = ultimate
+key-trust-group = (group)
+
+## Strings used in commonWorkflows.js
+
+import-key-file = Import OpenPGP Key File
+import-rev-file = Import OpenPGP Revocation File
+gnupg-file = GnuPG Files
+import-keys-failed=Importing the keys failed
+
+# Variables:
+# $key (String) - Key id to unlock.
+# $date (String) - The date on which the key was created
+# $username_and_email (String) - The user name, and/or the email address which the key owner has set for the key.
+passphrase-prompt2 = Enter the passphrase to unlock the secret key with ID { $key }, created { $date }, { $username_and_email }
+
+# Variables:
+# $subkey (String) - Key id to unlock, which is a subkey.
+# $key (String) - This is the main key, to which the subkey belongs.
+# $date (String) - The date on which the key was created
+# $username_and_email (String) - The user name, and/or the email address which the key owner has set for the key.
+passphrase-prompt2-sub = Enter the passphrase to unlock the secret key with ID { $subkey }, which is a subkey of key ID { $key }, created { $date }, { $username_and_email }
+
+file-to-big-to-import = This file is too big. Please don’t import a large set of keys at once.
+
+## Strings used in enigmailKeygen.js
+
+save-revoke-cert-as = Create & Save Revocation Certificate
+revoke-cert-ok = The revocation certificate has been successfully created. You can use it to invalidate your public key, e.g. in case you would lose your secret key.
+revoke-cert-failed = The revocation certificate could not be created.
+gen-going = Key generation already in progress!
+keygen-missing-user-name = There is no name specified for the selected account/identity. Please enter a value in the field “Your name” in the account settings.
+expiry-too-short = Your key must be valid for at least one day.
+expiry-too-long = You cannot create a key that expires in more than 100 years.
+# Variables:
+# $id (String) - Name and/or email address to generate keys for.
+key-confirm = Generate public and secret key for ‘{ $id }’?
+key-man-button-generate-key = &Generate Key
+key-abort = Abort key generation?
+key-man-button-generate-key-abort = &Abort Key Generation
+key-man-button-generate-key-continue = &Continue Key Generation
+
+## Strings used in enigmailMessengerOverlay.js
+
+failed-decrypt = Error - decryption failed
+fix-broken-exchange-msg-failed = Unable to repair this message.
+
+# Variables:
+# $attachment (String) - File name of the signature file.
+attachment-no-match-from-signature = Could not match signature file ‘{ $attachment }’ to an attachment
+# Variables:
+# $attachment (String) - File name of the attachment.
+attachment-no-match-to-signature = Could not match attachment ‘{ $attachment }’ to a signature file
+# Variables:
+# $attachment (String) - File name of the attachment
+signature-verified-ok = The signature for attachment { $attachment } was successfully verified
+# Variables:
+# $attachment (String) - File name of the attachment
+signature-verify-failed = The signature for attachment { $attachment } could not be verified
+decrypt-ok-no-sig =
+ Warning
+ Decryption was successful, but the signature could not be verified correctly
+msg-ovl-button-cont-anyway = &Continue Anyway
+enig-content-note = *Attachments to this message have not been signed nor encrypted*
+
+## Strings used in enigmailMsgComposeOverlay.js
+
+msg-compose-button-send = &Send Message
+msg-compose-details-button-label = Details…
+msg-compose-details-button-access-key = D
+send-aborted = Send operation aborted.
+# Variables:
+# $key (String) - Key id.
+key-not-trusted = Not enough trust for key ‘{ $key }’
+# Variables:
+# $key (String) - Key id.
+key-not-found = Key ‘{ $key }’ not found
+# Variables:
+# $key (String) - Key id.
+key-revoked = Key ‘{ $key }’ revoked
+# Variables:
+# $key (String) - Key id.
+key-expired = Key ‘{ $key }’ expired
+msg-compose-internal-error = An internal error has occurred.
+keys-to-export = Select OpenPGP Keys to Insert
+msg-compose-partially-encrypted-inlinePGP =
+ The message you are replying to contained both unencrypted and encrypted parts. If the sender was not able to decrypt some message parts originally, you may be leaking confidential information that the sender was not able to originally decrypt themselves.
+ Please consider removing all quoted text from your reply to this sender.
+msg-compose-cannot-save-draft = Error while saving draft
+msg-compose-partially-encrypted-short = Beware of leaking sensitive information - partially encrypted email.
+quoted-printable-warn =
+ You have enabled ‘quoted-printable’ encoding for sending messages. This may result in incorrect decryption and/or verification of your message.
+ Do you wish to turn off sending ‘quoted-printable’ messages now?
+# Variables:
+# $width (Number) - Number of characters per line.
+minimal-line-wrapping =
+ You have set line wrapping to { $width } characters. For correct encryption and/or signing, this value needs to be at least 68.
+ Do you wish to change line wrapping to 68 characters now?
+sending-news =
+ Encrypted send operation aborted.
+ This message cannot be encrypted because there are newsgroup recipients. Please re-send the message without encryption.
+send-to-news-warning =
+ Warning: you are about to send an encrypted email to a newsgroup.
+ This is discouraged because it only makes sense if all members of the group can decrypt the message, i.e. the message needs to be encrypted with the keys of all group participants. Please send this message only if you know exactly what you are doing.
+ Continue?
+save-attachment-header = Save decrypted attachment
+possibly-pgp-mime = Possibly PGP/MIME encrypted or signed message; use ‘Decrypt/Verify’ function to verify
+# Variables:
+# $key (String) - Sender email address.
+cannot-send-sig-because-no-own-key = Cannot digitally sign this message, because you haven’t yet configured end-to-end encryption for <{ $key }>
+# Variables:
+# $key (String) - Sender email address.
+cannot-send-enc-because-no-own-key = Cannot send this message encrypted, because you haven’t yet configured end-to-end encryption for <{ $key }>
+
+## Strings used in decryption.jsm
+
+# Variables:
+# $key (String) - Newline separated list of a tab character then name and/or email address mentioned in the key followed by the key id in parenthesis.
+do-import-multiple =
+ Import the following keys?
+ { $key }
+# Variables:
+# $name (String) - Name and/or email address mentioned in the key.
+# $id (String) - Key id of the key.
+do-import-one = Import { $name } ({ $id })?
+cant-import = Error importing public key
+unverified-reply = Indented message part (reply) was probably modified
+key-in-message-body = A key was found in the message body. Click ‘Import Key’ to import the key
+sig-mismatch = Error - Signature mismatch
+invalid-email = Error - invalid email address(es)
+# Variables:
+# $name (String) - File name of the attachment.
+attachment-pgp-key =
+ The attachment ‘{ $name }’ you are opening appears to be an OpenPGP key file.
+ Click ‘Import’ to import the keys contained or ‘View’ to view the file contents in a browser window
+dlg-button-view = &View
+
+## Strings used in enigmailMsgHdrViewOverlay.js
+
+decrypted-msg-with-format-error = Decrypted message (restored broken PGP email format probably caused by an old Exchange server, so that the result might not be perfect to read)
+
+## Strings used in encryption.jsm
+
+not-required = Error - no encryption required
+
+## Strings used in windows.jsm
+
+no-photo-available = No Photo available
+# Variables:
+# $photo (String) - Path of the photo in the key.
+error-photo-path-not-readable = Photo path ‘{ $photo }’ is not readable
+debug-log-title = OpenPGP Debug Log
+
+## Strings used in dialog.jsm
+
+# This string is followed by either repeat-suffix-singular if $count is 1 or else
+# by repeat-suffix-plural.
+# Variables:
+# $count (Number) - Number of times the alert will repeat.
+repeat-prefix = This alert will repeat { $count }
+repeat-suffix-singular = more time.
+repeat-suffix-plural = more times.
+no-repeat = This alert will not be shown again.
+dlg-keep-setting = Remember my answer and do not ask me again
+dlg-button-ok = &OK
+dlg-button-close = &Close
+dlg-button-cancel = &Cancel
+dlg-no-prompt = Do not show me this dialog again
+enig-prompt = OpenPGP Prompt
+enig-confirm = OpenPGP Confirmation
+enig-alert = OpenPGP Alert
+enig-info = OpenPGP Information
+
+## Strings used in persistentCrypto.jsm
+
+dlg-button-retry = &Retry
+dlg-button-skip = &Skip
+
+## Strings used in enigmailMsgBox.js
+
+enig-alert-title =
+ .title = OpenPGP Alert
diff --git a/comm/mail/locales/en-US/messenger/otr/add-finger.ftl b/comm/mail/locales/en-US/messenger/otr/add-finger.ftl
new file mode 100644
index 0000000000..5709168e2b
--- /dev/null
+++ b/comm/mail/locales/en-US/messenger/otr/add-finger.ftl
@@ -0,0 +1,16 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+otr-add-finger-title = Add OTR Key Fingerprint
+
+# Variables:
+# $name (String) - name of a chat contact person
+# Do not translate 'OTR' (name of an encryption protocol)
+otr-add-finger-description = Enter the OTR key fingerprint for { $name }.
+
+otr-add-finger-fingerprint = Fingerprint:
+otr-add-finger-tooltip-error = Invalid character entered. Only letters ABCDEF and numbers are allowed
+
+otr-add-finger-input =
+ .placeholder = The 40 characters long OTR key fingerprint
diff --git a/comm/mail/locales/en-US/messenger/otr/am-im-otr.ftl b/comm/mail/locales/en-US/messenger/otr/am-im-otr.ftl
new file mode 100644
index 0000000000..e156f25cfc
--- /dev/null
+++ b/comm/mail/locales/en-US/messenger/otr/am-im-otr.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/.
+
+account-encryption =
+ .label = End-to-end Encryption
+account-otr-label = Off-the-Record Messaging (OTR)
+account-otr-description2 = { -brand-short-name } supports end-to-end encryption of one-to-one conversations based on OTR. This prevents third parties from eavesdropping on a conversation. This kind of end-to-end encryption can only be used when the other person also uses software that supports OTR.
+otr-encryption-title = Verified Encryption
+otr-encryption-caption = To enable others to verify your identity in OTR chats, share your own OTR fingerprint using an outside (out-of-band) communication channel.
+otr-fingerprint-label = Your Fingerprint:
+view-fingerprint-button =
+ .label = Manage Fingerprints of Contacts
+ .accesskey = F
+otr-settings-title = OTR Settings
+otr-require-encryption =
+ .label = Require end-to-end encryption for one-to-one conversations
+otr-require-encryption-info =
+ When requiring end-to-end encryption, messages in one-to-one conversations
+ will not be sent unless they can be encrypted. Received unencrypted messages
+ will not be shown as part of the regular conversation, and not logged either.
+otr-verify-nudge =
+ .label = Always remind me to verify an unverified contact
+
+otr-not-yet-available = not yet available
diff --git a/comm/mail/locales/en-US/messenger/otr/auth.ftl b/comm/mail/locales/en-US/messenger/otr/auth.ftl
new file mode 100644
index 0000000000..9804b6dfed
--- /dev/null
+++ b/comm/mail/locales/en-US/messenger/otr/auth.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/.
+
+otr-auth =
+ .title = Verify contact’s identity
+ .buttonlabelaccept = Verify
+
+# Variables:
+# $name (String) - the screen name of a chat contact person
+auth-title = Verify the identity of { $name }
+
+# Variables:
+# $own_name (String) - the user's own screen name
+auth-your-fp-value = Fingerprint for you, { $own_name }:
+
+# Variables:
+# $their_name (String) - the screen name of a chat contact
+auth-their-fp-value = Fingerprint for { $their_name }:
+
+auth-question-received = This is the question asked by your contact:
+
+auth-yes =
+ .label = Yes
+
+auth-no =
+ .label = No
+
+auth-verified = I have verified that this is in fact the correct fingerprint.
+
+auth-manual-verification = Manual fingerprint verification
+auth-question-and-answer = Question and answer
+auth-shared-secret = Shared secret
+
+auth-manual-verification-label =
+ .label = { auth-manual-verification }
+
+auth-question-and-answer-label =
+ .label = { auth-question-and-answer }
+
+auth-shared-secret-label =
+ .label = { auth-shared-secret }
+
+auth-manual-instruction = Contact your intended conversation partner via some other authenticated channel, such as OpenPGP-signed email or over the phone. You should tell each other your fingerprints. (A fingerprint is a checksum that identifies an encryption key.) If the fingerprint matches, you should indicate in the dialog below that you have verified the fingerprint.
+
+auth-how = How would you like to verify your contact’s identity?
+
+auth-qa-instruction = Think of a question to which the answer is known only to you and your contact. Enter the question and answer, then wait for your contact to enter the answer. If the answers do not match, the communication channel you are using may be under surveillance.
+
+auth-secret-instruction = Think of a secret known only to you and your contact. Do not use the same Internet connection to exchange the secret. Enter the secret, then wait for your contact to enter it. If the secrets do not match, the communication channel you are using may be under surveillance.
+
+auth-question = Enter a question:
+
+auth-answer = Enter the answer (case sensitive):
+
+auth-secret = Enter the secret:
diff --git a/comm/mail/locales/en-US/messenger/otr/chat.ftl b/comm/mail/locales/en-US/messenger/otr/chat.ftl
new file mode 100644
index 0000000000..c7163781d3
--- /dev/null
+++ b/comm/mail/locales/en-US/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 = Encryption Status:
+
+start-text = Start an encrypted conversation
+
+start-label =
+ .label = { start-text }
+
+start-tooltip =
+ .tooltiptext = { start-text }
+
+end-label =
+ .label = End the encrypted conversation
+
+auth-label =
+ .label = Verify your contact’s identity
diff --git a/comm/mail/locales/en-US/messenger/otr/finger-sync.ftl b/comm/mail/locales/en-US/messenger/otr/finger-sync.ftl
new file mode 100644
index 0000000000..b3e731b979
--- /dev/null
+++ b/comm/mail/locales/en-US/messenger/otr/finger-sync.ftl
@@ -0,0 +1,12 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+finger-yes = Verified
+finger-no = Unverified
+
+finger-subset-title = Remove Fingerprints
+finger-subset-message = At least one fingerprint couldn’t be removed, because the corresponding key is currently used in an active conversation.
+
+finger-remove-all-title = Remove All Fingerprints
+finger-remove-all-message = Are you sure you want to remove all previously seen fingerprints? All previous OTR identity verifications will be lost.
diff --git a/comm/mail/locales/en-US/messenger/otr/finger.ftl b/comm/mail/locales/en-US/messenger/otr/finger.ftl
new file mode 100644
index 0000000000..f411991085
--- /dev/null
+++ b/comm/mail/locales/en-US/messenger/otr/finger.ftl
@@ -0,0 +1,20 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+otr-finger-title = Previously Seen OTR Fingerprints
+
+finger-intro = OTR key fingerprints from previous end-to-end encrypted conversations.
+
+finger-screen-name =
+ .label = Contact
+finger-verified =
+ .label = Verification Status
+finger-fingerprint =
+ .label = Fingerprint
+
+finger-remove =
+ .label = Remove Selected
+
+finger-remove-all =
+ .label = Remove All
diff --git a/comm/mail/locales/en-US/messenger/otr/otr.ftl b/comm/mail/locales/en-US/messenger/otr/otr.ftl
new file mode 100644
index 0000000000..4b4e8ea3a4
--- /dev/null
+++ b/comm/mail/locales/en-US/messenger/otr/otr.ftl
@@ -0,0 +1,97 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# Variables:
+# $name (String) - the screen name of a chat contact person
+msgevent-encryption-required-part1 = You attempted to send an unencrypted message to { $name }. As a policy, unencrypted messages are not allowed.
+
+msgevent-encryption-required-part2 = Attempting to start a private conversation. Your message will be resent when the private conversation starts.
+msgevent-encryption-error = An error occurred when encrypting your message. The message was not sent.
+
+# Variables:
+# $name (String) - the screen name of a chat contact person
+msgevent-connection-ended = { $name } has already closed their encrypted connection to you. To avoid that you accidentally send a message without encryption, your message was not sent. Please end your encrypted conversation, or restart it.
+
+# Variables:
+# $name (String) - the screen name of a chat contact person
+msgevent-setup-error = An error occurred while setting up a private conversation with { $name }.
+
+# Do not translate 'OTR' (name of an encryption protocol)
+msgevent-msg-reflected = You are receiving your own OTR messages. You are either trying to talk to yourself, or someone is reflecting your messages back at you.
+
+# Variables:
+# $name (String) - the screen name of a chat contact person
+msgevent-msg-resent = The last message to { $name } was resent.
+
+# Variables:
+# $name (String) - the screen name of a chat contact person
+msgevent-rcvdmsg-not-private = The encrypted message received from { $name } is unreadable, as you are not currently communicating privately.
+
+# Variables:
+# $name (String) - the screen name of a chat contact person
+msgevent-rcvdmsg-unreadable = You received an unreadable encrypted message from { $name }.
+
+# Variables:
+# $name (String) - the screen name of a chat contact person
+msgevent-rcvdmsg-malformed = You received a malformed data message from { $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 = Heartbeat received from { $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 = Heartbeat sent to { $name }.
+
+# Do not translate 'OTR' (name of an encryption protocol)
+msgevent-rcvdmsg-general-err = An unexpected error occurred while trying to protect your conversation using OTR.
+
+# Variables:
+# $name (String) - the screen name of a chat contact person
+# $msg (string) - the message that was received.
+msgevent-rcvdmsg-unencrypted = The following message received from { $name } was not encrypted: { $msg }
+
+# Do not translate 'OTR' (name of an encryption protocol)
+# Variables:
+# $name (String) - the screen name of a chat contact person
+msgevent-rcvdmsg-unrecognized = You received an unrecognized OTR message from { $name }.
+
+# Variables:
+# $name (String) - the screen name of a chat contact person
+msgevent-rcvdmsg-for-other-instance = { $name } has sent a message intended for a different session. If you are logged in multiple times, another session may have received the message.
+
+# Variables:
+# $name (String) - the screen name of a chat contact person
+context-gone-secure-private = Private conversation with { $name } started.
+
+# Variables:
+# $name (String) - the screen name of a chat contact person
+context-gone-secure-unverified = Encrypted, but unverified conversation with { $name } started.
+
+# Variables:
+# $name (String) - the screen name of a chat contact person
+context-still-secure = Successfully refreshed the encrypted conversation with { $name }.
+
+error-enc = An error occurred while encrypting the message.
+
+# Variables:
+# $name (String) - the screen name of a chat contact person
+error-not-priv = You sent encrypted data to { $name }, who wasn’t expecting it.
+
+error-unreadable = You transmitted an unreadable encrypted message.
+error-malformed = You transmitted a malformed data message.
+
+resent = [resent]
+
+# Variables:
+# $name (String) - the screen name of a chat contact person
+tlv-disconnected = { $name } has ended their encrypted conversation with you; you should do the same.
+
+# Do not translate "Off-the-Record" and "OTR" which is the name of an encryption protocol
+# Make sure that this string does NOT contain any numbers, e.g. like "3".
+# Variables:
+# $name (String) - the screen name of a chat contact person
+query-msg = { $name } has requested an Off-the-Record (OTR) encrypted conversation. However, you do not have a plugin to support that. See https://en.wikipedia.org/wiki/Off-the-Record_Messaging for more information.
diff --git a/comm/mail/locales/en-US/messenger/otr/otrUI.ftl b/comm/mail/locales/en-US/messenger/otr/otrUI.ftl
new file mode 100644
index 0000000000..79e2c890ee
--- /dev/null
+++ b/comm/mail/locales/en-US/messenger/otr/otrUI.ftl
@@ -0,0 +1,87 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+start-label = Start an encrypted conversation
+refresh-label = Refresh the encrypted conversation
+auth-label = Verify your contact’s identity
+reauth-label = Reverify your contact’s identity
+
+auth-cancel = Cancel
+auth-cancel-access-key = C
+
+auth-error = An error occurred while verifying the identity of your contact.
+auth-success = Verifying your contact’s identity completed successfully.
+auth-success-them = Your contact has successfully verified your identity. You may want to verify their identity as well by asking your own question.
+auth-fail = Failed to verify the identity of your contact.
+auth-waiting = Waiting for the contact to complete the verification…
+
+finger-verify = Verify
+finger-verify-access-key = V
+
+finger-ignore = Ignore
+finger-ignore-access-key = I
+
+# Do not translate 'OTR' (name of an encryption protocol)
+buddycontextmenu-label = Add OTR Fingerprint
+
+# Variables:
+# $name (String) - the screen name of a chat contact person
+alert-start = Attempting to start an encrypted conversation with { $name }.
+
+# Variables:
+# $name (String) - the screen name of a chat contact person
+alert-refresh = Attempting to refresh the encrypted conversation with { $name }.
+
+# Variables:
+# $name (String) - the screen name of a chat contact person
+alert-gone-insecure = The encrypted conversation with { $name } ended.
+
+# Variables:
+# $name (String) - the screen name of a chat contact person
+finger-unseen = The identity of { $name } has not been verified yet. Casual eavesdropping is not possible, but with some effort someone could be listening in. Prevent surveillance by verifying this contact’s identity.
+
+# Variables:
+# $name (String) - the screen name of a chat contact person
+finger-seen={ $name } is contacting you from an unrecognized computer. Casual eavesdropping is not possible, but with some effort someone could be listening in. Prevent surveillance by verifying this contact’s identity.
+
+state-not-private = The current conversation is not private.
+state-generic-not-private = The current conversation is not private.
+
+# Variables:
+# $name (String) - the screen name of a chat contact person
+state-unverified = The current conversation is encrypted but not private, since the identity of { $name } has not yet been verified.
+
+state-generic-unverified = The current conversation is encrypted but not private, since some identities have not yet been verified.
+
+# Variables:
+# $name (String) - the screen name of a chat contact person
+state-private = The identity of { $name } has been verified. The current conversation is encrypted and private.
+
+state-generic-private = The current conversation is encrypted and private.
+
+# Variables:
+# $name (String) - the screen name of a chat contact person
+state-finished = { $name } has ended their encrypted conversation with you; you should do the same.
+
+state-not-private-label = Insecure
+state-unverified-label = Unverified
+state-private-label = Private
+state-finished-label = Finished
+
+# Variables:
+# $name (String) - the screen name of a chat contact person
+verify-request = { $name } requested the verification of your identity.
+
+# Variables:
+# $name (String) - the screen name of a chat contact person
+afterauth-private = You have verified the identity of { $name }.
+
+# Variables:
+# $name (String) - the screen name of a chat contact person
+afterauth-unverified = The identity of { $name } has not been verified.
+
+# 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 = Generating OTR private key failed: { $error }
diff --git a/comm/mail/locales/en-US/messenger/policies/aboutPolicies.ftl b/comm/mail/locales/en-US/messenger/policies/aboutPolicies.ftl
new file mode 100644
index 0000000000..d5ef87a573
--- /dev/null
+++ b/comm/mail/locales/en-US/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 = Enterprise Policies
+
+# 'Active' is used to describe the policies that are currently active
+active-policies-tab = Active
+errors-tab = Errors
+documentation-tab = Documentation
+
+no-specified-policies-message = The Enterprise Policies service is active but there are no policies enabled.
+inactive-message = The Enterprise Policies service is inactive.
+
+policy-name = Policy Name
+policy-value = Policy Value
+policy-errors = Policy Errors
diff --git a/comm/mail/locales/en-US/messenger/policies/policies-descriptions.ftl b/comm/mail/locales/en-US/messenger/policies/policies-descriptions.ftl
new file mode 100644
index 0000000000..44a76052bb
--- /dev/null
+++ b/comm/mail/locales/en-US/messenger/policies/policies-descriptions.ftl
@@ -0,0 +1,158 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+## 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 = Set policies that WebExtensions can access via chrome.storage.managed.
+
+policy-AppAutoUpdate = Enable or disable automatic application update.
+
+policy-AppUpdatePin = Prevent { -brand-short-name } from being updated beyond the specified version.
+
+policy-AppUpdateURL = Set custom app update URL.
+
+policy-Authentication = Configure integrated authentication for websites that support it.
+
+policy-BackgroundAppUpdate2 = Enable or disable the background updater.
+
+policy-BlockAboutAddons = Block access to the Add-ons Manager (about:addons).
+
+policy-BlockAboutConfig = Block access to the about:config page.
+
+policy-BlockAboutProfiles = Block access to the about:profiles page.
+
+policy-BlockAboutSupport = Block access to the about:support page.
+
+policy-CaptivePortal = Enable or disable captive portal support.
+
+policy-CertificatesDescription = Add certificates or use built-in certificates.
+
+policy-Cookies = Allow or deny websites to set cookies.
+
+policy-DisableBuiltinPDFViewer = Disable PDF.js, the built-in PDF viewer in { -brand-short-name }.
+
+policy-DisabledCiphers = Disable ciphers.
+
+policy-DefaultDownloadDirectory = Set the default download directory.
+
+policy-DisableAppUpdate = Prevent { -brand-short-name } from updating.
+
+policy-DisableDefaultClientAgent = Prevent the default client agent from taking any actions. Only applicable to Windows; other platforms don’t have the agent.
+
+policy-DisableDeveloperTools = Block access to the developer tools.
+
+policy-DisableFeedbackCommands = Disable commands to send feedback from the Help menu (Submit Feedback and Report Deceptive Site).
+
+policy-DisableForgetButton = Prevent access to the Forget button.
+
+policy-DisableFormHistory = Don’t remember search and form history.
+
+policy-DisableMasterPasswordCreation = If true, a master password can’t be created.
+
+policy-DisablePasswordReveal = Do not allow passwords to be revealed in saved logins.
+
+policy-DisableProfileImport = Disable the menu command to Import data from another application.
+
+policy-DisableSafeMode = Disable the feature to restart in Safe Mode. Note: the Shift key to enter Safe Mode can only be disabled on Windows using Group Policy.
+
+policy-DisableSecurityBypass = Prevent the user from bypassing certain security warnings.
+
+policy-DisableSystemAddonUpdate = Prevent { -brand-short-name } from installing and updating system add-ons.
+
+policy-DisableTelemetry = Turn off Telemetry.
+
+policy-DisplayMenuBar = Display the Menu Bar by default.
+
+policy-DNSOverHTTPS = Configure DNS over HTTPS.
+
+policy-DontCheckDefaultClient = Disable check for default client on startup.
+
+policy-DownloadDirectory = Set and lock the download directory.
+
+# “lock” means that the user won’t be able to change this setting
+policy-EnableTrackingProtection = Enable or disable Content Blocking and optionally lock it.
+
+# “lock” means that the user won’t be able to change this setting
+policy-EncryptedMediaExtensions = Enable or disable Encrypted Media Extensions and optionally lock it.
+
+# 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 = Install, uninstall or lock extensions. The Install option takes URLs or paths as parameters. The Uninstall and Locked options take extension IDs.
+
+policy-ExtensionSettings = Manage all aspects of extension installation.
+
+policy-ExtensionUpdate = Enable or disable automatic extension updates.
+
+policy-Handlers = Configure default application handlers.
+
+policy-HardwareAcceleration = If false, turn off hardware acceleration.
+
+policy-InstallAddonsPermission = Allow certain websites to install add-ons.
+
+policy-LegacyProfiles = Disable the feature enforcing a separate profile for each installation.
+
+## Do not translate "SameSite", it's the name of a cookie attribute.
+
+policy-LegacySameSiteCookieBehaviorEnabled = Enable default legacy SameSite cookie behavior setting.
+
+policy-LegacySameSiteCookieBehaviorEnabledForDomainList = Revert to legacy SameSite behavior for cookies on specified sites.
+
+##
+
+policy-LocalFileLinks = Allow specific websites to link to local files.
+
+policy-ManualAppUpdateOnly = Allow manual updates only and do not notify the user about updates.
+
+policy-NetworkPrediction = Enable or disable network prediction (DNS prefetching).
+
+policy-OfferToSaveLogins = Enforce the setting to allow { -brand-short-name } to offer to remember saved logins and passwords. Both true and false values are accepted.
+
+policy-OfferToSaveLoginsDefault = Set the default value for allowing { -brand-short-name } to offer to remember saved logins and passwords. Both true and false values are accepted.
+
+policy-OverrideFirstRunPage = Override the first run page. Set this policy to blank if you want to disable the first run page.
+
+policy-OverridePostUpdatePage = Override the post-update “What’s New” page. Set this policy to blank if you want to disable the post-update page.
+
+policy-PasswordManagerEnabled = Enable saving passwords to the password manager.
+
+# PDF.js and PDF should not be translated
+policy-PDFjs = Disable or configure PDF.js, the built-in PDF viewer in { -brand-short-name }.
+
+policy-Permissions2 = Configure permissions for camera, microphone, location, notifications, and autoplay.
+
+policy-Preferences = Set and lock the value for a subset of preferences.
+
+policy-PrimaryPassword = Require or prevent using a Primary Password.
+
+policy-PromptForDownloadLocation = Ask where to save files when downloading.
+
+policy-Proxy = Configure proxy settings.
+
+policy-RequestedLocales = Set the list of requested locales for the application in order of preference.
+
+policy-SanitizeOnShutdown2 = Clear navigation data on shutdown.
+
+policy-SearchEngines = Configure search engine settings. This policy is only available on the Extended Support Release (ESR) version.
+
+policy-SearchSuggestEnabled = Enable or disable search suggestions.
+
+# For more information, see https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSS/PKCS11/Module_Installation
+policy-SecurityDevices = Install PKCS #11 modules.
+
+policy-SSLVersionMax = Set the maximum SSL version.
+
+policy-SSLVersionMin = Set the minimum SSL version.
+
+policy-SupportMenu = Add a custom support menu item to the help menu.
+
+policy-UserMessaging = Don’t show certain messages to the user.
+
+# “format” refers to the format used for the value of this policy.
+policy-WebsiteFilter = Block websites from being visited. See documentation for more details on the format.
diff --git a/comm/mail/locales/en-US/messenger/preferences/am-copies.ftl b/comm/mail/locales/en-US/messenger/preferences/am-copies.ftl
new file mode 100644
index 0000000000..24e0b6f29b
--- /dev/null
+++ b/comm/mail/locales/en-US/messenger/preferences/am-copies.ftl
@@ -0,0 +1,5 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+account-prefs-show-address-row-description = Leave the address field blank to always show the address row when starting a new message.
diff --git a/comm/mail/locales/en-US/messenger/preferences/am-im.ftl b/comm/mail/locales/en-US/messenger/preferences/am-im.ftl
new file mode 100644
index 0000000000..795bc6ae57
--- /dev/null
+++ b/comm/mail/locales/en-US/messenger/preferences/am-im.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/.
+
+account-settings-title = Authentication Settings
+account-channel-title = Default Channels
+
+chat-autologin =
+ .label = Sign-on at startup
+
+chat-encryption-generic = Generic
+chat-encryption-log =
+ .label = Include end-to-end encrypted messages in conversation logs
+chat-encryption-label = Native End-to-end Encryption
+# Variables:
+# $protocol (String) - Name of the chat protocol. Example: Matrix
+chat-encryption-description = { $protocol } provides end-to-end encryption for chat messages. This prevents third parties from eavesdropping on a conversation. Additional setup might be required below for the encryption to be operational.
+chat-encryption-status = Encryption Status
+chat-encryption-placeholder = Encryption not initialized.
+chat-encryption-sessions = Sessions
+chat-encryption-sessions-description = For end-to-end encryption to work correctly, you have to trust the other sessions currently logged in to your account. Interaction with the other client is required to verify a session. Verifying a session might lead to all sessions that it trusts to also be trusted by { -brand-short-name }.
+chat-encryption-session-verify = verify
+ .title = Verify the identity of this session
+chat-encryption-session-trusted = trusted
+ .title = This session’s identity is verified
diff --git a/comm/mail/locales/en-US/messenger/preferences/application-manager.ftl b/comm/mail/locales/en-US/messenger/preferences/application-manager.ftl
new file mode 100644
index 0000000000..40dd34a1e6
--- /dev/null
+++ b/comm/mail/locales/en-US/messenger/preferences/application-manager.ftl
@@ -0,0 +1,10 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+app-manager-window-dialog2 =
+ .title = Application Details
+
+remove-app-button =
+ .label = Remove
+ .accesskey = R
diff --git a/comm/mail/locales/en-US/messenger/preferences/attachment-reminder.ftl b/comm/mail/locales/en-US/messenger/preferences/attachment-reminder.ftl
new file mode 100644
index 0000000000..65ab01a944
--- /dev/null
+++ b/comm/mail/locales/en-US/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 Keywords
+
+attachment-reminder-label = { -brand-short-name } will warn you about missing attachments if you’re about to send an email containing one of these keywords.
+
+keyword-new-button =
+ .label = New…
+ .accesskey = N
+
+keyword-edit-button =
+ .label = Edit…
+ .accesskey = E
+
+keyword-remove-button =
+ .label = Delete
+ .accesskey = D
+
+new-keyword-title = New Keyword
+new-keyword-label = Keyword:
+
+edit-keyword-title = Edit Keyword
+edit-keyword-label = Keyword:
diff --git a/comm/mail/locales/en-US/messenger/preferences/colors.ftl b/comm/mail/locales/en-US/messenger/preferences/colors.ftl
new file mode 100644
index 0000000000..85c50e9e18
--- /dev/null
+++ b/comm/mail/locales/en-US/messenger/preferences/colors.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/.
+
+colors-dialog-window2 =
+ .title = Colors
+
+colors-dialog-legend = Text and Background
+
+text-color-label =
+ .value = Text:
+ .accesskey = T
+
+background-color-label =
+ .value = Background:
+ .accesskey = B
+
+use-system-colors =
+ .label = Use system colors
+ .accesskey = s
+
+colors-link-legend = Link Colors
+
+link-color-label =
+ .value = Unvisited Links:
+ .accesskey = L
+
+visited-link-color-label =
+ .value = Visited Links:
+ .accesskey = V
+
+underline-link-checkbox =
+ .label = Underline links
+ .accesskey = U
+
+override-color-label =
+ .value = Override the colors specified by the content with my selections above:
+ .accesskey = O
+
+override-color-always =
+ .label = Always
+
+override-color-auto =
+ .label = Only with High Contrast themes
+
+override-color-never =
+ .label = Never
diff --git a/comm/mail/locales/en-US/messenger/preferences/connection.ftl b/comm/mail/locales/en-US/messenger/preferences/connection.ftl
new file mode 100644
index 0000000000..ec1fd76acc
--- /dev/null
+++ b/comm/mail/locales/en-US/messenger/preferences/connection.ftl
@@ -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/.
+
+connection-dns-over-https-url-resolver = Use Provider
+ .accesskey = r
+
+# Variables:
+# $name (String) - Display name or URL for the DNS over HTTPS provider
+connection-dns-over-https-url-item-default =
+ .label = { $name } (Default)
+ .tooltiptext = Use the default URL for resolving DNS over HTTPS
+
+connection-dns-over-https-url-custom =
+ .label = Custom
+ .accesskey = C
+ .tooltiptext = Enter your preferred URL for resolving DNS over HTTPS
+
+connection-dns-over-https-custom-label = Custom
+
+connection-dialog-window2 =
+ .title = Connection Settings
+
+disable-extension-button = Disable Extension
+
+# Variables:
+# $name (String) - The extension that is controlling the proxy settings.
+#
+# The extension-icon is the extension's icon, or a fallback image. It should be
+# purely decoration for the actual extension name, with alt="".
+proxy-settings-controlled-by-extension = An extension, <img data-l10n-name="extension-icon" alt="" /> { $name }, is controlling how { -brand-short-name } connects to the Internet.
+
+connection-proxy-legend = Configure Proxies to Access the Internet
+
+proxy-type-no =
+ .label = No proxy
+ .accesskey = y
+
+proxy-type-wpad =
+ .label = Auto-detect proxy settings for this network
+ .accesskey = w
+
+proxy-type-system =
+ .label = Use system proxy settings
+ .accesskey = u
+
+proxy-type-manual =
+ .label = Manual proxy configuration:
+ .accesskey = m
+
+proxy-http-label =
+ .value = HTTP Proxy:
+ .accesskey = h
+
+http-port-label =
+ .value = Port:
+ .accesskey = p
+
+proxy-http-sharing =
+ .label = Also use this proxy for HTTPS
+ .accesskey = x
+
+proxy-https-label =
+ .value = HTTPS Proxy:
+ .accesskey = S
+
+ssl-port-label =
+ .value = Port:
+ .accesskey = o
+
+proxy-socks-label =
+ .value = SOCKS Host:
+ .accesskey = c
+
+socks-port-label =
+ .value = Port:
+ .accesskey = t
+
+proxy-socks4-label =
+ .label = SOCKS v4
+ .accesskey = k
+
+proxy-socks5-label =
+ .label = SOCKS v5
+ .accesskey = v
+
+proxy-type-auto =
+ .label = Automatic proxy configuration URL:
+ .accesskey = A
+
+proxy-reload-label =
+ .label = Reload
+ .accesskey = l
+
+no-proxy-label =
+ .value = No proxy for:
+ .accesskey = n
+
+no-proxy-example = Example: .mozilla.org, .net.nz, 192.168.1.0/24
+
+# Do not translate "localhost", "127.0.0.1/8" and "::1". (You can translate "and".)
+connection-proxy-noproxy-localhost-desc-2 = Connections to localhost, 127.0.0.1/8, and ::1 are never proxied.
+
+proxy-password-prompt =
+ .label = Do not prompt for authentication if password is saved
+ .accesskey = i
+ .tooltiptext = This option silently authenticates you to proxies when you have saved credentials for them. You will be prompted if authentication fails.
+
+proxy-remote-dns =
+ .label = Proxy DNS when using SOCKS v5
+ .accesskey = d
+
+proxy-enable-doh =
+ .label = Enable DNS over HTTPS
+ .accesskey = b
diff --git a/comm/mail/locales/en-US/messenger/preferences/cookies.ftl b/comm/mail/locales/en-US/messenger/preferences/cookies.ftl
new file mode 100644
index 0000000000..6fc6f9d5bc
--- /dev/null
+++ b/comm/mail/locales/en-US/messenger/preferences/cookies.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/.
+
+cookies-window-dialog2 =
+ .title = Cookies
+
+window-close-key =
+ .key = w
+
+window-focus-search-key =
+ .key = f
+
+window-focus-search-alt-key =
+ .key = k
+
+filter-search-label =
+ .value = Search:
+ .accesskey = S
+
+cookies-on-system-label = The following cookies are stored on your computer:
+
+treecol-site-header =
+ .label = Site
+
+treecol-name-header =
+ .label = Cookie Name
+
+props-name-label =
+ .value = Name:
+props-value-label =
+ .value = Content:
+props-domain-label =
+ .value = Host:
+props-path-label =
+ .value = Path:
+props-secure-label =
+ .value = Send For:
+props-expires-label =
+ .value = Expires:
+props-container-label =
+ .value = Container:
+
+remove-cookie-button =
+ .label = Remove Cookie
+ .accesskey = R
+
+remove-all-cookies-button =
+ .label = Remove All Cookies
+ .accesskey = A
+
+cookie-close-button =
+ .label = Close
+ .accesskey = C
diff --git a/comm/mail/locales/en-US/messenger/preferences/dock-options.ftl b/comm/mail/locales/en-US/messenger/preferences/dock-options.ftl
new file mode 100644
index 0000000000..436199b392
--- /dev/null
+++ b/comm/mail/locales/en-US/messenger/preferences/dock-options.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/.
+
+dock-options-window-dialog2 =
+ .title = App icon options
+
+dock-options-show-badge =
+ .label = Show badge icon
+ .accesskey = b
+
+bounce-system-dock-icon =
+ .label = Animate the app icon when a new message arrives
+ .accesskey = i
+
+dock-icon-legend = App icon badge
+
+dock-icon-show-label =
+ .value = Badge app icon with:
+
+count-unread-messages-radio =
+ .label = Count of unread messages
+ .accesskey = u
+
+count-new-messages-radio =
+ .label = Count of new messages
+ .accesskey = n
+
+notification-settings-info2 = You can disable the badge on the Notification pane of System Settings.
diff --git a/comm/mail/locales/en-US/messenger/preferences/fonts.ftl b/comm/mail/locales/en-US/messenger/preferences/fonts.ftl
new file mode 100644
index 0000000000..b62ad94c8c
--- /dev/null
+++ b/comm/mail/locales/en-US/messenger/preferences/fonts.ftl
@@ -0,0 +1,150 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+fonts-dialog-title = Fonts
+
+fonts-window-close =
+ .key = w
+
+# Variables:
+# $name {string, "Arial"} - Name of the default font
+fonts-label-default =
+ .label = Default ({ $name })
+fonts-label-default-unnamed =
+ .label = Default
+
+fonts-language-legend =
+ .value = Fonts for:
+ .accesskey = t
+
+fonts-proportional-label =
+ .value = Proportional:
+ .accesskey = P
+
+## Languages
+
+# Note: Translate "Latin" as the name of Latin (Roman) script, not as the name of the Latin language.
+font-language-group-latin =
+ .label = Latin
+font-language-group-japanese =
+ .label = Japanese
+font-language-group-trad-chinese =
+ .label = Traditional Chinese (Taiwan)
+font-language-group-simpl-chinese =
+ .label = Simplified Chinese
+font-language-group-trad-chinese-hk =
+ .label = Traditional Chinese (Hong Kong)
+font-language-group-korean =
+ .label = Korean
+font-language-group-cyrillic =
+ .label = Cyrillic
+font-language-group-el =
+ .label = Greek
+font-language-group-other =
+ .label = Other Writing Systems
+font-language-group-thai =
+ .label = Thai
+font-language-group-hebrew =
+ .label = Hebrew
+font-language-group-arabic =
+ .label = Arabic
+font-language-group-devanagari =
+ .label = Devanagari
+font-language-group-tamil =
+ .label = Tamil
+font-language-group-armenian =
+ .label = Armenian
+font-language-group-bengali =
+ .label = Bengali
+font-language-group-canadian =
+ .label = Unified Canadian Syllabary
+font-language-group-ethiopic =
+ .label = Ethiopic
+font-language-group-georgian =
+ .label = Georgian
+font-language-group-gujarati =
+ .label = Gujarati
+font-language-group-gurmukhi =
+ .label = Gurmukhi
+font-language-group-khmer =
+ .label = Khmer
+font-language-group-malayalam =
+ .label = Malayalam
+font-language-group-math =
+ .label = Mathematics
+font-language-group-odia =
+ .label = Odia
+font-language-group-telugu =
+ .label = Telugu
+font-language-group-kannada =
+ .label = Kannada
+font-language-group-sinhala =
+ .label = Sinhala
+font-language-group-tibetan =
+ .label = Tibetan
+
+## Default font type
+
+default-font-serif =
+ .label = Serif
+
+default-font-sans-serif =
+ .label = Sans Serif
+
+font-size-proportional-label =
+ .value = Size:
+ .accesskey = e
+
+font-size-monospace-label =
+ .value = Size:
+ .accesskey = i
+
+font-serif-label =
+ .value = Serif:
+ .accesskey = S
+
+font-sans-serif-label =
+ .value = Sans-serif:
+ .accesskey = n
+
+font-monospace-label =
+ .value = Monospace:
+ .accesskey = M
+
+font-min-size-label =
+ .value = Minimum font size:
+ .accesskey = z
+
+min-size-none =
+ .label = None
+
+## Fonts in message
+
+font-control-legend = Font Control
+
+use-document-fonts-checkbox =
+ .label = Allow messages to use other fonts
+ .accesskey = o
+
+use-fixed-width-plain-checkbox =
+ .label = Use fixed width font for plain text messages
+ .accesskey = x
+
+## Language settings
+
+text-encoding-legend = Text Encoding
+
+text-encoding-description = Set the default text encoding for sending and receiving mail
+
+font-outgoing-email-label =
+ .value = Outgoing Mail:
+ .accesskey = u
+
+font-incoming-email-label =
+ .value = Incoming Mail:
+ .accesskey = I
+
+default-font-reply-checkbox =
+ .label = When possible, use the default text encoding in replies
+ .accesskey = h
diff --git a/comm/mail/locales/en-US/messenger/preferences/languages.ftl b/comm/mail/locales/en-US/messenger/preferences/languages.ftl
new file mode 100644
index 0000000000..60cae72388
--- /dev/null
+++ b/comm/mail/locales/en-US/messenger/preferences/languages.ftl
@@ -0,0 +1,44 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+languages-customize-moveup =
+ .label = Move Up
+ .accesskey = U
+
+languages-customize-movedown =
+ .label = Move Down
+ .accesskey = D
+
+languages-customize-remove =
+ .label = Remove
+ .accesskey = R
+
+languages-customize-select-language =
+ .placeholder = Select a language to add…
+
+languages-customize-add =
+ .label = Add
+ .accesskey = A
+
+messenger-languages-window2 =
+ .title = { -brand-short-name } Language Settings
+
+messenger-languages-description = { -brand-short-name } will display the first language as your default and will display alternate languages if necessary in the order they appear.
+
+messenger-languages-search = Search for more languages…
+
+messenger-languages-searching =
+ .label = Searching for languages…
+
+messenger-languages-downloading =
+ .label = Downloading…
+
+messenger-languages-select-language =
+ .label = Select a language to add…
+ .placeholder = Select a language to add…
+
+messenger-languages-installed-label = Installed languages
+messenger-languages-available-label = Available languages
+
+messenger-languages-error = { -brand-short-name } can’t update your languages right now. Check that you are connected to the internet or try again.
diff --git a/comm/mail/locales/en-US/messenger/preferences/new-tag.ftl b/comm/mail/locales/en-US/messenger/preferences/new-tag.ftl
new file mode 100644
index 0000000000..8bfe3ddd9d
--- /dev/null
+++ b/comm/mail/locales/en-US/messenger/preferences/new-tag.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/.
+
+tag-dialog-window =
+ .title = New Tag
+
+tag-name-label =
+ .value = Tag Name:
+ .accesskey = T
+
+tag-color-label =
+ .value = Color:
+ .accesskey = C
diff --git a/comm/mail/locales/en-US/messenger/preferences/notifications.ftl b/comm/mail/locales/en-US/messenger/preferences/notifications.ftl
new file mode 100644
index 0000000000..b7ec3c9670
--- /dev/null
+++ b/comm/mail/locales/en-US/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 New Mail Alert
+
+customize-alert-description = Choose which fields to show in the alert notification:
+
+preview-text-checkbox =
+ .label = Message Preview Text
+ .accesskey = M
+
+subject-checkbox =
+ .label = Subject
+ .accesskey = S
+
+sender-checkbox =
+ .label = Sender
+ .accesskey = e
+
+## Note: open-time-label-before is displayed first, then there's a field where
+## the user can enter a number, and open-time-label-after is displayed at the end
+## of the line. The translations of the open-time-label-before and open-time-label-after
+## parts don't have to mean the exact same thing as in English; please try instead
+## to translate the whole sentence.
+
+open-time-label-before =
+ .value = Show New Mail Alert for
+ .accesskey = N
+
+open-time-label-after =
+ .value = seconds
diff --git a/comm/mail/locales/en-US/messenger/preferences/offline.ftl b/comm/mail/locales/en-US/messenger/preferences/offline.ftl
new file mode 100644
index 0000000000..97d83c118b
--- /dev/null
+++ b/comm/mail/locales/en-US/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 = Offline Settings
+
+autodetect-online-label =
+ .label = Automatically follow detected online state
+ .accesskey = d
+
+offline-preference-startup-label = Manual state when starting up:
+
+status-radio-remember =
+ .label = Remember previous online state
+ .accesskey = R
+
+status-radio-ask =
+ .label = Ask me for online state
+ .accesskey = k
+
+status-radio-always-online =
+ .label = Online
+ .accesskey = l
+
+status-radio-always-offline =
+ .label = Offline
+ .accesskey = f
+
+going-online-label = Send unsent messages when going online?
+
+going-online-auto =
+ .label = Yes
+ .accesskey = Y
+
+going-online-not =
+ .label = No
+ .accesskey = N
+
+going-online-ask =
+ .label = Ask me
+ .accesskey = s
+
+going-offline-label = Download messages for offline use when going offline?
+
+going-offline-auto =
+ .label = Yes
+ .accesskey = e
+
+going-offline-not =
+ .label = No
+ .accesskey = o
+
+going-offline-ask =
+ .label = Ask me
+ .accesskey = a
diff --git a/comm/mail/locales/en-US/messenger/preferences/passwordManager.ftl b/comm/mail/locales/en-US/messenger/preferences/passwordManager.ftl
new file mode 100644
index 0000000000..3662eca22c
--- /dev/null
+++ b/comm/mail/locales/en-US/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 = Saved Logins
+window-close =
+ .key = w
+focus-search-primary-shortcut =
+ .key = f
+focus-search-alt-shortcut =
+ .key = k
+copy-provider-url-cmd =
+ .label = Copy URL
+ .accesskey = y
+copy-username-cmd =
+ .label = Copy Username
+ .accesskey = U
+edit-username-cmd =
+ .label = Edit Username
+ .accesskey = d
+copy-password-cmd =
+ .label = Copy Password
+ .accesskey = C
+edit-password-cmd =
+ .label = Edit Password
+ .accesskey = E
+search-filter =
+ .accesskey = S
+ .placeholder = Search
+column-heading-provider =
+ .label = Provider
+column-heading-username =
+ .label = Username
+column-heading-password =
+ .label = Password
+column-heading-time-created =
+ .label = First Used
+column-heading-time-last-used =
+ .label = Last Used
+column-heading-time-password-changed =
+ .label = Last Changed
+column-heading-times-used =
+ .label = Times Used
+remove =
+ .label = Remove
+ .accesskey = R
+import =
+ .label = Import…
+ .accesskey = I
+password-close-button =
+ .label = Close
+ .accesskey = C
+
+show-passwords =
+ .label = Show Passwords
+ .accesskey = P
+hide-passwords =
+ .label = Hide Passwords
+ .accesskey = P
+logins-description-all = Logins for the following providers are stored on your computer
+logins-description-filtered = The following logins match your search:
+remove-all =
+ .label = Remove All
+ .accesskey = A
+remove-all-shown =
+ .label = Remove All Shown
+ .accesskey = A
+remove-all-passwords-prompt = Are you sure you wish to remove all passwords?
+remove-all-passwords-title = Remove all passwords
+no-master-password-prompt = Are you sure you wish to show your passwords?
+
+## OS Authentication dialog
+
+# This message can be seen by trying to show or copy the passwords.
+password-os-auth-dialog-message = Verify your identity to reveal the saved passwords.
+
+# 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 = reveal the saved passwords
+
+# Don't change this label.
+password-os-auth-dialog-caption = { -brand-full-name }
diff --git a/comm/mail/locales/en-US/messenger/preferences/permissions.ftl b/comm/mail/locales/en-US/messenger/preferences/permissions.ftl
new file mode 100644
index 0000000000..7b0c931d61
--- /dev/null
+++ b/comm/mail/locales/en-US/messenger/preferences/permissions.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/.
+
+permissions-reminder-window2 =
+ .title = Exceptions
+
+permission-preferences-close-window =
+ .key = w
+
+website-address-label =
+ .value = Address of website:
+ .accesskey = d
+
+block-button =
+ .label = Block
+ .accesskey = B
+
+allow-session-button =
+ .label = Allow for Session
+ .accesskey = n
+
+allow-button =
+ .label = Allow
+ .accesskey = A
+
+treehead-sitename-label =
+ .label = Site
+
+treehead-status-label =
+ .label = Status
+
+remove-site-button =
+ .label = Remove Site
+ .accesskey = R
+
+remove-all-site-button =
+ .label = Remove All Sites
+ .accesskey = e
+
+cancel-button =
+ .label = Cancel
+ .accesskey = C
+
+save-button =
+ .label = Save Changes
+ .accesskey = S
+
+permission-can-label = Allow
+permission-can-access-first-party-label = Allow first party only
+permission-can-session-label = Allow for Session
+permission-cannot-label = Block
+
+invalid-uri-message = Please enter a valid hostname
+invalid-uri-title = Invalid Hostname Entered
diff --git a/comm/mail/locales/en-US/messenger/preferences/preferences.ftl b/comm/mail/locales/en-US/messenger/preferences/preferences.ftl
new file mode 100644
index 0000000000..592e106cf8
--- /dev/null
+++ b/comm/mail/locales/en-US/messenger/preferences/preferences.ftl
@@ -0,0 +1,1026 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.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 = Close
+
+preferences-doc-title2 = Settings
+
+category-list =
+ .aria-label = Categories
+
+pane-general-title = General
+category-general =
+ .tooltiptext = { pane-general-title }
+
+pane-compose-title = Composition
+category-compose =
+ .tooltiptext = Composition
+
+pane-privacy-title = Privacy & Security
+category-privacy =
+ .tooltiptext = Privacy & Security
+
+pane-chat-title = Chat
+category-chat =
+ .tooltiptext = Chat
+
+pane-calendar-title = Calendar
+category-calendar =
+ .tooltiptext = Calendar
+
+pane-sync-title = Sync
+category-sync =
+ .tooltiptext = Sync
+
+general-language-and-appearance-header = Language & Appearance
+
+general-incoming-mail-header = Incoming Mails
+
+general-files-and-attachment-header = Files & Attachments
+
+general-tags-header = Tags
+
+general-reading-and-display-header = Reading & Display
+
+general-updates-header = Updates
+
+general-network-and-diskspace-header = Network & Disk Space
+
+general-indexing-label = Indexing
+
+composition-category-header = Composition
+
+composition-attachments-header = Attachments
+
+composition-spelling-title = Spelling
+
+compose-html-style-title = HTML Style
+
+composition-addressing-header = Addressing
+
+privacy-main-header = Privacy
+
+privacy-passwords-header = Passwords
+
+privacy-junk-header = Junk
+
+collection-header = { -brand-short-name } Data Collection and Use
+
+collection-description = We strive to provide you with choices and collect only what we need to provide and improve { -brand-short-name } for everyone. We always ask permission before receiving personal information.
+collection-privacy-notice = Privacy Notice
+
+collection-health-report-telemetry-disabled = You’re no longer allowing { -vendor-short-name } to capture technical and interaction data. All past data will be deleted within 30 days.
+collection-health-report-telemetry-disabled-link = Learn more
+
+collection-health-report =
+ .label = Allow { -brand-short-name } to send technical and interaction data to { -vendor-short-name }
+ .accesskey = r
+collection-health-report-link = Learn more
+
+# This message is displayed above disabled data sharing options in developer builds
+# or builds with no Telemetry support available.
+collection-health-report-disabled = Data reporting is disabled for this build configuration
+
+collection-backlogged-crash-reports =
+ .label = Allow { -brand-short-name } to send backlogged crash reports on your behalf
+ .accesskey = c
+collection-backlogged-crash-reports-link = Learn more
+
+privacy-security-header = Security
+
+privacy-scam-detection-title = Scam Detection
+
+privacy-anti-virus-title = Antivirus
+
+privacy-certificates-title = Certificates
+
+chat-pane-header = Chat
+
+chat-status-title = Status
+
+chat-notifications-title = Notifications
+
+chat-pane-styling-header = Styling
+
+choose-messenger-language-description = Choose the languages used to display menus, messages, and notifications from { -brand-short-name }.
+manage-messenger-languages-button =
+ .label = Set Alternatives…
+ .accesskey = l
+confirm-messenger-language-change-description = Restart { -brand-short-name } to apply these changes
+confirm-messenger-language-change-button = Apply and Restart
+
+update-setting-write-failure-title = Error saving Update preferences
+
+# 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 } encountered an error and didn’t save this change. Note that setting this update preference requires permission to write to the file below. You or a system administrator may be able resolve the error by granting the Users group full control to this file.
+
+ Could not write to file: { $path }
+
+update-in-progress-title = Update In Progress
+
+update-in-progress-message = Do you want { -brand-short-name } to continue with this update?
+
+update-in-progress-ok-button = &Discard
+# 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 = &Continue
+
+account-button = Account Settings
+open-addons-sidebar-button = Add-ons and Themes
+
+## OS Authentication dialog
+
+# This message can be seen by trying to add a Primary Password.
+primary-password-os-auth-dialog-message-win = To create a Primary Password, enter your Windows login credentials. This helps protect the security of your accounts.
+
+# 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 = create a Primary Password
+
+# 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
+
+start-page-label =
+ .label = When { -brand-short-name } launches, show the Start Page in the message area
+ .accesskey = W
+
+location-label =
+ .value = Location:
+ .accesskey = o
+restore-default-label =
+ .label = Restore Default
+ .accesskey = R
+
+default-search-engine = Default Search Engine
+add-web-search-engine =
+ .label = Add…
+ .accesskey = A
+remove-search-engine =
+ .label = Remove
+ .accesskey = v
+
+add-opensearch-provider-title = Add OpenSearch Provider
+add-opensearch-provider-text = Enter the URL of the OpenSearch provider to add. Either use the direct URL of the OpenSearch Description file, or a URL where it can be auto-discovered.
+
+adding-opensearch-provider-failed-title = Adding OpenSearch Provider Failed
+# Variables:
+# $url (String) - URL an OpenSearch provider was requested for.
+adding-opensearch-provider-failed-text = Could not add OpenSearch Provider for { $url }.
+
+minimize-to-tray-label =
+ .label = When { -brand-short-name } is minimized, move it to the tray
+ .accesskey = m
+
+new-message-arrival = When new messages arrive:
+mail-play-sound-label =
+ .label = { PLATFORM() ->
+ [macos] Play the following sound file:
+ *[other] Play a sound
+ }
+ .accesskey = d
+mail-play-button =
+ .label = Play
+ .accesskey = P
+
+change-dock-icon = Change preferences for the app icon
+app-icon-options =
+ .label = App Icon Options…
+ .accesskey = n
+
+notification-settings2 = Alerts and the default sound can be disabled on the Notification pane of System Settings.
+
+animated-alert-label =
+ .label = Show an alert
+ .accesskey = S
+customize-alert-label =
+ .label = Customize…
+ .accesskey = C
+
+biff-use-system-alert =
+ .label = Use the system notification
+
+tray-icon-unread-label =
+ .label = Show a tray icon for unread messages
+ .accesskey = t
+
+tray-icon-unread-description = Recommended when using small taskbar buttons
+
+mail-system-sound-label =
+ .label = Default system sound for new mail
+ .accesskey = D
+mail-custom-sound-label =
+ .label = Use the following sound file
+ .accesskey = U
+mail-browse-sound-button =
+ .label = Browse…
+ .accesskey = B
+
+enable-gloda-search-label =
+ .label = Enable Global Search and Indexer
+ .accesskey = G
+
+datetime-formatting-legend = Date and Time Formatting
+language-selector-legend = Language
+
+allow-hw-accel =
+ .label = Use hardware acceleration when available
+ .accesskey = h
+
+store-type-label =
+ .value = Message Store Type for new accounts:
+ .accesskey = T
+
+mbox-store-label =
+ .label = File per folder (mbox)
+maildir-store-label =
+ .label = File per message (maildir)
+
+scrolling-legend = Scrolling
+autoscroll-label =
+ .label = Use autoscrolling
+ .accesskey = U
+smooth-scrolling-label =
+ .label = Use smooth scrolling
+ .accesskey = m
+browsing-gtk-use-non-overlay-scrollbars =
+ .label = Always show scrollbars
+ .accesskey = c
+
+window-layout-legend = Window Layout
+
+draw-in-titlebar-label =
+ .label = Hide system window titlebar
+ .accesskey = H
+
+auto-hide-tabbar-label =
+ .label = Auto hide tab bar
+ .accesskey = A
+auto-hide-tabbar-description = Hide the tab bar when only a single tab is open
+
+system-integration-legend = System Integration
+always-check-default =
+ .label = Always check to see if { -brand-short-name } is the default mail client on startup
+ .accesskey = A
+check-default-button =
+ .label = Check Now…
+ .accesskey = N
+
+# Note: This is the search engine name for all the different platforms.
+# Platforms that don't support it should be left blank.
+search-engine-name = { PLATFORM() ->
+ [macos] Spotlight
+ [windows] Windows Search
+ *[other] { "" }
+}
+
+search-integration-label =
+ .label = Allow { search-engine-name } to search messages
+ .accesskey = S
+
+config-editor-button =
+ .label = Config Editor…
+ .accesskey = C
+
+return-receipts-description = Determine how { -brand-short-name } handles return receipts
+return-receipts-button =
+ .label = Return Receipts…
+ .accesskey = R
+
+update-app-legend = { -brand-short-name } Updates
+
+# Variables:
+# $version (String): version of Thunderbird, e.g. 68.0.1
+update-app-version = Version { $version }
+
+allow-description = Allow { -brand-short-name } to
+automatic-updates-label =
+ .label = Automatically install updates (recommended: improved security)
+ .accesskey = A
+check-updates-label =
+ .label = Check for updates, but let me choose whether to install them
+ .accesskey = C
+
+update-history-button =
+ .label = Show Update History
+ .accesskey = p
+
+use-service =
+ .label = Use a background service to install updates
+ .accesskey = b
+
+cross-user-udpate-warning = This setting will apply to all Windows accounts and { -brand-short-name } profiles using this installation of { -brand-short-name }.
+
+networking-legend = Connection
+proxy-config-description = Configure how { -brand-short-name } connects to the Internet
+
+network-settings-button =
+ .label = Settings…
+ .accesskey = S
+
+offline-legend = Offline
+offline-settings = Configure offline settings
+
+offline-settings-button =
+ .label = Offline…
+ .accesskey = O
+
+diskspace-legend = Disk Space
+offline-compact-folder =
+ .label = Compact all folders when it will save over
+ .accesskey = a
+
+offline-compact-folder-automatically =
+ .label = Ask every time before compacting
+ .accesskey = b
+
+compact-folder-size =
+ .value = MB in total
+
+## 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 = Use up to
+ .accesskey = U
+
+use-cache-after = MB of space for the cache
+
+##
+
+smart-cache-label =
+ .label = Override automatic cache management
+ .accesskey = v
+
+clear-cache-button =
+ .label = Clear Now
+ .accesskey = C
+
+clear-cache-shutdown-label =
+ .label = Clear cache on shutdown
+ .accesskey = s
+
+fonts-legend = Fonts & Colors
+
+default-font-label =
+ .value = Default font:
+ .accesskey = D
+
+default-size-label =
+ .value = Size:
+ .accesskey = S
+
+font-options-button =
+ .label = Advanced…
+ .accesskey = A
+
+color-options-button =
+ .label = Colors…
+ .accesskey = C
+
+display-width-legend = Plain Text Messages
+
+# Note : convert-emoticons-label 'Emoticons' are also known as 'Smileys', e.g. :-)
+convert-emoticons-label =
+ .label = Display emoticons as graphics
+ .accesskey = e
+
+display-text-label = When displaying quoted plain text messages:
+
+style-label =
+ .value = Style:
+ .accesskey = y
+
+regular-style-item =
+ .label = Regular
+bold-style-item =
+ .label = Bold
+italic-style-item =
+ .label = Italic
+bold-italic-style-item =
+ .label = Bold Italic
+
+size-label =
+ .value = Size:
+ .accesskey = z
+
+regular-size-item =
+ .label = Regular
+bigger-size-item =
+ .label = Bigger
+smaller-size-item =
+ .label = Smaller
+
+quoted-text-color =
+ .label = Color:
+ .accesskey = o
+
+search-handler-table =
+ .placeholder = Filter content types and actions
+
+type-column-header = Content Type
+
+action-column-header = Action
+
+save-to-label =
+ .label = Save files to
+ .accesskey = S
+
+choose-folder-label =
+ .label = { PLATFORM() ->
+ [macos] Choose…
+ *[other] Browse…
+ }
+ .accesskey = { PLATFORM() ->
+ [macos] C
+ *[other] B
+ }
+
+always-ask-label =
+ .label = Always ask me where to save files
+ .accesskey = A
+
+
+display-tags-text = Tags can be used to categorize and prioritize your messages.
+
+new-tag-button =
+ .label = New…
+ .accesskey = N
+
+edit-tag-button =
+ .label = Edit…
+ .accesskey = E
+
+delete-tag-button =
+ .label = Delete
+ .accesskey = D
+
+auto-mark-as-read =
+ .label = Automatically mark messages as read
+ .accesskey = A
+
+mark-read-no-delay =
+ .label = Immediately on display
+ .accesskey = o
+
+view-attachments-inline =
+ .label = View attachments inline
+ .accesskey = V
+
+## Note: This will concatenate to "After displaying for [___] seconds",
+## using (mark-read-delay) and a number (seconds-label).
+
+mark-read-delay =
+ .label = After displaying for
+ .accesskey = d
+
+seconds-label = seconds
+
+##
+
+open-msg-label =
+ .value = Open messages in:
+
+open-msg-tab =
+ .label = A new tab
+ .accesskey = t
+
+open-msg-window =
+ .label = A new message window
+ .accesskey = n
+
+open-msg-ex-window =
+ .label = An existing message window
+ .accesskey = e
+
+close-move-delete =
+ .label = Close message window/tab on move or delete
+ .accesskey = C
+
+display-name-label =
+ .value = Display name:
+
+condensed-addresses-label =
+ .label = Show only display name for people in my address book
+ .accesskey = S
+
+## Compose Tab
+
+forward-label =
+ .value = Forward messages:
+ .accesskey = F
+
+inline-label =
+ .label = Inline
+
+as-attachment-label =
+ .label = As Attachment
+
+extension-label =
+ .label = add extension to file name
+ .accesskey = e
+
+## Note: This will concatenate to "Auto Save every [___] minutes",
+## using (auto-save-label) and a number (auto-save-end).
+
+auto-save-label =
+ .label = Auto Save every
+ .accesskey = A
+
+auto-save-end = minutes
+
+##
+
+warn-on-send-accel-key =
+ .label = Confirm when using keyboard shortcut to send message
+ .accesskey = C
+
+add-link-previews =
+ .label = Add link previews when pasting URLs
+ .accesskey = i
+
+spellcheck-label =
+ .label = Check spelling before sending
+ .accesskey = C
+
+spellcheck-inline-label =
+ .label = Enable spellcheck as you type
+ .accesskey = E
+
+language-popup-label =
+ .value = Language:
+ .accesskey = L
+
+download-dictionaries-link = Download More Dictionaries
+
+font-label =
+ .value = Font:
+ .accesskey = n
+
+font-size-label =
+ .value = Size:
+ .accesskey = z
+
+default-colors-label =
+ .label = Use reader’s default colors
+ .accesskey = d
+
+font-color-label =
+ .value = Text Color:
+ .accesskey = T
+
+bg-color-label =
+ .value = Background Color:
+ .accesskey = B
+
+restore-html-label =
+ .label = Restore Defaults
+ .accesskey = R
+
+default-format-label =
+ .label = Use Paragraph format instead of Body Text by default
+ .accesskey = P
+
+compose-send-format-title = Sending Format
+
+compose-send-automatic-option =
+ .label = Automatic
+
+compose-send-automatic-description = If no styling is used in the message, send Plain Text. Otherwise, send HTML with a Plain Text fallback.
+
+compose-send-both-option =
+ .label = Both HTML and Plain Text
+
+compose-send-both-description = The recipient’s email application will determine which version to show.
+
+compose-send-html-option =
+ .label = Only HTML
+
+compose-send-html-description = Some recipients may not be able to read the message without a Plain Text fallback.
+
+compose-send-plain-option =
+ .label = Only Plain Text
+
+compose-send-plain-description = Some styling will be converted into a plain alternative, while other composition features will be disabled.
+
+autocomplete-description = When addressing messages, look for matching entries in:
+
+ab-label =
+ .label = Local Address Books
+ .accesskey = L
+
+directories-label =
+ .label = Directory Server:
+ .accesskey = D
+
+directories-none-label =
+ .none = None
+
+edit-directories-label =
+ .label = Edit Directories…
+ .accesskey = E
+
+email-picker-label =
+ .label = Automatically add outgoing email addresses to my:
+ .accesskey = A
+
+default-directory-label =
+ .value = Default startup directory in the address book window:
+ .accesskey = S
+
+default-last-label =
+ .none = Last used directory
+
+attachment-label =
+ .label = Check for missing attachments
+ .accesskey = m
+
+attachment-options-label =
+ .label = Keywords…
+ .accesskey = K
+
+enable-cloud-share =
+ .label = Offer to share for files larger than
+cloud-share-size =
+ .value = MB
+
+add-cloud-account =
+ .label = Add…
+ .accesskey = A
+ .defaultlabel = Add…
+
+remove-cloud-account =
+ .label = Remove
+ .accesskey = R
+
+find-cloud-providers =
+ .value = Find more providers…
+
+cloud-account-description = Add a new Filelink storage service
+
+## Privacy Tab
+
+mail-content = Mail Content
+
+remote-content-label =
+ .label = Allow remote content in messages
+ .accesskey = m
+
+exceptions-button =
+ .label = Exceptions…
+ .accesskey = E
+
+remote-content-info =
+ .value = Learn more about the privacy issues of remote content
+
+web-content = Web Content
+
+history-label =
+ .label = Remember websites and links I’ve visited
+ .accesskey = R
+
+cookies-label =
+ .label = Accept cookies from sites
+ .accesskey = A
+
+third-party-label =
+ .value = Accept third-party cookies:
+ .accesskey = c
+
+third-party-always =
+ .label = Always
+third-party-never =
+ .label = Never
+third-party-visited =
+ .label = From visited
+
+cookies-button =
+ .label = Show Cookies…
+ .accesskey = S
+
+do-not-track-label =
+ .label = Send websites a “Do Not Track” signal that you don’t want to be tracked
+ .accesskey = n
+
+dnt-learn-more-button =
+ .value = Learn more
+
+passwords-description = { -brand-short-name } can remember passwords for all of your accounts.
+
+passwords-button =
+ .label = Saved Passwords…
+ .accesskey = S
+
+primary-password-description = A Primary Password protects all your passwords, but you must enter it once per session.
+
+primary-password-label =
+ .label = Use a Primary Password
+ .accesskey = U
+
+primary-password-button =
+ .label = Change Primary Password…
+ .accesskey = C
+
+forms-primary-pw-fips-title = You are currently in FIPS mode. FIPS requires a non-empty Primary Password.
+forms-master-pw-fips-desc = Password Change Failed
+
+
+junk-description = Set your default junk mail settings. Account-specific junk mail settings can be configured in Account Settings.
+
+junk-label =
+ .label = When I mark messages as junk:
+ .accesskey = W
+
+junk-move-label =
+ .label = Move them to the account’s “Junk” folder
+ .accesskey = o
+
+junk-delete-label =
+ .label = Delete them
+ .accesskey = D
+
+junk-read-label =
+ .label = Mark messages determined to be Junk as read
+ .accesskey = M
+
+junk-log-label =
+ .label = Enable adaptive junk filter logging
+ .accesskey = E
+
+junk-log-button =
+ .label = Show log
+ .accesskey = S
+
+reset-junk-button =
+ .label = Reset Training Data
+ .accesskey = R
+
+phishing-description = { -brand-short-name } can analyze messages for suspected email scams by looking for common techniques used to deceive you.
+
+phishing-label =
+ .label = Tell me if the message I’m reading is a suspected email scam
+ .accesskey = T
+
+antivirus-description = { -brand-short-name } can make it easy for antivirus software to analyze incoming mail messages for viruses before they are stored locally.
+
+antivirus-label =
+ .label = Allow antivirus clients to quarantine individual incoming messages
+ .accesskey = A
+
+certificate-description = When a server requests my personal certificate:
+
+certificate-auto =
+ .label = Select one automatically
+ .accesskey = S
+
+certificate-ask =
+ .label = Ask me every time
+ .accesskey = A
+
+ocsp-label =
+ .label = Query OCSP responder servers to confirm the current validity of certificates
+ .accesskey = Q
+
+certificate-button =
+ .label = Manage Certificates…
+ .accesskey = M
+
+security-devices-button =
+ .label = Security Devices…
+ .accesskey = D
+
+email-e2ee-header = Email End-To-End Encryption
+
+account-settings = Account Settings
+
+email-e2ee-enable-info =
+ Set up email accounts and identities for End-To-End Encryption in Account Settings.
+
+email-e2ee-automatism = Automatic Use of Encryption
+email-e2ee-automatism-pre =
+ { -brand-short-name } can assist by automatically enabling or disabling encryption while composing an email.
+ Auto enabling/disabling is based on the availability of valid and accepted correspondents’ keys or certificates.
+email-e2ee-auto-on =
+ .label = Automatically enable encryption when possible
+email-e2ee-auto-off =
+ .label = Automatically disable encryption when recipients change and encryption is no longer possible
+email-e2ee-auto-off-notify =
+ .label = Show a notification whenever encryption is disabled automatically
+email-e2ee-automatism-post =
+ Automatic decisions may be overridden by manually enabling or disabling encryption when composing a message.
+ Note: encryption is always automatically enabled when replying to an encrypted message.
+
+## Chat Tab
+
+startup-label =
+ .value = When { -brand-short-name } starts:
+ .accesskey = s
+
+offline-label =
+ .label = Keep my Chat Accounts offline
+
+auto-connect-label =
+ .label = Connect my chat accounts automatically
+
+## 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 = Let my contacts know that I am Idle after
+ .accesskey = I
+
+idle-time-label = minutes of inactivity
+
+##
+
+away-message-label =
+ .label = and set my status to Away with this status message:
+ .accesskey = A
+
+send-typing-label =
+ .label = Send typing notifications in conversations
+ .accesskey = t
+
+notification-label = When messages directed at you arrive:
+
+show-notification-label =
+ .label = Show a notification:
+ .accesskey = c
+
+notification-all =
+ .label = with sender’s name and message preview
+notification-name =
+ .label = with sender’s name only
+notification-empty =
+ .label = without any info
+
+notification-type-label =
+ .label = { PLATFORM() ->
+ [macos] Animate dock icon
+ *[other] Flash the taskbar item
+ }
+ .accesskey = { PLATFORM() ->
+ [macos] o
+ *[other] F
+ }
+
+chat-play-sound-label =
+ .label = Play a sound
+ .accesskey = d
+
+chat-play-button =
+ .label = Play
+ .accesskey = P
+
+chat-system-sound-label =
+ .label = Default system sound for new mail
+ .accesskey = D
+
+chat-custom-sound-label =
+ .label = Use the following sound file
+ .accesskey = U
+
+chat-browse-sound-button =
+ .label = Browse…
+ .accesskey = B
+
+theme-label =
+ .value = Theme:
+ .accesskey = T
+
+style-mail =
+ .label = { -brand-short-name }
+style-bubbles =
+ .label = Bubbles
+style-dark =
+ .label = Dark
+style-paper =
+ .label = Paper Sheets
+style-simple =
+ .label = Simple
+
+preview-label = Preview:
+no-preview-label = No preview available
+no-preview-description = This theme is not valid or is currently unavailable (disabled addon, safe-mode, …).
+
+chat-variant-label =
+ .value = Variant:
+ .accesskey = V
+
+# This is used to determine the width of the search field in about:preferences,
+# in order to make the entire placeholder string visible
+#
+# Please keep the placeholder string short to avoid truncation.
+#
+# Notice: The value of the `.style` attribute is a CSS string, and the `width`
+# is the name of the CSS property. It is intended only to adjust the element's width.
+# Do not translate.
+search-preferences-input2 =
+ .style = width: 15.4em
+ .placeholder = Find in Settings
+
+## Settings UI Search Results
+
+search-results-header = Search Results
+
+# `<span data-l10n-name="query"></span>` will be replaced by the search term.
+search-results-empty-message2 = { PLATFORM() ->
+ [windows] Sorry! There are no results in Options for “<span data-l10n-name="query"></span>”.
+ *[other] Sorry! There are no results in Settings for “<span data-l10n-name="query"></span>”.
+}
+
+search-results-help-link = Need help? Visit <a data-l10n-name="url">{ -brand-short-name } Support</a>
+
+## Sync Tab
+
+sync-signedout-caption = Take Your Web With You
+
+sync-signedout-description = Synchronize your accounts, address books, calendars, add-ons, and settings across all your devices.
+
+# Note: "Sync" represents the Firefox Sync product so it shouldn't be translated.
+sync-signedout-account-signin-btn = Sign in to Sync…
+
+sync-pane-header = Sync
+
+# Variables:
+# $userEmail (String) - The email logged into Sync.
+sync-pane-email-not-verified = “{ $userEmail }” is not verified.
+
+# Variables:
+# $userEmail (String) - The email logged into Sync.
+sync-signedin-login-failure = Please sign in to reconnect “{ $userEmail }”
+
+sync-pane-resend-verification = Resend verification
+
+sync-pane-sign-in = Sign in
+
+sync-pane-remove-account = Remove account
+
+sync-pane-edit-photo =
+ .title = Change profile picture
+
+sync-pane-manage-account = Manage account
+
+sync-pane-sign-out = Sign out…
+
+sync-pane-device-name-title = Device Name
+
+sync-pane-change-device-name = Change device name
+
+sync-pane-cancel = Cancel
+
+sync-pane-save = Save
+
+sync-pane-show-synced-header-on = Syncing ON
+
+sync-pane-show-synced-header-off = Syncing OFF
+
+sync-pane-sync-now = Sync Now
+
+sync-panel-sync-now-syncing = Syncing…
+
+show-synced-list-heading = You are currently syncing these items:
+
+show-synced-learn-more = Learn more…
+
+show-synced-item-account = Email Accounts
+
+show-synced-item-address = Address Books
+
+show-synced-item-calendar = Calendars
+
+show-synced-item-identity = Identities
+
+show-synced-item-passwords = Passwords
+
+show-synced-change = Change…
+
+synced-acount-item-server-config = Server configuration
+
+synced-acount-item-filters = Filters
+
+synced-acount-item-keys = OpenPGP - S/MIME
+
+sync-disconnected-text = Synchronize your email accounts, address books, calendars, and identities across all your devices.
+
+sync-disconnected-turn-on-sync = Turn on Syncing…
diff --git a/comm/mail/locales/en-US/messenger/preferences/receipts.ftl b/comm/mail/locales/en-US/messenger/preferences/receipts.ftl
new file mode 100644
index 0000000000..7d65333000
--- /dev/null
+++ b/comm/mail/locales/en-US/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 Receipts
+
+return-receipt-checkbox-control =
+ .label = When sending messages, always request a return receipt
+ .accesskey = W
+
+receipt-arrive-label = When a receipt arrives:
+
+receipt-leave-radio-control =
+ .label = Leave it in my Inbox
+ .accesskey = i
+
+receipt-move-radio-control =
+ .label = Move it to my “Sent” folder
+ .accesskey = m
+
+receipt-request-label = When I receive a request for a return receipt:
+
+receipt-return-never-radio-control =
+ .label = Never send a return receipt
+ .accesskey = n
+
+receipt-return-some-radio-control =
+ .label = Allow return receipts for some messages
+ .accesskey = r
+
+receipt-not-to-cc-label =
+ .value = If I’m not in the To or Cc of the message:
+ .accesskey = f
+
+receipt-send-never-label =
+ .label = Never send
+
+receipt-send-always-label =
+ .label = Always send
+
+receipt-send-ask-label =
+ .label = Ask me
+
+sender-outside-domain-label =
+ .value = If the sender is outside my domain:
+ .accesskey = t
+
+other-cases-text-label =
+ .value = In all other cases:
+ .accesskey = a
diff --git a/comm/mail/locales/en-US/messenger/preferences/sync-dialog.ftl b/comm/mail/locales/en-US/messenger/preferences/sync-dialog.ftl
new file mode 100644
index 0000000000..da03ca42bd
--- /dev/null
+++ b/comm/mail/locales/en-US/messenger/preferences/sync-dialog.ftl
@@ -0,0 +1,12 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+config-sync-dailog-title =
+ .title = Choose what to sync
+
+sync-dialog =
+ .buttonlabelaccept = Save Changes
+ .buttonaccesskeyaccept = S
+ .buttonlabelextra2 = Disconnect…
+ .buttonaccesskeyextra2 = D
diff --git a/comm/mail/locales/en-US/messenger/preferences/system-integration.ftl b/comm/mail/locales/en-US/messenger/preferences/system-integration.ftl
new file mode 100644
index 0000000000..f9723bf8de
--- /dev/null
+++ b/comm/mail/locales/en-US/messenger/preferences/system-integration.ftl
@@ -0,0 +1,44 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+system-integration-title =
+ .title = System Integration
+
+system-integration-dialog =
+ .buttonlabelaccept = Set as Default
+ .buttonlabelcancel = Skip Integration
+ .buttonlabelcancel2 = Cancel
+
+default-client-intro = Use { -brand-short-name } as the default client for:
+
+unset-default-tooltip = It is not possible to unset { -brand-short-name } as the default client within { -brand-short-name }. To make another application the default you must use its “Set as default” dialog.
+
+checkbox-email-label =
+ .label = Email
+ .tooltiptext = { unset-default-tooltip }
+checkbox-newsgroups-label =
+ .label = Newsgroups
+ .tooltiptext = { unset-default-tooltip }
+checkbox-feeds-label =
+ .label = Feeds
+ .tooltiptext = { unset-default-tooltip }
+checkbox-calendar-label =
+ .label = Calendar
+ .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 = Allow { system-search-engine-name } to search messages
+ .accesskey = S
+
+check-on-startup-label =
+ .label = Always perform this check when starting { -brand-short-name }
+ .accesskey = A
diff --git a/comm/mail/locales/en-US/messenger/shortcuts.ftl b/comm/mail/locales/en-US/messenger/shortcuts.ftl
new file mode 100644
index 0000000000..89c76072b1
--- /dev/null
+++ b/comm/mail/locales/en-US/messenger/shortcuts.ftl
@@ -0,0 +1,114 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+## Shortcuts
+## Variables:
+## $key (String) - The shortcut key.
+
+shortcut-key = { $key }
+
+meta-shortcut-key = {
+ PLATFORM() ->
+ [macos] ⌘ { $key }
+ *[other] Meta+{ $key }
+}
+
+ctrl-shortcut-key = {
+ PLATFORM() ->
+ [macos] ⌃ { $key }
+ *[other] Ctrl+{ $key }
+}
+
+shift-shortcut-key = {
+ PLATFORM() ->
+ [macos] ⇧ { $key }
+ *[other] Shift+{ $key }
+}
+
+alt-shortcut-key = {
+ PLATFORM() ->
+ [macos] ⌥ { $key }
+ *[other] Alt+{ $key }
+}
+
+meta-ctrl-shortcut-key = {
+ PLATFORM() ->
+ [macos] ⌃ ⌘ { $key }
+ *[other] Meta+Ctrl+{ $key }
+}
+
+meta-alt-shortcut-key = {
+ PLATFORM() ->
+ [macos] ⌥ ⌘ { $key }
+ *[other] Meta+Alt+{ $key }
+}
+
+ctrl-alt-shortcut-key = {
+ PLATFORM() ->
+ [macos] ⌃ ⌥ { $key }
+ *[other] Ctrl+Alt+{ $key }
+}
+
+meta-ctrl-alt-shortcut-key = {
+ PLATFORM() ->
+ [macos] ⌃ ⌥ ⌘ { $key }
+ *[other] Meta+Ctrl+Alt+{ $key }
+}
+
+meta-shift-shortcut-key = {
+ PLATFORM() ->
+ [macos] ⇧ ⌘ { $key }
+ *[other] Meta+Shift+{ $key }
+}
+
+ctrl-shift-shortcut-key = {
+ PLATFORM() ->
+ [macos] ⌃ ⇧ { $key }
+ *[other] Ctrl+Shift+{ $key }
+}
+
+meta-ctrl-shift-shortcut-key = {
+ PLATFORM() ->
+ [macos] ⌃ ⇧ ⌘ { $key }
+ *[other] Meta+Ctrl+Shift+{ $key }
+}
+
+alt-shift-shortcut-key = {
+ PLATFORM() ->
+ [macos] ⌥ ⇧ { $key }
+ *[other] Alt+Shift+{ $key }
+}
+
+meta-shift-alt-shortcut-key2 = {
+ PLATFORM() ->
+ [macos] ⌥ ⇧ ⌘ { $key }
+ *[other] Meta+Alt+Shift+{ $key }
+}
+
+ctrl-shift-alt-shortcut-key2 = {
+ PLATFORM() ->
+ [macos] ⌃ ⌥ ⇧ { $key }
+ *[other] Ctrl+Alt+Shift+{ $key }
+}
+
+meta-ctrl-shift-alt-shortcut-key2 = {
+ PLATFORM() ->
+ [macos] ⌃ ⌥ ⇧ ⌘ { $key }
+ *[other] Meta+Ctrl+Alt+Shift+{ $key }
+}
+
+## Shortcut and label combined strings
+
+# Variables:
+# $title (String): The title coming from the original element.
+# $shortcut (String): The shortcut generated from the keystroke combination.
+button-shortcut-string =
+ .title = { $title } ({ $shortcut })
+
+# Variables:
+# $label (String): The text label coming from the original element.
+# $shortcut (String): The shortcut generated from the keystroke combination.
+menuitem-shortcut-string =
+ .label = { $label }
+ .acceltext = { $shortcut }
diff --git a/comm/mail/locales/en-US/messenger/treeView.ftl b/comm/mail/locales/en-US/messenger/treeView.ftl
new file mode 100644
index 0000000000..d984a36bf1
--- /dev/null
+++ b/comm/mail/locales/en-US/messenger/treeView.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/.
+
+## Table
+
+tree-list-view-row-select =
+ .alt = Checkbox to toggle select the current row
+ .title = Select the current row
+
+tree-list-view-row-deselect =
+ .alt = Checkbox to toggle select the current row
+ .title = Deselect the current row
+
+tree-list-view-row-delete =
+ .title = Delete the current row
+
+tree-list-view-row-restore =
+ .title = Restore the current row
+
+tree-list-view-column-picker =
+ .title = Select columns to display
+
+tree-list-view-column-picker-restore =
+ .label = Restore column order
+
+tree-list-view-row-thread-button =
+ .title = This is a threaded message
+
+tree-list-view-row-ignored-thread = Thread ignored
+
+tree-list-view-row-ignored-thread-button =
+ .title = This threaded message is ignored
+
+tree-list-view-row-ignored-subthread = Subthread ignored
+
+tree-list-view-row-ignored-subthread-button =
+ .title = This subthread is ignored
+
+tree-list-view-row-watched-thread = Thread watched
+
+tree-list-view-row-watched-thread-button =
+ .title = This threaded message is watched
+
+tree-list-view-row-flagged =
+ .alt = Starred message indicator
+ .title = Message starred
+
+tree-list-view-row-flag =
+ .alt = Starred message indicator
+ .title = Message not starred
+
+tree-list-view-row-attach =
+ .alt = Attachment indicator
+ .title = Message contains attachments
+
+tree-list-view-row-spam =
+ .alt = Spam status indicator
+ .title = Message marked as spam
+
+tree-list-view-row-not-spam =
+ .alt = Spam status indicator
+ .title = Message not marked as spam
+
+tree-list-view-row-read =
+ .alt = Read status indicator
+ .title = Message read status
+
+tree-list-view-row-not-read =
+ .alt = Unread status indicator
+ .title = Message unread status
diff --git a/comm/mail/locales/en-US/messenger/troubleshootMode.ftl b/comm/mail/locales/en-US/messenger/troubleshootMode.ftl
new file mode 100644
index 0000000000..69cfa347f9
--- /dev/null
+++ b/comm/mail/locales/en-US/messenger/troubleshootMode.ftl
@@ -0,0 +1,39 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+troubleshoot-mode-window =
+ .title = { -brand-short-name } Troubleshoot Mode
+ .style = width: 40em;
+
+troubleshoot-mode-description = Use { -brand-short-name } troubleshoot mode to diagnose issues. Your add-ons and customizations will be temporarily disabled.
+
+troubleshoot-mode-description2 = You can make some or all of these changes permanent:
+
+troubleshoot-mode-disable-addons =
+ .label = Disable all add-ons
+ .accesskey = D
+
+troubleshoot-mode-reset-toolbars =
+ .label = Reset toolbars and controls
+ .accesskey = R
+
+troubleshoot-mode-change-and-restart =
+ .label = Make Changes and Restart
+ .accesskey = M
+
+troubleshoot-mode-continue =
+ .label = Continue in Troubleshoot Mode
+ .accesskey = C
+
+troubleshoot-mode-quit =
+ .label =
+ { PLATFORM() ->
+ [windows] Exit
+ *[other] Quit
+ }
+ .accesskey =
+ { PLATFORM() ->
+ [windows] x
+ *[other] Q
+ }
diff --git a/comm/mail/locales/en-US/messenger/unifiedToolbar.ftl b/comm/mail/locales/en-US/messenger/unifiedToolbar.ftl
new file mode 100644
index 0000000000..59df02aee5
--- /dev/null
+++ b/comm/mail/locales/en-US/messenger/unifiedToolbar.ftl
@@ -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/.
+
+### Unified Toolbar strings
+
+## Search bar
+
+search-bar-button =
+ .alt = Search
+
+search-bar-item =
+ .label = Search:
+
+search-bar-placeholder = Search…
+
+# Search bar placeholder with formatted key shortcut hint (platform dependent).
+# The key after the control modifier should match the key from quickSearchCmd.key
+# in messenger.dtd.
+search-bar-placeholder-with-key2 = {
+ PLATFORM() ->
+ [macos] {search-bar-placeholder} <kbd>⌘</kbd> <kbd>K</kbd>
+ *[other] {search-bar-placeholder} <kbd>Ctrl</kbd> + <kbd>K</kbd>
+}
+
+## Unified toolbar context menu
+
+customize-menu-customize =
+ .label = Customize…
+
+## Unified Toolbar customization
+
+customize-title = Customize Toolbars
+
+customize-space-tab-mail = Mail
+ .title = Mail
+
+customize-space-tab-addressbook = Address Book
+ .title = Address Book
+
+customize-space-tab-calendar = Calendar
+ .title = Calendar
+
+customize-space-tab-tasks = Tasks
+ .title = Tasks
+
+customize-space-tab-chat = Chat
+ .title = Chat
+
+customize-space-tab-settings = Settings
+ .title = Settings
+
+customize-restore-default = Restore default
+
+customize-change-appearance = Change appearance…
+
+customize-button-style-label = Button style:
+
+customize-button-style-icons-beside-text-option = Icons beside text
+
+customize-button-style-icons-above-text-option = Icons above text
+
+customize-button-style-icons-only-option = Icons only
+
+customize-button-style-text-only-option = Text only
+
+customize-cancel = Cancel
+
+customize-save = Save
+
+customize-unsaved-changes = Unsaved changes in other spaces
+
+customize-search-bar =
+ .label = Search toolbar buttons…
+
+customize-spaces-tabs =
+ .aria-label = Spaces
+
+customize-main-toolbar-target =
+ .aria-label = Main toolbar
+
+customize-palette-generic-title = Available for all Spaces
+
+customize-palette-mail-specific-title = Available for Mail Space only
+
+customize-palette-addressbook-specific-title = Available for Address Book Space only
+
+customize-palette-calendar-specific-title = Available for Calendar Space only
+
+customize-palette-tasks-specific-title = Available for Tasks Space only
+
+customize-palette-chat-specific-title = Available for Chat Space only
+
+customize-palette-settings-specific-title = Available for Settings Space only
+
+customize-palette-extension-specific-title = Available for this Space only
+
+## Unified toolbar customization palette context menu
+
+# Variables:
+# $target (String) - Name of the target the item should be added to.
+customize-palette-add-to =
+ .label = Add to { $target }
+
+customize-palette-add-everywhere =
+ .label = Add to all toolbars
+
+## Unified toolbar customization target context menu
+
+customize-target-forward =
+ .label = Move forward
+
+customize-target-backward =
+ .label = Move backward
+
+customize-target-remove =
+ .label = Remove
+
+customize-target-remove-everywhere =
+ .label = Remove from all toolbars
+
+customize-target-add-everywhere =
+ .label = Add to all toolbars
+
+customize-target-start =
+ .label = Move to the start
+
+customize-target-end =
+ .label = Move to the end
diff --git a/comm/mail/locales/en-US/messenger/unifiedToolbarItems.ftl b/comm/mail/locales/en-US/messenger/unifiedToolbarItems.ftl
new file mode 100644
index 0000000000..fa96706834
--- /dev/null
+++ b/comm/mail/locales/en-US/messenger/unifiedToolbarItems.ftl
@@ -0,0 +1,234 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+### Unified Toolbar Item Label strings
+
+spacer-label = Flexible Space
+
+search-bar-label = Search
+
+toolbar-write-message-label = Write
+
+toolbar-write-message =
+ .title = Create a new message
+
+toolbar-move-to-label = Move to
+
+toolbar-move-to =
+ .title = Move selected message
+
+toolbar-unifinder-label = Find Events
+
+toolbar-unifinder =
+ .title = Toggle the find events pane
+
+toolbar-folder-location-label = Folder Location
+
+toolbar-folder-location =
+ .title = Switch to folder
+
+toolbar-edit-event-label = Edit
+
+toolbar-edit-event =
+ .title = Edit selected event or task
+
+toolbar-get-messages-label = Get Messages
+
+toolbar-get-messages =
+ .title = Fetch new messages for all accounts
+
+toolbar-reply-label = Reply
+
+toolbar-reply =
+ .title = Reply to the message
+
+toolbar-reply-all-label = Reply All
+
+toolbar-reply-all =
+ .title = Reply to sender and all recipients
+
+toolbar-reply-to-list-label = Reply to List
+
+toolbar-reply-to-list =
+ .title = Reply to mailing list
+
+toolbar-redirect-label = Redirect
+
+toolbar-redirect =
+ .title = Redirect selected message
+
+toolbar-archive-label = Archive
+
+toolbar-archive =
+ .title = Archive selected messages
+
+toolbar-conversation-label = Conversation
+
+toolbar-conversation =
+ .title = Show conversation of selected message
+
+toolbar-previous-unread-label = Previous Unread
+
+toolbar-previous-unread =
+ .title = Move to the previous unread message
+
+toolbar-previous-label = Previous
+
+toolbar-previous =
+ .title = Move to the previous message
+
+toolbar-next-unread-label = Next Unread
+
+toolbar-next-unread =
+ .title = Move to the next unread message
+
+toolbar-next-label = Next
+
+toolbar-next =
+ .title = Move to the next message
+
+toolbar-junk-label = Junk
+
+toolbar-junk =
+ .title = Mark the selected messages as junk
+
+toolbar-delete-label = Delete
+
+toolbar-delete-title =
+ .title = Delete the selected messages
+
+toolbar-undelete-label = Undelete
+
+toolbar-undelete =
+ .title = Undelete the selected messages
+
+toolbar-compact-label = Compact
+
+toolbar-compact =
+ .title = Remove deleted messages from selected folder
+
+toolbar-add-as-event-label = Add as Event
+
+toolbar-add-as-event =
+ .title = Extract calendaring information from the message and add it to your calendar as an event
+
+toolbar-add-as-task-label = Add as Task
+
+toolbar-add-as-task =
+ .title = Extract calendaring information from the message and add it to your calendar as a task
+
+toolbar-tag-message-label = Tag
+
+toolbar-tag-message =
+ .title = Tag messages
+
+toolbar-forward-inline-label = Forward
+
+toolbar-forward-inline =
+ .title = Forward selected message as inline text
+
+toolbar-forward-attachment-label = Forward as Attachment
+
+toolbar-forward-attachment =
+ .title = Forward selected message as an attachment
+
+toolbar-mark-as-label = Mark
+
+toolbar-mark-as =
+ .title = Mark messages
+
+toolbar-view-picker-label = View
+
+toolbar-view-picker =
+ .title = Customize view of current folder
+
+toolbar-address-book-label = Address Book
+
+toolbar-address-book =
+ .title = Go to the address book
+
+toolbar-chat-label = Chat
+
+toolbar-chat =
+ .title = Show the Chat tab
+
+toolbar-add-ons-and-themes-label = Add-ons and Themes
+
+toolbar-add-ons-and-themes =
+ .title = Manage your add-ons
+
+toolbar-calendar-label = Calendar
+
+toolbar-calendar =
+ .title = Switch to the calendar tab
+
+toolbar-tasks-label = Tasks
+
+toolbar-tasks =
+ .title = Switch to the tasks tab
+
+toolbar-mail-label = Mail
+
+toolbar-mail =
+ .title = Switch to the mail tab
+
+toolbar-print-label = Print
+
+toolbar-print =
+ .title = Print this message
+
+toolbar-quick-filter-bar-label = Quick Filter
+
+toolbar-quick-filter-bar =
+ .title = Filter messages
+
+toolbar-synchronize-label = Synchronize
+
+toolbar-synchronize =
+ .title = Reload calendars and synchronize changes
+
+toolbar-delete-event-label = Delete
+
+toolbar-delete-event =
+ .title = Delete selected events or tasks
+
+toolbar-go-to-today-label = Go to Today
+
+toolbar-go-to-today =
+ .title = Go to Today
+
+toolbar-print-event-label = Print
+
+toolbar-print-event =
+ .title = Print events or tasks
+
+toolbar-new-event-label = Event
+
+toolbar-new-event =
+ .title = Create a new event
+
+toolbar-new-task-label = Task
+
+toolbar-new-task =
+ .title = Create a new task
+
+toolbar-go-back-label = Back
+
+toolbar-go-back =
+ .title = Go back one message
+
+toolbar-go-forward-label = Forward
+
+toolbar-go-forward =
+ .title = Go forward one message
+
+toolbar-stop-label = Stop
+
+toolbar-stop =
+ .title = Stop the current transfer
+
+toolbar-throbber-label = Activity Indicator
+
+toolbar-throbber =
+ .title = Activity Indicator
diff --git a/comm/mail/locales/en-US/messenger/viewSource.ftl b/comm/mail/locales/en-US/messenger/viewSource.ftl
new file mode 100644
index 0000000000..51e110d48c
--- /dev/null
+++ b/comm/mail/locales/en-US/messenger/viewSource.ftl
@@ -0,0 +1,19 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+context-text-action-find =
+ .label = Find
+ .accesskey = F
+
+context-text-action-find-again =
+ .label = Find Again
+ .accesskey = g
+
+text-action-find =
+ .label = Find
+ .accesskey = F
+
+text-action-find-again =
+ .label = Find Again
+ .accesskey = g
diff --git a/comm/mail/locales/en-US/updater/updater.ini b/comm/mail/locales/en-US/updater/updater.ini
new file mode 100644
index 0000000000..40cec45ef6
--- /dev/null
+++ b/comm/mail/locales/en-US/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% Update
+InfoText=%MOZ_APP_DISPLAYNAME% is installing your updates and will start in a few moments…
diff --git a/comm/mail/locales/filter.py b/comm/mail/locales/filter.py
new file mode 100644
index 0000000000..eb0bfcc6be
--- /dev/null
+++ b/comm/mail/locales/filter.py
@@ -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/.
+
+
+def test(mod, path, entity=None):
+ # ignore anything but Thunderbird
+ if mod not in (
+ "netwerk",
+ "dom",
+ "toolkit",
+ "security/manager",
+ "devtools/shared",
+ "devtools/client",
+ "mail",
+ "chat",
+ "extensions/spellcheck",
+ "mail/branding/thunderbird",
+ ):
+ return "ignore"
+
+ # ignore dictionaries
+ if mod == "extensions/spellcheck":
+ return "ignore"
+
+ return "error"
diff --git a/comm/mail/locales/generate_ini.py b/comm/mail/locales/generate_ini.py
new file mode 100644
index 0000000000..0d9ee1aaad
--- /dev/null
+++ b/comm/mail/locales/generate_ini.py
@@ -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/.
+
+# Generate updater.ini by doing some light substitution on the localized updater.ini input,
+# and appending the contents of updater_ini_append on Windows.
+
+import codecs
+import re
+import shutil
+
+import buildconfig
+
+
+def main(output, ini, ini_append=None, locale=None):
+ fixup_re = re.compile("^(Info|Title)Text=")
+ # Input INI is always utf-8.
+ with codecs.open(ini, "rb", "utf_8") as f:
+ for line in f:
+ line = fixup_re.sub(r"\1=", line)
+ line = line.replace("%MOZ_APP_DISPLAYNAME%", buildconfig.substs["MOZ_APP_DISPLAYNAME"])
+ output.write(line)
+ if ini_append and buildconfig.substs["OS_TARGET"] == "WINNT":
+ # Also append the contents of `ini_append`.
+ with codecs.open(ini_append, "rb", "utf_8") as f:
+ shutil.copyfileobj(f, output)
diff --git a/comm/mail/locales/jar.mn b/comm/mail/locales/jar.mn
new file mode 100644
index 0000000000..100c7584a5
--- /dev/null
+++ b/comm/mail/locales/jar.mn
@@ -0,0 +1,197 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# Note: This file should only contain locale entries. All
+# override and resource entries should go to mail/base/jar.mn to avoid
+# having to create the same entry for each locale.
+
+#filter substitution
+
+[localization] @AB_CD@.jar:
+ browser (%browser/**/*.ftl)
+ messenger (%messenger/**/*.ftl)
+
+@AB_CD@.jar:
+% locale messenger @AB_CD@ %locale/@AB_CD@/messenger/
+ locale/@AB_CD@/messenger/aboutDownloads.dtd (%chrome/messenger/aboutDownloads.dtd)
+ locale/@AB_CD@/messenger/aboutRights.properties (%chrome/messenger/aboutRights.properties)
+ locale/@AB_CD@/messenger/aboutSupportMail.properties (%chrome/messenger/aboutSupportMail.properties)
+ locale/@AB_CD@/messenger/telemetry.properties (%chrome/messenger/telemetry.properties)
+ locale/@AB_CD@/messenger/accountCreationModel.properties (%chrome/messenger/accountCreationModel.properties)
+ locale/@AB_CD@/messenger/accountCreationUtil.properties (%chrome/messenger/accountCreationUtil.properties)
+ locale/@AB_CD@/messenger/appUpdate.properties (%chrome/messenger/appUpdate.properties)
+ locale/@AB_CD@/messenger/charsetTitles.properties (%chrome/messenger/charsetTitles.properties)
+ locale/@AB_CD@/messenger/customizeToolbar.dtd (%chrome/messenger/customizeToolbar.dtd)
+ locale/@AB_CD@/messenger/customizeToolbar.properties (%chrome/messenger/customizeToolbar.properties)
+ locale/@AB_CD@/messenger/viewSource.dtd (%chrome/messenger/viewSource.dtd)
+ locale/@AB_CD@/messenger/viewSource.properties (%chrome/messenger/viewSource.properties)
+ locale/@AB_CD@/messenger/virtualFolderProperties.dtd (%chrome/messenger/virtualFolderProperties.dtd)
+ locale/@AB_CD@/messenger/virtualFolderListDialog.dtd (%chrome/messenger/virtualFolderListDialog.dtd)
+ locale/@AB_CD@/messenger/multimessageview.properties (%chrome/messenger/multimessageview.properties)
+ locale/@AB_CD@/messenger/multimessageview.dtd (%chrome/messenger/multimessageview.dtd)
+ locale/@AB_CD@/messenger/mailOverlay.dtd (%chrome/messenger/mailOverlay.dtd)
+ locale/@AB_CD@/messenger/messenger.dtd (%chrome/messenger/messenger.dtd)
+ locale/@AB_CD@/messenger/viewZoomOverlay.dtd (%chrome/messenger/viewZoomOverlay.dtd)
+ locale/@AB_CD@/messenger/baseMenuOverlay.dtd (%chrome/messenger/baseMenuOverlay.dtd)
+ locale/@AB_CD@/messenger/tabmail.dtd (%chrome/messenger/tabmail.dtd)
+ locale/@AB_CD@/messenger/msgAccountCentral.dtd (%chrome/messenger/msgAccountCentral.dtd)
+ locale/@AB_CD@/messenger/SearchDialog.dtd (%chrome/messenger/SearchDialog.dtd)
+ locale/@AB_CD@/messenger/AccountManager.dtd (%chrome/messenger/AccountManager.dtd)
+ locale/@AB_CD@/messenger/AccountWizard.dtd (%chrome/messenger/AccountWizard.dtd)
+ locale/@AB_CD@/messenger/am-advanced.dtd (%chrome/messenger/am-advanced.dtd)
+ locale/@AB_CD@/messenger/am-server-advanced.dtd (%chrome/messenger/am-server-advanced.dtd)
+ locale/@AB_CD@/messenger/am-copies.dtd (%chrome/messenger/am-copies.dtd)
+ locale/@AB_CD@/messenger/am-offline.dtd (%chrome/messenger/am-offline.dtd)
+ locale/@AB_CD@/messenger/am-addressing.dtd (%chrome/messenger/am-addressing.dtd)
+ locale/@AB_CD@/messenger/am-main.dtd (%chrome/messenger/am-main.dtd)
+ locale/@AB_CD@/messenger/am-server-top.dtd (%chrome/messenger/am-server-top.dtd)
+ locale/@AB_CD@/messenger/converterDialog.dtd (%chrome/messenger/converterDialog.dtd)
+ locale/@AB_CD@/messenger/converterDialog.properties (%chrome/messenger/converterDialog.properties)
+ locale/@AB_CD@/messenger/am-identities-list.dtd (%chrome/messenger/am-identities-list.dtd)
+ locale/@AB_CD@/messenger/am-identity-edit.dtd (%chrome/messenger/am-identity-edit.dtd)
+ locale/@AB_CD@/messenger/am-im.dtd (%chrome/messenger/am-im.dtd)
+ locale/@AB_CD@/messenger/am-serverwithnoidentities.dtd (%chrome/messenger/am-serverwithnoidentities.dtd)
+ locale/@AB_CD@/messenger/am-junk.dtd (%chrome/messenger/am-junk.dtd)
+ locale/@AB_CD@/messenger/prefs.properties (%chrome/messenger/prefs.properties)
+ locale/@AB_CD@/messenger/smtpEditOverlay.dtd (%chrome/messenger/smtpEditOverlay.dtd)
+ locale/@AB_CD@/messenger/am-smime.dtd (%chrome/messenger/am-smime.dtd)
+ locale/@AB_CD@/messenger/am-smime.properties (%chrome/messenger/am-smime.properties)
+ locale/@AB_CD@/messenger/am-e2e.properties (%chrome/messenger/am-e2e.properties)
+ locale/@AB_CD@/messenger/removeAccount.dtd (%chrome/messenger/removeAccount.dtd)
+ locale/@AB_CD@/messenger/removeAccount.properties (%chrome/messenger/removeAccount.properties)
+ locale/@AB_CD@/messenger/messenger.properties (%chrome/messenger/messenger.properties)
+ locale/@AB_CD@/messenger/newFolderDialog.dtd (%chrome/messenger/newFolderDialog.dtd)
+ locale/@AB_CD@/messenger/renameFolderDialog.dtd (%chrome/messenger/renameFolderDialog.dtd)
+ locale/@AB_CD@/messenger/folderpane.dtd (%chrome/messenger/folderpane.dtd)
+ locale/@AB_CD@/messenger/folderProps.dtd (%chrome/messenger/folderProps.dtd)
+ locale/@AB_CD@/messenger/folderWidgets.properties (%chrome/messenger/folderWidgets.properties)
+ locale/@AB_CD@/messenger/subscribe.dtd (%chrome/messenger/subscribe.dtd)
+ locale/@AB_CD@/messenger/subscribe.properties (%chrome/messenger/subscribe.properties)
+ locale/@AB_CD@/messenger/msgHdrViewOverlay.dtd (%chrome/messenger/msgHdrViewOverlay.dtd)
+ locale/@AB_CD@/messenger/editContactOverlay.dtd (%chrome/messenger/editContactOverlay.dtd)
+ locale/@AB_CD@/messenger/editContactOverlay.properties (%chrome/messenger/editContactOverlay.properties)
+ locale/@AB_CD@/messenger/mailEditorOverlay.dtd (%chrome/messenger/mailEditorOverlay.dtd)
+ locale/@AB_CD@/messenger/msgSynchronize.dtd (%chrome/messenger/msgSynchronize.dtd)
+ locale/@AB_CD@/messenger/offline.properties (%chrome/messenger/offline.properties)
+ locale/@AB_CD@/messenger/viewLog.dtd (%chrome/messenger/viewLog.dtd)
+ locale/@AB_CD@/messenger/FilterListDialog.dtd (%chrome/messenger/FilterListDialog.dtd)
+ locale/@AB_CD@/messenger/CustomHeaders.dtd (%chrome/messenger/CustomHeaders.dtd)
+ locale/@AB_CD@/messenger/FilterEditor.dtd (%chrome/messenger/FilterEditor.dtd)
+ locale/@AB_CD@/messenger/search-attributes.properties (%chrome/messenger/search-attributes.properties)
+ locale/@AB_CD@/messenger/search-operators.properties (%chrome/messenger/search-operators.properties)
+ locale/@AB_CD@/messenger/search.properties (%chrome/messenger/search.properties)
+ locale/@AB_CD@/messenger/filter.properties (%chrome/messenger/filter.properties)
+ locale/@AB_CD@/messenger/custom.properties (%chrome/messenger/custom.properties)
+ locale/@AB_CD@/messenger/searchTermOverlay.dtd (%chrome/messenger/searchTermOverlay.dtd)
+ locale/@AB_CD@/messenger/imapMsgs.properties (%chrome/messenger/imapMsgs.properties)
+ locale/@AB_CD@/messenger/localMsgs.properties (%chrome/messenger/localMsgs.properties)
+ locale/@AB_CD@/messenger/downloadheaders.dtd (%chrome/messenger/downloadheaders.dtd)
+ locale/@AB_CD@/messenger/news.properties (%chrome/messenger/news.properties)
+ locale/@AB_CD@/messenger/mime.properties (%chrome/messenger/mime.properties)
+ locale/@AB_CD@/messenger/mimeheader.properties (%chrome/messenger/mimeheader.properties)
+ locale/@AB_CD@/messenger/smime.properties (%chrome/messenger/smime.properties)
+ locale/@AB_CD@/messenger/pgpmime.properties (%chrome/messenger/pgpmime.properties)
+ locale/@AB_CD@/messenger/markByDate.dtd (%chrome/messenger/markByDate.dtd)
+ locale/@AB_CD@/messenger/am-mdn.dtd (%chrome/messenger/am-mdn.dtd)
+ locale/@AB_CD@/messenger/am-mdn.properties (%chrome/messenger/am-mdn.properties)
+ locale/@AB_CD@/messenger/am-archiveoptions.dtd (%chrome/messenger/am-archiveoptions.dtd)
+ locale/@AB_CD@/messenger/msgmdn.properties (%chrome/messenger/msgmdn.properties)
+ locale/@AB_CD@/messenger/mailviews.properties (%chrome/messenger/mailviews.properties)
+ locale/@AB_CD@/messenger/msgViewPickerOverlay.dtd (%chrome/messenger/msgViewPickerOverlay.dtd)
+ locale/@AB_CD@/messenger/mailViewSetup.dtd (%chrome/messenger/mailViewSetup.dtd)
+ locale/@AB_CD@/messenger/mailViewList.dtd (%chrome/messenger/mailViewList.dtd)
+ locale/@AB_CD@/messenger/offlineStartup.properties (%chrome/messenger/offlineStartup.properties)
+ locale/@AB_CD@/messenger/importMsgs.properties (%chrome/messenger/importMsgs.properties)
+ locale/@AB_CD@/messenger/importDialog.dtd (%chrome/messenger/importDialog.dtd)
+ locale/@AB_CD@/messenger/fieldMapImport.dtd (%chrome/messenger/fieldMapImport.dtd)
+ locale/@AB_CD@/messenger/morkImportMsgs.properties (%chrome/messenger/morkImportMsgs.properties)
+ locale/@AB_CD@/messenger/textImportMsgs.properties (%chrome/messenger/textImportMsgs.properties)
+ locale/@AB_CD@/messenger/vCardImportMsgs.properties (%chrome/messenger/vCardImportMsgs.properties)
+ locale/@AB_CD@/messenger/appleMailImportMsgs.properties (%chrome/messenger/appleMailImportMsgs.properties)
+ locale/@AB_CD@/messenger/wmImportMsgs.properties (%chrome/messenger/wmImportMsgs.properties)
+ locale/@AB_CD@/messenger/outlookImportMsgs.properties (%chrome/messenger/outlookImportMsgs.properties)
+ locale/@AB_CD@/messenger/beckyImportMsgs.properties (%chrome/messenger/beckyImportMsgs.properties)
+ locale/@AB_CD@/messenger/seamonkeyImportMsgs.properties (%chrome/messenger/seamonkeyImportMsgs.properties)
+ locale/@AB_CD@/messenger/shutdownWindow.properties (%chrome/messenger/shutdownWindow.properties)
+ locale/@AB_CD@/messenger/configEditorOverlay.dtd (%chrome/messenger/configEditorOverlay.dtd)
+ locale/@AB_CD@/messenger/gloda.properties (%chrome/messenger/gloda.properties)
+ locale/@AB_CD@/messenger/glodaComplete.properties (%chrome/messenger/glodaComplete.properties)
+ locale/@AB_CD@/messenger/templateUtils.properties (%chrome/messenger/templateUtils.properties)
+ locale/@AB_CD@/messenger/glodaFacetView.properties (%chrome/messenger/glodaFacetView.properties)
+ locale/@AB_CD@/messenger/glodaFacetView.dtd (%chrome/messenger/glodaFacetView.dtd)
+ locale/@AB_CD@/messenger/taskbar.properties (%chrome/messenger/taskbar.properties)
+ locale/@AB_CD@/messenger/junkLog.dtd (%chrome/messenger/junkLog.dtd)
+ locale/@AB_CD@/messenger/addressbook/abMainWindow.dtd (%chrome/messenger/addressbook/abMainWindow.dtd)
+ locale/@AB_CD@/messenger/addressbook/abContactsPanel.dtd (%chrome/messenger/addressbook/abContactsPanel.dtd)
+ locale/@AB_CD@/messenger/addressbook/abAddressBookNameDialog.dtd (%chrome/messenger/addressbook/abAddressBookNameDialog.dtd)
+ locale/@AB_CD@/messenger/addressbook/abResultsPane.dtd (%chrome/messenger/addressbook/abResultsPane.dtd)
+ locale/@AB_CD@/messenger/addressbook/abMailListDialog.dtd (%chrome/messenger/addressbook/abMailListDialog.dtd)
+ locale/@AB_CD@/messenger/addressbook/addressBook.properties (%chrome/messenger/addressbook/addressBook.properties)
+ locale/@AB_CD@/messenger/addressbook/ldapAutoCompErrs.properties (%chrome/messenger/addressbook/ldapAutoCompErrs.properties)
+ locale/@AB_CD@/messenger/addressbook/pref-directory.dtd (%chrome/messenger/addressbook/pref-directory.dtd)
+ locale/@AB_CD@/messenger/addressbook/pref-directory-add.dtd (%chrome/messenger/addressbook/pref-directory-add.dtd)
+ locale/@AB_CD@/messenger/addressbook/replicationProgress.properties (%chrome/messenger/addressbook/replicationProgress.properties)
+ locale/@AB_CD@/messenger/messengercompose/messengercompose.dtd (%chrome/messenger/messengercompose/messengercompose.dtd)
+ locale/@AB_CD@/messenger/messengercompose/sendProgress.dtd (%chrome/messenger/messengercompose/sendProgress.dtd)
+ locale/@AB_CD@/messenger/messengercompose/sendProgress.properties (%chrome/messenger/messengercompose/sendProgress.properties)
+ locale/@AB_CD@/messenger/messengercompose/composeMsgs.properties (%chrome/messenger/messengercompose/composeMsgs.properties)
+ locale/@AB_CD@/messenger/messengercompose/mailComposeEditorOverlay.dtd (%chrome/messenger/messengercompose/mailComposeEditorOverlay.dtd)
+ locale/@AB_CD@/messenger/messengercompose/editorOverlay.dtd (%chrome/messenger/messengercompose/editorOverlay.dtd)
+ locale/@AB_CD@/messenger/messengercompose/editor.properties (%chrome/messenger/messengercompose/editor.properties)
+ locale/@AB_CD@/messenger/messengercompose/EditorHLineProperties.dtd (%chrome/messenger/messengercompose/EditorHLineProperties.dtd)
+ locale/@AB_CD@/messenger/messengercompose/EditorImageProperties.dtd (%chrome/messenger/messengercompose/EditorImageProperties.dtd)
+ locale/@AB_CD@/messenger/messengercompose/EditorInsertSource.dtd (%chrome/messenger/messengercompose/EditorInsertSource.dtd)
+ locale/@AB_CD@/messenger/messengercompose/EditorInsertMath.dtd (%chrome/messenger/messengercompose/EditorInsertMath.dtd)
+ locale/@AB_CD@/messenger/messengercompose/EditorInsertChars.dtd (%chrome/messenger/messengercompose/EditorInsertChars.dtd)
+ locale/@AB_CD@/messenger/messengercompose/EditorInsertTable.dtd (%chrome/messenger/messengercompose/EditorInsertTable.dtd)
+ locale/@AB_CD@/messenger/messengercompose/EditorInsertTOC.dtd (%chrome/messenger/messengercompose/EditorInsertTOC.dtd)
+ locale/@AB_CD@/messenger/messengercompose/EditorLinkProperties.dtd (%chrome/messenger/messengercompose/EditorLinkProperties.dtd)
+ locale/@AB_CD@/messenger/messengercompose/EditorListProperties.dtd (%chrome/messenger/messengercompose/EditorListProperties.dtd)
+ locale/@AB_CD@/messenger/messengercompose/EditorColorProperties.dtd (%chrome/messenger/messengercompose/EditorColorProperties.dtd)
+ locale/@AB_CD@/messenger/messengercompose/EdColorPicker.dtd (%chrome/messenger/messengercompose/EdColorPicker.dtd)
+ locale/@AB_CD@/messenger/messengercompose/EditorReplace.dtd (%chrome/messenger/messengercompose/EditorReplace.dtd)
+ locale/@AB_CD@/messenger/messengercompose/EditorSpellCheck.dtd (%chrome/messenger/messengercompose/EditorSpellCheck.dtd)
+ locale/@AB_CD@/messenger/messengercompose/EditorPersonalDictionary.dtd (%chrome/messenger/messengercompose/EditorPersonalDictionary.dtd)
+ locale/@AB_CD@/messenger/messengercompose/EditorTableProperties.dtd (%chrome/messenger/messengercompose/EditorTableProperties.dtd)
+ locale/@AB_CD@/messenger/messengercompose/EdNamedAnchorProperties.dtd (%chrome/messenger/messengercompose/EdNamedAnchorProperties.dtd)
+ locale/@AB_CD@/messenger/messengercompose/EdDialogOverlay.dtd (%chrome/messenger/messengercompose/EdDialogOverlay.dtd)
+ locale/@AB_CD@/messenger/messengercompose/EdAdvancedEdit.dtd (%chrome/messenger/messengercompose/EdAdvancedEdit.dtd)
+ locale/@AB_CD@/messenger/messengercompose/EdConvertToTable.dtd (%chrome/messenger/messengercompose/EdConvertToTable.dtd)
+ locale/@AB_CD@/messenger/preferences/messagestyle.properties (%chrome/messenger/preferences/messagestyle.properties)
+ locale/@AB_CD@/messenger/preferences/applications.properties (%chrome/messenger/preferences/applications.properties)
+ locale/@AB_CD@/messenger/preferences/applicationManager.properties (%chrome/messenger/preferences/applicationManager.properties)
+ locale/@AB_CD@/messenger/preferences/preferences.properties (%chrome/messenger/preferences/preferences.properties)
+ locale/@AB_CD@/messenger/migration/migration.dtd (%chrome/messenger/migration/migration.dtd)
+ locale/@AB_CD@/messenger/migration/migration.properties (%chrome/messenger/migration/migration.properties)
+ locale/@AB_CD@/messenger/activity.dtd (%chrome/messenger/activity.dtd)
+ locale/@AB_CD@/messenger/activity.properties (%chrome/messenger/activity.properties)
+ locale/@AB_CD@/messenger/profileDowngrade.dtd (%chrome/overrides/profileDowngrade.dtd)
+ locale/@AB_CD@/messenger/newsError.dtd (%chrome/messenger/newsError.dtd)
+ locale/@AB_CD@/messenger/chat.dtd (%chrome/messenger/chat.dtd)
+ locale/@AB_CD@/messenger/chat.properties (%chrome/messenger/chat.properties)
+ locale/@AB_CD@/messenger/addbuddy.dtd (%chrome/messenger/addbuddy.dtd)
+ locale/@AB_CD@/messenger/joinChat.dtd (%chrome/messenger/joinChat.dtd)
+ locale/@AB_CD@/messenger/imAccounts.properties (%chrome/messenger/imAccounts.properties)
+ locale/@AB_CD@/messenger/imAccountWizard.dtd (%chrome/messenger/imAccountWizard.dtd)
+ locale/@AB_CD@/messenger/sanitize.dtd (%chrome/messenger/sanitize.dtd)
+% locale messenger-mapi @AB_CD@ %locale/@AB_CD@/messenger-mapi/
+ locale/@AB_CD@/messenger-mapi/mapi.properties (%chrome/messenger-mapi/mapi.properties)
+% locale messenger-newsblog @AB_CD@ %locale/@AB_CD@/messenger-newsblog/
+ locale/@AB_CD@/messenger-newsblog/newsblog.properties (%chrome/messenger-newsblog/newsblog.properties)
+ locale/@AB_CD@/messenger-newsblog/feed-subscriptions.dtd (%chrome/messenger-newsblog/feed-subscriptions.dtd)
+ locale/@AB_CD@/messenger-newsblog/am-newsblog.dtd (%chrome/messenger-newsblog/am-newsblog.dtd)
+% locale messenger-smime @AB_CD@ %locale/@AB_CD@/messenger-smime/
+ locale/@AB_CD@/messenger-smime/msgCompSMIMEOverlay.dtd (%chrome/messenger-smime/msgCompSMIMEOverlay.dtd)
+ locale/@AB_CD@/messenger-smime/msgReadSMIMEOverlay.properties (%chrome/messenger-smime/msgReadSMIMEOverlay.properties)
+ locale/@AB_CD@/messenger-smime/msgCompSecurityInfo.dtd (%chrome/messenger-smime/msgCompSecurityInfo.dtd)
+ locale/@AB_CD@/messenger-smime/msgCompSecurityInfo.properties (%chrome/messenger-smime/msgCompSecurityInfo.properties)
+ locale/@AB_CD@/messenger-smime/msgReadSecurityInfo.dtd (%chrome/messenger-smime/msgReadSecurityInfo.dtd)
+ locale/@AB_CD@/messenger-smime/certFetchingStatus.dtd (%chrome/messenger-smime/certFetchingStatus.dtd)
+ locale/@AB_CD@/messenger-smime/msgSecurityInfo.properties (%chrome/messenger-smime/msgSecurityInfo.properties)
+% locale messenger-region @AB_CD@ %locale/@AB_CD@/messenger-region/
+ locale/@AB_CD@/messenger-region/region.properties (%chrome/messenger-region/region.properties)
+% locale mozldap @AB_CD@ %locale/@AB_CD@/mozldap/
+ locale/@AB_CD@/mozldap/ldap.properties (%chrome/mozldap/ldap.properties)
+% locale communicator @AB_CD@ %locale/@AB_CD@/communicator/
+ locale/@AB_CD@/communicator/utilityOverlay.dtd (%chrome/communicator/utilityOverlay.dtd)
diff --git a/comm/mail/locales/l10n-beta.ini b/comm/mail/locales/l10n-beta.ini
new file mode 100644
index 0000000000..c2958c18dd
--- /dev/null
+++ b/comm/mail/locales/l10n-beta.ini
@@ -0,0 +1,27 @@
+[general]
+depth = ../..
+all = mail/locales/all-locales
+
+[compare]
+dirs = mail
+ chat
+ other-licenses/branding/thunderbird
+ mail/branding/thunderbird
+
+[includes]
+# non-central apps might want to use %(topsrcdir)s here, or other vars
+# RFE: that needs to be supported by compare-locales, too, though
+toolkit = mozilla/toolkit/locales/l10n.ini
+devtools_client = mozilla/devtools/client/locales/l10n.ini
+
+[include_toolkit]
+type = hg
+mozilla = releases/mozilla-beta
+repo = https://hg.mozilla.org/
+l10n.ini = toolkit/locales/l10n.ini
+
+[include_devtools_client]
+type = hg
+mozilla = releases/mozilla-beta
+repo = https://hg.mozilla.org/
+l10n.ini = devtools/client/locales/l10n.ini
diff --git a/comm/mail/locales/l10n-central.ini b/comm/mail/locales/l10n-central.ini
new file mode 100644
index 0000000000..bf5831f1f5
--- /dev/null
+++ b/comm/mail/locales/l10n-central.ini
@@ -0,0 +1,27 @@
+[general]
+depth = ../..
+all = mail/locales/all-locales
+
+[compare]
+dirs = mail
+ chat
+ other-licenses/branding/thunderbird
+ mail/branding/thunderbird
+
+[includes]
+# non-central apps might want to use %(topsrcdir)s here, or other vars
+# RFE: that needs to be supported by compare-locales, too, though
+toolkit = mozilla/toolkit/locales/l10n.ini
+devtools_client = mozilla/devtools/client/locales/l10n.ini
+
+[include_toolkit]
+type = hg
+mozilla = mozilla-central
+repo = https://hg.mozilla.org/
+l10n.ini = toolkit/locales/l10n.ini
+
+[include_devtools_client]
+type = hg
+mozilla = mozilla-central
+repo = https://hg.mozilla.org/
+l10n.ini = devtools/client/locales/l10n.ini
diff --git a/comm/mail/locales/l10n-changesets.json b/comm/mail/locales/l10n-changesets.json
new file mode 100644
index 0000000000..ba6cd8984c
--- /dev/null
+++ b/comm/mail/locales/l10n-changesets.json
@@ -0,0 +1,723 @@
+{
+ "af": {
+ "pin": false,
+ "platforms": [
+ "linux",
+ "linux64",
+ "macosx64",
+ "win32",
+ "win64"
+ ],
+ "revision": "ab83e93dc1bbe560992fbeca2e4f3a2cb3db1af8"
+ },
+ "ar": {
+ "pin": false,
+ "platforms": [
+ "linux",
+ "linux64",
+ "macosx64",
+ "win32",
+ "win64"
+ ],
+ "revision": "ab83e93dc1bbe560992fbeca2e4f3a2cb3db1af8"
+ },
+ "ast": {
+ "pin": false,
+ "platforms": [
+ "linux",
+ "linux64",
+ "macosx64",
+ "win32",
+ "win64"
+ ],
+ "revision": "ab83e93dc1bbe560992fbeca2e4f3a2cb3db1af8"
+ },
+ "be": {
+ "pin": false,
+ "platforms": [
+ "linux",
+ "linux64",
+ "macosx64",
+ "win32",
+ "win64"
+ ],
+ "revision": "ab83e93dc1bbe560992fbeca2e4f3a2cb3db1af8"
+ },
+ "bg": {
+ "pin": false,
+ "platforms": [
+ "linux",
+ "linux64",
+ "macosx64",
+ "win32",
+ "win64"
+ ],
+ "revision": "ab83e93dc1bbe560992fbeca2e4f3a2cb3db1af8"
+ },
+ "br": {
+ "pin": false,
+ "platforms": [
+ "linux",
+ "linux64",
+ "macosx64",
+ "win32",
+ "win64"
+ ],
+ "revision": "ab83e93dc1bbe560992fbeca2e4f3a2cb3db1af8"
+ },
+ "ca": {
+ "pin": false,
+ "platforms": [
+ "linux",
+ "linux64",
+ "macosx64",
+ "win32",
+ "win64"
+ ],
+ "revision": "ab83e93dc1bbe560992fbeca2e4f3a2cb3db1af8"
+ },
+ "cak": {
+ "pin": false,
+ "platforms": [
+ "linux",
+ "linux64",
+ "macosx64",
+ "win32",
+ "win64"
+ ],
+ "revision": "ab83e93dc1bbe560992fbeca2e4f3a2cb3db1af8"
+ },
+ "cs": {
+ "pin": false,
+ "platforms": [
+ "linux",
+ "linux64",
+ "macosx64",
+ "win32",
+ "win64"
+ ],
+ "revision": "ab83e93dc1bbe560992fbeca2e4f3a2cb3db1af8"
+ },
+ "cy": {
+ "pin": false,
+ "platforms": [
+ "linux",
+ "linux64",
+ "macosx64",
+ "win32",
+ "win64"
+ ],
+ "revision": "ab83e93dc1bbe560992fbeca2e4f3a2cb3db1af8"
+ },
+ "da": {
+ "pin": false,
+ "platforms": [
+ "linux",
+ "linux64",
+ "macosx64",
+ "win32",
+ "win64"
+ ],
+ "revision": "ab83e93dc1bbe560992fbeca2e4f3a2cb3db1af8"
+ },
+ "de": {
+ "pin": false,
+ "platforms": [
+ "linux",
+ "linux64",
+ "macosx64",
+ "win32",
+ "win64"
+ ],
+ "revision": "ab83e93dc1bbe560992fbeca2e4f3a2cb3db1af8"
+ },
+ "dsb": {
+ "pin": false,
+ "platforms": [
+ "linux",
+ "linux64",
+ "macosx64",
+ "win32",
+ "win64"
+ ],
+ "revision": "ab83e93dc1bbe560992fbeca2e4f3a2cb3db1af8"
+ },
+ "el": {
+ "pin": false,
+ "platforms": [
+ "linux",
+ "linux64",
+ "macosx64",
+ "win32",
+ "win64"
+ ],
+ "revision": "ab83e93dc1bbe560992fbeca2e4f3a2cb3db1af8"
+ },
+ "en-CA": {
+ "pin": false,
+ "platforms": [
+ "linux",
+ "linux64",
+ "macosx64",
+ "win32",
+ "win64"
+ ],
+ "revision": "ab83e93dc1bbe560992fbeca2e4f3a2cb3db1af8"
+ },
+ "en-GB": {
+ "pin": false,
+ "platforms": [
+ "linux",
+ "linux64",
+ "macosx64",
+ "win32",
+ "win64"
+ ],
+ "revision": "ab83e93dc1bbe560992fbeca2e4f3a2cb3db1af8"
+ },
+ "es-AR": {
+ "pin": false,
+ "platforms": [
+ "linux",
+ "linux64",
+ "macosx64",
+ "win32",
+ "win64"
+ ],
+ "revision": "ab83e93dc1bbe560992fbeca2e4f3a2cb3db1af8"
+ },
+ "es-ES": {
+ "pin": false,
+ "platforms": [
+ "linux",
+ "linux64",
+ "macosx64",
+ "win32",
+ "win64"
+ ],
+ "revision": "ab83e93dc1bbe560992fbeca2e4f3a2cb3db1af8"
+ },
+ "es-MX": {
+ "pin": false,
+ "platforms": [
+ "linux",
+ "linux64",
+ "macosx64",
+ "win32",
+ "win64"
+ ],
+ "revision": "ab83e93dc1bbe560992fbeca2e4f3a2cb3db1af8"
+ },
+ "et": {
+ "pin": false,
+ "platforms": [
+ "linux",
+ "linux64",
+ "macosx64",
+ "win32",
+ "win64"
+ ],
+ "revision": "ab83e93dc1bbe560992fbeca2e4f3a2cb3db1af8"
+ },
+ "eu": {
+ "pin": false,
+ "platforms": [
+ "linux",
+ "linux64",
+ "macosx64",
+ "win32",
+ "win64"
+ ],
+ "revision": "ab83e93dc1bbe560992fbeca2e4f3a2cb3db1af8"
+ },
+ "fi": {
+ "pin": false,
+ "platforms": [
+ "linux",
+ "linux64",
+ "macosx64",
+ "win32",
+ "win64"
+ ],
+ "revision": "ab83e93dc1bbe560992fbeca2e4f3a2cb3db1af8"
+ },
+ "fr": {
+ "pin": false,
+ "platforms": [
+ "linux",
+ "linux64",
+ "macosx64",
+ "win32",
+ "win64"
+ ],
+ "revision": "ab83e93dc1bbe560992fbeca2e4f3a2cb3db1af8"
+ },
+ "fy-NL": {
+ "pin": false,
+ "platforms": [
+ "linux",
+ "linux64",
+ "macosx64",
+ "win32",
+ "win64"
+ ],
+ "revision": "ab83e93dc1bbe560992fbeca2e4f3a2cb3db1af8"
+ },
+ "ga-IE": {
+ "pin": false,
+ "platforms": [
+ "linux",
+ "linux64",
+ "macosx64",
+ "win32",
+ "win64"
+ ],
+ "revision": "ab83e93dc1bbe560992fbeca2e4f3a2cb3db1af8"
+ },
+ "gd": {
+ "pin": false,
+ "platforms": [
+ "linux",
+ "linux64",
+ "macosx64",
+ "win32",
+ "win64"
+ ],
+ "revision": "ab83e93dc1bbe560992fbeca2e4f3a2cb3db1af8"
+ },
+ "gl": {
+ "pin": false,
+ "platforms": [
+ "linux",
+ "linux64",
+ "macosx64",
+ "win32",
+ "win64"
+ ],
+ "revision": "ab83e93dc1bbe560992fbeca2e4f3a2cb3db1af8"
+ },
+ "he": {
+ "pin": false,
+ "platforms": [
+ "linux",
+ "linux64",
+ "macosx64",
+ "win32",
+ "win64"
+ ],
+ "revision": "ab83e93dc1bbe560992fbeca2e4f3a2cb3db1af8"
+ },
+ "hr": {
+ "pin": false,
+ "platforms": [
+ "linux",
+ "linux64",
+ "macosx64",
+ "win32",
+ "win64"
+ ],
+ "revision": "ab83e93dc1bbe560992fbeca2e4f3a2cb3db1af8"
+ },
+ "hsb": {
+ "pin": false,
+ "platforms": [
+ "linux",
+ "linux64",
+ "macosx64",
+ "win32",
+ "win64"
+ ],
+ "revision": "ab83e93dc1bbe560992fbeca2e4f3a2cb3db1af8"
+ },
+ "hu": {
+ "pin": false,
+ "platforms": [
+ "linux",
+ "linux64",
+ "macosx64",
+ "win32",
+ "win64"
+ ],
+ "revision": "ab83e93dc1bbe560992fbeca2e4f3a2cb3db1af8"
+ },
+ "hy-AM": {
+ "pin": false,
+ "platforms": [
+ "linux",
+ "linux64",
+ "macosx64",
+ "win32",
+ "win64"
+ ],
+ "revision": "ab83e93dc1bbe560992fbeca2e4f3a2cb3db1af8"
+ },
+ "id": {
+ "pin": false,
+ "platforms": [
+ "linux",
+ "linux64",
+ "macosx64",
+ "win32",
+ "win64"
+ ],
+ "revision": "ab83e93dc1bbe560992fbeca2e4f3a2cb3db1af8"
+ },
+ "is": {
+ "pin": false,
+ "platforms": [
+ "linux",
+ "linux64",
+ "macosx64",
+ "win32",
+ "win64"
+ ],
+ "revision": "ab83e93dc1bbe560992fbeca2e4f3a2cb3db1af8"
+ },
+ "it": {
+ "pin": false,
+ "platforms": [
+ "linux",
+ "linux64",
+ "macosx64",
+ "win32",
+ "win64"
+ ],
+ "revision": "ab83e93dc1bbe560992fbeca2e4f3a2cb3db1af8"
+ },
+ "ja": {
+ "pin": false,
+ "platforms": [
+ "linux",
+ "linux64",
+ "win32",
+ "win64"
+ ],
+ "revision": "ab83e93dc1bbe560992fbeca2e4f3a2cb3db1af8"
+ },
+ "ja-JP-mac": {
+ "pin": false,
+ "platforms": [
+ "macosx64"
+ ],
+ "revision": "ab83e93dc1bbe560992fbeca2e4f3a2cb3db1af8"
+ },
+ "ka": {
+ "pin": false,
+ "platforms": [
+ "linux",
+ "linux64",
+ "macosx64",
+ "win32",
+ "win64"
+ ],
+ "revision": "ab83e93dc1bbe560992fbeca2e4f3a2cb3db1af8"
+ },
+ "kab": {
+ "pin": false,
+ "platforms": [
+ "linux",
+ "linux64",
+ "macosx64",
+ "win32",
+ "win64"
+ ],
+ "revision": "ab83e93dc1bbe560992fbeca2e4f3a2cb3db1af8"
+ },
+ "kk": {
+ "pin": false,
+ "platforms": [
+ "linux",
+ "linux64",
+ "macosx64",
+ "win32",
+ "win64"
+ ],
+ "revision": "ab83e93dc1bbe560992fbeca2e4f3a2cb3db1af8"
+ },
+ "ko": {
+ "pin": false,
+ "platforms": [
+ "linux",
+ "linux64",
+ "macosx64",
+ "win32",
+ "win64"
+ ],
+ "revision": "ab83e93dc1bbe560992fbeca2e4f3a2cb3db1af8"
+ },
+ "lt": {
+ "pin": false,
+ "platforms": [
+ "linux",
+ "linux64",
+ "macosx64",
+ "win32",
+ "win64"
+ ],
+ "revision": "ab83e93dc1bbe560992fbeca2e4f3a2cb3db1af8"
+ },
+ "lv": {
+ "pin": false,
+ "platforms": [
+ "linux",
+ "linux64",
+ "macosx64",
+ "win32",
+ "win64"
+ ],
+ "revision": "ab83e93dc1bbe560992fbeca2e4f3a2cb3db1af8"
+ },
+ "ms": {
+ "pin": false,
+ "platforms": [
+ "linux",
+ "linux64",
+ "macosx64",
+ "win32",
+ "win64"
+ ],
+ "revision": "ab83e93dc1bbe560992fbeca2e4f3a2cb3db1af8"
+ },
+ "nb-NO": {
+ "pin": false,
+ "platforms": [
+ "linux",
+ "linux64",
+ "macosx64",
+ "win32",
+ "win64"
+ ],
+ "revision": "ab83e93dc1bbe560992fbeca2e4f3a2cb3db1af8"
+ },
+ "nl": {
+ "pin": false,
+ "platforms": [
+ "linux",
+ "linux64",
+ "macosx64",
+ "win32",
+ "win64"
+ ],
+ "revision": "ab83e93dc1bbe560992fbeca2e4f3a2cb3db1af8"
+ },
+ "nn-NO": {
+ "pin": false,
+ "platforms": [
+ "linux",
+ "linux64",
+ "macosx64",
+ "win32",
+ "win64"
+ ],
+ "revision": "ab83e93dc1bbe560992fbeca2e4f3a2cb3db1af8"
+ },
+ "pa-IN": {
+ "pin": false,
+ "platforms": [
+ "linux",
+ "linux64",
+ "macosx64",
+ "win32",
+ "win64"
+ ],
+ "revision": "ab83e93dc1bbe560992fbeca2e4f3a2cb3db1af8"
+ },
+ "pl": {
+ "pin": false,
+ "platforms": [
+ "linux",
+ "linux64",
+ "macosx64",
+ "win32",
+ "win64"
+ ],
+ "revision": "ab83e93dc1bbe560992fbeca2e4f3a2cb3db1af8"
+ },
+ "pt-BR": {
+ "pin": false,
+ "platforms": [
+ "linux",
+ "linux64",
+ "macosx64",
+ "win32",
+ "win64"
+ ],
+ "revision": "ab83e93dc1bbe560992fbeca2e4f3a2cb3db1af8"
+ },
+ "pt-PT": {
+ "pin": false,
+ "platforms": [
+ "linux",
+ "linux64",
+ "macosx64",
+ "win32",
+ "win64"
+ ],
+ "revision": "ab83e93dc1bbe560992fbeca2e4f3a2cb3db1af8"
+ },
+ "rm": {
+ "pin": false,
+ "platforms": [
+ "linux",
+ "linux64",
+ "macosx64",
+ "win32",
+ "win64"
+ ],
+ "revision": "ab83e93dc1bbe560992fbeca2e4f3a2cb3db1af8"
+ },
+ "ro": {
+ "pin": false,
+ "platforms": [
+ "linux",
+ "linux64",
+ "macosx64",
+ "win32",
+ "win64"
+ ],
+ "revision": "ab83e93dc1bbe560992fbeca2e4f3a2cb3db1af8"
+ },
+ "ru": {
+ "pin": false,
+ "platforms": [
+ "linux",
+ "linux64",
+ "macosx64",
+ "win32",
+ "win64"
+ ],
+ "revision": "ab83e93dc1bbe560992fbeca2e4f3a2cb3db1af8"
+ },
+ "sk": {
+ "pin": false,
+ "platforms": [
+ "linux",
+ "linux64",
+ "macosx64",
+ "win32",
+ "win64"
+ ],
+ "revision": "ab83e93dc1bbe560992fbeca2e4f3a2cb3db1af8"
+ },
+ "sl": {
+ "pin": false,
+ "platforms": [
+ "linux",
+ "linux64",
+ "macosx64",
+ "win32",
+ "win64"
+ ],
+ "revision": "ab83e93dc1bbe560992fbeca2e4f3a2cb3db1af8"
+ },
+ "sq": {
+ "pin": false,
+ "platforms": [
+ "linux",
+ "linux64",
+ "macosx64",
+ "win32",
+ "win64"
+ ],
+ "revision": "ab83e93dc1bbe560992fbeca2e4f3a2cb3db1af8"
+ },
+ "sr": {
+ "pin": false,
+ "platforms": [
+ "linux",
+ "linux64",
+ "macosx64",
+ "win32",
+ "win64"
+ ],
+ "revision": "ab83e93dc1bbe560992fbeca2e4f3a2cb3db1af8"
+ },
+ "sv-SE": {
+ "pin": false,
+ "platforms": [
+ "linux",
+ "linux64",
+ "macosx64",
+ "win32",
+ "win64"
+ ],
+ "revision": "ab83e93dc1bbe560992fbeca2e4f3a2cb3db1af8"
+ },
+ "th": {
+ "pin": false,
+ "platforms": [
+ "linux",
+ "linux64",
+ "macosx64",
+ "win32",
+ "win64"
+ ],
+ "revision": "ab83e93dc1bbe560992fbeca2e4f3a2cb3db1af8"
+ },
+ "tr": {
+ "pin": false,
+ "platforms": [
+ "linux",
+ "linux64",
+ "macosx64",
+ "win32",
+ "win64"
+ ],
+ "revision": "ab83e93dc1bbe560992fbeca2e4f3a2cb3db1af8"
+ },
+ "uk": {
+ "pin": false,
+ "platforms": [
+ "linux",
+ "linux64",
+ "macosx64",
+ "win32",
+ "win64"
+ ],
+ "revision": "ab83e93dc1bbe560992fbeca2e4f3a2cb3db1af8"
+ },
+ "uz": {
+ "pin": false,
+ "platforms": [
+ "linux",
+ "linux64",
+ "macosx64",
+ "win32",
+ "win64"
+ ],
+ "revision": "ab83e93dc1bbe560992fbeca2e4f3a2cb3db1af8"
+ },
+ "vi": {
+ "pin": false,
+ "platforms": [
+ "linux",
+ "linux64",
+ "macosx64",
+ "win32",
+ "win64"
+ ],
+ "revision": "ab83e93dc1bbe560992fbeca2e4f3a2cb3db1af8"
+ },
+ "zh-CN": {
+ "pin": false,
+ "platforms": [
+ "linux",
+ "linux64",
+ "macosx64",
+ "win32",
+ "win64"
+ ],
+ "revision": "ab83e93dc1bbe560992fbeca2e4f3a2cb3db1af8"
+ },
+ "zh-TW": {
+ "pin": false,
+ "platforms": [
+ "linux",
+ "linux64",
+ "macosx64",
+ "win32",
+ "win64"
+ ],
+ "revision": "ab83e93dc1bbe560992fbeca2e4f3a2cb3db1af8"
+ }
+} \ No newline at end of file
diff --git a/comm/mail/locales/l10n-onchange-changesets.json b/comm/mail/locales/l10n-onchange-changesets.json
new file mode 100644
index 0000000000..a436a422ff
--- /dev/null
+++ b/comm/mail/locales/l10n-onchange-changesets.json
@@ -0,0 +1,77 @@
+{
+ "de": {
+ "platforms": [
+ "linux",
+ "linux64",
+ "macosx64",
+ "win32",
+ "win64"
+ ],
+ "revision": "default"
+ },
+ "en-GB": {
+ "platforms": [
+ "linux",
+ "linux64",
+ "macosx64",
+ "win32",
+ "win64"
+ ],
+ "revision": "default"
+ },
+ "es-ES": {
+ "platforms": [
+ "linux",
+ "linux64",
+ "macosx64",
+ "win32",
+ "win64"
+ ],
+ "revision": "default"
+ },
+ "fr": {
+ "platforms": [
+ "linux",
+ "linux64",
+ "macosx64",
+ "win32",
+ "win64"
+ ],
+ "revision": "default"
+ },
+ "ja": {
+ "platforms": [
+ "linux",
+ "linux64",
+ "win32",
+ "win64"
+ ],
+ "revision": "default"
+ },
+ "ja-JP-mac": {
+ "platforms": [
+ "macosx64"
+ ],
+ "revision": "default"
+ },
+ "ru": {
+ "platforms": [
+ "linux",
+ "linux64",
+ "macosx64",
+ "win32",
+ "win64"
+ ],
+ "revision": "default"
+ },
+ "zh-CN": {
+ "platforms": [
+ "linux",
+ "linux64",
+ "macosx64",
+ "win32",
+ "win64"
+ ],
+ "revision": "default"
+ }
+}
diff --git a/comm/mail/locales/l10n.ini b/comm/mail/locales/l10n.ini
new file mode 100644
index 0000000000..a3ca235b94
--- /dev/null
+++ b/comm/mail/locales/l10n.ini
@@ -0,0 +1,16 @@
+[general]
+depth = ../..
+all = mail/locales/all-locales
+
+[compare]
+dirs = mail
+ chat
+ other-licenses/branding/thunderbird
+ mail/branding/thunderbird
+
+[includes]
+# include toolkit from mozilla.
+# Don't specify which, use l10n-central.ini and friends if you're
+# not working on a local check-out
+toolkit = mozilla/toolkit/locales/l10n.ini
+devtools_client = mozilla/devtools/client/locales/l10n.ini
diff --git a/comm/mail/locales/l10n.toml b/comm/mail/locales/l10n.toml
new file mode 100644
index 0000000000..ab9fb19d03
--- /dev/null
+++ b/comm/mail/locales/l10n.toml
@@ -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/.
+
+basepath = "../.."
+
+locales = [
+ "af",
+ "ar",
+ "ast",
+ "be",
+ "bg",
+ "br",
+ "ca",
+ "cak",
+ "cs",
+ "cy",
+ "da",
+ "de",
+ "dsb",
+ "el",
+ "en-CA",
+ "en-GB",
+ "es-AR",
+ "es-ES",
+ "es-MX",
+ "et",
+ "eu",
+ "fi",
+ "fr",
+ "fy-NL",
+ "ga-IE",
+ "gd",
+ "gl",
+ "he",
+ "hr",
+ "hsb",
+ "hu",
+ "hy-AM",
+ "id",
+ "is",
+ "it",
+ "ja",
+ "ja-JP-mac",
+ "ka",
+ "kab",
+ "kk",
+ "ko",
+ "lv",
+ "lt",
+ "mk",
+ "ms",
+ "nb-NO",
+ "nl",
+ "nn-NO",
+ "pa-IN",
+ "pl",
+ "pt-BR",
+ "pt-PT",
+ "rm",
+ "ro",
+ "ru",
+ "sk",
+ "sl",
+ "sq",
+ "sr",
+ "sv-SE",
+ "th",
+ "tr",
+ "uk",
+ "uz",
+ "vi",
+ "zh-CN",
+ "zh-TW",
+]
+
+[env]
+ l = "{l10n_base}/{locale}/"
+ mozilla = ".."
+
+
+[[paths]]
+ reference = "mail/locales/en-US/**"
+ l10n = "{l}mail/**"
+
+[[paths]]
+ reference = "chat/locales/en-US/**"
+ l10n = "{l}chat/**"
+
+[[paths]]
+ reference = "mail/branding/thunderbird/locales/en-US/**"
+ l10n = "{l}mail/branding/thunderbird/**"
+
+[[includes]]
+ path = "{mozilla}/devtools/client/locales/l10n.toml"
+
+[[includes]]
+ path = "{mozilla}/toolkit/locales/l10n.toml"
+
+[[includes]]
+ path = "calendar/locales/l10n.toml"
+
+[[paths]]
+ reference = "{mozilla}/devtools/startup/locales/en-US/**"
+ l10n = "{l}devtools/startup/**"
+
+# all-l10n.js can be missing completely
+[[filters]]
+ path = [
+ "{l}mail/all-l10n.js",
+ ]
+ action = "ignore"
diff --git a/comm/mail/locales/moz.build b/comm/mail/locales/moz.build
new file mode 100644
index 0000000000..902095f9e4
--- /dev/null
+++ b/comm/mail/locales/moz.build
@@ -0,0 +1,25 @@
+# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
+# vim: set filetype=python:
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+JAR_MANIFESTS += ["jar.mn"]
+
+# If DIST_SUBDIR ever gets set for Thunderbird this path might be wrong due to PREF_DIR changing.
+LOCALIZED_PP_FILES.defaults.pref += ["en-US/all-l10n.js"]
+
+if CONFIG["MOZ_CRASHREPORTER"]:
+ LOCALIZED_FILES += ["en-US/crashreporter/crashreporter-override.ini"]
+
+if CONFIG["MOZ_UPDATER"]:
+ LOCALIZED_GENERATED_FILES += ["updater.ini"]
+ updater = LOCALIZED_GENERATED_FILES["updater.ini"]
+ updater.script = "generate_ini.py"
+ updater.inputs = [
+ "en-US/updater/updater.ini",
+ "../installer/windows/nsis/updater_append.ini",
+ ]
+ LOCALIZED_FILES += ["!updater.ini"]
+
+DEFINES["MOZ_APP_MAXVERSION"] = CONFIG["MOZ_APP_MAXVERSION"]
diff --git a/comm/mail/locales/onchange-locales b/comm/mail/locales/onchange-locales
new file mode 100644
index 0000000000..5d2e648433
--- /dev/null
+++ b/comm/mail/locales/onchange-locales
@@ -0,0 +1,13 @@
+de
+en-GB
+en-US
+es-ES
+fr
+it
+ja
+ja-JP-mac
+nl
+pl
+pt-BR
+ru
+zh-CN
diff --git a/comm/mail/locales/shipped-locales b/comm/mail/locales/shipped-locales
new file mode 100644
index 0000000000..d4224bcbbf
--- /dev/null
+++ b/comm/mail/locales/shipped-locales
@@ -0,0 +1,67 @@
+af
+ar
+ast
+be
+bg
+br
+ca
+cak
+cs
+cy
+da
+de
+dsb
+el
+en-CA
+en-GB
+en-US
+es-AR
+es-ES
+es-MX
+et
+eu
+fi
+fr
+fy-NL
+ga-IE
+gd
+gl
+he
+hr
+hsb
+hu
+hy-AM
+id
+is
+it
+ja
+ja-JP-mac
+ka
+kab
+kk
+ko
+lt
+lv
+ms
+nb-NO
+nl
+nn-NO
+pa-IN
+pl
+pt-BR
+pt-PT
+rm
+ro
+ru
+sk
+sl
+sq
+sr
+sv-SE
+th
+tr
+uk
+uz
+vi
+zh-CN
+zh-TW