summaryrefslogtreecommitdiffstats
path: root/thunderbird-l10n/en-CA/localization
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 17:32:43 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 17:32:43 +0000
commit6bf0a5cb5034a7e684dcc3500e841785237ce2dd (patch)
treea68f146d7fa01f0134297619fbe7e33db084e0aa /thunderbird-l10n/en-CA/localization
parentInitial commit. (diff)
downloadthunderbird-6bf0a5cb5034a7e684dcc3500e841785237ce2dd.tar.xz
thunderbird-6bf0a5cb5034a7e684dcc3500e841785237ce2dd.zip
Adding upstream version 1:115.7.0.upstream/1%115.7.0upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'thunderbird-l10n/en-CA/localization')
-rw-r--r--thunderbird-l10n/en-CA/localization/en-CA/branding/brand.ftl22
-rw-r--r--thunderbird-l10n/en-CA/localization/en-CA/browser/appExtensionFields.ftl16
-rw-r--r--thunderbird-l10n/en-CA/localization/en-CA/browser/branding/brandings.ftl18
-rw-r--r--thunderbird-l10n/en-CA/localization/en-CA/browser/components/mozFiveStar.ftl9
-rw-r--r--thunderbird-l10n/en-CA/localization/en-CA/browser/components/mozSupportLink.ftl5
-rw-r--r--thunderbird-l10n/en-CA/localization/en-CA/calendar/calendar-context-menus.ftl10
-rw-r--r--thunderbird-l10n/en-CA/localization/en-CA/calendar/calendar-delete-prompt.ftl35
-rw-r--r--thunderbird-l10n/en-CA/localization/en-CA/calendar/calendar-editable-item.ftl30
-rw-r--r--thunderbird-l10n/en-CA/localization/en-CA/calendar/calendar-event-dialog-reminder.ftl10
-rw-r--r--thunderbird-l10n/en-CA/localization/en-CA/calendar/calendar-event-listing.ftl71
-rw-r--r--thunderbird-l10n/en-CA/localization/en-CA/calendar/calendar-ics-file-dialog.ftl46
-rw-r--r--thunderbird-l10n/en-CA/localization/en-CA/calendar/calendar-invitation-panel.ftl100
-rw-r--r--thunderbird-l10n/en-CA/localization/en-CA/calendar/calendar-invitations-dialog.ftl10
-rw-r--r--thunderbird-l10n/en-CA/localization/en-CA/calendar/calendar-itip-identity-dialog.ftl8
-rw-r--r--thunderbird-l10n/en-CA/localization/en-CA/calendar/calendar-print.ftl17
-rw-r--r--thunderbird-l10n/en-CA/localization/en-CA/calendar/calendar-recurrence-dialog.ftl8
-rw-r--r--thunderbird-l10n/en-CA/localization/en-CA/calendar/calendar-summary-dialog.ftl17
-rw-r--r--thunderbird-l10n/en-CA/localization/en-CA/calendar/calendar-uri-redirect-dialog.ftl12
-rw-r--r--thunderbird-l10n/en-CA/localization/en-CA/calendar/calendar-widgets.ftl111
-rw-r--r--thunderbird-l10n/en-CA/localization/en-CA/calendar/category-dialog.ftl7
-rw-r--r--thunderbird-l10n/en-CA/localization/en-CA/calendar/preferences.ftl192
-rw-r--r--thunderbird-l10n/en-CA/localization/en-CA/chat/matrix.ftl24
-rw-r--r--thunderbird-l10n/en-CA/localization/en-CA/crashreporter/aboutcrashes.ftl31
-rw-r--r--thunderbird-l10n/en-CA/localization/en-CA/devtools/client/aboutdebugging.ftl400
-rw-r--r--thunderbird-l10n/en-CA/localization/en-CA/devtools/client/accessibility.ftl99
-rw-r--r--thunderbird-l10n/en-CA/localization/en-CA/devtools/client/application.ftl147
-rw-r--r--thunderbird-l10n/en-CA/localization/en-CA/devtools/client/compatibility.ftl54
-rw-r--r--thunderbird-l10n/en-CA/localization/en-CA/devtools/client/perftools.ftl161
-rw-r--r--thunderbird-l10n/en-CA/localization/en-CA/devtools/client/storage.ftl132
-rw-r--r--thunderbird-l10n/en-CA/localization/en-CA/devtools/client/styleeditor.ftl51
-rw-r--r--thunderbird-l10n/en-CA/localization/en-CA/devtools/client/toolbox-options.ftl133
-rw-r--r--thunderbird-l10n/en-CA/localization/en-CA/devtools/client/toolbox.ftl55
-rw-r--r--thunderbird-l10n/en-CA/localization/en-CA/devtools/client/tooltips.ftl84
-rw-r--r--thunderbird-l10n/en-CA/localization/en-CA/devtools/shared/debugger-paused-reasons.ftl87
-rw-r--r--thunderbird-l10n/en-CA/localization/en-CA/devtools/shared/highlighters.ftl55
-rw-r--r--thunderbird-l10n/en-CA/localization/en-CA/devtools/shared/webconsole-commands.ftl3
-rw-r--r--thunderbird-l10n/en-CA/localization/en-CA/devtools/startup/key-shortcuts.ftl38
-rw-r--r--thunderbird-l10n/en-CA/localization/en-CA/dom/XMLPrettyPrint.ftl5
-rw-r--r--thunderbird-l10n/en-CA/localization/en-CA/dom/media.ftl6
-rw-r--r--thunderbird-l10n/en-CA/localization/en-CA/locales-preview/aboutTranslations.ftl28
-rw-r--r--thunderbird-l10n/en-CA/localization/en-CA/messenger/about3Pane.ftl359
-rw-r--r--thunderbird-l10n/en-CA/localization/en-CA/messenger/aboutAddonsExtra.ftl12
-rw-r--r--thunderbird-l10n/en-CA/localization/en-CA/messenger/aboutDialog.ftl48
-rw-r--r--thunderbird-l10n/en-CA/localization/en-CA/messenger/aboutImport.ftl283
-rw-r--r--thunderbird-l10n/en-CA/localization/en-CA/messenger/aboutProfilesExtra.ftl5
-rw-r--r--thunderbird-l10n/en-CA/localization/en-CA/messenger/aboutRights.ftl50
-rw-r--r--thunderbird-l10n/en-CA/localization/en-CA/messenger/aboutSupportCalendar.ftl33
-rw-r--r--thunderbird-l10n/en-CA/localization/en-CA/messenger/aboutSupportChat.ftl11
-rw-r--r--thunderbird-l10n/en-CA/localization/en-CA/messenger/aboutSupportMail.ftl29
-rw-r--r--thunderbird-l10n/en-CA/localization/en-CA/messenger/accountCentral.ftl65
-rw-r--r--thunderbird-l10n/en-CA/localization/en-CA/messenger/accountManager.ftl18
-rw-r--r--thunderbird-l10n/en-CA/localization/en-CA/messenger/accountProvisioner.ftl78
-rw-r--r--thunderbird-l10n/en-CA/localization/en-CA/messenger/accountcreation/accountHub.ftl47
-rw-r--r--thunderbird-l10n/en-CA/localization/en-CA/messenger/accountcreation/accountSetup.ftl294
-rw-r--r--thunderbird-l10n/en-CA/localization/en-CA/messenger/addonNotifications.ftl122
-rw-r--r--thunderbird-l10n/en-CA/localization/en-CA/messenger/addressbook/abCardDAVDialog.ftl26
-rw-r--r--thunderbird-l10n/en-CA/localization/en-CA/messenger/addressbook/abCardDAVProperties.ftl33
-rw-r--r--thunderbird-l10n/en-CA/localization/en-CA/messenger/addressbook/aboutAddressBook.ftl266
-rw-r--r--thunderbird-l10n/en-CA/localization/en-CA/messenger/addressbook/fieldMapImport.ftl12
-rw-r--r--thunderbird-l10n/en-CA/localization/en-CA/messenger/addressbook/vcard.ftl138
-rw-r--r--thunderbird-l10n/en-CA/localization/en-CA/messenger/appmenu.ftl210
-rw-r--r--thunderbird-l10n/en-CA/localization/en-CA/messenger/chat-verifySession.ftl17
-rw-r--r--thunderbird-l10n/en-CA/localization/en-CA/messenger/chat.ftl47
-rw-r--r--thunderbird-l10n/en-CA/localization/en-CA/messenger/compactFoldersDialog.ftl20
-rw-r--r--thunderbird-l10n/en-CA/localization/en-CA/messenger/exportDialog.ftl22
-rw-r--r--thunderbird-l10n/en-CA/localization/en-CA/messenger/extensionPermissions.ftl24
-rw-r--r--thunderbird-l10n/en-CA/localization/en-CA/messenger/extensions/popup.ftl14
-rw-r--r--thunderbird-l10n/en-CA/localization/en-CA/messenger/extensionsUI.ftl9
-rw-r--r--thunderbird-l10n/en-CA/localization/en-CA/messenger/firefoxAccounts.ftl32
-rw-r--r--thunderbird-l10n/en-CA/localization/en-CA/messenger/flatpak.ftl24
-rw-r--r--thunderbird-l10n/en-CA/localization/en-CA/messenger/folderprops.ftl10
-rw-r--r--thunderbird-l10n/en-CA/localization/en-CA/messenger/importDialog.ftl30
-rw-r--r--thunderbird-l10n/en-CA/localization/en-CA/messenger/mailWidgets.ftl15
-rw-r--r--thunderbird-l10n/en-CA/localization/en-CA/messenger/menubar.ftl135
-rw-r--r--thunderbird-l10n/en-CA/localization/en-CA/messenger/messageheader/headerFields.ftl71
-rw-r--r--thunderbird-l10n/en-CA/localization/en-CA/messenger/messenger.ftl411
-rw-r--r--thunderbird-l10n/en-CA/localization/en-CA/messenger/messengercompose/messengercompose.ftl411
-rw-r--r--thunderbird-l10n/en-CA/localization/en-CA/messenger/migration.ftl15
-rw-r--r--thunderbird-l10n/en-CA/localization/en-CA/messenger/multimessageview.ftl14
-rw-r--r--thunderbird-l10n/en-CA/localization/en-CA/messenger/openpgp/backupKeyPassword.ftl17
-rw-r--r--thunderbird-l10n/en-CA/localization/en-CA/messenger/openpgp/changeExpiryDlg.ftl22
-rw-r--r--thunderbird-l10n/en-CA/localization/en-CA/messenger/openpgp/composeKeyStatus.ftl24
-rw-r--r--thunderbird-l10n/en-CA/localization/en-CA/messenger/openpgp/keyAssistant.ftl123
-rw-r--r--thunderbird-l10n/en-CA/localization/en-CA/messenger/openpgp/keyWizard.ftl135
-rw-r--r--thunderbird-l10n/en-CA/localization/en-CA/messenger/openpgp/msgReadStatus.ftl81
-rw-r--r--thunderbird-l10n/en-CA/localization/en-CA/messenger/openpgp/oneRecipientStatus.ftl50
-rw-r--r--thunderbird-l10n/en-CA/localization/en-CA/messenger/openpgp/openpgp-frontend.ftl54
-rw-r--r--thunderbird-l10n/en-CA/localization/en-CA/messenger/openpgp/openpgp.ftl780
-rw-r--r--thunderbird-l10n/en-CA/localization/en-CA/messenger/otr/add-finger.ftl16
-rw-r--r--thunderbird-l10n/en-CA/localization/en-CA/messenger/otr/am-im-otr.ftl26
-rw-r--r--thunderbird-l10n/en-CA/localization/en-CA/messenger/otr/auth.ftl60
-rw-r--r--thunderbird-l10n/en-CA/localization/en-CA/messenger/otr/chat.ftl19
-rw-r--r--thunderbird-l10n/en-CA/localization/en-CA/messenger/otr/finger-sync.ftl12
-rw-r--r--thunderbird-l10n/en-CA/localization/en-CA/messenger/otr/finger.ftl20
-rw-r--r--thunderbird-l10n/en-CA/localization/en-CA/messenger/otr/otr.ftl97
-rw-r--r--thunderbird-l10n/en-CA/localization/en-CA/messenger/otr/otrUI.ftl87
-rw-r--r--thunderbird-l10n/en-CA/localization/en-CA/messenger/policies/aboutPolicies.ftl17
-rw-r--r--thunderbird-l10n/en-CA/localization/en-CA/messenger/policies/policies-descriptions.ftl159
-rw-r--r--thunderbird-l10n/en-CA/localization/en-CA/messenger/preferences/am-copies.ftl5
-rw-r--r--thunderbird-l10n/en-CA/localization/en-CA/messenger/preferences/am-im.ftl23
-rw-r--r--thunderbird-l10n/en-CA/localization/en-CA/messenger/preferences/application-manager.ftl10
-rw-r--r--thunderbird-l10n/en-CA/localization/en-CA/messenger/preferences/attachment-reminder.ftl21
-rw-r--r--thunderbird-l10n/en-CA/localization/en-CA/messenger/preferences/colors.ftl36
-rw-r--r--thunderbird-l10n/en-CA/localization/en-CA/messenger/preferences/connection.ftl88
-rw-r--r--thunderbird-l10n/en-CA/localization/en-CA/messenger/preferences/cookies.ftl43
-rw-r--r--thunderbird-l10n/en-CA/localization/en-CA/messenger/preferences/dock-options.ftl23
-rw-r--r--thunderbird-l10n/en-CA/localization/en-CA/messenger/preferences/fonts.ftl132
-rw-r--r--thunderbird-l10n/en-CA/localization/en-CA/messenger/preferences/languages.ftl33
-rw-r--r--thunderbird-l10n/en-CA/localization/en-CA/messenger/preferences/new-tag.ftl13
-rw-r--r--thunderbird-l10n/en-CA/localization/en-CA/messenger/preferences/notifications.ftl29
-rw-r--r--thunderbird-l10n/en-CA/localization/en-CA/messenger/preferences/offline.ftl43
-rw-r--r--thunderbird-l10n/en-CA/localization/en-CA/messenger/preferences/passwordManager.ftl83
-rw-r--r--thunderbird-l10n/en-CA/localization/en-CA/messenger/preferences/permissions.ftl43
-rw-r--r--thunderbird-l10n/en-CA/localization/en-CA/messenger/preferences/preferences.ftl778
-rw-r--r--thunderbird-l10n/en-CA/localization/en-CA/messenger/preferences/receipts.ftl39
-rw-r--r--thunderbird-l10n/en-CA/localization/en-CA/messenger/preferences/sync-dialog.ftl11
-rw-r--r--thunderbird-l10n/en-CA/localization/en-CA/messenger/preferences/system-integration.ftl39
-rw-r--r--thunderbird-l10n/en-CA/localization/en-CA/messenger/shortcuts.ftl113
-rw-r--r--thunderbird-l10n/en-CA/localization/en-CA/messenger/syncAccounts.ftl27
-rw-r--r--thunderbird-l10n/en-CA/localization/en-CA/messenger/treeView.ftl53
-rw-r--r--thunderbird-l10n/en-CA/localization/en-CA/messenger/troubleshootMode.ftl33
-rw-r--r--thunderbird-l10n/en-CA/localization/en-CA/messenger/unifiedToolbar.ftl100
-rw-r--r--thunderbird-l10n/en-CA/localization/en-CA/messenger/unifiedToolbarItems.ftl144
-rw-r--r--thunderbird-l10n/en-CA/localization/en-CA/messenger/viewSource.ftl19
-rw-r--r--thunderbird-l10n/en-CA/localization/en-CA/security/certificates/certManager.ftl182
-rw-r--r--thunderbird-l10n/en-CA/localization/en-CA/security/certificates/deviceManager.ftl133
-rw-r--r--thunderbird-l10n/en-CA/localization/en-CA/security/pippki/pippki.ftl106
-rw-r--r--thunderbird-l10n/en-CA/localization/en-CA/services/accounts.ftl8
-rw-r--r--thunderbird-l10n/en-CA/localization/en-CA/toolkit/about/aboutAbout.ftl9
-rw-r--r--thunderbird-l10n/en-CA/localization/en-CA/toolkit/about/aboutAddons.ftl498
-rw-r--r--thunderbird-l10n/en-CA/localization/en-CA/toolkit/about/aboutCompat.ftl22
-rw-r--r--thunderbird-l10n/en-CA/localization/en-CA/toolkit/about/aboutGlean.ftl92
-rw-r--r--thunderbird-l10n/en-CA/localization/en-CA/toolkit/about/aboutHttpsOnlyError.ftl30
-rw-r--r--thunderbird-l10n/en-CA/localization/en-CA/toolkit/about/aboutLogging.ftl64
-rw-r--r--thunderbird-l10n/en-CA/localization/en-CA/toolkit/about/aboutMozilla.ftl11
-rw-r--r--thunderbird-l10n/en-CA/localization/en-CA/toolkit/about/aboutNetworking.ftl68
-rw-r--r--thunderbird-l10n/en-CA/localization/en-CA/toolkit/about/aboutPerformance.ftl67
-rw-r--r--thunderbird-l10n/en-CA/localization/en-CA/toolkit/about/aboutPlugins.ftl43
-rw-r--r--thunderbird-l10n/en-CA/localization/en-CA/toolkit/about/aboutProcesses.ftl200
-rw-r--r--thunderbird-l10n/en-CA/localization/en-CA/toolkit/about/aboutProfiles.ftl74
-rw-r--r--thunderbird-l10n/en-CA/localization/en-CA/toolkit/about/aboutReader.ftl52
-rw-r--r--thunderbird-l10n/en-CA/localization/en-CA/toolkit/about/aboutRights.ftl56
-rw-r--r--thunderbird-l10n/en-CA/localization/en-CA/toolkit/about/aboutServiceWorkers.ftl40
-rw-r--r--thunderbird-l10n/en-CA/localization/en-CA/toolkit/about/aboutSupport.ftl414
-rw-r--r--thunderbird-l10n/en-CA/localization/en-CA/toolkit/about/aboutTelemetry.ftl136
-rw-r--r--thunderbird-l10n/en-CA/localization/en-CA/toolkit/about/aboutThirdParty.ftl85
-rw-r--r--thunderbird-l10n/en-CA/localization/en-CA/toolkit/about/aboutWebauthn.ftl3
-rw-r--r--thunderbird-l10n/en-CA/localization/en-CA/toolkit/about/aboutWebrtc.ftl316
-rw-r--r--thunderbird-l10n/en-CA/localization/en-CA/toolkit/about/aboutWindowsMessages.ftl20
-rw-r--r--thunderbird-l10n/en-CA/localization/en-CA/toolkit/about/abuseReports.ftl116
-rw-r--r--thunderbird-l10n/en-CA/localization/en-CA/toolkit/about/certviewer.ftl122
-rw-r--r--thunderbird-l10n/en-CA/localization/en-CA/toolkit/about/config.ftl55
-rw-r--r--thunderbird-l10n/en-CA/localization/en-CA/toolkit/about/url-classifier.ftl58
-rw-r--r--thunderbird-l10n/en-CA/localization/en-CA/toolkit/branding/accounts.ftl11
-rw-r--r--thunderbird-l10n/en-CA/localization/en-CA/toolkit/branding/brandings.ftl45
-rw-r--r--thunderbird-l10n/en-CA/localization/en-CA/toolkit/contentanalysis/contentanalysis.ftl3
-rw-r--r--thunderbird-l10n/en-CA/localization/en-CA/toolkit/downloads/downloadUI.ftl51
-rw-r--r--thunderbird-l10n/en-CA/localization/en-CA/toolkit/downloads/downloadUtils.ftl106
-rw-r--r--thunderbird-l10n/en-CA/localization/en-CA/toolkit/featuregates/features.ftl48
-rw-r--r--thunderbird-l10n/en-CA/localization/en-CA/toolkit/formautofill/formAutofill.ftl16
-rw-r--r--thunderbird-l10n/en-CA/localization/en-CA/toolkit/global/alert.ftl12
-rw-r--r--thunderbird-l10n/en-CA/localization/en-CA/toolkit/global/appPicker.ftl10
-rw-r--r--thunderbird-l10n/en-CA/localization/en-CA/toolkit/global/browser-utils.ftl10
-rw-r--r--thunderbird-l10n/en-CA/localization/en-CA/toolkit/global/commonDialog.ftl20
-rw-r--r--thunderbird-l10n/en-CA/localization/en-CA/toolkit/global/contextual-identity.ftl29
-rw-r--r--thunderbird-l10n/en-CA/localization/en-CA/toolkit/global/cookieBannerHandling.ftl3
-rw-r--r--thunderbird-l10n/en-CA/localization/en-CA/toolkit/global/createProfileWizard.ftl53
-rw-r--r--thunderbird-l10n/en-CA/localization/en-CA/toolkit/global/cspErrors.ftl32
-rw-r--r--thunderbird-l10n/en-CA/localization/en-CA/toolkit/global/datepicker.ftl50
-rw-r--r--thunderbird-l10n/en-CA/localization/en-CA/toolkit/global/datetimebox.ftl42
-rw-r--r--thunderbird-l10n/en-CA/localization/en-CA/toolkit/global/extensionPermissions.ftl33
-rw-r--r--thunderbird-l10n/en-CA/localization/en-CA/toolkit/global/extensions.ftl105
-rw-r--r--thunderbird-l10n/en-CA/localization/en-CA/toolkit/global/handlerDialog.ftl68
-rw-r--r--thunderbird-l10n/en-CA/localization/en-CA/toolkit/global/htmlForm.ftl14
-rw-r--r--thunderbird-l10n/en-CA/localization/en-CA/toolkit/global/mozCard.ftl3
-rw-r--r--thunderbird-l10n/en-CA/localization/en-CA/toolkit/global/mozFiveStar.ftl9
-rw-r--r--thunderbird-l10n/en-CA/localization/en-CA/toolkit/global/mozMessageBar.ftl15
-rw-r--r--thunderbird-l10n/en-CA/localization/en-CA/toolkit/global/mozSupportLink.ftl5
-rw-r--r--thunderbird-l10n/en-CA/localization/en-CA/toolkit/global/notification.ftl16
-rw-r--r--thunderbird-l10n/en-CA/localization/en-CA/toolkit/global/popupnotification.ftl10
-rw-r--r--thunderbird-l10n/en-CA/localization/en-CA/toolkit/global/processTypes.ftl61
-rw-r--r--thunderbird-l10n/en-CA/localization/en-CA/toolkit/global/profileDowngrade.ftl18
-rw-r--r--thunderbird-l10n/en-CA/localization/en-CA/toolkit/global/profileSelection.ftl38
-rw-r--r--thunderbird-l10n/en-CA/localization/en-CA/toolkit/global/resetProfile.ftl15
-rw-r--r--thunderbird-l10n/en-CA/localization/en-CA/toolkit/global/resistFingerPrinting.ftl6
-rw-r--r--thunderbird-l10n/en-CA/localization/en-CA/toolkit/global/run-from-dmg.ftl28
-rw-r--r--thunderbird-l10n/en-CA/localization/en-CA/toolkit/global/tabprompts.ftl13
-rw-r--r--thunderbird-l10n/en-CA/localization/en-CA/toolkit/global/textActions.ftl64
-rw-r--r--thunderbird-l10n/en-CA/localization/en-CA/toolkit/global/timepicker.ftl3
-rw-r--r--thunderbird-l10n/en-CA/localization/en-CA/toolkit/global/tree.ftl6
-rw-r--r--thunderbird-l10n/en-CA/localization/en-CA/toolkit/global/unknownContentType.ftl42
-rw-r--r--thunderbird-l10n/en-CA/localization/en-CA/toolkit/global/videocontrols.ftl71
-rw-r--r--thunderbird-l10n/en-CA/localization/en-CA/toolkit/global/wizard.ftl37
-rw-r--r--thunderbird-l10n/en-CA/localization/en-CA/toolkit/intl/languageNames.ftl215
-rw-r--r--thunderbird-l10n/en-CA/localization/en-CA/toolkit/intl/regionNames.ftl280
-rw-r--r--thunderbird-l10n/en-CA/localization/en-CA/toolkit/main-window/autocomplete.ftl23
-rw-r--r--thunderbird-l10n/en-CA/localization/en-CA/toolkit/main-window/findbar.ftl76
-rw-r--r--thunderbird-l10n/en-CA/localization/en-CA/toolkit/neterror/certError.ftl110
-rw-r--r--thunderbird-l10n/en-CA/localization/en-CA/toolkit/neterror/netError.ftl147
-rw-r--r--thunderbird-l10n/en-CA/localization/en-CA/toolkit/neterror/nsserrors.ftl349
-rw-r--r--thunderbird-l10n/en-CA/localization/en-CA/toolkit/passwordmgr/passwordmgr.ftl33
-rw-r--r--thunderbird-l10n/en-CA/localization/en-CA/toolkit/payments/payments.ftl51
-rw-r--r--thunderbird-l10n/en-CA/localization/en-CA/toolkit/pdfviewer/viewer.ftl311
-rw-r--r--thunderbird-l10n/en-CA/localization/en-CA/toolkit/pictureinpicture/pictureinpicture.ftl75
-rw-r--r--thunderbird-l10n/en-CA/localization/en-CA/toolkit/preferences/preferences.ftl34
-rw-r--r--thunderbird-l10n/en-CA/localization/en-CA/toolkit/printing/printDialogs.ftl112
-rw-r--r--thunderbird-l10n/en-CA/localization/en-CA/toolkit/printing/printPreview.ftl73
-rw-r--r--thunderbird-l10n/en-CA/localization/en-CA/toolkit/printing/printUI.ftl148
-rw-r--r--thunderbird-l10n/en-CA/localization/en-CA/toolkit/reportBrokenSite/reportBrokenSite.ftl3
-rw-r--r--thunderbird-l10n/en-CA/localization/en-CA/toolkit/updates/backgroundupdate.ftl5
-rw-r--r--thunderbird-l10n/en-CA/localization/en-CA/toolkit/updates/elevation.ftl22
-rw-r--r--thunderbird-l10n/en-CA/localization/en-CA/toolkit/updates/history.ftl29
212 files changed, 15984 insertions, 0 deletions
diff --git a/thunderbird-l10n/en-CA/localization/en-CA/branding/brand.ftl b/thunderbird-l10n/en-CA/localization/en-CA/branding/brand.ftl
new file mode 100644
index 0000000000..5054ea8057
--- /dev/null
+++ b/thunderbird-l10n/en-CA/localization/en-CA/branding/brand.ftl
@@ -0,0 +1,22 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+
+## Thunderbird Brand
+##
+## Thunderbird must be treated as a brand, and kept in English.
+## It cannot be:
+## - Transliterated.
+## - Translated.
+##
+## Reference: https://www.mozilla.org/styleguide/communications/translation/
+
+-brand-shorter-name = Thunderbird
+-brand-short-name = Thunderbird
+-brand-full-name = Mozilla Thunderbird
+# This brand name can be used in messages where the product name needs to
+# remain unchanged across different versions (Daily, Beta, etc.).
+-brand-product-name = Thunderbird
+-vendor-short-name = Mozilla
+trademarkInfo = Mozilla Thunderbird and the Thunderbird logos are trademarks of the Mozilla Foundation.
diff --git a/thunderbird-l10n/en-CA/localization/en-CA/browser/appExtensionFields.ftl b/thunderbird-l10n/en-CA/localization/en-CA/browser/appExtensionFields.ftl
new file mode 100644
index 0000000000..502bf2fcee
--- /dev/null
+++ b/thunderbird-l10n/en-CA/localization/en-CA/browser/appExtensionFields.ftl
@@ -0,0 +1,16 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+
+## Theme names and descriptions used in the Themes panel in about:addons
+
+# "Auto" is short for automatic. It can be localized without limitations.
+extension-default-theme-name-auto = 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 colour scheme.
+
+extension-thunderbird-compact-dark-name = Dark
+extension-thunderbird-compact-dark-description = A theme with a dark colour scheme.
diff --git a/thunderbird-l10n/en-CA/localization/en-CA/browser/branding/brandings.ftl b/thunderbird-l10n/en-CA/localization/en-CA/browser/branding/brandings.ftl
new file mode 100644
index 0000000000..9ada8da73a
--- /dev/null
+++ b/thunderbird-l10n/en-CA/localization/en-CA/browser/branding/brandings.ftl
@@ -0,0 +1,18 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+
+## The following feature names must be treated as a brand.
+##
+## They cannot be:
+## - Transliterated.
+## - Translated.
+##
+## Declension should be avoided where possible, leaving the original
+## brand unaltered in prominent UI positions.
+##
+## For further details, consult:
+## https://mozilla-l10n.github.io/styleguides/mozilla_general/#brands-copyright-and-trademark
+
+-profiler-brand-name = Firefox Profiler
diff --git a/thunderbird-l10n/en-CA/localization/en-CA/browser/components/mozFiveStar.ftl b/thunderbird-l10n/en-CA/localization/en-CA/browser/components/mozFiveStar.ftl
new file mode 100644
index 0000000000..79e408238b
--- /dev/null
+++ b/thunderbird-l10n/en-CA/localization/en-CA/browser/components/mozFiveStar.ftl
@@ -0,0 +1,9 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# The rating out of 5 stars.
+# Variables:
+# $rating (number) - A number between 0 and 5. The translation should show at most one digit after the comma.
+moz-five-star-rating =
+ .title = Rated { NUMBER($rating, maximumFractionDigits: 1) } out of 5
diff --git a/thunderbird-l10n/en-CA/localization/en-CA/browser/components/mozSupportLink.ftl b/thunderbird-l10n/en-CA/localization/en-CA/browser/components/mozSupportLink.ftl
new file mode 100644
index 0000000000..0cfaf42816
--- /dev/null
+++ b/thunderbird-l10n/en-CA/localization/en-CA/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/thunderbird-l10n/en-CA/localization/en-CA/calendar/calendar-context-menus.ftl b/thunderbird-l10n/en-CA/localization/en-CA/calendar/calendar-context-menus.ftl
new file mode 100644
index 0000000000..fe0dd4e0fe
--- /dev/null
+++ b/thunderbird-l10n/en-CA/localization/en-CA/calendar/calendar-context-menus.ftl
@@ -0,0 +1,10 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+list-calendar-context-reload-menuitem =
+ .label = Synchronize
+ .accesskey = S
+calendar-item-context-menu-modify-menuitem =
+ .label = Edit
+ .accesskey = E
diff --git a/thunderbird-l10n/en-CA/localization/en-CA/calendar/calendar-delete-prompt.ftl b/thunderbird-l10n/en-CA/localization/en-CA/calendar/calendar-delete-prompt.ftl
new file mode 100644
index 0000000000..586849e2e9
--- /dev/null
+++ b/thunderbird-l10n/en-CA/localization/en-CA/calendar/calendar-delete-prompt.ftl
@@ -0,0 +1,35 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+calendar-delete-event-prompt-title =
+ { $count ->
+ [one] Delete Event
+ *[other] Delete Events
+ }
+calendar-delete-event-prompt-message =
+ { $count ->
+ [one] Do you really want to delete this event?
+ *[other] Do you really want to delete these { $count } events?
+ }
+calendar-delete-task-prompt-title =
+ { $count ->
+ [one] Delete Task
+ *[other] Delete Tasks
+ }
+calendar-delete-task-prompt-message =
+ { $count ->
+ [one] Do you really want to delete this task?
+ *[other] Do you really want to delete these { $count } tasks?
+ }
+calendar-delete-item-prompt-title =
+ { $count ->
+ [one] Delete Item
+ *[other] Delete Items
+ }
+calendar-delete-item-prompt-message =
+ { $count ->
+ [one] Do you really want to delete this item?
+ *[other] Do you really want to delete these { $count } items?
+ }
+calendar-delete-prompt-disable-message = Don't ask me again.
diff --git a/thunderbird-l10n/en-CA/localization/en-CA/calendar/calendar-editable-item.ftl b/thunderbird-l10n/en-CA/localization/en-CA/calendar/calendar-editable-item.ftl
new file mode 100644
index 0000000000..80e61d97b8
--- /dev/null
+++ b/thunderbird-l10n/en-CA/localization/en-CA/calendar/calendar-editable-item.ftl
@@ -0,0 +1,30 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+calendar-editable-item-privacy-icon-private =
+ .alt = Privacy: Private Event
+calendar-editable-item-privacy-icon-confidential =
+ .alt = Privacy: Show Time and Date Only
+calendar-editable-item-recurrence =
+ .alt = Recurring
+calendar-editable-item-recurrence-exception =
+ .alt = Recurrence exception
+calendar-editable-item-todo-icon-task =
+ .alt = Task
+calendar-editable-item-todo-icon-completed-task =
+ .alt = Completed task
+calendar-editable-item-multiday-event-icon-start =
+ .alt = Multiple-day event begins
+calendar-editable-item-multiday-event-icon-continue =
+ .alt = Multiple-day event continues
+calendar-editable-item-multiday-event-icon-end =
+ .alt = Multiple-day event ends
+calendar-editable-item-reminder-icon-alarm =
+ .alt = A reminder alert is scheduled
+calendar-editable-item-reminder-icon-suppressed-alarm =
+ .alt = A reminder alert is scheduled but currently suppressed
+calendar-editable-item-reminder-icon-email =
+ .alt = A reminder e-mail is scheduled
+calendar-editable-item-reminder-icon-audio =
+ .alt = A reminder audio alert is scheduled
diff --git a/thunderbird-l10n/en-CA/localization/en-CA/calendar/calendar-event-dialog-reminder.ftl b/thunderbird-l10n/en-CA/localization/en-CA/calendar/calendar-event-dialog-reminder.ftl
new file mode 100644
index 0000000000..d7d7bef6c3
--- /dev/null
+++ b/thunderbird-l10n/en-CA/localization/en-CA/calendar/calendar-event-dialog-reminder.ftl
@@ -0,0 +1,10 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+calendar-event-reminder-icon-display =
+ .alt = Show an Alert
+calendar-event-reminder-icon-email =
+ .alt = Send an E-mail
+calendar-event-reminder-icon-audio =
+ .alt = Play an audio Alert
diff --git a/thunderbird-l10n/en-CA/localization/en-CA/calendar/calendar-event-listing.ftl b/thunderbird-l10n/en-CA/localization/en-CA/calendar/calendar-event-listing.ftl
new file mode 100644
index 0000000000..8c97b86d18
--- /dev/null
+++ b/thunderbird-l10n/en-CA/localization/en-CA/calendar/calendar-event-listing.ftl
@@ -0,0 +1,71 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+calendar-event-listing-close =
+ .tooltiptext = Close event search and event list
+
+## Listing columns
+
+calendar-event-listing-column-calendar-name =
+ .label = Calendar Name
+ .tooltiptext = Sort by calendar name
+calendar-event-listing-column-category =
+ .label = Category
+ .tooltiptext = Sort by category
+# This label and tooltip is used for the column with the checkbox in the task
+# tree view, which indicates whether a task has been marked as completed.
+calendar-event-listing-column-completed =
+ .label = Done
+ .tooltiptext = Sort by completion
+calendar-event-listing-column-completed-date =
+ .label = Completed
+ .tooltiptext = Sort by completed date
+calendar-event-listing-column-due-date =
+ .label = Due
+ .tooltiptext = Sort by due date
+calendar-event-listing-column-end-date =
+ .label = End
+ .tooltiptext = Sort by end date
+calendar-event-listing-column-location =
+ .label = Location
+ .tooltiptext = Sort by location
+calendar-event-listing-column-percent-complete =
+ .label = % Complete
+ .tooltiptext = Sort by % complete
+calendar-event-listing-column-priority =
+ .label = Priority
+ .tooltiptext = Sort by priority
+calendar-event-listing-column-start-date =
+ .label = Start
+ .tooltiptext = Sort by start date
+calendar-event-listing-column-status =
+ .label = Status
+ .tooltiptext = Sort by status
+calendar-event-listing-column-time-until-due =
+ .label = Due in
+ .tooltiptext = Sort by time until due
+calendar-event-listing-column-title =
+ .label = Title
+ .tooltiptext = Sort by title
+
+## Interval dropdown options
+
+calendar-event-listing-interval-calendar-month =
+ .label = Events in this Calendar Month
+calendar-event-listing-interval-current-view =
+ .label = Events in Current View
+calendar-event-listing-interval-next-7-days =
+ .label = Events in the Next 7 Days
+calendar-event-listing-interval-next-14-days =
+ .label = Events in the Next 14 Days
+calendar-event-listing-interval-next-31-days =
+ .label = Events in the Next 31 Days
+calendar-event-listing-interval-next-6-months =
+ .label = Events in the Next 6 Months
+calendar-event-listing-interval-next-12-months =
+ .label = Events in the Next 12 Months
+calendar-event-listing-interval-selected-day =
+ .label = Currently Selected Day
+calendar-event-listing-interval-today =
+ .label = Today’s Events
diff --git a/thunderbird-l10n/en-CA/localization/en-CA/calendar/calendar-ics-file-dialog.ftl b/thunderbird-l10n/en-CA/localization/en-CA/calendar/calendar-ics-file-dialog.ftl
new file mode 100644
index 0000000000..82214383bc
--- /dev/null
+++ b/thunderbird-l10n/en-CA/localization/en-CA/calendar/calendar-ics-file-dialog.ftl
@@ -0,0 +1,46 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+calendar-ics-file-window-2 =
+ .title = Import Calendar Events and Tasks
+calendar-ics-file-window-title = Import Calendar Events and Tasks
+calendar-ics-file-dialog-import-event-button-label = Import Event
+calendar-ics-file-dialog-import-task-button-label = Import Task
+calendar-ics-file-dialog-2 =
+ .buttonlabelaccept = Import All
+calendar-ics-file-accept-button-ok-label = OK
+calendar-ics-file-cancel-button-close-label = Close
+calendar-ics-file-dialog-message-2 = Import from file:
+calendar-ics-file-dialog-calendar-menu-label = Import into calendar:
+calendar-ics-file-dialog-items-loading-message =
+ .value = Loading items…
+calendar-ics-file-dialog-search-input =
+ .placeholder = Filter items…
+calendar-ics-file-dialog-sort-start-ascending =
+ .label = Sort by start date (first to last)
+calendar-ics-file-dialog-sort-start-descending =
+ .label = Sort by start date (last to first)
+# "A > Z" is used as a concise way to say "alphabetical order".
+# You may replace it with something appropriate to your language.
+calendar-ics-file-dialog-sort-title-ascending =
+ .label = Sort by title (A > Z)
+# "Z > A" is used as a concise way to say "reverse alphabetical order".
+# You may replace it with something appropriate to your language.
+calendar-ics-file-dialog-sort-title-descending =
+ .label = Sort by title (Z > A)
+calendar-ics-file-dialog-progress-message = Importing…
+calendar-ics-file-import-success = Successfully imported!
+calendar-ics-file-import-error = An error occurred and the import failed.
+calendar-ics-file-import-complete = Import complete.
+calendar-ics-file-import-duplicates =
+ { $duplicatesCount ->
+ [one] One item was ignored since it already exists in the destination calendar.
+ *[other] { $duplicatesCount } items were ignored since they already exist in the destination calendar.
+ }
+calendar-ics-file-import-errors =
+ { $errorsCount ->
+ [one] One item failed to import. Check the Error Console for details.
+ *[other] { $errorsCount } items failed to import. Check the Error Console for details.
+ }
+calendar-ics-file-dialog-no-calendars = There are no calendars that can import events or tasks.
diff --git a/thunderbird-l10n/en-CA/localization/en-CA/calendar/calendar-invitation-panel.ftl b/thunderbird-l10n/en-CA/localization/en-CA/calendar/calendar-invitation-panel.ftl
new file mode 100644
index 0000000000..1c42d7d010
--- /dev/null
+++ b/thunderbird-l10n/en-CA/localization/en-CA/calendar/calendar-invitation-panel.ftl
@@ -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/.
+
+calendar-invitation-panel-status-new = You have been invited to this event.
+calendar-invitation-panel-status-processed = This event has already been added to your calendar.
+calendar-invitation-panel-status-updateminor = This message contains an update for this event.
+calendar-invitation-panel-status-updatemajor = This message contains an update for this event. You should re-confirm your attendance.
+calendar-invitation-panel-status-cancelled = This message contains a cancellation for this event.
+calendar-invitation-panel-status-cancelled-notfound = This message contains a cancellation for an event not found on your calendar.
+# Variables:
+# $organizer (String) - The participant that cancelled the invitation.
+calendar-invitation-panel-intro-cancel = { $organizer } has cancelled:
+# Variables:
+# $summary (String) - A short summary or title of the event.
+calendar-invitation-panel-title = { $summary }
+calendar-invitation-panel-view-button = View
+calendar-invitation-panel-update-button = Update
+calendar-invitation-panel-delete-button = Delete
+calendar-invitation-panel-accept-button = Yes
+calendar-invitation-panel-decline-button = No
+calendar-invitation-panel-tentative-button = Maybe
+calendar-invitation-panel-more-button = More
+calendar-invitation-panel-menu-item-save-copy =
+ .label = Save a copy
+calendar-invitation-panel-menu-item-toggle-changes =
+ .label = Show Changes
+calendar-invitation-panel-prop-title-when = When:
+calendar-invitation-panel-prop-title-location = Location:
+# Example: Friday, September 16, 2022
+# Variables:
+# $startDate (String) - The date (without time) the event starts on.
+calendar-invitation-interval-all-day = { $startDate }
+# Example: September 16, 2022 – September 16, 2023
+# Variables:
+# $startMonth (String) - The month the interval starts.
+# $startDay (String) - The day of the month the interval starts.
+# $startYear (String) - The year the interval starts.
+# $endMonth (String) - The month the interval ends.
+# $endDay (String) - The day of the month the interval ends.
+# $endYear (String) - The year the interval ends.
+calendar-invitation-interval-all-day-between-years = { $startMonth } { $startDay }, { $startYear } – { $endMonth } { $endDay }, { $endYear }
+# Example: September 16 – 20, 2022
+# Variables:
+# $month (String) - The month the interval is in.
+# $startDay (String) - The day of the month the interval starts.
+# $endDay (String) - The day of the month the interval ends.
+# $year (String) - The year the interval is in.
+calendar-invitation-interval-all-day-in-month = { $month } { $startDay } – { $endDay }, { $year }
+# Example: September 16 – October 20, 2022
+# Variables:
+# $startMonth (String) - The month the interval starts.
+# $startDay (String) - The day of the month the interval starts.
+# $endMonth (String) - The month the interval ends.
+# $endDay (String) - The day of the month the interval ends.
+# $year (String) - The year the interval is in.
+calendar-invitation-interval-all-day-between-months = { $startMonth } { $startDay } – { $endMonth } { $endDay }, { $year }
+# Example: Friday, September 16, 2022 15:00 America/Port of Spain
+# Variables:
+# $startDate (String) - The date the interval starts.
+# $startTime (String) - The time the interval starts.
+# $timezone (String) - The timezone the interval is in.
+calendar-invitation-interval-same-date-time = { $startDate } <b>{ $startTime }</b> { $timezone }
+# Example: Friday, September 16, 2022 14:00 – 16:00 America/Port of Spain
+# Variables:
+# $startDate (String) - The date the interval starts.
+# $startTime (String) - The time the interval starts.
+# $endTime (String) - The time the interval ends.
+# $timezone (String) - The timezone the interval is in.
+calendar-invitation-interval-same-day = { $startDate } <b>{ $startTime }</b> – <b>{ $endTime }</b> { $timezone }
+# Example: Friday, September 16, 2022 14:00 – Tuesday, September 20, 2022 16:00 America/Port of Spain
+# Variables:
+# $startDate (String) - The date the interval starts.
+# $startTime (String) - The time the interval starts.
+# $endDate (String) - The date the interval ends.
+# $endTime (String) - The time the interval ends.
+# $timezone (String) - The timezone the interval is in.
+calendar-invitation-interval-several-days = { $startDate } <b>{ $startTime }</b> – { $endDate } <b>{ $endTime }</b> { $timezone }
+calendar-invitation-panel-prop-title-recurrence = Repeats:
+calendar-invitation-panel-prop-title-attendees = Attendees:
+calendar-invitation-panel-prop-title-description = Description:
+# Variables:
+# $count (Number) - The number of attendees with the "ACCEPTED" participation status.
+calendar-invitation-panel-partstat-accepted = { $count } yes
+# Variables:
+# $count (Number) - The number of attendees with the "DECLINED" participation status.
+calendar-invitation-panel-partstat-declined = { $count } no
+# Variables:
+# $count (Number) - The number of attendees with the "TENTATIVE" participation status.
+calendar-invitation-panel-partstat-tentative = { $count } maybe
+# Variables:
+# $count (Number) - The number of attendees with the "NEEDS-ACTION" participation status.
+calendar-invitation-panel-partstat-needs-action = { $count } pending
+# Variables:
+# $count (Number) - The total number of attendees.
+calendar-invitation-panel-partstat-total = { $count } participants
+calendar-invitation-panel-prop-title-attachments = Attachments:
+calendar-invitation-change-indicator-removed = Removed
+calendar-invitation-change-indicator-added = New
+calendar-invitation-change-indicator-modified = Changed
diff --git a/thunderbird-l10n/en-CA/localization/en-CA/calendar/calendar-invitations-dialog.ftl b/thunderbird-l10n/en-CA/localization/en-CA/calendar/calendar-invitations-dialog.ftl
new file mode 100644
index 0000000000..6023901304
--- /dev/null
+++ b/thunderbird-l10n/en-CA/localization/en-CA/calendar/calendar-invitations-dialog.ftl
@@ -0,0 +1,10 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+calendar-invitation-current-participation-status-icon-accepted =
+ .alt = Currently accepted
+calendar-invitation-current-participation-status-icon-declined =
+ .alt = Currently declined
+calendar-invitation-current-participation-status-icon-needs-action =
+ .alt = Currently undecided
diff --git a/thunderbird-l10n/en-CA/localization/en-CA/calendar/calendar-itip-identity-dialog.ftl b/thunderbird-l10n/en-CA/localization/en-CA/calendar/calendar-itip-identity-dialog.ftl
new file mode 100644
index 0000000000..53f9c76ca8
--- /dev/null
+++ b/thunderbird-l10n/en-CA/localization/en-CA/calendar/calendar-itip-identity-dialog.ftl
@@ -0,0 +1,8 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+calendar-itip-identity-dialog-title = Party crashing?
+calendar-itip-identity-warning = You are not on the guest list yet.
+calendar-itip-identity-label = Respond as:
+calendar-itip-identity-label-none = Associate this event with:
diff --git a/thunderbird-l10n/en-CA/localization/en-CA/calendar/calendar-print.ftl b/thunderbird-l10n/en-CA/localization/en-CA/calendar/calendar-print.ftl
new file mode 100644
index 0000000000..8865893767
--- /dev/null
+++ b/thunderbird-l10n/en-CA/localization/en-CA/calendar/calendar-print.ftl
@@ -0,0 +1,17 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+calendar-print-layout-label = Layout
+calendar-print-layout-list = List
+calendar-print-layout-month-grid = Monthly Grid
+calendar-print-layout-week-planner = Weekly Planner
+calendar-print-filter-label = What to Print
+calendar-print-filter-events = Events
+calendar-print-filter-tasks = Tasks
+calendar-print-filter-completedtasks = Completed tasks
+calendar-print-filter-taskswithnoduedate = Tasks with no due date
+calendar-print-range-from = From
+calendar-print-range-to = To
+calendar-print-back-button = Back
+calendar-print-next-button = Next
diff --git a/thunderbird-l10n/en-CA/localization/en-CA/calendar/calendar-recurrence-dialog.ftl b/thunderbird-l10n/en-CA/localization/en-CA/calendar/calendar-recurrence-dialog.ftl
new file mode 100644
index 0000000000..4de6b4c9fc
--- /dev/null
+++ b/thunderbird-l10n/en-CA/localization/en-CA/calendar/calendar-recurrence-dialog.ftl
@@ -0,0 +1,8 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+calendar-recurrence-preview-label = Preview
+calendar-recurrence-next = Next Month
+calendar-recurrence-previous = Previous Month
+calendar-recurrence-today = Today
diff --git a/thunderbird-l10n/en-CA/localization/en-CA/calendar/calendar-summary-dialog.ftl b/thunderbird-l10n/en-CA/localization/en-CA/calendar/calendar-summary-dialog.ftl
new file mode 100644
index 0000000000..df6a85765b
--- /dev/null
+++ b/thunderbird-l10n/en-CA/localization/en-CA/calendar/calendar-summary-dialog.ftl
@@ -0,0 +1,17 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+calendar-summary-dialog-edit-button =
+ .label = Edit
+ .accesskey = E
+calendar-summary-dialog-edit-menu-button =
+ .label = Edit
+edit-button-context-menu-this-occurrence =
+ .label = Edit only this occurrence
+ .accesskey = t
+edit-button-context-menu-all-occurrences =
+ .label = Edit all occurrences
+ .accesskey = a
+description-context-menu-copy-link-text =
+ .label = Copy Link Text
diff --git a/thunderbird-l10n/en-CA/localization/en-CA/calendar/calendar-uri-redirect-dialog.ftl b/thunderbird-l10n/en-CA/localization/en-CA/calendar/calendar-uri-redirect-dialog.ftl
new file mode 100644
index 0000000000..4c88232378
--- /dev/null
+++ b/thunderbird-l10n/en-CA/localization/en-CA/calendar/calendar-uri-redirect-dialog.ftl
@@ -0,0 +1,12 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+calendar-uri-redirect-window =
+ .title = Calendar URI Redirect
+calendar-uri-redirect-window-title = Calendar URI Redirect
+calendar-uri-redirect-description =
+ The server is redirecting the URI for the calendar "{ $calendarName }".
+ Accept the redirect and start using the new URI for this calendar?
+calendar-uri-redirect-original-uri-label = Current URI:
+calendar-uri-redirect-target-uri-label = Redirecting to new URI:
diff --git a/thunderbird-l10n/en-CA/localization/en-CA/calendar/calendar-widgets.ftl b/thunderbird-l10n/en-CA/localization/en-CA/calendar/calendar-widgets.ftl
new file mode 100644
index 0000000000..6fe6c16298
--- /dev/null
+++ b/thunderbird-l10n/en-CA/localization/en-CA/calendar/calendar-widgets.ftl
@@ -0,0 +1,111 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+calendar-deactivated-notification-events = All calendars are currently disabled. Enable an existing calendar or add a new one to create and edit events.
+calendar-deactivated-notification-tasks = All calendars are currently disabled. Enable an existing calendar or add a new one to create and edit tasks.
+calendar-notifications-label = Show notifications for upcoming events
+calendar-add-notification-button =
+ .label = Add notification
+
+## Side panel
+
+calendar-list-header = Calendars
+# Variables:
+# $calendarName (String) - Calendar name as given by the user
+calendar-no-reminders-tooltip =
+ .title = { $calendarName } calendar has been muted
+calendar-enable-button = Enable
+# Variables:
+# $calendarName (String) - Calendar name as given by the user
+calendar-list-item-context-button =
+ .title = { $calendarName } calendar options
+calendar-import-new-calendar = New Calendar…
+ .title = Create or subscribe to a new calendar
+calendar-refresh-calendars =
+ .title = Reload all calendars and synchronize changes
+calendar-new-event-primary-button = New Event
+calendar-new-task-primary-button = New Task
+
+## Calendar navigation
+
+calendar-nav-button-prev-tooltip-day =
+ .title = Previous Day
+ .accesskey = s
+calendar-nav-button-prev-tooltip-week =
+ .title = Previous Week
+ .accesskey = s
+calendar-nav-button-prev-tooltip-multiweek =
+ .title = Previous Week
+ .accesskey = s
+calendar-nav-button-prev-tooltip-month =
+ .title = Previous Month
+ .accesskey = s
+calendar-nav-button-prev-tooltip-year =
+ .title = Previous Year
+ .accesskey = s
+calendar-nav-button-next-tooltip-day =
+ .title = Next Day
+ .accesskey = x
+calendar-nav-button-next-tooltip-week =
+ .title = Next Week
+ .accesskey = x
+calendar-nav-button-next-tooltip-multiweek =
+ .title = Next Week
+ .accesskey = x
+calendar-nav-button-next-tooltip-month =
+ .title = Next Month
+ .accesskey = x
+calendar-nav-button-next-tooltip-year =
+ .title = Next Year
+ .accesskey = x
+calendar-today-button-tooltip =
+ .title = Go to Today
+calendar-view-toggle-day = Day
+ .title = Switch to day view
+calendar-view-toggle-week = Week
+ .title = Switch to week view
+calendar-view-toggle-multiweek = Multiweek
+ .title = Switch to multiweek view
+calendar-view-toggle-month = Month
+ .title = Switch to month view
+
+## Menu on calendar control bar
+
+calendar-control-bar-menu-button =
+ .title = Calendar layout options
+calendar-find-events-menu-option =
+ .label = Find Events Pane
+calendar-hide-weekends-option =
+ .label = Workweek days only
+calendar-define-workweek-option =
+ .label = Define workweek days
+calendar-show-tasks-calendar-option =
+ .label = Show tasks in calendar
+
+## Calendar Context Menu
+
+calendar-context-menu-previous-day =
+ .label = Previous Day
+ .accesskey = s
+calendar-context-menu-previous-week =
+ .label = Previous Week
+ .accesskey = s
+calendar-context-menu-previous-multiweek =
+ .label = Previous Week
+ .accesskey = s
+calendar-context-menu-previous-month =
+ .label = Previous Month
+ .accesskey = s
+calendar-context-menu-next-day =
+ .label = Next Day
+ .accesskey = x
+calendar-context-menu-next-week =
+ .label = Next Week
+ .accesskey = x
+calendar-context-menu-next-multiweek =
+ .label = Next Week
+ .accesskey = x
+calendar-context-menu-next-month =
+ .label = Next Month
+ .accesskey = x
diff --git a/thunderbird-l10n/en-CA/localization/en-CA/calendar/category-dialog.ftl b/thunderbird-l10n/en-CA/localization/en-CA/calendar/category-dialog.ftl
new file mode 100644
index 0000000000..d276598685
--- /dev/null
+++ b/thunderbird-l10n/en-CA/localization/en-CA/calendar/category-dialog.ftl
@@ -0,0 +1,7 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+category-name-label = Name
+category-color-label =
+ .label = Use Colour
diff --git a/thunderbird-l10n/en-CA/localization/en-CA/calendar/preferences.ftl b/thunderbird-l10n/en-CA/localization/en-CA/calendar/preferences.ftl
new file mode 100644
index 0000000000..4174be87e6
--- /dev/null
+++ b/thunderbird-l10n/en-CA/localization/en-CA/calendar/preferences.ftl
@@ -0,0 +1,192 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+calendar-title = Calendar
+calendar-title-reminder = Reminders
+calendar-title-notification = Notifications
+calendar-title-category = Categories
+dateformat-label =
+ .value = Date Text Format:
+ .accesskey = D
+# $date (String) - the formatted example date
+dateformat-long =
+ .label = Long: { $date }
+# $date (String) - the formatted example date
+dateformat-short =
+ .label = Short: { $date }
+use-system-timezone-radio-button =
+ .label = Use system timezone
+set-timezone-manually-radio-button =
+ .label = Set timezone manually
+timezone-label =
+ .value = Timezone:
+weekstart-label =
+ .value = Start the week on:
+ .accesskey = r
+day-1-name =
+ .label = Sunday
+day-2-name =
+ .label = Monday
+day-3-name =
+ .label = Tuesday
+day-4-name =
+ .label = Wednesday
+day-5-name =
+ .label = Thursday
+day-6-name =
+ .label = Friday
+day-7-name =
+ .label = Saturday
+show-weeknumber-label =
+ .label = Show week number in views and minimonth
+ .accesskey = n
+workdays-label =
+ .value = Workweek days:
+day-1-checkbox =
+ .label = Sun
+ .accesskey = S
+day-2-checkbox =
+ .label = Mon
+ .accesskey = M
+day-3-checkbox =
+ .label = Tue
+ .accesskey = T
+day-4-checkbox =
+ .label = Wed
+ .accesskey = W
+day-5-checkbox =
+ .label = Thu
+ .accesskey = h
+day-6-checkbox =
+ .label = Fri
+ .accesskey = F
+day-7-checkbox =
+ .label = Sat
+ .accesskey = a
+dayweek-legend = Day and Week Views
+visible-hours-label =
+ .value = Show:
+ .accesskey = o
+visible-hours-end-label =
+ .value = hours at a time
+day-start-label =
+ .value = Day starts at:
+ .accesskey = D
+day-end-label =
+ .value = Day ends at:
+ .accesskey = y
+midnight-label =
+ .label = Midnight
+noon-label =
+ .label = Noon
+location-checkbox =
+ .label = Show location
+ .accesskey = L
+multiweek-legend = Multiweek View
+number-of-weeks-label =
+ .value = Number of weeks to show (including previous weeks):
+ .accesskey = e
+week-0-label =
+ .label = none
+week-1-label =
+ .label = 1 week
+week-2-label =
+ .label = 2 weeks
+week-3-label =
+ .label = 3 weeks
+week-4-label =
+ .label = 4 weeks
+week-5-label =
+ .label = 5 weeks
+week-6-label =
+ .label = 6 weeks
+previous-weeks-label =
+ .value = Previous weeks to show:
+ .accesskey = P
+todaypane-legend = Today Pane
+agenda-days =
+ .value = The agenda shows:
+ .accesskey = g
+event-task-legend = Events and Tasks
+default-length-label =
+ .value = Default Event and Task Length:
+ .accesskey = E
+task-start-label =
+ .value = Start Date:
+task-start-1-label =
+ .label = None
+task-start-2-label =
+ .label = Start of Day
+task-start-3-label =
+ .label = End of Day
+task-start-4-label =
+ .label = Tomorrow
+task-start-5-label =
+ .label = Next Week
+task-start-6-label =
+ .label = Relative to Current Time
+task-start-7-label =
+ .label = Relative to Start
+task-start-8-label =
+ .label = Relative to Next Hour
+task-due-label =
+ .value = Due Date:
+edit-intab-label =
+ .label = Edit events and tasks in a tab instead of in a dialog window.
+ .accesskey = t
+prompt-delete-label =
+ .label = Prompt before deleting events and tasks.
+ .accesskey = V
+accessibility-legend = Accessibility
+accessibility-colors-label =
+ .label = Optimize colours for accessibility
+ .accesskey = c
+reminder-legend = When a Reminder is Due:
+reminder-play-checkbox =
+ .label = Play a sound
+ .accesskey = s
+reminder-play-alarm-button =
+ .label = Play
+ .accesskey = P
+reminder-default-sound-label =
+ .label = Use default sound
+ .accesskey = d
+reminder-custom-sound-label =
+ .label = Use the following sound file
+ .accesskey = U
+reminder-browse-sound-label =
+ .label = Browse…
+ .accesskey = B
+reminder-dialog-label =
+ .label = Show the reminder dialog
+ .accesskey = x
+missed-reminder-label =
+ .label = Show missed reminders for writable calendars
+ .accesskey = m
+reminder-default-legend = Reminder Defaults
+default-snooze-label =
+ .value = Default Snooze Length:
+ .accesskey = S
+event-alarm-label =
+ .value = Default reminder setting for events:
+ .accesskey = e
+alarm-on-label =
+ .label = On
+alarm-off-label =
+ .label = Off
+task-alarm-label =
+ .value = Default reminder setting for tasks:
+ .accesskey = a
+event-alarm-time-label =
+ .value = Default time a reminder is set before an event:
+ .accesskey = u
+task-alarm-time-label =
+ .value = Default time a reminder is set before a task:
+ .accesskey = o
+calendar-notifications-customize-label = Notifications can be customized for each calendar in the calendar’s properties window.
+category-new-label = New Category
+category-edit-label = Edit Category
+category-overwrite-title = Warning: Duplicate name
+category-overwrite = A category already exists with that name. Do you want to overwrite it?
+category-blank-warning = You must enter a category name.
diff --git a/thunderbird-l10n/en-CA/localization/en-CA/chat/matrix.ftl b/thunderbird-l10n/en-CA/localization/en-CA/chat/matrix.ftl
new file mode 100644
index 0000000000..f692e45e6d
--- /dev/null
+++ b/thunderbird-l10n/en-CA/localization/en-CA/chat/matrix.ftl
@@ -0,0 +1,24 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+
+### Matrix Protocol strings
+
+
+## Conversation names when a room has no user readable name.
+
+room-name-empty = Empty conversation
+# Variables:
+# $oldName (String) - The previous name the conversation had before it was
+# removed.
+room-name-empty-had-name = Empty conversation (was { $oldName })
+# Variables:
+# $participant (String) - The name of one participant that isn't the user.
+# $otherParticipantCount (Number) - The count of other participants apart from
+# the user and $participant.
+room-name-others2 =
+ { $otherParticipantCount ->
+ [one] { $participant } and { $otherParticipantCount } other
+ *[other] { $participant } and { $otherParticipantCount } others
+ }
diff --git a/thunderbird-l10n/en-CA/localization/en-CA/crashreporter/aboutcrashes.ftl b/thunderbird-l10n/en-CA/localization/en-CA/crashreporter/aboutcrashes.ftl
new file mode 100644
index 0000000000..9af0b2dfcb
--- /dev/null
+++ b/thunderbird-l10n/en-CA/localization/en-CA/crashreporter/aboutcrashes.ftl
@@ -0,0 +1,31 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v- 2-0- If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla-org/MPL/2-0/-
+
+
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+crash-reports-title = Crash Reports
+
+submit-all-button-label = Submit All
+delete-button-label = Clear All
+delete-confirm-title = Are you sure?
+delete-unsubmitted-description = This will delete all unsubmitted crash reports and cannot be undone.
+delete-submitted-description = This will remove the list of submitted crash reports but will not delete the submitted data. This cannot be undone.
+
+crashes-unsubmitted-label = Unsubmitted Crash Reports
+id-heading = Report ID
+date-crashed-heading = Date Crashed
+submit-crash-button-label = Submit
+# This text is used to replace the label of the crash submit button
+# if the crash submission fails.
+submit-crash-button-failure-label = Failed
+
+crashes-submitted-label = Submitted Crash Reports
+date-submitted-heading = Date Submitted
+view-crash-button-label = View
+
+no-reports-label = No crash reports have been submitted.
+no-config-label = This application has not been configured to display crash reports. The preference <code>breakpad.reportURL</code> must be set.
diff --git a/thunderbird-l10n/en-CA/localization/en-CA/devtools/client/aboutdebugging.ftl b/thunderbird-l10n/en-CA/localization/en-CA/devtools/client/aboutdebugging.ftl
new file mode 100644
index 0000000000..691c205a65
--- /dev/null
+++ b/thunderbird-l10n/en-CA/localization/en-CA/devtools/client/aboutdebugging.ftl
@@ -0,0 +1,400 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+
+### These strings are used inside the about:debugging UI.
+
+
+# Page Title strings
+
+# Page title (ie tab title) for the Setup page
+about-debugging-page-title-setup-page = Debugging - Setup
+
+# Page title (ie tab title) for the Runtime page
+# { $selectedRuntimeId } is the id of the current runtime, such as "this-firefox", "localhost:6080", ...
+about-debugging-page-title-runtime-page = Debugging - Runtime / { $selectedRuntimeId }
+
+# Sidebar strings
+
+# Display name of the runtime for the currently running instance of Firefox. Used in the
+# Sidebar and in the Setup page.
+about-debugging-this-firefox-runtime-name = This { -brand-shorter-name }
+
+# Sidebar heading for selecting the currently running instance of Firefox
+about-debugging-sidebar-this-firefox =
+ .name = { about-debugging-this-firefox-runtime-name }
+
+# Sidebar heading for connecting to some remote source
+about-debugging-sidebar-setup =
+ .name = Setup
+
+# Text displayed in the about:debugging sidebar when USB devices discovery is enabled.
+about-debugging-sidebar-usb-enabled = USB enabled
+
+# Text displayed in the about:debugging sidebar when USB devices discovery is disabled
+# (for instance because the mandatory ADB extension is not installed).
+about-debugging-sidebar-usb-disabled = USB disabled
+
+# Connection status (connected) for runtime items in the sidebar
+aboutdebugging-sidebar-runtime-connection-status-connected = Connected
+# Connection status (disconnected) for runtime items in the sidebar
+aboutdebugging-sidebar-runtime-connection-status-disconnected = Disconnected
+
+# Text displayed in the about:debugging sidebar when no device was found.
+about-debugging-sidebar-no-devices = No devices discovered
+
+# Text displayed in buttons found in sidebar items representing remote runtimes.
+# Clicking on the button will attempt to connect to the runtime.
+about-debugging-sidebar-item-connect-button = Connect
+
+# Text displayed in buttons found in sidebar items when the runtime is connecting.
+about-debugging-sidebar-item-connect-button-connecting = Connecting…
+
+# Text displayed in buttons found in sidebar items when the connection failed.
+about-debugging-sidebar-item-connect-button-connection-failed = Connection failed
+
+# Text displayed in connection warning on sidebar item of the runtime when connecting to
+# the runtime is taking too much time.
+about-debugging-sidebar-item-connect-button-connection-not-responding = Connection still pending, check for messages on the target browser
+
+# Text displayed as connection error in sidebar item when the connection has timed out.
+about-debugging-sidebar-item-connect-button-connection-timeout = Connection timed out
+
+# Text displayed in sidebar items for remote devices where a compatible browser (eg
+# Firefox) has not been detected yet. Typically, Android phones connected via USB with
+# USB debugging enabled, but where Firefox is not started.
+about-debugging-sidebar-runtime-item-waiting-for-browser = Waiting for browser…
+
+# Text displayed in sidebar items for remote devices that have been disconnected from the
+# computer.
+about-debugging-sidebar-runtime-item-unplugged = Unplugged
+
+# Title for runtime sidebar items that are related to a specific device (USB, WiFi).
+about-debugging-sidebar-runtime-item-name =
+ .title = { $displayName } ({ $deviceName })
+# Title for runtime sidebar items where we cannot get device information (network
+# locations).
+about-debugging-sidebar-runtime-item-name-no-device =
+ .title = { $displayName }
+
+# Text to show in the footer of the sidebar that links to a help page
+# (currently: https://firefox-source-docs.mozilla.org/devtools-user/about_colon_debugging/)
+about-debugging-sidebar-support = Debugging Support
+
+# Text to show as the ALT attribute of a help icon that accompanies the help about
+# debugging link in the footer of the sidebar
+about-debugging-sidebar-support-icon =
+ .alt = Help icon
+
+# Text displayed in a sidebar button to refresh the list of USB devices. Clicking on it
+# will attempt to update the list of devices displayed in the sidebar.
+about-debugging-refresh-usb-devices-button = Refresh devices
+
+# Setup Page strings
+
+# Title of the Setup page.
+about-debugging-setup-title = Setup
+
+# Introduction text in the Setup page to explain how to configure remote debugging.
+about-debugging-setup-intro = Configure the connection method you wish to remotely debug your device with.
+
+# Explanatory text in the Setup page about what the 'This Firefox' page is for
+about-debugging-setup-this-firefox2 = Use <a>{ about-debugging-this-firefox-runtime-name }</a> to debug extensions and service workers on this version of { -brand-shorter-name }.
+
+# Title of the heading Connect section of the Setup page.
+about-debugging-setup-connect-heading = Connect a Device
+
+# USB section of the Setup page
+about-debugging-setup-usb-title = USB
+
+# Explanatory text displayed in the Setup page when USB debugging is disabled
+about-debugging-setup-usb-disabled = Enabling this will download and add the required Android USB debugging components to { -brand-shorter-name }.
+
+# Text of the button displayed in the USB section of the setup page when USB debugging is disabled.
+# Clicking on it will download components needed to debug USB Devices remotely.
+about-debugging-setup-usb-enable-button = Enable USB Devices
+
+# Text of the button displayed in the USB section of the setup page when USB debugging is enabled.
+about-debugging-setup-usb-disable-button = Disable USB Devices
+
+# Text of the button displayed in the USB section of the setup page while USB debugging
+# components are downloaded and installed.
+about-debugging-setup-usb-updating-button = Updating…
+
+# USB section of the Setup page (USB status)
+about-debugging-setup-usb-status-enabled = Enabled
+about-debugging-setup-usb-status-disabled = Disabled
+about-debugging-setup-usb-status-updating = Updating…
+
+# USB section step by step guide
+about-debugging-setup-usb-step-enable-dev-menu2 = Enable Developer menu on your Android device.
+
+# USB section step by step guide
+about-debugging-setup-usb-step-enable-debug2 = Enable USB Debugging in the Android Developer Menu.
+
+# USB section step by step guide
+about-debugging-setup-usb-step-enable-debug-firefox2 = Enable USB Debugging in Firefox on the Android device.
+
+# USB section step by step guide
+about-debugging-setup-usb-step-plug-device = Connect the Android device to your computer.
+
+# Text shown in the USB section of the setup page with a link to troubleshoot connection errors.
+# The link goes to https://firefox-source-docs.mozilla.org/devtools-user/about_colon_debugging/index.html#connecting-to-a-remote-device
+about-debugging-setup-usb-troubleshoot = Problems connecting to the USB device? <a>Troubleshoot</a>
+
+# Network section of the Setup page
+about-debugging-setup-network =
+ .title = Network Location
+
+# Text shown in the Network section of the setup page with a link to troubleshoot connection errors.
+# The link goes to https://firefox-source-docs.mozilla.org/devtools-user/about_colon_debugging/index.html#connecting-over-the-network
+about-debugging-setup-network-troubleshoot = Problems connecting via network location? <a>Troubleshoot</a>
+
+# Text of a button displayed after the network locations "Host" input.
+# Clicking on it will add the new network location to the list.
+about-debugging-network-locations-add-button = Add
+
+# Text to display when there are no locations to show.
+about-debugging-network-locations-empty-text = No network locations have been added yet.
+
+# Text of the label for the text input that allows users to add new network locations in
+# the Connect page. A host is a hostname and a port separated by a colon, as suggested by
+# the input's placeholder "localhost:6080".
+about-debugging-network-locations-host-input-label = Host
+
+# Text of a button displayed next to existing network locations in the Connect page.
+# Clicking on it removes the network location from the list.
+about-debugging-network-locations-remove-button = Remove
+
+# Text used as error message if the format of the input value was invalid in the network locations form of the Setup page.
+# Variables:
+# $host-value (string) - The input value submitted by the user in the network locations form
+about-debugging-network-location-form-invalid = Invalid host “{ $host-value }”. The expected format is “hostname:portnumber”.
+
+# Text used as error message if the input value was already registered in the network locations form of the Setup page.
+# Variables:
+# $host-value (string) - The input value submitted by the user in the network locations form
+about-debugging-network-location-form-duplicate = The host “{ $host-value }” is already registered
+
+# Runtime Page strings
+
+# Below are the titles for the various categories of debug targets that can be found
+# on "runtime" pages of about:debugging.
+# Title of the temporary extensions category (only available for "This Firefox" runtime).
+about-debugging-runtime-temporary-extensions =
+ .name = Temporary Extensions
+# Title of the extensions category.
+about-debugging-runtime-extensions =
+ .name = Extensions
+# Title of the tabs category.
+about-debugging-runtime-tabs =
+ .name = Tabs
+# Title of the service workers category.
+about-debugging-runtime-service-workers =
+ .name = Service Workers
+# Title of the shared workers category.
+about-debugging-runtime-shared-workers =
+ .name = Shared Workers
+# Title of the other workers category.
+about-debugging-runtime-other-workers =
+ .name = Other Workers
+# Title of the processes category.
+about-debugging-runtime-processes =
+ .name = Processes
+
+# Label of the button opening the performance profiler panel in runtime pages for remote
+# runtimes.
+about-debugging-runtime-profile-button2 = Profile performance
+
+# This string is displayed in the runtime page if the current configuration of the
+# target runtime is incompatible with service workers. "Learn more" points to:
+# https://firefox-source-docs.mozilla.org/devtools-user/about_colon_debugging/index.html#service-workers-not-compatible
+about-debugging-runtime-service-workers-not-compatible = Your browser configuration is not compatible with Service Workers. <a>Learn more</a>
+
+# This string is displayed in the runtime page if the remote browser version is too old.
+# "Troubleshooting" link points to https://firefox-source-docs.mozilla.org/devtools-user/about_colon_debugging/
+# { $runtimeVersion } is the version of the remote browser (for instance "67.0a1")
+# { $minVersion } is the minimum version that is compatible with the current Firefox instance (same format)
+about-debugging-browser-version-too-old = The connected browser has an old version ({ $runtimeVersion }). The minimum supported version is ({ $minVersion }). This is an unsupported setup and may cause DevTools to fail. Please update the connected browser. <a>Troubleshooting</a>
+
+# Dedicated message for a backward compatibility issue that occurs when connecting:
+# from Fx 70+ to the old Firefox for Android (aka Fennec) which uses Fx 68.
+about-debugging-browser-version-too-old-fennec = This version of Firefox cannot debug Firefox for Android (68). We recommend installing Firefox for Android Nightly on your phone for testing. <a>More details</a>
+
+# This string is displayed in the runtime page if the remote browser version is too recent.
+# "Troubleshooting" link points to https://firefox-source-docs.mozilla.org/devtools-user/about_colon_debugging/
+# { $runtimeID } is the build ID of the remote browser (for instance "20181231", format is yyyyMMdd)
+# { $localID } is the build ID of the current Firefox instance (same format)
+# { $runtimeVersion } is the version of the remote browser (for instance "67.0a1")
+# { $localVersion } is the version of your current browser (same format)
+about-debugging-browser-version-too-recent = The connected browser is more recent ({ $runtimeVersion }, buildID { $runtimeID }) than your { -brand-shorter-name } ({ $localVersion }, buildID { $localID }). This is an unsupported setup and may cause DevTools to fail. Please update Firefox. <a>Troubleshooting</a>
+
+# Displayed for runtime info in runtime pages.
+# { $name } is brand name such as "Firefox Nightly"
+# { $version } is version such as "64.0a1"
+about-debugging-runtime-name = { $name } ({ $version })
+
+# Text of a button displayed in Runtime pages for remote runtimes.
+# Clicking on the button will close the connection to the runtime.
+about-debugging-runtime-disconnect-button = Disconnect
+
+# Text of the connection prompt button displayed in Runtime pages, when the preference
+# "devtools.debugger.prompt-connection" is false on the target runtime.
+about-debugging-connection-prompt-enable-button = Enable connection prompt
+
+# Text of the connection prompt button displayed in Runtime pages, when the preference
+# "devtools.debugger.prompt-connection" is true on the target runtime.
+about-debugging-connection-prompt-disable-button = Disable connection prompt
+
+# Title of a modal dialog displayed on remote runtime pages after clicking on the Profile Runtime button.
+about-debugging-profiler-dialog-title2 = Profiler
+
+# Clicking on the header of a debug target category will expand or collapse the debug
+# target items in the category. This text is used as ’title’ attribute of the header,
+# to describe this feature.
+about-debugging-collapse-expand-debug-targets = Collapse / expand
+
+# Debug Targets strings
+
+# Displayed in the categories of "runtime" pages that don't have any debug target to
+# show. Debug targets depend on the category (extensions, tabs, workers...).
+about-debugging-debug-target-list-empty = Nothing yet.
+
+# Text of a button displayed next to debug targets of "runtime" pages. Clicking on this
+# button will open a DevTools toolbox that will allow inspecting the target.
+# A target can be an addon, a tab, a worker...
+about-debugging-debug-target-inspect-button = Inspect
+
+# Text of a button displayed in the "This Firefox" page, in the Temporary Extension
+# section. Clicking on the button will open a file picker to load a temporary extension
+about-debugging-tmp-extension-install-button = Load Temporary Add-on…
+
+# Text displayed when trying to install a temporary extension in the "This Firefox" page.
+about-debugging-tmp-extension-install-error = There was an error during the temporary add-on installation.
+
+# Text of a button displayed for a temporary extension loaded in the "This Firefox" page.
+# Clicking on the button will reload the extension.
+about-debugging-tmp-extension-reload-button = Reload
+
+# Text of a button displayed for a temporary extension loaded in the "This Firefox" page.
+# Clicking on the button will uninstall the extension and remove it from the page.
+about-debugging-tmp-extension-remove-button = Remove
+
+# Text of a button displayed for a temporary extension loaded in the "This Firefox" page.
+# Clicking on the button will forcefully terminate the extension background script (button
+# only visible in extensions that includes a non-persistent background script, either an
+# event page or a background service worker).
+about-debugging-tmp-extension-terminate-bgscript-button = Terminate background script
+
+# Message displayed in the file picker that opens to select a temporary extension to load
+# (triggered by the button using "about-debugging-tmp-extension-install-button")
+# manifest.json .xpi and .zip should not be localized.
+# Note: this message is only displayed in Windows and Linux platforms.
+about-debugging-tmp-extension-install-message = Select manifest.json file or .xpi/.zip archive
+
+# This string is displayed as a message about the add-on having a temporaryID.
+about-debugging-tmp-extension-temporary-id = This WebExtension has a temporary ID. <a>Learn more</a>
+
+# Text displayed for extensions in "runtime" pages, before displaying a link the extension's
+# manifest URL.
+about-debugging-extension-manifest-url =
+ .label = Manifest URL
+
+# Text displayed for extensions in "runtime" pages, before displaying the extension's uuid.
+# UUIDs look like b293e463-481e-5148-a487-5aaf7a130429
+about-debugging-extension-uuid =
+ .label = Internal UUID
+
+# Text displayed for extensions (temporary extensions only) in "runtime" pages, before
+# displaying the location of the temporary extension.
+about-debugging-extension-location =
+ .label = Location
+
+# Text displayed for extensions in "runtime" pages, before displaying the extension's ID.
+# For instance "geckoprofiler@mozilla.com" or "{ed26ddcb-5611-4512-a89a-51b8db81cfb2}".
+about-debugging-extension-id =
+ .label = Extension ID
+
+# Text displayed for extensions in "runtime" pages, before displaying the status of the
+# extension background script.
+about-debugging-extension-backgroundscript =
+ .label = Background script
+
+# Displayed for extension using a non-persistent background page (either an event page or
+# background service worker) when the background script is currently running.
+about-debugging-extension-backgroundscript-status-running = Running
+
+# Displayed for extension using a non-persistent background page when is currently stopped.
+about-debugging-extension-backgroundscript-status-stopped = Stopped
+
+# This string is displayed as a label of the button that pushes a test payload
+# to a service worker.
+# Note this relates to the "Push" API, which is normally not localized so it is
+# probably better to not localize it.
+about-debugging-worker-action-push2 = Push
+ .disabledTitle = Service Worker push is currently disabled for multiprocess { -brand-shorter-name }
+
+# This string is displayed as a label of the button that starts a service worker.
+about-debugging-worker-action-start2 = Start
+ .disabledTitle = Service Worker start is currently disabled for multiprocess { -brand-shorter-name }
+
+# This string is displayed as a label of the button that unregisters a service worker.
+about-debugging-worker-action-unregister = Unregister
+
+# Displayed for service workers in runtime pages that listen to Fetch events.
+about-debugging-worker-fetch-listening =
+ .label = Fetch
+ .value = Listening for fetch events
+
+# Displayed for service workers in runtime pages that do not listen to Fetch events.
+about-debugging-worker-fetch-not-listening =
+ .label = Fetch
+ .value = Not listening for fetch events
+
+# Displayed for service workers in runtime pages that are currently running (service
+# worker instance is active).
+about-debugging-worker-status-running = Running
+
+# Displayed for service workers in runtime pages that are registered but stopped.
+about-debugging-worker-status-stopped = Stopped
+
+# Displayed for service workers in runtime pages that are registering.
+about-debugging-worker-status-registering = Registering
+
+# Displayed for service workers in runtime pages, to label the scope of a worker
+about-debugging-worker-scope =
+ .label = Scope
+
+# Displayed for service workers in runtime pages, to label the push service endpoint (url)
+# of a worker
+about-debugging-worker-push-service =
+ .label = Push Service
+
+# Displayed as title of the inspect button when service worker debugging is disabled.
+about-debugging-worker-inspect-action-disabled =
+ .title = Service Worker inspection is currently disabled for multiprocess { -brand-shorter-name }
+
+# Displayed as title of the inspect button for zombie tabs (e.g. tabs loaded via a session restore).
+about-debugging-zombie-tab-inspect-action-disabled =
+ .title = Tab is not fully loaded and cannot be inspected
+
+# Displayed instead of the Main Process debug target when the preference
+# `devtools.browsertoolbox.fission` is true.
+about-debugging-multiprocess-toolbox-name = Multiprocess Toolbox
+
+# Description for the Multiprocess Toolbox target.
+about-debugging-multiprocess-toolbox-description = Main Process and Content Processes for the target browser
+
+# Alt text used for the close icon of message component (warnings, errors and notifications).
+about-debugging-message-close-icon =
+ .alt = Close message
+
+# Label text used for the error details of message component.
+about-debugging-message-details-label-error = Error details
+
+# Label text used for the warning details of message component.
+about-debugging-message-details-label-warning = Warning details
+
+# Label text used for default state of details of message component.
+about-debugging-message-details-label = Details
diff --git a/thunderbird-l10n/en-CA/localization/en-CA/devtools/client/accessibility.ftl b/thunderbird-l10n/en-CA/localization/en-CA/devtools/client/accessibility.ftl
new file mode 100644
index 0000000000..9bf08493e5
--- /dev/null
+++ b/thunderbird-l10n/en-CA/localization/en-CA/devtools/client/accessibility.ftl
@@ -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/.
+
+
+### These strings are used inside the Accessibility panel.
+
+accessibility-learn-more = Learn more
+
+accessibility-text-label-header = Text Labels and Names
+
+accessibility-keyboard-header = Keyboard
+
+## Text entries that are used as text alternative for icons that depict accessibility isses.
+
+
+## These strings are used in the overlay displayed when running an audit in the accessibility panel
+
+accessibility-progress-initializing = Initializing…
+ .aria-valuetext = Initializing…
+
+# This string is displayed in the audit progress bar in the accessibility panel.
+# Variables:
+# $nodeCount (Integer) - The number of nodes for which the audit was run so far.
+accessibility-progress-progressbar =
+ { $nodeCount ->
+ [one] Checking { $nodeCount } node
+ *[other] Checking { $nodeCount } nodes
+ }
+
+accessibility-progress-finishing = Finishing up…
+ .aria-valuetext = Finishing up…
+
+## Text entries that are used as text alternative for icons that depict accessibility issues.
+
+accessibility-warning =
+ .alt = Warning
+
+accessibility-fail =
+ .alt = Error
+
+accessibility-best-practices =
+ .alt = Best Practices
+
+## Text entries for a paragraph used in the accessibility panel sidebar's checks section
+## that describe that currently selected accessible object has an accessibility issue
+## with its text label or accessible name.
+
+accessibility-text-label-issue-area = Use <code>alt</code> attribute to label <div>area</div> elements that have the <span>href</span> attribute. <a>Learn more</a>
+
+accessibility-text-label-issue-dialog = Dialogs should be labelled. <a>Learn more</a>
+
+accessibility-text-label-issue-document-title = Documents must have a <code>title</code>. <a>Learn more</a>
+
+accessibility-text-label-issue-embed = Embedded content must be labelled. <a>Learn more</a>
+
+accessibility-text-label-issue-figure = Figures with optional captions should be labelled. <a>Learn more</a>
+
+accessibility-text-label-issue-fieldset = <code>fieldset</code> elements must be labelled. <a>Learn more</a>
+
+accessibility-text-label-issue-fieldset-legend2 = Use a <code>legend</code> element to label a <span>fieldset</span>. <a>Learn more</a>
+
+accessibility-text-label-issue-form = Form elements must be labelled. <a>Learn more</a>
+
+accessibility-text-label-issue-form-visible = Form elements should have a visible text label. <a>Learn more</a>
+
+accessibility-text-label-issue-frame = <code>frame</code> elements must be labelled. <a>Learn more</a>
+
+accessibility-text-label-issue-glyph = Use <code>alt</code> attribute to label <span>mglyph</span> elements. <a>Learn more</a>
+
+accessibility-text-label-issue-heading = Headings must be labelled. <a>Learn more</a>
+
+accessibility-text-label-issue-heading-content = Headings should have visible text content. <a>Learn more</a>
+
+accessibility-text-label-issue-iframe = Use <code>title</code> attribute to describe <span>iframe</span> content. <a>Learn more</a>
+
+accessibility-text-label-issue-image = Content with images must be labelled. <a>Learn more</a>
+
+accessibility-text-label-issue-interactive = Interactive elements must be labelled. <a>Learn more</a>
+
+accessibility-text-label-issue-optgroup-label2 = Use a <code>label</code> attribute to label an <span>optgroup</span>. <a>Learn more</a>
+
+accessibility-text-label-issue-toolbar = Toolbars must be labelled when there is more than one toolbar. <a>Learn more</a>
+
+## Text entries for a paragraph used in the accessibility panel sidebar's checks section
+## that describe that currently selected accessible object has a keyboard accessibility
+## issue.
+
+accessibility-keyboard-issue-semantics = Focusable elements should have interactive semantics. <a>Learn more</a>
+
+accessibility-keyboard-issue-tabindex = Avoid using <code>tabindex</code> attribute greater than zero. <a>Learn more</a>
+
+accessibility-keyboard-issue-action = Interactive elements must be able to be activated using a keyboard. <a>Learn more</a>
+
+accessibility-keyboard-issue-focusable = Interactive elements must be focusable. <a>Learn more</a>
+
+accessibility-keyboard-issue-focus-visible = Focusable element may be missing focus styling. <a>Learn more</a>
+
+accessibility-keyboard-issue-mouse-only = Clickable elements must be focusable and should have interactive semantics. <a>Learn more</a>
diff --git a/thunderbird-l10n/en-CA/localization/en-CA/devtools/client/application.ftl b/thunderbird-l10n/en-CA/localization/en-CA/devtools/client/application.ftl
new file mode 100644
index 0000000000..997f503806
--- /dev/null
+++ b/thunderbird-l10n/en-CA/localization/en-CA/devtools/client/application.ftl
@@ -0,0 +1,147 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+
+### These strings are used inside the Application panel which is available
+### by setting the preference `devtools-application-enabled` to true.
+
+
+### The correct localization of this file might be to keep it in English, or another
+### language commonly spoken among web developers. You want to make that choice consistent
+### across the developer tools. A good criteria is the language in which you'd find the
+### best documentation on web development on the web.
+
+# Header for the list of Service Workers displayed in the application panel for the current page.
+serviceworker-list-header = Service Workers
+
+# Text displayed next to the list of Service Workers to encourage users to check out
+# about:debugging to see all registered Service Workers.
+serviceworker-list-aboutdebugging = Open <a>about:debugging</a> for Service Workers from other domains
+
+# Text for the button to unregister a Service Worker. Displayed for active Service Workers.
+serviceworker-worker-unregister = Unregister
+
+# Text for the debug link displayed for an already started Service Worker. Clicking on the
+# link opens a new devtools toolbox for this service worker. The title attribute is only
+# displayed when the link is disabled.
+serviceworker-worker-debug = Debug
+ .title = Only running service workers can be debugged
+
+# Alt text for the image icon displayed inside a debug link for a service worker.
+serviceworker-worker-inspect-icon =
+ .alt = Inspect
+
+# Text for the start link displayed for a registered but not running Service Worker.
+# Clicking on the link will attempt to start the service worker.
+serviceworker-worker-start3 = Start
+
+# Text displayed for the updated time of the service worker. The <time> element will
+# display the last update time of the service worker script.
+serviceworker-worker-updated = Updated <time>{ DATETIME($date, month: "long", year: "numeric", day: "numeric", hour: "numeric", minute: "numeric", second: "numeric") }</time>
+
+## Service Worker status strings: all serviceworker-worker-status-* strings are also
+## defined in aboutdebugging.properties and should be synchronized with them.
+
+# Service Worker status. A running service worker is registered, currently executed, can
+# be debugged and stopped.
+serviceworker-worker-status-running = Running
+
+# Service Worker status. A stopped service worker is registered but not currently active.
+serviceworker-worker-status-stopped = Stopped
+
+# Text displayed when no service workers are visible for the current page.
+serviceworker-empty-intro2 = No service workers found
+
+# Link will open https://developer.mozilla.org/docs/Web/API/Service_Worker_API/Using_Service_Workers
+serviceworker-empty-intro-link = Learn more
+
+# Text displayed when there are no Service Workers to display for the current page,
+# introducing hints to debug Service Worker issues.
+# <a> and <span> are links that will open the webconsole and the debugger, respectively.
+serviceworker-empty-suggestions2 = If the current page should have a service worker, you could look for errors in the <a>Console</a> or step through your service worker registration in the <span>Debugger</span>.
+
+# Suggestion to go to about:debugging in order to see Service Workers for all domains.
+# Link will open about:debugging in a new tab.
+serviceworker-empty-suggestions-aboutdebugging2 = View service workers from other domains
+
+# Header for the Manifest page when we have an actual manifest
+manifest-view-header = App Manifest
+
+# Header for the Manifest page when there's no manifest to inspect
+manifest-empty-intro2 = No web app manifest detected
+
+# The link will open https://developer.mozilla.org/en-US/docs/Web/Manifest
+manifest-empty-intro-link = Learn how to add a manifest
+
+# Header for the Errors and Warnings section of Manifest inspection displayed in the application panel.
+manifest-item-warnings = Errors and Warnings
+
+# Header for the Identity section of Manifest inspection displayed in the application panel.
+manifest-item-identity = Identity
+
+# Header for the Presentation section of Manifest inspection displayed in the application panel.
+manifest-item-presentation = Presentation
+
+# Header for the Icon section of Manifest inspection displayed in the application panel.
+manifest-item-icons = Icons
+
+# Text displayed while we are loading the manifest file
+manifest-loading = Loading manifest…
+
+# Text displayed when the manifest has been successfully loaded
+manifest-loaded-ok = Manifest loaded.
+
+# Text displayed as a caption when there has been an error while trying to
+# load the manifest
+manifest-loaded-error = There was an error while loading the manifest:
+
+# Text displayed as an error when there has been a Firefox DevTools error while
+# trying to load the manifest
+manifest-loaded-devtools-error = Firefox DevTools error
+
+# Text displayed when the page has no manifest available
+manifest-non-existing = No manifest found to inspect.
+
+# Text displayed when the page has a manifest embedded in a Data URL and
+# thus we cannot link to it.
+manifest-json-link-data-url = The manifest is embedded in a Data URL.
+
+# Text displayed at manifest icons to label their purpose, as declared
+# in the manifest.
+manifest-icon-purpose = Purpose: <code>{ $purpose }</code>
+
+# Text displayed as the alt attribute for <img> tags showing the icons in the
+# manifest.
+manifest-icon-img =
+ .alt = Icon
+
+# Text displayed as the title attribute for <img> tags showing the icons in the
+# manifest. `$sizes` is a user-dependent string that has been parsed as a
+# space-separated list of `<width>x<height>` sizes or the keyword `any`.
+manifest-icon-img-title = Icon with sizes: { $sizes }
+
+# Text displayed as the title attribute for <img> tags showing the icons in the
+# manifest, in case there's no icon size specified by the user
+manifest-icon-img-title-no-sizes = Unspecified size icon
+
+# Sidebar navigation item for Manifest sidebar item section
+sidebar-item-manifest = Manifest
+ .alt = Manifest Icon
+ .title = Manifest
+
+# Sidebar navigation item for Service Workers sidebar item section
+sidebar-item-service-workers = Service Workers
+ .alt = Service Workers Icon
+ .title = Service Workers
+
+# Text for the ALT and TITLE attributes of the warning icon
+icon-warning =
+ .alt = Warning icon
+ .title = Warning
+
+# Text for the ALT and TITLE attributes of the error icon
+icon-error =
+ .alt = Error icon
+ .title = Error
+
diff --git a/thunderbird-l10n/en-CA/localization/en-CA/devtools/client/compatibility.ftl b/thunderbird-l10n/en-CA/localization/en-CA/devtools/client/compatibility.ftl
new file mode 100644
index 0000000000..05210e7f1a
--- /dev/null
+++ b/thunderbird-l10n/en-CA/localization/en-CA/devtools/client/compatibility.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/.
+
+
+## Messages used as headers in the main pane
+
+compatibility-selected-element-header = Selected Element
+compatibility-all-elements-header = All Issues
+
+## Message used as labels for the type of issue
+
+compatibility-issue-deprecated = (deprecated)
+compatibility-issue-experimental = (experimental)
+compatibility-issue-prefixneeded = (prefix needed)
+compatibility-issue-deprecated-experimental = (deprecated, experimental)
+compatibility-issue-deprecated-prefixneeded = (deprecated, prefix needed)
+compatibility-issue-experimental-prefixneeded = (experimental, prefix needed)
+compatibility-issue-deprecated-experimental-prefixneeded = (deprecated, experimental, prefix needed)
+
+## Messages used as labels and titles for buttons in the footer
+
+compatibility-settings-button-label = Settings
+compatibility-settings-button-title =
+ .title = Settings
+
+## Messages used as headers in settings pane
+
+compatibility-settings-header = Settings
+compatibility-target-browsers-header = Target Browsers
+
+##
+
+# Text used as the label for the number of nodes where the issue occurred
+# Variables:
+# $number (Number) - The number of nodes where the issue occurred
+compatibility-issue-occurrences =
+ { $number ->
+ [one] { $number } occurrence
+ *[other] { $number } occurrences
+ }
+
+compatibility-no-issues-found = No compatibility issues found.
+compatibility-close-settings-button =
+ .title = Close settings
+
+# Text used in the element containing the browser icons for a given compatibility issue.
+# Line breaks are significant.
+# Variables:
+# $browsers (String) - A line-separated list of browser information (e.g. Firefox 98\nChrome 99).
+compatibility-issue-browsers-list =
+ .title =
+ Compatibility issues in:
+ { $browsers }
diff --git a/thunderbird-l10n/en-CA/localization/en-CA/devtools/client/perftools.ftl b/thunderbird-l10n/en-CA/localization/en-CA/devtools/client/perftools.ftl
new file mode 100644
index 0000000000..87b44bf17b
--- /dev/null
+++ b/thunderbird-l10n/en-CA/localization/en-CA/devtools/client/perftools.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/.
+
+
+### These strings are used in DevTools’ performance-new panel, about:profiling, and
+### the remote profiling panel. There are additional profiler strings in the appmenu.ftl
+### file that are used for the profiler popup.
+
+perftools-intro-title = Profiler Settings
+perftools-intro-description =
+ Recordings launch profiler.firefox.com in a new tab. All data is stored
+ locally, but you can choose to upload it for sharing.
+
+## All of the headings for the various sections.
+
+perftools-heading-settings = Full Settings
+perftools-heading-buffer = Buffer Settings
+perftools-heading-features = Features
+perftools-heading-features-default = Features (Recommended on by default)
+perftools-heading-features-disabled = Disabled Features
+perftools-heading-features-experimental = Experimental
+perftools-heading-threads = Threads
+perftools-heading-threads-jvm = JVM Threads
+perftools-heading-local-build = Local build
+
+##
+
+perftools-description-intro =
+ Recordings launch <a>profiler.firefox.com</a> in a new tab. All data is stored
+ locally, but you can choose to upload it for sharing.
+perftools-description-local-build =
+ If you’re profiling a build that you have compiled yourself, on this
+ machine, please add your build’s objdir to the list below so that
+ it can be used to look up symbol information.
+
+## The controls for the interval at which the profiler samples the code.
+
+perftools-range-interval-label = Sampling interval:
+perftools-range-interval-milliseconds = { NUMBER($interval, maxFractionalUnits: 2) } ms
+
+##
+
+# The size of the memory buffer used to store things in the profiler.
+perftools-range-entries-label = Buffer size:
+
+perftools-custom-threads-label = Add custom threads by name:
+
+perftools-devtools-interval-label = Interval:
+perftools-devtools-threads-label = Threads:
+perftools-devtools-settings-label = Settings
+
+## Various statuses that affect the current state of profiling, not typically displayed.
+
+perftools-status-recording-stopped-by-another-tool = The recording was stopped by another tool.
+perftools-status-restart-required = The browser must be restarted to enable this feature.
+
+## These are shown briefly when the user is waiting for the profiler to respond.
+
+perftools-request-to-stop-profiler = Stopping recording
+perftools-request-to-get-profile-and-stop-profiler = Capturing profile
+
+##
+
+perftools-button-start-recording = Start recording
+perftools-button-capture-recording = Capture recording
+perftools-button-cancel-recording = Cancel recording
+perftools-button-save-settings = Save settings and go back
+perftools-button-restart = Restart
+perftools-button-add-directory = Add a directory
+perftools-button-remove-directory = Remove selected
+perftools-button-edit-settings = Edit Settings…
+
+## These messages are descriptions of the threads that can be enabled for the profiler.
+
+perftools-thread-gecko-main =
+ .title = The main processes for both the parent process, and content processes
+perftools-thread-compositor =
+ .title = Composites together different painted elements on the page
+perftools-thread-dom-worker =
+ .title = This handles both web workers and service workers
+perftools-thread-renderer =
+ .title = When WebRender is enabled, the thread that executes OpenGL calls
+perftools-thread-render-backend =
+ .title = The WebRender RenderBackend thread
+perftools-thread-timer =
+ .title = The thread handling timers (setTimeout, setInterval, nsITimer)
+perftools-thread-style-thread =
+ .title = Style computation is split into multiple threads
+pref-thread-stream-trans =
+ .title = Network stream transport
+perftools-thread-socket-thread =
+ .title = The thread where networking code runs any blocking socket calls
+perftools-thread-img-decoder =
+ .title = Image decoding threads
+perftools-thread-dns-resolver =
+ .title = DNS resolution happens on this thread
+perftools-thread-task-controller =
+ .title = TaskController thread pool threads
+perftools-thread-jvm-gecko =
+ .title = The main Gecko JVM thread
+perftools-thread-jvm-nimbus =
+ .title = The main threads for the Nimbus experiments SDK
+perftools-thread-jvm-default-dispatcher =
+ .title = The Default dispatcher for the Kotlin coroutines library
+perftools-thread-jvm-glean =
+ .title = The main threads for the Glean telemetry SDK
+perftools-thread-jvm-arch-disk-io =
+ .title = The IO dispatcher for the Kotlin coroutines library
+perftools-thread-jvm-pool =
+ .title = Threads created in an unnamed thread pool
+
+##
+
+perftools-record-all-registered-threads = Bypass selections above and record all registered threads
+
+perftools-tools-threads-input-label =
+ .title = These thread names are a comma separated list that is used to enable profiling of the threads in the profiler. The name needs to be only a partial match of the thread name to be included. It is whitespace sensitive.
+
+## Onboarding UI labels. These labels are displayed in the new performance panel UI, when
+## devtools.performance.new-panel-onboarding preference is true.
+
+perftools-onboarding-message = <b>New</b>: { -profiler-brand-name } is now integrated into Developer Tools. <a>Learn more</a> about this powerful new tool.
+
+perftools-onboarding-close-button =
+ .aria-label = Close the onboarding message
+
+## Profiler presets
+
+
+# Presets and their l10n IDs are defined in the file
+# devtools/client/performance-new/popup/background.jsm.js
+# The same labels and descriptions are also defined in appmenu.ftl.
+
+# Presets and their l10n IDs are defined in the file
+# devtools/client/performance-new/shared/background.jsm.js
+# The same labels and descriptions are also defined in appmenu.ftl.
+
+perftools-presets-web-developer-label = Web Developer
+perftools-presets-web-developer-description = Recommended preset for most web app debugging, with low overhead.
+
+perftools-presets-firefox-label = { -brand-shorter-name }
+perftools-presets-firefox-description = Recommended preset for profiling { -brand-shorter-name }.
+
+perftools-presets-graphics-label = Graphics
+perftools-presets-graphics-description = Preset for investigating graphics bugs in { -brand-shorter-name }.
+
+perftools-presets-media-label = Media
+perftools-presets-media-description2 = Preset for investigating audio and video bugs in { -brand-shorter-name }.
+
+perftools-presets-networking-label = Networking
+perftools-presets-networking-description = Preset for investigating networking bugs in { -brand-shorter-name }.
+
+# "Power" is used in the sense of energy (electricity used by the computer).
+perftools-presets-power-label = Power
+perftools-presets-power-description = Preset for investigating power use bugs in { -brand-shorter-name }, with low overhead.
+
+perftools-presets-custom-label = Custom
+
+##
+
diff --git a/thunderbird-l10n/en-CA/localization/en-CA/devtools/client/storage.ftl b/thunderbird-l10n/en-CA/localization/en-CA/devtools/client/storage.ftl
new file mode 100644
index 0000000000..f3574076b1
--- /dev/null
+++ b/thunderbird-l10n/en-CA/localization/en-CA/devtools/client/storage.ftl
@@ -0,0 +1,132 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+
+### These strings are used inside the Storage Inspector.
+
+# Key shortcut used to focus the filter box on top of the data view
+storage-filter-key = CmdOrCtrl+F
+
+# Hint shown when the selected storage host does not contain any data
+storage-table-empty-text = No data present for selected host
+
+# Hint shown when the cookies storage type is selected. Clicking the link will open
+# https://developer.mozilla.org/docs/Tools/Storage_Inspector/Cookies
+storage-table-type-cookies-hint = View and edit cookies by selecting a host. <a data-l10n-name="learn-more-link">Learn more</a>
+
+# Hint shown when the local storage type is selected. Clicking the link will open
+# https://developer.mozilla.org/docs/Tools/Storage_Inspector/Local_Storage_Session_Storage
+storage-table-type-localstorage-hint = View and edit the local storage by selecting a host. <a data-l10n-name="learn-more-link">Learn more</a>
+
+# Hint shown when the session storage type is selected. Clicking the link will open
+# https://developer.mozilla.org/docs/Tools/Storage_Inspector/Local_Storage_Session_Storage
+storage-table-type-sessionstorage-hint = View and edit the session storage by selecting a host. <a data-l10n-name="learn-more-link">Learn more</a>
+
+# Hint shown when the IndexedDB storage type is selected. Clicking the link will open
+# https://developer.mozilla.org/docs/Tools/Storage_Inspector/IndexedDB
+storage-table-type-indexeddb-hint = View and delete IndexedDB entries by selecting a database. <a data-l10n-name="learn-more-link">Learn more</a>
+
+# Hint shown when the cache storage type is selected. Clicking the link will open
+# https://developer.mozilla.org/docs/Tools/Storage_Inspector/Cache_Storage
+storage-table-type-cache-hint = View and delete the cache storage entries by selecting a storage. <a data-l10n-name="learn-more-link">Learn more</a>
+
+# Hint shown when the extension storage type is selected. Clicking the link will open
+# https://developer.mozilla.org/docs/Tools/Storage_Inspector/Extension_Storage
+storage-table-type-extensionstorage-hint = View and edit the extension storage by selecting a host. <a data-l10n-name="learn-more-link">Learn more</a>
+
+# Placeholder for the searchbox that allows you to filter the table items
+storage-search-box =
+ .placeholder = Filter Items
+
+# Placeholder text in the sidebar search box
+storage-variable-view-search-box =
+ .placeholder = Filter values
+
+# Add Item button title
+storage-add-button =
+ .title = Add Item
+
+# Refresh button title
+storage-refresh-button =
+ .title = Refresh Items
+
+# Context menu action to delete all storage items
+storage-context-menu-delete-all =
+ .label = Delete All
+
+# Context menu action to delete all session cookies
+storage-context-menu-delete-all-session-cookies =
+ .label = Delete All Session Cookies
+
+# Context menu action to copy a storage item
+storage-context-menu-copy =
+ .label = Copy
+
+# Context menu action to delete storage item
+# Variables:
+# $itemName (String) - Name of the storage item that will be deleted
+storage-context-menu-delete =
+ .label = Delete “{ $itemName }”
+
+# Context menu action to add an item
+storage-context-menu-add-item =
+ .label = Add Item
+
+# Context menu action to delete all storage items from a given host
+# Variables:
+# $host (String) - Host for which we want to delete the items
+storage-context-menu-delete-all-from =
+ .label = Delete All From “{ $host }”
+
+## Header names of the columns in the Storage Table for each type of storage available
+## through the Storage Tree to the side.
+
+storage-table-headers-cookies-name = Name
+storage-table-headers-cookies-value = Value
+storage-table-headers-cookies-expires = Expires / Max-Age
+storage-table-headers-cookies-size = Size
+storage-table-headers-cookies-last-accessed = Last Accessed
+storage-table-headers-cookies-creation-time = Created
+storage-table-headers-cache-status = Status
+storage-table-headers-extension-storage-area = Storage Area
+
+## Labels for Storage type groups present in the Storage Tree, like cookies, local storage etc.
+
+storage-tree-labels-cookies = Cookies
+storage-tree-labels-local-storage = Local Storage
+storage-tree-labels-session-storage = Session Storage
+storage-tree-labels-indexed-db = Indexed DB
+storage-tree-labels-cache = Cache Storage
+storage-tree-labels-extension-storage = Extension Storage
+
+##
+
+# Tooltip for the button that collapses the right panel in the
+# storage UI when the panel is closed.
+storage-expand-pane =
+ .title = Expand Pane
+
+# Tooltip for the button that collapses the right panel in the
+# storage UI when the panel is open.
+storage-collapse-pane =
+ .title = Collapse Pane
+
+# String displayed in the expires column when the cookie is a Session Cookie
+storage-expires-session = Session
+
+# Heading displayed over the item value in the sidebar
+storage-data = Data
+
+# Heading displayed over the item parsed value in the sidebar
+storage-parsed-value = Parsed Value
+
+# Warning notification when IndexedDB database could not be deleted immediately.
+# Variables:
+# $dbName (String) - Name of the database
+storage-idb-delete-blocked = Database “{ $dbName }” will be deleted after all connections are closed.
+
+# Error notification when IndexedDB database could not be deleted.
+# Variables:
+# $dbName (String) - Name of the database
+storage-idb-delete-error = Database “{ $dbName }” could not be deleted.
diff --git a/thunderbird-l10n/en-CA/localization/en-CA/devtools/client/styleeditor.ftl b/thunderbird-l10n/en-CA/localization/en-CA/devtools/client/styleeditor.ftl
new file mode 100644
index 0000000000..18f6a5f989
--- /dev/null
+++ b/thunderbird-l10n/en-CA/localization/en-CA/devtools/client/styleeditor.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/.
+
+styleeditor-new-button =
+ .tooltiptext = Create and append a new style sheet to the document
+ .accesskey = N
+styleeditor-import-button =
+ .tooltiptext = Import and append an existing style sheet to the document
+ .accesskey = I
+styleeditor-filter-input =
+ .placeholder = Filter style sheets
+styleeditor-visibility-toggle =
+ .tooltiptext = Toggle style sheet visibility
+ .accesskey = S
+styleeditor-visibility-toggle-system =
+ .tooltiptext = System style sheets can’t be disabled
+styleeditor-save-button = Save
+ .tooltiptext = Save this style sheet to a file
+ .accesskey = S
+styleeditor-options-button =
+ .tooltiptext = Style Editor options
+styleeditor-at-rules = At-rules
+styleeditor-editor-textbox =
+ .data-placeholder = Type CSS here.
+styleeditor-no-stylesheet = This page has no style sheet.
+styleeditor-no-stylesheet-tip = Perhaps you’d like to <a data-l10n-name="append-new-stylesheet">append a new style sheet</a>?
+styleeditor-open-link-new-tab =
+ .label = Open Link in New Tab
+styleeditor-copy-url =
+ .label = Copy URL
+styleeditor-find =
+ .label = Find
+ .accesskey = F
+styleeditor-find-again =
+ .label = Find Again
+ .accesskey = g
+styleeditor-go-to-line =
+ .label = Jump to Line…
+ .accesskey = J
+# Label displayed when searching a term that is not found in any stylesheet path
+styleeditor-stylesheet-all-filtered = No matching style sheet has been found.
+
+# This string is shown in the style sheets list
+# Variables:
+# $ruleCount (Integer) - The number of rules in the stylesheet.
+styleeditor-stylesheet-rule-count =
+ { $ruleCount ->
+ [one] { $ruleCount } rule.
+ *[other] { $ruleCount } rules.
+ }
diff --git a/thunderbird-l10n/en-CA/localization/en-CA/devtools/client/toolbox-options.ftl b/thunderbird-l10n/en-CA/localization/en-CA/devtools/client/toolbox-options.ftl
new file mode 100644
index 0000000000..f5accc6030
--- /dev/null
+++ b/thunderbird-l10n/en-CA/localization/en-CA/devtools/client/toolbox-options.ftl
@@ -0,0 +1,133 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+
+### Localization for Developer Tools options
+
+
+## Default Developer Tools section
+
+# The heading
+options-select-default-tools-label = Default Developer Tools
+# The label for the explanation of the * marker on a tool which is currently not supported
+# for the target of the toolbox.
+options-tool-not-supported-label = * Not supported for current toolbox target
+# The label for the heading of group of checkboxes corresponding to the developer tools
+# added by add-ons. This heading is hidden when there is no developer tool installed by add-ons.
+options-select-additional-tools-label = Developer Tools installed by add-ons
+# The label for the heading of group of checkboxes corresponding to the default developer
+# tool buttons.
+options-select-enabled-toolbox-buttons-label = Available Toolbox Buttons
+# The label for the heading of the radiobox corresponding to the theme
+options-select-dev-tools-theme-label = Themes
+
+## Inspector section
+
+# The heading
+options-context-inspector = Inspector
+# The label for the checkbox option to show user agent styles
+options-show-user-agent-styles-label = Show Browser Styles
+options-show-user-agent-styles-tooltip =
+ .title = Turning this on will show default styles that are loaded by the browser.
+# The label for the checkbox option to enable collapse attributes
+options-collapse-attrs-label = Truncate DOM attributes
+options-collapse-attrs-tooltip =
+ .title = Truncate long attributes in the inspector
+# The label for the checkbox option to enable the "drag to update" feature
+options-inspector-draggable-properties-label = Click and drag to edit size values
+options-inspector-draggable-properties-tooltip =
+ .title = Click and drag to edit size values in the inspector rules view.
+# The label for the checkbox option to enable simplified highlighting on page elements
+# within the inspector for users who enabled prefers-reduced-motion = reduce
+options-inspector-simplified-highlighters-label = Use simpler highlighters with prefers-reduced-motion
+options-inspector-simplified-highlighters-tooltip =
+ .title = Enables simplified highlighters when prefers-reduced-motion is enabled. Draws lines instead of filled rectangles around highlighted elements to avoid flashing effects.
+
+## "Default Color Unit" options for the Inspector
+
+options-default-color-unit-label = Default colour unit
+options-default-color-unit-authored = As Authored
+options-default-color-unit-hex = Hex
+options-default-color-unit-hsl = HSL(A)
+options-default-color-unit-rgb = RGB(A)
+options-default-color-unit-hwb = HWB
+options-default-color-unit-name = Colour Names
+
+## Style Editor section
+
+# The heading
+options-styleeditor-label = Style Editor
+# The label for the checkbox that toggles autocompletion of css in the Style Editor
+options-stylesheet-autocompletion-label = Autocomplete CSS
+options-stylesheet-autocompletion-tooltip =
+ .title = Autocomplete CSS properties, values and selectors in Style Editor as you type
+
+## Screenshot section
+
+# The heading
+options-screenshot-label = Screenshot Behaviour
+# Label for the checkbox that toggles screenshot to clipboard feature
+options-screenshot-clipboard-only-label = Screenshot to clipboard only
+options-screenshot-clipboard-tooltip2 =
+ .title = Saves the screenshot directly to the clipboard
+# Label for the checkbox that toggles the camera shutter audio for screenshot tool
+options-screenshot-audio-label = Play camera shutter sound
+options-screenshot-audio-tooltip =
+ .title = Enables the camera audio sound when taking screenshot
+
+## Editor section
+
+# The heading
+options-sourceeditor-label = Editor Preferences
+options-sourceeditor-detectindentation-tooltip =
+ .title = Guess indentation based on source content
+options-sourceeditor-detectindentation-label = Detect indentation
+options-sourceeditor-autoclosebrackets-tooltip =
+ .title = Automatically insert closing brackets
+options-sourceeditor-autoclosebrackets-label = Autoclose brackets
+options-sourceeditor-expandtab-tooltip =
+ .title = Use spaces instead of the tab character
+options-sourceeditor-expandtab-label = Indent using spaces
+options-sourceeditor-tabsize-label = Tab size
+options-sourceeditor-keybinding-label = Keybindings
+options-sourceeditor-keybinding-default-label = Default
+
+## Advanced section
+
+# The heading (this item is also used in perftools.ftl)
+options-context-advanced-settings = Advanced settings
+# The label for the checkbox that toggles the HTTP cache on or off
+options-disable-http-cache-label = Disable HTTP Cache (when toolbox is open)
+options-disable-http-cache-tooltip =
+ .title = Turning this option on will disable the HTTP cache for all tabs that have the toolbox open. Service Workers are not affected by this option.
+# The label for checkbox that toggles JavaScript on or off
+options-disable-javascript-label = Disable JavaScript *
+options-disable-javascript-tooltip =
+ .title = Turning this option on will disable JavaScript for the current tab. If the tab or the toolbox is closed then this setting will be forgotten.
+# The label for checkbox that toggles chrome debugging, i.e. the devtools.chrome.enabled preference
+options-enable-chrome-label = Enable browser chrome and add-on debugging toolboxes
+options-enable-chrome-tooltip =
+ .title = Turning this option on will allow you to use various developer tools in browser context (via Tools > Web Developer > Browser Toolbox) and debug add-ons from the Add-ons Manager
+# The label for checkbox that toggles remote debugging, i.e. the devtools.debugger.remote-enabled preference
+options-enable-remote-label = Enable remote debugging
+options-enable-remote-tooltip2 =
+ .title = Turning this option on will allow to debug this browser instance remotely
+# The label for checkbox that enables F12 as a shortcut to open DevTools
+options-enable-f12-label = Use the F12 key to open or close DevTools
+options-enable-f12-tooltip =
+ .title = Turning this option on will bind the F12 key to open or close the DevTools toolbox
+# The label for checkbox that toggles custom formatters for objects
+options-enable-custom-formatters-label = Enable custom formatters
+options-enable-custom-formatters-tooltip =
+ .title = Turning this option on will allow sites to define custom formatters for DOM objects
+# The label for checkbox that toggles the service workers testing over HTTP on or off.
+options-enable-service-workers-http-label = Enable Service Workers over HTTP (when toolbox is open)
+options-enable-service-workers-http-tooltip =
+ .title = Turning this option on will enable the service workers over HTTP for all tabs that have the toolbox open.
+# The label for the checkbox that toggles source maps in all tools.
+options-source-maps-label = Enable Source Maps
+options-source-maps-tooltip =
+ .title = If you enable this option sources will be mapped in the tools.
+# The message shown for settings that trigger page reload
+options-context-triggers-page-refresh = * Current session only, reloads the page
diff --git a/thunderbird-l10n/en-CA/localization/en-CA/devtools/client/toolbox.ftl b/thunderbird-l10n/en-CA/localization/en-CA/devtools/client/toolbox.ftl
new file mode 100644
index 0000000000..00fb5b1521
--- /dev/null
+++ b/thunderbird-l10n/en-CA/localization/en-CA/devtools/client/toolbox.ftl
@@ -0,0 +1,55 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+
+### These messages are used in the DevTools toolbox.
+
+
+## These labels are shown in the "..." menu in the toolbox, and represent different
+## commands such as the docking of DevTools, toggling features, and viewing some
+## external links. Some of the commands have the keyboard shortcut shown next to
+## the label.
+
+toolbox-meatball-menu-dock-bottom-label = Dock to Bottom
+toolbox-meatball-menu-dock-left-label = Dock to Left
+toolbox-meatball-menu-dock-right-label = Dock to Right
+toolbox-meatball-menu-dock-separate-window-label = Separate Window
+
+toolbox-meatball-menu-splitconsole-label = Show Split Console
+toolbox-meatball-menu-hideconsole-label = Hide Split Console
+
+toolbox-meatball-menu-settings-label = Settings
+toolbox-meatball-menu-documentation-label = Documentation…
+toolbox-meatball-menu-community-label = Community…
+
+# This menu item is only available in the browser toolbox. It forces the popups/panels
+# to stay visible on blur, which is primarily useful for addon developers and Firefox
+# contributors.
+toolbox-meatball-menu-noautohide-label = Disable Popup Auto-Hide
+
+toolbox-meatball-menu-pseudo-locale-accented = Enable “accented” locale
+toolbox-meatball-menu-pseudo-locale-bidi = Enable “bidi” locale
+
+##
+
+
+## These labels are shown in the top-toolbar in the Browser Toolbox and Browser Console
+
+toolbox-mode-browser-toolbox-label = Browser Toolbox Mode
+toolbox-mode-browser-console-label = Browser Console Mode
+
+toolbox-mode-everything-label = Multiprocess
+toolbox-mode-everything-sub-label = (Slower)
+toolbox-mode-everything-container =
+ .title = Debug everything in all processes
+
+toolbox-mode-parent-process-label = Parent process only
+toolbox-mode-parent-process-sub-label = (Fast)
+toolbox-mode-parent-process-container =
+ .title = Only focus on resources from the parent process.
+
+toolbox-always-on-top-enabled2 = Disable always on top
+ .title = This will restart the Developer Tools
+toolbox-always-on-top-disabled2 = Enable always on top
+ .title = This will restart the Developer Tools
diff --git a/thunderbird-l10n/en-CA/localization/en-CA/devtools/client/tooltips.ftl b/thunderbird-l10n/en-CA/localization/en-CA/devtools/client/tooltips.ftl
new file mode 100644
index 0000000000..60dae0c2bf
--- /dev/null
+++ b/thunderbird-l10n/en-CA/localization/en-CA/devtools/client/tooltips.ftl
@@ -0,0 +1,84 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+
+### Localization for Developer Tools tooltips.
+
+learn-more = <span data-l10n-name="link">Learn more</span>
+
+## In the Rule View when a CSS property cannot be successfully applied we display
+## an icon. When this icon is hovered this message is displayed to explain why
+## the property is not applied.
+## Variables:
+## $property (string) - A CSS property name e.g. "color".
+## $display (string) - A CSS display value e.g. "inline-block".
+
+inactive-css-not-grid-or-flex-container = <strong>{ $property }</strong> has no effect on this element since it’s neither a flex container nor a grid container.
+inactive-css-not-grid-or-flex-container-or-multicol-container = <strong>{ $property }</strong> has no effect on this element since it’s not a flex container, a grid container, or a multi-column container.
+inactive-css-not-multicol-container = <strong>{ $property }</strong> has no effect on this element since it’s not a multi-column container.
+inactive-css-not-grid-or-flex-item = <strong>{ $property }</strong> has no effect on this element since it’s not a grid or flex item.
+inactive-css-not-grid-item = <strong>{ $property }</strong> has no effect on this element since it’s not a grid item.
+inactive-css-not-grid-container = <strong>{ $property }</strong> has no effect on this element since it’s not a grid container.
+inactive-css-not-flex-item = <strong>{ $property }</strong> has no effect on this element since it’s not a flex item.
+inactive-css-not-flex-container = <strong>{ $property }</strong> has no effect on this element since it’s not a flex container.
+inactive-css-not-inline-or-tablecell = <strong>{ $property }</strong> has no effect on this element since it’s not an inline or table-cell element.
+inactive-css-first-line-pseudo-element-not-supported = <strong>{ $property }</strong> is not supported on ::first-line pseudo-elements.
+inactive-css-first-letter-pseudo-element-not-supported = <strong>{ $property }</strong> is not supported on ::first-letter pseudo-elements.
+inactive-css-placeholder-pseudo-element-not-supported = <strong>{ $property }</strong> is not supported on ::placeholder pseudo-elements.
+inactive-css-property-because-of-display = <strong>{ $property }</strong> has no effect on this element since it has a display of <strong>{ $display }</strong>.
+inactive-css-not-display-block-on-floated = The <strong>display</strong> value has been changed by the engine to <strong>block</strong> because the element is <strong>floated</strong>.
+inactive-css-property-is-impossible-to-override-in-visited = It’s impossible to override <strong>{ $property }</strong> due to <strong>:visited</strong> restriction.
+inactive-css-position-property-on-unpositioned-box = <strong>{ $property }</strong> has no effect on this element since it’s not a positioned element.
+inactive-text-overflow-when-no-overflow = <strong>{ $property }</strong> has no effect on this element since <strong>overflow:hidden</strong> is not set.
+inactive-css-not-for-internal-table-elements = <strong>{ $property }</strong> has no effect on internal table elements.
+inactive-css-not-for-internal-table-elements-except-table-cells = <strong>{ $property }</strong> has no effect on internal table elements except table cells.
+inactive-css-not-table = <strong>{ $property }</strong> has no effect on this element since it’s not a table.
+inactive-css-not-table-cell = <strong>{ $property }</strong> has no effect on this element since it’s not a table cell.
+inactive-scroll-padding-when-not-scroll-container = <strong>{ $property }</strong> has no effect on this element since it doesn’t scroll.
+inactive-css-border-image = <strong>{ $property }</strong> has no effect on this element since it cannot be applied to internal table elements where <strong>border-collapse</strong> is set to <strong>collapse</strong> on the parent table element.
+inactive-css-ruby-element = <strong>{ $property }</strong> has no effect on this element since it is a ruby element. Its size is determined by the font size of the ruby text.
+inactive-css-highlight-pseudo-elements-not-supported = <strong>{ $property }</strong> is not supported on highlight pseudo-elements.
+inactive-css-cue-pseudo-element-not-supported = <strong>{ $property }</strong> is not supported on ::cue pseudo-elements.
+
+## In the Rule View when a CSS property cannot be successfully applied we display
+## an icon. When this icon is hovered this message is displayed to explain how
+## the problem can be solved.
+
+inactive-css-not-grid-or-flex-container-fix = Try adding <strong>display:grid</strong> or <strong>display:flex</strong>. { learn-more }
+inactive-css-not-grid-or-flex-container-or-multicol-container-fix = Try adding either <strong>display:grid</strong>, <strong>display:flex</strong>, or <strong>columns:2</strong>. { learn-more }
+inactive-css-not-multicol-container-fix = Try adding either <strong>column-count</strong> or <strong>column-width</strong>. { learn-more }
+inactive-css-not-grid-or-flex-item-fix-3 = Try adding <strong>display:grid</strong>, <strong>display:flex</strong>, <strong>display:inline-grid</strong>, or <strong>display:inline-flex</strong> to the element’s parent. { learn-more }
+inactive-css-not-grid-item-fix-2 = Try adding <strong>display:grid</strong> or <strong>display:inline-grid</strong> to the element’s parent. { learn-more }
+inactive-css-not-grid-container-fix = Try adding <strong>display:grid</strong> or <strong>display:inline-grid</strong>. { learn-more }
+inactive-css-not-flex-item-fix-2 = Try adding <strong>display:flex</strong> or <strong>display:inline-flex</strong> to the element’s parent. { learn-more }
+inactive-css-not-flex-container-fix = Try adding <strong>display:flex</strong> or <strong>display:inline-flex</strong>. { learn-more }
+inactive-css-not-inline-or-tablecell-fix = Try adding <strong>display:inline</strong> or <strong>display:table-cell</strong>. { learn-more }
+inactive-css-non-replaced-inline-or-table-row-or-row-group-fix = Try adding <strong>display:inline-block</strong> or <strong>display:block</strong>. { learn-more }
+inactive-css-non-replaced-inline-or-table-column-or-column-group-fix = Try adding <strong>display:inline-block</strong>. { learn-more }
+inactive-css-not-display-block-on-floated-fix = Try removing <strong>float</strong> or adding <strong>display:block</strong>. { learn-more }
+inactive-css-position-property-on-unpositioned-box-fix = Try setting its <strong>position</strong> property to something other than <strong>static</strong>. { learn-more }
+inactive-text-overflow-when-no-overflow-fix = Try adding <strong>overflow:hidden</strong>. { learn-more }
+inactive-css-not-for-internal-table-elements-fix = Try setting its <strong>display</strong> property to something else than <strong>table-cell</strong>, <strong>table-column</strong>, <strong>table-row</strong>, <strong>table-column-group</strong>, <strong>table-row-group</strong>, or <strong>table-footer-group</strong>. { learn-more }
+inactive-css-not-for-internal-table-elements-except-table-cells-fix = Try setting its <strong>display</strong> property to something else than <strong>table-column</strong>, <strong>table-row</strong>, <strong>table-column-group</strong>, <strong>table-row-group</strong>, or <strong>table-footer-group</strong>. { learn-more }
+inactive-css-not-table-fix = Try adding <strong>display:table</strong> or <strong>display:inline-table</strong>. { learn-more }
+inactive-css-not-table-cell-fix = Try adding <strong>display:table-cell</strong>. { learn-more }
+inactive-scroll-padding-when-not-scroll-container-fix = Try adding <strong>overflow:auto</strong>, <strong>overflow:scroll</strong>, or <strong>overflow:hidden</strong>. { learn-more }
+inactive-css-border-image-fix = On the parent table element, remove the property or change the value of <strong>border-collapse</strong> to a value other than <strong>collapse</strong>. { learn-more }
+inactive-css-ruby-element-fix = Try changing the <strong>font-size</strong> of the ruby text. { learn-more }
+
+## In the Rule View when a CSS property may have compatibility issues with other browsers
+## we display an icon. When this icon is hovered this message is displayed to explain why
+## the property is incompatible and the platforms it is incompatible on.
+## Variables:
+## $property (string) - A CSS declaration name e.g. "-moz-user-select" that can be a platform specific alias.
+## $rootProperty (string) - A raw CSS property name e.g. "user-select" that is not a platform specific alias.
+
+css-compatibility-default-message = <strong>{ $property }</strong> is not supported in the following browsers:
+css-compatibility-deprecated-experimental-message = <strong>{ $property }</strong> was an experimental property that is now deprecated by W3C standards. It is not supported in the following browsers:
+css-compatibility-deprecated-experimental-supported-message = <strong>{ $property }</strong> was an experimental property that is now deprecated by W3C standards.
+css-compatibility-deprecated-message = <strong>{ $property }</strong> is deprecated by W3C standards. It is not supported in the following browsers:
+css-compatibility-deprecated-supported-message = <strong>{ $property }</strong> is deprecated by W3C standards.
+css-compatibility-experimental-message = <strong>{ $property }</strong> is an experimental property. It is not supported in the following browsers:
+css-compatibility-experimental-supported-message = <strong>{ $property }</strong> is an experimental property.
+css-compatibility-learn-more-message = <span data-l10n-name="link">Learn more</span> about <strong>{ $rootProperty }</strong>
diff --git a/thunderbird-l10n/en-CA/localization/en-CA/devtools/shared/debugger-paused-reasons.ftl b/thunderbird-l10n/en-CA/localization/en-CA/devtools/shared/debugger-paused-reasons.ftl
new file mode 100644
index 0000000000..66c986b5e3
--- /dev/null
+++ b/thunderbird-l10n/en-CA/localization/en-CA/devtools/shared/debugger-paused-reasons.ftl
@@ -0,0 +1,87 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+
+### These strings are used inside the Debugger which is available from the Web
+### Developer sub-menu -> 'Debugger', as well as in the "Paused Debugger
+### Overlay" that is displayed in the content page when it pauses.
+
+
+### The correct localization of this file might be to keep it in
+### English, or another language commonly spoken among web developers.
+### You want to make that choice consistent across the developer tools.
+### A good criteria is the language in which you'd find the best
+### documentation on web development on the web.
+
+# The text that is displayed in a info block explaining how the debugger is
+# currently paused due to a `debugger` statement in the code
+whypaused-debugger-statement = Paused on debugger statement
+
+# The text that is displayed in a info block explaining how the debugger is
+# currently paused on a breakpoint
+whypaused-breakpoint = Paused on breakpoint
+
+# The text that is displayed in a info block explaining how the debugger is
+# currently paused on an event breakpoint.
+whypaused-event-breakpoint = Paused on event breakpoint
+
+# The text that is displayed in a info block explaining how the debugger is
+# currently paused on an exception
+whypaused-exception = Paused on exception
+
+# The text that is displayed in a info block explaining how the debugger is
+# currently paused on a DOM mutation breakpoint
+whypaused-mutation-breakpoint = Paused on DOM mutation
+
+# The text that is displayed to describe an added node which triggers a subtree
+# modification
+whypaused-mutation-breakpoint-added = Added:
+
+# The text that is displayed to describe a removed node which triggers a subtree
+# modification
+whypaused-mutation-breakpoint-removed = Removed:
+
+# The text that is displayed in a info block explaining how the debugger is
+# currently paused at a JS execution
+whypaused-interrupted = Paused at Execution
+
+# The text that is displayed in a info block explaining how the debugger is
+# currently paused while stepping in or out of the stack
+whypaused-resume-limit = Paused while stepping
+
+# The text that is displayed in a info block explaining how the debugger is
+# currently paused on a dom event
+whypaused-pause-on-dom-events = Paused on event listener
+
+# The text that is displayed in an info block when evaluating a conditional
+# breakpoint throws an error
+whypaused-breakpoint-condition-thrown = Error with conditional breakpoint
+
+# The text that is displayed in a info block explaining how the debugger is
+# currently paused on an xml http request
+whypaused-xhr = Paused on XMLHttpRequest
+
+# The text that is displayed in a info block explaining how the debugger is
+# currently paused on a promise rejection
+whypaused-promise-rejection = Paused on promise rejection
+
+# The text that is displayed in a info block explaining how the debugger is
+# currently paused at a watchpoint on an object property
+whypaused-get-watchpoint = Paused on property get
+
+# The text that is displayed in an info block explaining how the debugger is
+# currently paused at a watchpoint on an object property
+whypaused-set-watchpoint = Paused on property set
+
+# The text that is displayed in a info block explaining how the debugger is
+# currently paused on an assert
+whypaused-assert = Paused on assertion
+
+# The text that is displayed in a info block explaining how the debugger is
+# currently paused on a debugger statement
+whypaused-debug-command = Paused on debugged function
+
+# The text that is displayed in a info block explaining how the debugger is
+# currently paused on an event listener breakpoint set
+whypaused-other = Debugger paused
diff --git a/thunderbird-l10n/en-CA/localization/en-CA/devtools/shared/highlighters.ftl b/thunderbird-l10n/en-CA/localization/en-CA/devtools/shared/highlighters.ftl
new file mode 100644
index 0000000000..3f4c76814c
--- /dev/null
+++ b/thunderbird-l10n/en-CA/localization/en-CA/devtools/shared/highlighters.ftl
@@ -0,0 +1,55 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+
+### This file contains strings used in highlighters.
+### Highlighters are visualizations that DevTools draws on top of content to aid
+### in understanding content sizing, etc.
+
+# The row and column position of a grid cell shown in the grid cell infobar when hovering
+# over the CSS grid outline.
+# Variables
+# $row (integer) - The row index
+# $column (integer) - The column index
+grid-row-column-positions = Row { $row } / Column { $column }
+# The layout type of an element shown in the infobar when hovering over a DOM element and
+# it is a grid container.
+gridtype-container = Grid Container
+# The layout type of an element shown in the infobar when hovering over a DOM element and
+# it is a grid item.
+gridtype-item = Grid Item
+# The layout type of an element shown in the infobar when hovering over a DOM element and
+# it is both a grid container and a grid item.
+gridtype-dual = Grid Container/Item
+# The layout type of an element shown in the infobar when hovering over a DOM element and
+# it is a flex container.
+flextype-container = Flex Container
+# The layout type of an element shown in the infobar when hovering over a DOM element and
+# it is a flex item.
+flextype-item = Flex Item
+# The layout type of an element shown in the infobar when hovering over a DOM element and
+# it is both a flex container and a flex item.
+flextype-dual = Flex Container/Item
+# The message displayed in the content page when the user clicks on the
+# "Pick an element from the page" in about:devtools-toolbox inspector panel, when
+# debugging a remote page.
+# Variables
+# $action (string) - Will either be remote-node-picker-notice-action-desktop or
+# remote-node-picker-notice-action-touch
+remote-node-picker-notice = DevTools Node Picker enabled. { $action }
+# Text displayed in `remote-node-picker-notice`, when the remote page is on desktop
+remote-node-picker-notice-action-desktop = Click an element to select it in the Inspector
+# Text displayed in `remote-node-picker-notice`, when the remote page is on Android
+remote-node-picker-notice-action-touch = Tap an element to select it in the Inspector
+# The text displayed in the button that is in the notice in the content page when the user
+# clicks on the "Pick an element from the page" in about:devtools-toolbox inspector panel,
+# when debugging a remote page.
+remote-node-picker-notice-hide-button = Hide
+# The text displayed in a toolbox notification message which is only displayed
+# if prefers-reduced-motion is enabled (via OS-level settings or by using the
+# ui.prefersReducedMotion=1 preference).
+simple-highlighters-message = When prefers-reduced-motion is enabled, a simpler highlighter can be enabled in the settings panel, to avoid flashing colours.
+# Text displayed in a button inside the "simple-highlighters-message" toolbox
+# notification. "Settings" here refers to the DevTools settings panel.
+simple-highlighters-settings-button = Open Settings
diff --git a/thunderbird-l10n/en-CA/localization/en-CA/devtools/shared/webconsole-commands.ftl b/thunderbird-l10n/en-CA/localization/en-CA/devtools/shared/webconsole-commands.ftl
new file mode 100644
index 0000000000..6fbe8159b2
--- /dev/null
+++ b/thunderbird-l10n/en-CA/localization/en-CA/devtools/shared/webconsole-commands.ftl
@@ -0,0 +1,3 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
diff --git a/thunderbird-l10n/en-CA/localization/en-CA/devtools/startup/key-shortcuts.ftl b/thunderbird-l10n/en-CA/localization/en-CA/devtools/startup/key-shortcuts.ftl
new file mode 100644
index 0000000000..bbc2c7ca1e
--- /dev/null
+++ b/thunderbird-l10n/en-CA/localization/en-CA/devtools/startup/key-shortcuts.ftl
@@ -0,0 +1,38 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# Key pressed to open a toolbox with the default panel selected
+devtools-commandkey-toggle-toolbox = I
+# Alternative key pressed to open a toolbox with the default panel selected
+devtools-commandkey-toggle-toolbox-f12 = VK_F12
+# Key pressed to open the Browser Toolbox, used for debugging Firefox itself
+devtools-commandkey-browser-toolbox = I
+# Key pressed to open the Browser Console, used for debugging Firefox itself
+devtools-commandkey-browser-console = J
+# Key pressed to toggle on the Responsive Design Mode
+devtools-commandkey-responsive-design-mode = M
+# Key pressed to open a toolbox with the inspector panel selected
+devtools-commandkey-inspector = C
+# Key pressed to open a toolbox with the web console panel selected
+devtools-commandkey-webconsole = K
+# Key pressed to open a toolbox with the debugger panel selected
+devtools-commandkey-jsdebugger = Z
+# Key pressed to open a toolbox with the network monitor panel selected
+devtools-commandkey-netmonitor = E
+# Key pressed to open a toolbox with the style editor panel selected
+devtools-commandkey-styleeditor = VK_F7
+# Key pressed to open a toolbox with the performance panel selected
+devtools-commandkey-performance = VK_F5
+# Key pressed to open a toolbox with the storage panel selected
+devtools-commandkey-storage = VK_F9
+# Key pressed to open a toolbox with the DOM panel selected
+devtools-commandkey-dom = W
+# Key pressed to open a toolbox with the accessibility panel selected
+devtools-commandkey-accessibility-f12 = VK_F12
+# Key pressed to start or stop the performance profiler
+devtools-commandkey-profiler-start-stop = VK_1
+# Key pressed to capture a recorded performance profile
+devtools-commandkey-profiler-capture = VK_2
+# Key pressed to toggle the JavaScript tracing
+devtools-commandkey-javascript-tracing-toggle = VK_5
diff --git a/thunderbird-l10n/en-CA/localization/en-CA/dom/XMLPrettyPrint.ftl b/thunderbird-l10n/en-CA/localization/en-CA/dom/XMLPrettyPrint.ftl
new file mode 100644
index 0000000000..61b5b9432b
--- /dev/null
+++ b/thunderbird-l10n/en-CA/localization/en-CA/dom/XMLPrettyPrint.ftl
@@ -0,0 +1,5 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+xml-nostylesheet = This XML file does not appear to have any style information associated with it. The document tree is shown below.
diff --git a/thunderbird-l10n/en-CA/localization/en-CA/dom/media.ftl b/thunderbird-l10n/en-CA/localization/en-CA/dom/media.ftl
new file mode 100644
index 0000000000..1b1d6bcc26
--- /dev/null
+++ b/thunderbird-l10n/en-CA/localization/en-CA/dom/media.ftl
@@ -0,0 +1,6 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+default-audio-output-device-label = Default audio output device
+mediastatus-fallback-title = { -brand-short-name } is playing media
diff --git a/thunderbird-l10n/en-CA/localization/en-CA/locales-preview/aboutTranslations.ftl b/thunderbird-l10n/en-CA/localization/en-CA/locales-preview/aboutTranslations.ftl
new file mode 100644
index 0000000000..68e9d8aafd
--- /dev/null
+++ b/thunderbird-l10n/en-CA/localization/en-CA/locales-preview/aboutTranslations.ftl
@@ -0,0 +1,28 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# The title of the about:translations page, referencing the translations feature.
+about-translations-title = Translations
+about-translations-header = { -translations-brand-name }
+about-translations-results-placeholder = Translation
+# Text displayed on from-language dropdown when no language is selected
+about-translations-detect = Detect language
+# Text displayed on a language dropdown when the language is in beta
+# Variables:
+# $language (string) - The localized display name of the language
+about-translations-displayname-beta = { $language } BETA
+# Text displayed on from-language dropdown when a language is detected
+# Variables:
+# $language (string) - The localized display name of the detected language
+about-translations-detect-lang = Detect language ({ $language })
+# Text displayed on from-language dropdown when a beta language is detected
+# Variables:
+# $language (string) - The localized display name of the detected language
+about-translations-detect-lang-beta = Detect language ({ $language } BETA)
+# Text displayed on to-language dropdown when no language is selected
+about-translations-select = Select language
+about-translations-textarea =
+ .placeholder = Add text to translate
+about-translations-no-support = Your device does not meet the minimum requirements to use this feature. Try on another device.
+about-translations-engine-error = The translations engine failed to load.
diff --git a/thunderbird-l10n/en-CA/localization/en-CA/messenger/about3Pane.ftl b/thunderbird-l10n/en-CA/localization/en-CA/messenger/about3Pane.ftl
new file mode 100644
index 0000000000..69f25efce8
--- /dev/null
+++ b/thunderbird-l10n/en-CA/localization/en-CA/messenger/about3Pane.ftl
@@ -0,0 +1,359 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.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-column-header-thread =
+ .title = Toggle message threads
+threadpane-column-label-thread =
+ .label = Thread
+threadpane-column-header-flagged =
+ .title = Sort by star
+threadpane-column-label-flagged =
+ .label = Starred
+threadpane-flagged-cell-label = Starred
+threadpane-column-header-attachments =
+ .title = Sort by attachments
+threadpane-column-label-attachments =
+ .label = Attachments
+threadpane-attachments-cell-label = Attachments
+threadpane-column-header-spam =
+ .title = Sort by spam status
+threadpane-column-label-spam =
+ .label = Spam
+threadpane-spam-cell-label = Spam
+threadpane-column-header-unread-button =
+ .title = Sort by read status
+threadpane-column-label-unread-button =
+ .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-column-header-recipient = Recipient
+ .title = Sort by recipient
+threadpane-column-label-recipient =
+ .label = Recipient
+threadpane-column-header-correspondents = Correspondents
+ .title = Sort by correspondents
+threadpane-column-label-correspondents =
+ .label = Correspondents
+threadpane-column-header-subject = Subject
+ .title = Sort by subject
+threadpane-column-label-subject =
+ .label = Subject
+threadpane-column-header-date = Date
+ .title = Sort by date
+threadpane-column-label-date =
+ .label = Date
+threadpane-column-header-received = Received
+ .title = Sort by date received
+threadpane-column-label-received =
+ .label = Received
+threadpane-column-header-status = Status
+ .title = Sort by status
+threadpane-column-label-status =
+ .label = Status
+threadpane-column-header-size = Size
+ .title = Sort by size
+threadpane-column-label-size =
+ .label = Size
+threadpane-column-header-tags = Tag
+ .title = Sort by tags
+threadpane-column-label-tags =
+ .label = Tag
+threadpane-column-header-account = Account
+ .title = Sort by account
+threadpane-column-label-account =
+ .label = Account
+threadpane-column-header-priority = Priority
+ .title = Sort by priority
+threadpane-column-label-priority =
+ .label = Priority
+threadpane-column-header-unread = Unread
+ .title = Number of unread messages in thread
+threadpane-column-label-unread =
+ .label = Unread
+threadpane-column-header-total = Total
+ .title = Total number of messages in thread
+threadpane-column-label-total =
+ .label = Total
+threadpane-column-header-location = Location
+ .title = Sort by location
+threadpane-column-label-location =
+ .label = Location
+threadpane-column-header-id = Order Received
+ .title = Sort by order received
+threadpane-column-label-id =
+ .label = Order Received
+threadpane-column-header-delete =
+ .title = Delete a message
+threadpane-column-label-delete =
+ .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/thunderbird-l10n/en-CA/localization/en-CA/messenger/aboutAddonsExtra.ftl b/thunderbird-l10n/en-CA/localization/en-CA/messenger/aboutAddonsExtra.ftl
new file mode 100644
index 0000000000..1b0c64b7c7
--- /dev/null
+++ b/thunderbird-l10n/en-CA/localization/en-CA/messenger/aboutAddonsExtra.ftl
@@ -0,0 +1,12 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+add-on-options-button =
+ .title = 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/thunderbird-l10n/en-CA/localization/en-CA/messenger/aboutDialog.ftl b/thunderbird-l10n/en-CA/localization/en-CA/messenger/aboutDialog.ftl
new file mode 100644
index 0000000000..70afdea42f
--- /dev/null
+++ b/thunderbird-l10n/en-CA/localization/en-CA/messenger/aboutDialog.ftl
@@ -0,0 +1,48 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+about-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"></hspan>
+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/thunderbird-l10n/en-CA/localization/en-CA/messenger/aboutImport.ftl b/thunderbird-l10n/en-CA/localization/en-CA/messenger/aboutImport.ftl
new file mode 100644
index 0000000000..4ad1162ab0
--- /dev/null
+++ b/thunderbird-l10n/en-CA/localization/en-CA/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/thunderbird-l10n/en-CA/localization/en-CA/messenger/aboutProfilesExtra.ftl b/thunderbird-l10n/en-CA/localization/en-CA/messenger/aboutProfilesExtra.ftl
new file mode 100644
index 0000000000..fe428ad56b
--- /dev/null
+++ b/thunderbird-l10n/en-CA/localization/en-CA/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/thunderbird-l10n/en-CA/localization/en-CA/messenger/aboutRights.ftl b/thunderbird-l10n/en-CA/localization/en-CA/messenger/aboutRights.ftl
new file mode 100644
index 0000000000..06dc0006dc
--- /dev/null
+++ b/thunderbird-l10n/en-CA/localization/en-CA/messenger/aboutRights.ftl
@@ -0,0 +1,50 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+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 Licence</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 Licence 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 = In the URL bar, type <code>about:config</code>
+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 licences 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 cancelled 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/thunderbird-l10n/en-CA/localization/en-CA/messenger/aboutSupportCalendar.ftl b/thunderbird-l10n/en-CA/localization/en-CA/messenger/aboutSupportCalendar.ftl
new file mode 100644
index 0000000000..0a0cf23c03
--- /dev/null
+++ b/thunderbird-l10n/en-CA/localization/en-CA/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 = Organiser 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/thunderbird-l10n/en-CA/localization/en-CA/messenger/aboutSupportChat.ftl b/thunderbird-l10n/en-CA/localization/en-CA/messenger/aboutSupportChat.ftl
new file mode 100644
index 0000000000..7731079ba6
--- /dev/null
+++ b/thunderbird-l10n/en-CA/localization/en-CA/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/thunderbird-l10n/en-CA/localization/en-CA/messenger/aboutSupportMail.ftl b/thunderbird-l10n/en-CA/localization/en-CA/messenger/aboutSupportMail.ftl
new file mode 100644
index 0000000000..ed43f52582
--- /dev/null
+++ b/thunderbird-l10n/en-CA/localization/en-CA/messenger/aboutSupportMail.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/.
+
+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/thunderbird-l10n/en-CA/localization/en-CA/messenger/accountCentral.ftl b/thunderbird-l10n/en-CA/localization/en-CA/messenger/accountCentral.ftl
new file mode 100644
index 0000000000..d14bc05a8c
--- /dev/null
+++ b/thunderbird-l10n/en-CA/localization/en-CA/messenger/accountCentral.ftl
@@ -0,0 +1,65 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+account-central-title = Welcome to { -brand-full-name }
+account-settings = Account Settings
+
+# $accounts (Number) - the number of configured accounts
+setup-title = Choose What to Set Up
+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/thunderbird-l10n/en-CA/localization/en-CA/messenger/accountManager.ftl b/thunderbird-l10n/en-CA/localization/en-CA/messenger/accountManager.ftl
new file mode 100644
index 0000000000..607c22e94a
--- /dev/null
+++ b/thunderbird-l10n/en-CA/localization/en-CA/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/thunderbird-l10n/en-CA/localization/en-CA/messenger/accountProvisioner.ftl b/thunderbird-l10n/en-CA/localization/en-CA/messenger/accountProvisioner.ftl
new file mode 100644
index 0000000000..34ea6bf37a
--- /dev/null
+++ b/thunderbird-l10n/en-CA/localization/en-CA/messenger/accountProvisioner.ftl
@@ -0,0 +1,78 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+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
+
+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/thunderbird-l10n/en-CA/localization/en-CA/messenger/accountcreation/accountHub.ftl b/thunderbird-l10n/en-CA/localization/en-CA/messenger/accountcreation/accountHub.ftl
new file mode 100644
index 0000000000..a1a228afb1
--- /dev/null
+++ b/thunderbird-l10n/en-CA/localization/en-CA/messenger/accountcreation/accountHub.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/.
+
+
+### 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/thunderbird-l10n/en-CA/localization/en-CA/messenger/accountcreation/accountSetup.ftl b/thunderbird-l10n/en-CA/localization/en-CA/messenger/accountcreation/accountSetup.ftl
new file mode 100644
index 0000000000..a0936c0ac5
--- /dev/null
+++ b/thunderbird-l10n/en-CA/localization/en-CA/messenger/accountcreation/accountSetup.ftl
@@ -0,0 +1,294 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+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.<br/>
+ { -brand-product-name } will automatically search for a working and recommended server configuration.
+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 correct 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 = Server settings
+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 dialogue 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 = Colour
+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/thunderbird-l10n/en-CA/localization/en-CA/messenger/addonNotifications.ftl b/thunderbird-l10n/en-CA/localization/en-CA/messenger/addonNotifications.ftl
new file mode 100644
index 0000000000..53a4b56c79
--- /dev/null
+++ b/thunderbird-l10n/en-CA/localization/en-CA/messenger/addonNotifications.ftl
@@ -0,0 +1,122 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+xpinstall-prompt = { -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 ->
+ [one] 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 ->
+ [one] 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 ->
+ [one] 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 = 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/thunderbird-l10n/en-CA/localization/en-CA/messenger/addressbook/abCardDAVDialog.ftl b/thunderbird-l10n/en-CA/localization/en-CA/messenger/addressbook/abCardDAVDialog.ftl
new file mode 100644
index 0000000000..e31d3770a1
--- /dev/null
+++ b/thunderbird-l10n/en-CA/localization/en-CA/messenger/addressbook/abCardDAVDialog.ftl
@@ -0,0 +1,26 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, you can obtain one at http://mozilla.org/MPL/2.0/.
+
+carddav-window-title = 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…
+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/thunderbird-l10n/en-CA/localization/en-CA/messenger/addressbook/abCardDAVProperties.ftl b/thunderbird-l10n/en-CA/localization/en-CA/messenger/addressbook/abCardDAVProperties.ftl
new file mode 100644
index 0000000000..be7a583222
--- /dev/null
+++ b/thunderbird-l10n/en-CA/localization/en-CA/messenger/addressbook/abCardDAVProperties.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/.
+
+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/thunderbird-l10n/en-CA/localization/en-CA/messenger/addressbook/aboutAddressBook.ftl b/thunderbird-l10n/en-CA/localization/en-CA/messenger/addressbook/aboutAddressBook.ftl
new file mode 100644
index 0000000000..30d79bd95f
--- /dev/null
+++ b/thunderbird-l10n/en-CA/localization/en-CA/messenger/addressbook/aboutAddressBook.ftl
@@ -0,0 +1,266 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, you can obtain one at http://mozilla.org/MPL/2.0/.
+
+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 e-mail address (A > Z)
+about-addressbook-sort-email-descending =
+ .label = Sort by e-mail 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/thunderbird-l10n/en-CA/localization/en-CA/messenger/addressbook/fieldMapImport.ftl b/thunderbird-l10n/en-CA/localization/en-CA/messenger/addressbook/fieldMapImport.ftl
new file mode 100644
index 0000000000..5e39bf05ea
--- /dev/null
+++ b/thunderbird-l10n/en-CA/localization/en-CA/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/thunderbird-l10n/en-CA/localization/en-CA/messenger/addressbook/vcard.ftl b/thunderbird-l10n/en-CA/localization/en-CA/messenger/addressbook/vcard.ftl
new file mode 100644
index 0000000000..6eeef0fb21
--- /dev/null
+++ b/thunderbird-l10n/en-CA/localization/en-CA/messenger/addressbook/vcard.ftl
@@ -0,0 +1,138 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, you can obtain one at http://mozilla.org/MPL/2.0/.
+
+
+# Display Name
+
+vcard-displayname = 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 = Province
+# The term "ZIP code" only applies in USA. Most locales should use "Postal code" only.
+vcard-adr-code = 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/thunderbird-l10n/en-CA/localization/en-CA/messenger/appmenu.ftl b/thunderbird-l10n/en-CA/localization/en-CA/messenger/appmenu.ftl
new file mode 100644
index 0000000000..f1fdfeba93
--- /dev/null
+++ b/thunderbird-l10n/en-CA/localization/en-CA/messenger/appmenu.ftl
@@ -0,0 +1,210 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+
+## Sync
+
+appmenu-sync-panel-title =
+ .title = 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/thunderbird-l10n/en-CA/localization/en-CA/messenger/chat-verifySession.ftl b/thunderbird-l10n/en-CA/localization/en-CA/messenger/chat-verifySession.ftl
new file mode 100644
index 0000000000..f231654bfa
--- /dev/null
+++ b/thunderbird-l10n/en-CA/localization/en-CA/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/thunderbird-l10n/en-CA/localization/en-CA/messenger/chat.ftl b/thunderbird-l10n/en-CA/localization/en-CA/messenger/chat.ftl
new file mode 100644
index 0000000000..0f1cd039a8
--- /dev/null
+++ b/thunderbird-l10n/en-CA/localization/en-CA/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/thunderbird-l10n/en-CA/localization/en-CA/messenger/compactFoldersDialog.ftl b/thunderbird-l10n/en-CA/localization/en-CA/messenger/compactFoldersDialog.ftl
new file mode 100644
index 0000000000..7ca0ed70ca
--- /dev/null
+++ b/thunderbird-l10n/en-CA/localization/en-CA/messenger/compactFoldersDialog.ftl
@@ -0,0 +1,20 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+compact-dialog-window-title =
+ .title = Compact folders
+compact-folders-dialog-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/thunderbird-l10n/en-CA/localization/en-CA/messenger/exportDialog.ftl b/thunderbird-l10n/en-CA/localization/en-CA/messenger/exportDialog.ftl
new file mode 100644
index 0000000000..e5a46f5d3f
--- /dev/null
+++ b/thunderbird-l10n/en-CA/localization/en-CA/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/thunderbird-l10n/en-CA/localization/en-CA/messenger/extensionPermissions.ftl b/thunderbird-l10n/en-CA/localization/en-CA/messenger/extensionPermissions.ftl
new file mode 100644
index 0000000000..da3410ba60
--- /dev/null
+++ b/thunderbird-l10n/en-CA/localization/en-CA/messenger/extensionPermissions.ftl
@@ -0,0 +1,24 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+
+## 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/thunderbird-l10n/en-CA/localization/en-CA/messenger/extensions/popup.ftl b/thunderbird-l10n/en-CA/localization/en-CA/messenger/extensions/popup.ftl
new file mode 100644
index 0000000000..f067abe561
--- /dev/null
+++ b/thunderbird-l10n/en-CA/localization/en-CA/messenger/extensions/popup.ftl
@@ -0,0 +1,14 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+close-shortcut =
+ .key = W
+# Variables:
+# $title (String): the title of the popup window
+extension-popup-title =
+ { PLATFORM() ->
+ [macos] { $title }
+ *[other] { $title } - { -brand-full-name }
+ }
+extension-popup-default-title = { -brand-full-name }
diff --git a/thunderbird-l10n/en-CA/localization/en-CA/messenger/extensionsUI.ftl b/thunderbird-l10n/en-CA/localization/en-CA/messenger/extensionsUI.ftl
new file mode 100644
index 0000000000..3cf40118e3
--- /dev/null
+++ b/thunderbird-l10n/en-CA/localization/en-CA/messenger/extensionsUI.ftl
@@ -0,0 +1,9 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+webext-experiment-warning = 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/thunderbird-l10n/en-CA/localization/en-CA/messenger/firefoxAccounts.ftl b/thunderbird-l10n/en-CA/localization/en-CA/messenger/firefoxAccounts.ftl
new file mode 100644
index 0000000000..669fd166f3
--- /dev/null
+++ b/thunderbird-l10n/en-CA/localization/en-CA/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/thunderbird-l10n/en-CA/localization/en-CA/messenger/flatpak.ftl b/thunderbird-l10n/en-CA/localization/en-CA/messenger/flatpak.ftl
new file mode 100644
index 0000000000..56f61e90f3
--- /dev/null
+++ b/thunderbird-l10n/en-CA/localization/en-CA/messenger/flatpak.ftl
@@ -0,0 +1,24 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+
+### These messages are used by the Thunderbird Linux Flatpak "desktop" file.
+### An end user will see them associated with the application launcher icon
+
+# This is the label on the icon
+flatpak-desktop-name = { -brand-short-name }
+# Appears as a tooltip when hovering over application menu entry
+flatpak-desktop-comment = 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/thunderbird-l10n/en-CA/localization/en-CA/messenger/folderprops.ftl b/thunderbird-l10n/en-CA/localization/en-CA/messenger/folderprops.ftl
new file mode 100644
index 0000000000..23753240cb
--- /dev/null
+++ b/thunderbird-l10n/en-CA/localization/en-CA/messenger/folderprops.ftl
@@ -0,0 +1,10 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+
+## Quota tab
+
+# Variables:
+# $percent (Number) - Usage percentage of the assigned IMAP quota.
+quota-percent-used = { $percent }% full
diff --git a/thunderbird-l10n/en-CA/localization/en-CA/messenger/importDialog.ftl b/thunderbird-l10n/en-CA/localization/en-CA/messenger/importDialog.ftl
new file mode 100644
index 0000000000..a3c5f01cfa
--- /dev/null
+++ b/thunderbird-l10n/en-CA/localization/en-CA/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/thunderbird-l10n/en-CA/localization/en-CA/messenger/mailWidgets.ftl b/thunderbird-l10n/en-CA/localization/en-CA/messenger/mailWidgets.ftl
new file mode 100644
index 0000000000..03dd32f877
--- /dev/null
+++ b/thunderbird-l10n/en-CA/localization/en-CA/messenger/mailWidgets.ftl
@@ -0,0 +1,15 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+apply-current-view-to-menu =
+ .label = 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/thunderbird-l10n/en-CA/localization/en-CA/messenger/menubar.ftl b/thunderbird-l10n/en-CA/localization/en-CA/messenger/menubar.ftl
new file mode 100644
index 0000000000..82b1bd3ac0
--- /dev/null
+++ b/thunderbird-l10n/en-CA/localization/en-CA/messenger/menubar.ftl
@@ -0,0 +1,135 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+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 = T
+menu-help-exit-troubleshoot-mode =
+ .label = Turn Troubleshoot Mode Off
+ .accesskey = O
+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 }
+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/thunderbird-l10n/en-CA/localization/en-CA/messenger/messageheader/headerFields.ftl b/thunderbird-l10n/en-CA/localization/en-CA/messenger/messageheader/headerFields.ftl
new file mode 100644
index 0000000000..18ba37816f
--- /dev/null
+++ b/thunderbird-l10n/en-CA/localization/en-CA/messenger/messageheader/headerFields.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/.
+
+
+## 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-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-followup-to-field = Followup to<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/thunderbird-l10n/en-CA/localization/en-CA/messenger/messenger.ftl b/thunderbird-l10n/en-CA/localization/en-CA/messenger/messenger.ftl
new file mode 100644
index 0000000000..aecbd60b29
--- /dev/null
+++ b/thunderbird-l10n/en-CA/localization/en-CA/messenger/messenger.ftl
@@ -0,0 +1,411 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+
+## 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 = Favourite 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 = Open 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 colour
+spaces-customize-icon-color = Button colour
+# 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 colour
+# 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 colour
+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/thunderbird-l10n/en-CA/localization/en-CA/messenger/messengercompose/messengercompose.ftl b/thunderbird-l10n/en-CA/localization/en-CA/messenger/messengercompose/messengercompose.ftl
new file mode 100644
index 0000000000..c511896d8b
--- /dev/null
+++ b/thunderbird-l10n/en-CA/localization/en-CA/messenger/messengercompose/messengercompose.ftl
@@ -0,0 +1,411 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+
+## 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 e-mail 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
+ [one] { $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] Append Inline
+ *[other] Append 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/thunderbird-l10n/en-CA/localization/en-CA/messenger/migration.ftl b/thunderbird-l10n/en-CA/localization/en-CA/messenger/migration.ftl
new file mode 100644
index 0000000000..9dceacc1b6
--- /dev/null
+++ b/thunderbird-l10n/en-CA/localization/en-CA/messenger/migration.ftl
@@ -0,0 +1,15 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, you can obtain one at http://mozilla.org/MPL/2.0/.
+
+migration-progress-header = 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.
+
+migration-task-test-fast = Testing a fast change
+migration-task-test-slow = Testing a slow change
+migration-task-test-progress = Testing the progress bar
diff --git a/thunderbird-l10n/en-CA/localization/en-CA/messenger/multimessageview.ftl b/thunderbird-l10n/en-CA/localization/en-CA/messenger/multimessageview.ftl
new file mode 100644
index 0000000000..c014821fcd
--- /dev/null
+++ b/thunderbird-l10n/en-CA/localization/en-CA/messenger/multimessageview.ftl
@@ -0,0 +1,14 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+multi-message-window-title =
+ .title = 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/thunderbird-l10n/en-CA/localization/en-CA/messenger/openpgp/backupKeyPassword.ftl b/thunderbird-l10n/en-CA/localization/en-CA/messenger/openpgp/backupKeyPassword.ftl
new file mode 100644
index 0000000000..f9cd659fb4
--- /dev/null
+++ b/thunderbird-l10n/en-CA/localization/en-CA/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-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 =
+ .value = Secret Key backup password:
+set-password-repeat-backup-pw =
+ .value = Secret Key backup password (again):
+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/thunderbird-l10n/en-CA/localization/en-CA/messenger/openpgp/changeExpiryDlg.ftl b/thunderbird-l10n/en-CA/localization/en-CA/messenger/openpgp/changeExpiryDlg.ftl
new file mode 100644
index 0000000000..24638be781
--- /dev/null
+++ b/thunderbird-l10n/en-CA/localization/en-CA/messenger/openpgp/changeExpiryDlg.ftl
@@ -0,0 +1,22 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+openpgp-change-key-expiry-title =
+ .title = Change Key Expiration
+openpgp-change-expiry-title = Change Key Expiration
+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-dont-change =
+ .label = Do not change the expiry date
+expire-never-label =
+ .label = Key will never expire
+expire-in-label =
+ .label = Key will expire in:
+expire-in-months = Months
+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/thunderbird-l10n/en-CA/localization/en-CA/messenger/openpgp/composeKeyStatus.ftl b/thunderbird-l10n/en-CA/localization/en-CA/messenger/openpgp/composeKeyStatus.ftl
new file mode 100644
index 0000000000..ec47d403c8
--- /dev/null
+++ b/thunderbird-l10n/en-CA/localization/en-CA/messenger/openpgp/composeKeyStatus.ftl
@@ -0,0 +1,24 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+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
+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/thunderbird-l10n/en-CA/localization/en-CA/messenger/openpgp/keyAssistant.ftl b/thunderbird-l10n/en-CA/localization/en-CA/messenger/openpgp/keyAssistant.ftl
new file mode 100644
index 0000000000..ac75810cac
--- /dev/null
+++ b/thunderbird-l10n/en-CA/localization/en-CA/messenger/openpgp/keyAssistant.ftl
@@ -0,0 +1,123 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.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/thunderbird-l10n/en-CA/localization/en-CA/messenger/openpgp/keyWizard.ftl b/thunderbird-l10n/en-CA/localization/en-CA/messenger/openpgp/keyWizard.ftl
new file mode 100644
index 0000000000..c8a78c6f3f
--- /dev/null
+++ b/thunderbird-l10n/en-CA/localization/en-CA/messenger/openpgp/keyWizard.ftl
@@ -0,0 +1,135 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# $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/thunderbird-l10n/en-CA/localization/en-CA/messenger/openpgp/msgReadStatus.ftl b/thunderbird-l10n/en-CA/localization/en-CA/messenger/openpgp/msgReadStatus.ftl
new file mode 100644
index 0000000000..4363d9cd63
--- /dev/null
+++ b/thunderbird-l10n/en-CA/localization/en-CA/messenger/openpgp/msgReadStatus.ftl
@@ -0,0 +1,81 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+
+## Message Header Encryption Button
+
+message-header-show-security-info-key = S
+# $type (String) - the shortcut key defined in the message-header-show-security-info-key
+message-security-button =
+ .title =
+ { PLATFORM() ->
+ [macos] 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/thunderbird-l10n/en-CA/localization/en-CA/messenger/openpgp/oneRecipientStatus.ftl b/thunderbird-l10n/en-CA/localization/en-CA/messenger/openpgp/oneRecipientStatus.ftl
new file mode 100644
index 0000000000..8345fb88c3
--- /dev/null
+++ b/thunderbird-l10n/en-CA/localization/en-CA/messenger/openpgp/oneRecipientStatus.ftl
@@ -0,0 +1,50 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+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 (unverifed)
+openpgp-key-undecided = Not accepted (undecided)
+openpgp-key-rejected = Not accepted (rejected)
+openpgp-key-expired = Expired
+
+openpgp-intro = Available public keys for { $key }
+
+openpgp-pubkey-import-id = ID: { $kid }
+openpgp-pubkey-import-fpr = Fingerprint: { $fpr }
+
+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:
+ }
+
+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/thunderbird-l10n/en-CA/localization/en-CA/messenger/openpgp/openpgp-frontend.ftl b/thunderbird-l10n/en-CA/localization/en-CA/messenger/openpgp/openpgp-frontend.ftl
new file mode 100644
index 0000000000..45b1514001
--- /dev/null
+++ b/thunderbird-l10n/en-CA/localization/en-CA/messenger/openpgp/openpgp-frontend.ftl
@@ -0,0 +1,54 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+openpgp-manage-keys-openpgp-cmd =
+ .label = 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/thunderbird-l10n/en-CA/localization/en-CA/messenger/openpgp/openpgp.ftl b/thunderbird-l10n/en-CA/localization/en-CA/messenger/openpgp/openpgp.ftl
new file mode 100644
index 0000000000..648e4de6cd
--- /dev/null
+++ b/thunderbird-l10n/en-CA/localization/en-CA/messenger/openpgp/openpgp.ftl
@@ -0,0 +1,780 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.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-dialog-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-expor-to-file-label =
+ .label = Export Keys To File
+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 Armoured 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 armoured 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 = Did not succeed to repair 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/thunderbird-l10n/en-CA/localization/en-CA/messenger/otr/add-finger.ftl b/thunderbird-l10n/en-CA/localization/en-CA/messenger/otr/add-finger.ftl
new file mode 100644
index 0000000000..5709168e2b
--- /dev/null
+++ b/thunderbird-l10n/en-CA/localization/en-CA/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/thunderbird-l10n/en-CA/localization/en-CA/messenger/otr/am-im-otr.ftl b/thunderbird-l10n/en-CA/localization/en-CA/messenger/otr/am-im-otr.ftl
new file mode 100644
index 0000000000..e418895721
--- /dev/null
+++ b/thunderbird-l10n/en-CA/localization/en-CA/messenger/otr/am-im-otr.ftl
@@ -0,0 +1,26 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+account-encryption =
+ .label = 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/thunderbird-l10n/en-CA/localization/en-CA/messenger/otr/auth.ftl b/thunderbird-l10n/en-CA/localization/en-CA/messenger/otr/auth.ftl
new file mode 100644
index 0000000000..78857e290e
--- /dev/null
+++ b/thunderbird-l10n/en-CA/localization/en-CA/messenger/otr/auth.ftl
@@ -0,0 +1,60 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+otr-auth =
+ .title = 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-help = Verifying a contact’s identity helps ensure that the conversation is truly private, making it very difficult for a third party to eavesdrop or manipulate the conversation.
+
+auth-help-title = Verification help
+
+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 dialogue 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/thunderbird-l10n/en-CA/localization/en-CA/messenger/otr/chat.ftl b/thunderbird-l10n/en-CA/localization/en-CA/messenger/otr/chat.ftl
new file mode 100644
index 0000000000..c7163781d3
--- /dev/null
+++ b/thunderbird-l10n/en-CA/localization/en-CA/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/thunderbird-l10n/en-CA/localization/en-CA/messenger/otr/finger-sync.ftl b/thunderbird-l10n/en-CA/localization/en-CA/messenger/otr/finger-sync.ftl
new file mode 100644
index 0000000000..b3e731b979
--- /dev/null
+++ b/thunderbird-l10n/en-CA/localization/en-CA/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/thunderbird-l10n/en-CA/localization/en-CA/messenger/otr/finger.ftl b/thunderbird-l10n/en-CA/localization/en-CA/messenger/otr/finger.ftl
new file mode 100644
index 0000000000..f411991085
--- /dev/null
+++ b/thunderbird-l10n/en-CA/localization/en-CA/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/thunderbird-l10n/en-CA/localization/en-CA/messenger/otr/otr.ftl b/thunderbird-l10n/en-CA/localization/en-CA/messenger/otr/otr.ftl
new file mode 100644
index 0000000000..4b4e8ea3a4
--- /dev/null
+++ b/thunderbird-l10n/en-CA/localization/en-CA/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/thunderbird-l10n/en-CA/localization/en-CA/messenger/otr/otrUI.ftl b/thunderbird-l10n/en-CA/localization/en-CA/messenger/otr/otrUI.ftl
new file mode 100644
index 0000000000..a079429e77
--- /dev/null
+++ b/thunderbird-l10n/en-CA/localization/en-CA/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/thunderbird-l10n/en-CA/localization/en-CA/messenger/policies/aboutPolicies.ftl b/thunderbird-l10n/en-CA/localization/en-CA/messenger/policies/aboutPolicies.ftl
new file mode 100644
index 0000000000..d5ef87a573
--- /dev/null
+++ b/thunderbird-l10n/en-CA/localization/en-CA/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/thunderbird-l10n/en-CA/localization/en-CA/messenger/policies/policies-descriptions.ftl b/thunderbird-l10n/en-CA/localization/en-CA/messenger/policies/policies-descriptions.ftl
new file mode 100644
index 0000000000..b269d91b22
--- /dev/null
+++ b/thunderbird-l10n/en-CA/localization/en-CA/messenger/policies/policies-descriptions.ftl
@@ -0,0 +1,159 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+
+## The Enterprise Policies feature is aimed at system administrators
+## who want to deploy these settings across several Thunderbird installations
+## all at once. This is traditionally done through the Windows Group Policy
+## feature, but the system also supports other forms of deployment.
+## These are short descriptions for individual policies, to be displayed
+## in the documentation section in about:policies.
+
+policy-3rdparty = 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 behaviour setting.
+
+policy-LegacySameSiteCookieBehaviorEnabledForDomainList = Revert to legacy SameSite behaviour 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/thunderbird-l10n/en-CA/localization/en-CA/messenger/preferences/am-copies.ftl b/thunderbird-l10n/en-CA/localization/en-CA/messenger/preferences/am-copies.ftl
new file mode 100644
index 0000000000..24e0b6f29b
--- /dev/null
+++ b/thunderbird-l10n/en-CA/localization/en-CA/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/thunderbird-l10n/en-CA/localization/en-CA/messenger/preferences/am-im.ftl b/thunderbird-l10n/en-CA/localization/en-CA/messenger/preferences/am-im.ftl
new file mode 100644
index 0000000000..4daf7cec7d
--- /dev/null
+++ b/thunderbird-l10n/en-CA/localization/en-CA/messenger/preferences/am-im.ftl
@@ -0,0 +1,23 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+account-settings-title = 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
+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/thunderbird-l10n/en-CA/localization/en-CA/messenger/preferences/application-manager.ftl b/thunderbird-l10n/en-CA/localization/en-CA/messenger/preferences/application-manager.ftl
new file mode 100644
index 0000000000..4f28c7f6f2
--- /dev/null
+++ b/thunderbird-l10n/en-CA/localization/en-CA/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
+app-manager-dialog-title = Application Details
+remove-app-button =
+ .label = Remove
+ .accesskey = R
diff --git a/thunderbird-l10n/en-CA/localization/en-CA/messenger/preferences/attachment-reminder.ftl b/thunderbird-l10n/en-CA/localization/en-CA/messenger/preferences/attachment-reminder.ftl
new file mode 100644
index 0000000000..0d31a368f9
--- /dev/null
+++ b/thunderbird-l10n/en-CA/localization/en-CA/messenger/preferences/attachment-reminder.ftl
@@ -0,0 +1,21 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+attachment-reminder-window =
+ .title = Attachment Reminder Keywords
+attachment-reminder-dialog-title = Attachment Reminder Keywords
+attachment-reminder-label = { -brand-short-name } will warn you about missing attachments if you’re about to send an e-mail 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/thunderbird-l10n/en-CA/localization/en-CA/messenger/preferences/colors.ftl b/thunderbird-l10n/en-CA/localization/en-CA/messenger/preferences/colors.ftl
new file mode 100644
index 0000000000..b61b077cb1
--- /dev/null
+++ b/thunderbird-l10n/en-CA/localization/en-CA/messenger/preferences/colors.ftl
@@ -0,0 +1,36 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+colors-dialog-window2 =
+ .title = Colours
+colors-dialog-title = Colours
+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 colours
+ .accesskey = s
+colors-link-legend = Link Colours
+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 colours 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/thunderbird-l10n/en-CA/localization/en-CA/messenger/preferences/connection.ftl b/thunderbird-l10n/en-CA/localization/en-CA/messenger/preferences/connection.ftl
new file mode 100644
index 0000000000..1480697ea1
--- /dev/null
+++ b/thunderbird-l10n/en-CA/localization/en-CA/messenger/preferences/connection.ftl
@@ -0,0 +1,88 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+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
+connection-dialog-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/thunderbird-l10n/en-CA/localization/en-CA/messenger/preferences/cookies.ftl b/thunderbird-l10n/en-CA/localization/en-CA/messenger/preferences/cookies.ftl
new file mode 100644
index 0000000000..ac2f3ab9cf
--- /dev/null
+++ b/thunderbird-l10n/en-CA/localization/en-CA/messenger/preferences/cookies.ftl
@@ -0,0 +1,43 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+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/thunderbird-l10n/en-CA/localization/en-CA/messenger/preferences/dock-options.ftl b/thunderbird-l10n/en-CA/localization/en-CA/messenger/preferences/dock-options.ftl
new file mode 100644
index 0000000000..437e13b67a
--- /dev/null
+++ b/thunderbird-l10n/en-CA/localization/en-CA/messenger/preferences/dock-options.ftl
@@ -0,0 +1,23 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+dock-options-window-dialog2 =
+ .title = App icon options
+dock-options-dialog-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/thunderbird-l10n/en-CA/localization/en-CA/messenger/preferences/fonts.ftl b/thunderbird-l10n/en-CA/localization/en-CA/messenger/preferences/fonts.ftl
new file mode 100644
index 0000000000..f113cee3ba
--- /dev/null
+++ b/thunderbird-l10n/en-CA/localization/en-CA/messenger/preferences/fonts.ftl
@@ -0,0 +1,132 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.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/thunderbird-l10n/en-CA/localization/en-CA/messenger/preferences/languages.ftl b/thunderbird-l10n/en-CA/localization/en-CA/messenger/preferences/languages.ftl
new file mode 100644
index 0000000000..ed533f8fcc
--- /dev/null
+++ b/thunderbird-l10n/en-CA/localization/en-CA/messenger/preferences/languages.ftl
@@ -0,0 +1,33 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+languages-customize-moveup =
+ .label = 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-dialog-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/thunderbird-l10n/en-CA/localization/en-CA/messenger/preferences/new-tag.ftl b/thunderbird-l10n/en-CA/localization/en-CA/messenger/preferences/new-tag.ftl
new file mode 100644
index 0000000000..f0a9c82601
--- /dev/null
+++ b/thunderbird-l10n/en-CA/localization/en-CA/messenger/preferences/new-tag.ftl
@@ -0,0 +1,13 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+tag-dialog-window =
+ .title = New Tag
+tag-dialog-title = New Tag
+tag-name-label =
+ .value = Tag Name:
+ .accesskey = T
+tag-color-label =
+ .value = Colour:
+ .accesskey = C
diff --git a/thunderbird-l10n/en-CA/localization/en-CA/messenger/preferences/notifications.ftl b/thunderbird-l10n/en-CA/localization/en-CA/messenger/preferences/notifications.ftl
new file mode 100644
index 0000000000..0220d647a0
--- /dev/null
+++ b/thunderbird-l10n/en-CA/localization/en-CA/messenger/preferences/notifications.ftl
@@ -0,0 +1,29 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+notifications-dialog-window =
+ .title = Customize New Mail Alert
+notifications-dialog-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/thunderbird-l10n/en-CA/localization/en-CA/messenger/preferences/offline.ftl b/thunderbird-l10n/en-CA/localization/en-CA/messenger/preferences/offline.ftl
new file mode 100644
index 0000000000..3808eab962
--- /dev/null
+++ b/thunderbird-l10n/en-CA/localization/en-CA/messenger/preferences/offline.ftl
@@ -0,0 +1,43 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+offline-dialog-window =
+ .title = Offline Settings
+offline-dialog-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/thunderbird-l10n/en-CA/localization/en-CA/messenger/preferences/passwordManager.ftl b/thunderbird-l10n/en-CA/localization/en-CA/messenger/preferences/passwordManager.ftl
new file mode 100644
index 0000000000..1e2c74db14
--- /dev/null
+++ b/thunderbird-l10n/en-CA/localization/en-CA/messenger/preferences/passwordManager.ftl
@@ -0,0 +1,83 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+saved-logins =
+ .title = Saved Logins
+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/thunderbird-l10n/en-CA/localization/en-CA/messenger/preferences/permissions.ftl b/thunderbird-l10n/en-CA/localization/en-CA/messenger/preferences/permissions.ftl
new file mode 100644
index 0000000000..810261c805
--- /dev/null
+++ b/thunderbird-l10n/en-CA/localization/en-CA/messenger/preferences/permissions.ftl
@@ -0,0 +1,43 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+permissions-reminder-window2 =
+ .title = Exceptions
+permissions-dialog-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/thunderbird-l10n/en-CA/localization/en-CA/messenger/preferences/preferences.ftl b/thunderbird-l10n/en-CA/localization/en-CA/messenger/preferences/preferences.ftl
new file mode 100644
index 0000000000..b1b1ede212
--- /dev/null
+++ b/thunderbird-l10n/en-CA/localization/en-CA/messenger/preferences/preferences.ftl
@@ -0,0 +1,778 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.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 =
+ { PLATFORM() ->
+ [macos] d
+ *[other] 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 & Colours
+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 = Colours…
+ .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 = Colour:
+ .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 colours
+ .accesskey = d
+font-color-label =
+ .value = Text Colour:
+ .accesskey = T
+bg-color-label =
+ .value = Background Colour:
+ .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, whilst 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 e-mail 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 add-on, 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/thunderbird-l10n/en-CA/localization/en-CA/messenger/preferences/receipts.ftl b/thunderbird-l10n/en-CA/localization/en-CA/messenger/preferences/receipts.ftl
new file mode 100644
index 0000000000..7587de5bc4
--- /dev/null
+++ b/thunderbird-l10n/en-CA/localization/en-CA/messenger/preferences/receipts.ftl
@@ -0,0 +1,39 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+receipts-dialog-window =
+ .title = Return Receipts
+receipts-dialog-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/thunderbird-l10n/en-CA/localization/en-CA/messenger/preferences/sync-dialog.ftl b/thunderbird-l10n/en-CA/localization/en-CA/messenger/preferences/sync-dialog.ftl
new file mode 100644
index 0000000000..b461f27bc1
--- /dev/null
+++ b/thunderbird-l10n/en-CA/localization/en-CA/messenger/preferences/sync-dialog.ftl
@@ -0,0 +1,11 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+config-sync-dailog-title =
+ .title = Choose what to sync
+sync-dialog =
+ .buttonlabelaccept = Save Changes
+ .buttonaccesskeyaccept = S
+ .buttonlabelextra2 = Disconnect…
+ .buttonaccesskeyextra2 = D
diff --git a/thunderbird-l10n/en-CA/localization/en-CA/messenger/preferences/system-integration.ftl b/thunderbird-l10n/en-CA/localization/en-CA/messenger/preferences/system-integration.ftl
new file mode 100644
index 0000000000..607796004b
--- /dev/null
+++ b/thunderbird-l10n/en-CA/localization/en-CA/messenger/preferences/system-integration.ftl
@@ -0,0 +1,39 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+system-integration-title =
+ .title = System Integration
+system-integration-dialog-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 = E-Mail
+ .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/thunderbird-l10n/en-CA/localization/en-CA/messenger/shortcuts.ftl b/thunderbird-l10n/en-CA/localization/en-CA/messenger/shortcuts.ftl
new file mode 100644
index 0000000000..672a161a05
--- /dev/null
+++ b/thunderbird-l10n/en-CA/localization/en-CA/messenger/shortcuts.ftl
@@ -0,0 +1,113 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+
+## Shortcuts
+
+# Variables:
+# $key (String) - The shortcut key.
+shortcut-key = { $key }
+
+meta-shortcut-key =
+ { PLATFORM() ->
+ [macos] ⌘ { $key }
+ *[other] Meta+{ $key }
+ }
+
+ctrl-shortcut-key =
+ { PLATFORM() ->
+ [macos] ⌃ { $key }
+ *[other] Ctrl+{ $key }
+ }
+
+shift-shortcut-key =
+ { PLATFORM() ->
+ [macos] ⇧ { $key }
+ *[other] Shift+{ $key }
+ }
+
+alt-shortcut-key =
+ { PLATFORM() ->
+ [macos] ⌥ { $key }
+ *[other] Alt+{ $key }
+ }
+
+meta-ctrl-shortcut-key =
+ { PLATFORM() ->
+ [macos] ⌃ ⌘ { $key }
+ *[other] Meta+Ctrl+{ $key }
+ }
+
+meta-alt-shortcut-key =
+ { PLATFORM() ->
+ [macos] ⌥ ⌘ { $key }
+ *[other] Meta+Alt+{ $key }
+ }
+
+ctrl-alt-shortcut-key =
+ { PLATFORM() ->
+ [macos] ⌃ ⌥ { $key }
+ *[other] Ctrl+Alt+{ $key }
+ }
+
+meta-ctrl-alt-shortcut-key =
+ { PLATFORM() ->
+ [macos] ⌃ ⌥ ⌘ { $key }
+ *[other] Meta+Ctrl+Alt+{ $key }
+ }
+
+meta-shift-shortcut-key =
+ { PLATFORM() ->
+ [macos] ⇧ ⌘ { $key }
+ *[other] Meta+Shift+{ $key }
+ }
+
+ctrl-shift-shortcut-key =
+ { PLATFORM() ->
+ [macos] ⌃ ⇧ { $key }
+ *[other] Ctrl+Shift+{ $key }
+ }
+
+meta-ctrl-shift-shortcut-key =
+ { PLATFORM() ->
+ [macos] ⌃ ⇧ ⌘ { $key }
+ *[other] Meta+Ctrl+Shift+{ $key }
+ }
+
+alt-shift-shortcut-key =
+ { PLATFORM() ->
+ [macos] ⌥ ⇧ { $key }
+ *[other] Alt+Shift+{ $key }
+ }
+
+meta-shift-alt-shortcut-key2 =
+ { PLATFORM() ->
+ [macos] ⌥ ⇧ ⌘ { $key }
+ *[other] Meta+Alt+Shift+{ $key }
+ }
+
+ctrl-shift-alt-shortcut-key2 =
+ { PLATFORM() ->
+ [macos] ⌃ ⌥ ⇧ { $key }
+ *[other] Ctrl+Alt+Shift+{ $key }
+ }
+
+meta-ctrl-shift-alt-shortcut-key2 =
+ { PLATFORM() ->
+ [macos] ⌃ ⌥ ⇧ ⌘ { $key }
+ *[other] Meta+Ctrl+Alt+Shift+{ $key }
+ }
+
+# Variables:
+# $title (String): The title coming from the original element.
+# $shortcut (String): The shortcut generated from the keystroke combination.
+button-shortcut-string =
+ .title = { $title } ({ $shortcut })
+
+# Variables:
+# $label (String): The text label coming from the original element.
+# $shortcut (String): The shortcut generated from the keystroke combination.
+menuitem-shortcut-string =
+ .label = { $label }
+ .acceltext = { $shortcut }
diff --git a/thunderbird-l10n/en-CA/localization/en-CA/messenger/syncAccounts.ftl b/thunderbird-l10n/en-CA/localization/en-CA/messenger/syncAccounts.ftl
new file mode 100644
index 0000000000..9b46df0f79
--- /dev/null
+++ b/thunderbird-l10n/en-CA/localization/en-CA/messenger/syncAccounts.ftl
@@ -0,0 +1,27 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, you can obtain one at http://mozilla.org/MPL/2.0/.
+
+
+# The strings in this file relate to the configuration of Mozilla accounts for sync.
+
+
+## These strings are shown in a desktop notification after the user requests we resend a verification email.
+
+sync-verification-sent-title = Verification Sent
+# Variables:
+# $userEmail (String) - Email address of the account used for sync.
+sync-verification-sent-body = A verification link has been sent to { $userEmail }.
+sync-verification-not-sent-title = Unable to Send Verification
+sync-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.
+
+sync-signout-dialog-body = Synced data will remain in your account.
+sync-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/thunderbird-l10n/en-CA/localization/en-CA/messenger/treeView.ftl b/thunderbird-l10n/en-CA/localization/en-CA/messenger/treeView.ftl
new file mode 100644
index 0000000000..ef2489b827
--- /dev/null
+++ b/thunderbird-l10n/en-CA/localization/en-CA/messenger/treeView.ftl
@@ -0,0 +1,53 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+
+## 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/thunderbird-l10n/en-CA/localization/en-CA/messenger/troubleshootMode.ftl b/thunderbird-l10n/en-CA/localization/en-CA/messenger/troubleshootMode.ftl
new file mode 100644
index 0000000000..0bf5bd0615
--- /dev/null
+++ b/thunderbird-l10n/en-CA/localization/en-CA/messenger/troubleshootMode.ftl
@@ -0,0 +1,33 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+troubleshoot-mode-window =
+ .title = { -brand-short-name } Troubleshoot Mode
+ .style = width: 37em;
+troubleshoot-mode-dialog-title = { -brand-short-name } Troubleshoot Mode
+troubleshoot-mode-description = Use { -brand-short-name } troubleshooting 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/thunderbird-l10n/en-CA/localization/en-CA/messenger/unifiedToolbar.ftl b/thunderbird-l10n/en-CA/localization/en-CA/messenger/unifiedToolbar.ftl
new file mode 100644
index 0000000000..8bf7d7c9d9
--- /dev/null
+++ b/thunderbird-l10n/en-CA/localization/en-CA/messenger/unifiedToolbar.ftl
@@ -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/.
+
+
+### 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 get messages button context menu
+
+toolbar-get-all-messages-menuitem =
+ .label = Get All New Messages
+ .accesskey = G
+
+## 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/thunderbird-l10n/en-CA/localization/en-CA/messenger/unifiedToolbarItems.ftl b/thunderbird-l10n/en-CA/localization/en-CA/messenger/unifiedToolbarItems.ftl
new file mode 100644
index 0000000000..624bd37988
--- /dev/null
+++ b/thunderbird-l10n/en-CA/localization/en-CA/messenger/unifiedToolbarItems.ftl
@@ -0,0 +1,144 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+
+### 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/thunderbird-l10n/en-CA/localization/en-CA/messenger/viewSource.ftl b/thunderbird-l10n/en-CA/localization/en-CA/messenger/viewSource.ftl
new file mode 100644
index 0000000000..51e110d48c
--- /dev/null
+++ b/thunderbird-l10n/en-CA/localization/en-CA/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/thunderbird-l10n/en-CA/localization/en-CA/security/certificates/certManager.ftl b/thunderbird-l10n/en-CA/localization/en-CA/security/certificates/certManager.ftl
new file mode 100644
index 0000000000..5cdc64e8e5
--- /dev/null
+++ b/thunderbird-l10n/en-CA/localization/en-CA/security/certificates/certManager.ftl
@@ -0,0 +1,182 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+certmgr-title =
+ .title = Certificate Manager
+certmgr-tab-mine =
+ .label = Your Certificates
+certmgr-tab-remembered =
+ .label = Authentication Decisions
+certmgr-tab-people =
+ .label = People
+certmgr-tab-servers =
+ .label = Servers
+certmgr-tab-ca =
+ .label = Authorities
+certmgr-mine = You have certificates from these organizations that identify you
+certmgr-remembered = These certificates are used to identify you to websites
+certmgr-people = You have certificates on file that identify these people
+certmgr-server = These entries identify server certificate error exceptions
+certmgr-ca = You have certificates on file that identify these certificate authorities
+certmgr-edit-ca-cert2 =
+ .title = Edit CA certificate trust settings
+ .style = min-width: 48em;
+certmgr-edit-cert-edit-trust = Edit trust settings:
+certmgr-edit-cert-trust-ssl =
+ .label = This certificate can identify websites.
+certmgr-edit-cert-trust-email =
+ .label = This certificate can identify mail users.
+certmgr-delete-cert2 =
+ .title = Delete Certificate
+ .style = min-width: 48em; min-height: 24em;
+certmgr-cert-host =
+ .label = Host
+certmgr-cert-name =
+ .label = Certificate Name
+certmgr-cert-server =
+ .label = Server
+certmgr-token-name =
+ .label = Security Device
+certmgr-begins-label =
+ .label = Begins On
+certmgr-expires-label =
+ .label = Expires On
+certmgr-email =
+ .label = Email Address
+certmgr-serial =
+ .label = Serial Number
+certmgr-fingerprint-sha-256 =
+ .label = SHA-256 Fingerprint
+certmgr-view =
+ .label = View…
+ .accesskey = V
+certmgr-edit =
+ .label = Edit Trust…
+ .accesskey = E
+certmgr-export =
+ .label = Export…
+ .accesskey = x
+certmgr-delete =
+ .label = Delete…
+ .accesskey = D
+certmgr-delete-builtin =
+ .label = Delete or Distrust…
+ .accesskey = D
+certmgr-backup =
+ .label = Backup…
+ .accesskey = B
+certmgr-backup-all =
+ .label = Backup All…
+ .accesskey = k
+certmgr-restore =
+ .label = Import…
+ .accesskey = m
+certmgr-add-exception =
+ .label = Add Exception…
+ .accesskey = x
+exception-mgr =
+ .title = Add Security Exception
+exception-mgr-extra-button =
+ .label = Confirm Security Exception
+ .accesskey = C
+exception-mgr-supplemental-warning = Legitimate banks, stores, and other public sites will not ask you to do this.
+exception-mgr-cert-location-url =
+ .value = Location:
+exception-mgr-cert-location-download =
+ .label = Get Certificate
+ .accesskey = G
+exception-mgr-cert-status-view-cert =
+ .label = View…
+ .accesskey = V
+exception-mgr-permanent =
+ .label = Permanently store this exception
+ .accesskey = P
+pk11-bad-password = The password entered was incorrect.
+pkcs12-decode-err = Failed to decode the file. Either it is not in PKCS #12 format, has been corrupted, or the password you entered was incorrect.
+pkcs12-unknown-err-restore = Failed to restore the PKCS #12 file for unknown reasons.
+pkcs12-unknown-err-backup = Failed to create the PKCS #12 backup file for unknown reasons.
+pkcs12-unknown-err = The PKCS #12 operation failed for unknown reasons.
+pkcs12-info-no-smartcard-backup = It is not possible to back up certificates from a hardware security device such as a smart card.
+pkcs12-dup-data = The certificate and private key already exist on the security device.
+
+## PKCS#12 file dialogs
+
+choose-p12-backup-file-dialog = File Name to Backup
+file-browse-pkcs12-spec = PKCS12 Files
+choose-p12-restore-file-dialog = Certificate File to Import
+
+## Import certificate(s) file dialog
+
+file-browse-certificate-spec = Certificate Files
+import-ca-certs-prompt = Select File containing CA certificate(s) to import
+import-email-cert-prompt = Select File containing somebody’s Email certificate to import
+
+## For editing certificates trust
+
+# Variables:
+# $certName: the name of certificate
+edit-trust-ca = The certificate “{ $certName }” represents a Certificate Authority.
+
+## For Deleting Certificates
+
+delete-user-cert-title =
+ .title = Delete your Certificates
+delete-user-cert-confirm = Are you sure you want to delete these certificates?
+delete-user-cert-impact = If you delete one of your own certificates, you can no longer use it to identify yourself.
+delete-ssl-override-title =
+ .title = Delete Server Certificate Exception
+delete-ssl-override-confirm = Are you sure you want to delete this server exception?
+delete-ssl-override-impact = If you delete a server exception, you restore the usual security checks for that server and require it uses a valid certificate.
+delete-ca-cert-title =
+ .title = Delete or Distrust CA Certificates
+delete-ca-cert-confirm = You have asked to delete these CA certificates. For built-in certificates all trust will be removed, which has the same effect. Are you sure you want to delete or distrust?
+delete-ca-cert-impact = If you delete or distrust a certificate authority (CA) certificate, this application will no longer trust any certificates issued by that CA.
+delete-email-cert-title =
+ .title = Delete Email Certificates
+delete-email-cert-confirm = Are you sure you want to delete these people’s email certificates?
+delete-email-cert-impact = If you delete a person’s email certificate, you will no longer be able to send encrypted email to that person.
+# Used for semi-uniquely representing a cert.
+#
+# Variables:
+# $serialNumber : the serial number of the cert in AA:BB:CC hex format.
+cert-with-serial =
+ .value = Certificate with serial number: { $serialNumber }
+# Used to indicate that the user chose not to send a client authentication certificate to a server that requested one in a TLS handshake.
+send-no-client-certificate = Send no client certificate
+# Used when no cert is stored for an override
+no-cert-stored-for-override = (Not Stored)
+# When a certificate is unavailable (for example, it has been deleted or the token it exists on has been removed).
+certificate-not-available = (Unavailable)
+
+## Used to show whether an override is temporary or permanent
+
+permanent-override = Permanent
+temporary-override = Temporary
+
+## Add Security Exception dialog
+
+add-exception-branded-warning = You are about to override how { -brand-short-name } identifies this site.
+add-exception-invalid-header = This site attempts to identify itself with invalid information.
+add-exception-domain-mismatch-short = Wrong Site
+add-exception-domain-mismatch-long = The certificate belongs to a different site, which could mean that someone is trying to impersonate this site.
+add-exception-expired-short = Outdated Information
+add-exception-expired-long = The certificate is not currently valid. It may have been stolen or lost, and could be used by someone to impersonate this site.
+add-exception-unverified-or-bad-signature-short = Unknown Identity
+add-exception-unverified-or-bad-signature-long = The certificate is not trusted because it hasn’t been verified as issued by a trusted authority using a secure signature.
+add-exception-valid-short = Valid Certificate
+add-exception-valid-long = This site provides valid, verified identification. There is no need to add an exception.
+add-exception-checking-short = Checking Information
+add-exception-checking-long = Attempting to identify this site…
+add-exception-no-cert-short = No Information Available
+add-exception-no-cert-long = Unable to obtain identification status for this site.
+
+## Certificate export "Save as" and error dialogs
+
+save-cert-as = Save Certificate To File
+cert-format-base64 = X.509 Certificate (PEM)
+cert-format-base64-chain = X.509 Certificate with chain (PEM)
+cert-format-der = X.509 Certificate (DER)
+cert-format-pkcs7 = X.509 Certificate (PKCS#7)
+cert-format-pkcs7-chain = X.509 Certificate with chain (PKCS#7)
+write-file-failure = File Error
diff --git a/thunderbird-l10n/en-CA/localization/en-CA/security/certificates/deviceManager.ftl b/thunderbird-l10n/en-CA/localization/en-CA/security/certificates/deviceManager.ftl
new file mode 100644
index 0000000000..def53c8623
--- /dev/null
+++ b/thunderbird-l10n/en-CA/localization/en-CA/security/certificates/deviceManager.ftl
@@ -0,0 +1,133 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+
+## Strings used for device manager
+
+devmgr-window =
+ .title = Device Manager
+ .style = min-width: 67em; min-height: 32em;
+
+devmgr-devlist =
+ .label = Security Modules and Devices
+
+devmgr-header-details =
+ .label = Details
+
+devmgr-header-value =
+ .label = Value
+
+devmgr-button-login =
+ .label = Log In
+ .accesskey = n
+
+devmgr-button-logout =
+ .label = Log Out
+ .accesskey = O
+
+devmgr-button-changepw =
+ .label = Change Password
+ .accesskey = P
+
+devmgr-button-load =
+ .label = Load
+ .accesskey = L
+
+devmgr-button-unload =
+ .label = Unload
+ .accesskey = U
+
+devmgr-button-enable-fips =
+ .label = Enable FIPS
+ .accesskey = F
+
+devmgr-button-disable-fips =
+ .label = Disable FIPS
+ .accesskey = F
+
+## Strings used for load device
+
+load-device =
+ .title = Load PKCS#11 Device Driver
+
+load-device-info = Enter the information for the module you want to add.
+
+load-device-modname =
+ .value = Module Name
+ .accesskey = M
+
+load-device-modname-default =
+ .value = New PKCS#11 Module
+
+load-device-filename =
+ .value = Module filename
+ .accesskey = f
+
+load-device-browse =
+ .label = Browse…
+ .accesskey = B
+
+## Token Manager
+
+devinfo-status =
+ .label = Status
+
+devinfo-status-disabled =
+ .label = Disabled
+
+devinfo-status-not-present =
+ .label = Not Present
+
+devinfo-status-uninitialized =
+ .label = Uninitialized
+
+devinfo-status-not-logged-in =
+ .label = Not Signed In
+
+devinfo-status-logged-in =
+ .label = Signed In
+
+devinfo-status-ready =
+ .label = Ready
+
+devinfo-desc =
+ .label = Description
+
+devinfo-man-id =
+ .label = Manufacturer
+
+devinfo-hwversion =
+ .label = HW Version
+devinfo-fwversion =
+ .label = FW Version
+
+devinfo-modname =
+ .label = Module
+
+devinfo-modpath =
+ .label = Path
+
+login-failed = Failed to Sign in
+
+devinfo-label =
+ .label = Label
+
+devinfo-serialnum =
+ .label = Serial Number
+
+fips-nonempty-primary-password-required = FIPS mode requires that you have a Primary Password set for each security device. Please set the password before trying to enable FIPS mode.
+unable-to-toggle-fips = Unable to change the FIPS mode for the security device. It is recommended that you exit and restart this application.
+load-pk11-module-file-picker-title = Choose a PKCS#11 device driver to load
+
+# Load Module Dialog
+load-module-help-empty-module-name =
+ .value = The module name cannot be empty.
+
+# Do not translate 'Root Certs'
+load-module-help-root-certs-module-name =
+ .value = “Root Certs” is reserved and cannot be used as the module name.
+
+add-module-failure = Unable to add module
+del-module-warning = Are you sure you want to delete this security module?
+del-module-error = Unable to delete module
diff --git a/thunderbird-l10n/en-CA/localization/en-CA/security/pippki/pippki.ftl b/thunderbird-l10n/en-CA/localization/en-CA/security/pippki/pippki.ftl
new file mode 100644
index 0000000000..a46fb6c57c
--- /dev/null
+++ b/thunderbird-l10n/en-CA/localization/en-CA/security/pippki/pippki.ftl
@@ -0,0 +1,106 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+password-quality-meter = Password quality meter
+
+## Change Password dialog
+
+change-device-password-window =
+ .title = Change Password
+# Variables:
+# $tokenName (String) - Security device of the change password dialog
+change-password-token = Security Device: { $tokenName }
+change-password-old = Current password:
+change-password-new = New password:
+change-password-reenter = New password (again):
+pippki-failed-pw-change = Unable to change password.
+pippki-incorrect-pw = You did not enter the correct current password. Please try again.
+pippki-pw-change-ok = Password successfully changed.
+pippki-pw-empty-warning = Your stored passwords and private keys will not be protected.
+pippki-pw-erased-ok = You have deleted your password. { pippki-pw-empty-warning }
+pippki-pw-not-wanted = Warning! You have decided not to use a password. { pippki-pw-empty-warning }
+pippki-pw-change2empty-in-fips-mode = You are currently in FIPS mode. FIPS requires a non-empty password.
+
+## Reset Primary Password dialog
+
+reset-primary-password-window2 =
+ .title = Reset Primary Password
+ .style = min-width: 40em
+reset-password-button-label =
+ .label = Reset
+reset-primary-password-text = If you reset your Primary Password, all your stored web and e-mail passwords, personal certificates, and private keys will be forgotten. Are you sure you want to reset your Primary Password?
+pippki-reset-password-confirmation-title = Reset Primary Password
+pippki-reset-password-confirmation-message = Your Primary Password has been reset.
+
+## Downloading cert dialog
+
+download-cert-window2 =
+ .title = Downloading Certificate
+ .style = min-width: 46em
+download-cert-message = You have been asked to trust a new Certificate Authority (CA).
+download-cert-trust-ssl =
+ .label = Trust this CA to identify websites.
+download-cert-trust-email =
+ .label = Trust this CA to identify email users.
+download-cert-message-desc = Before trusting this CA for any purpose, you should examine its certificate and its policy and procedures (if available).
+download-cert-view-cert =
+ .label = View
+download-cert-view-text = Examine CA certificate
+
+## Client Authorization Ask dialog
+
+
+## Client Authentication Ask dialog
+
+client-auth-window =
+ .title = User Identification Request
+client-auth-site-description = This site has requested that you identify yourself with a certificate:
+client-auth-choose-cert = Choose a certificate to present as identification:
+client-auth-send-no-certificate =
+ .label = Don’t send a certificate
+# Variables:
+# $hostname (String) - The domain name of the site requesting the client authentication certificate
+client-auth-site-identification = “{ $hostname }” has requested that you identify yourself with a certificate:
+client-auth-cert-details = Details of selected certificate:
+# Variables:
+# $issuedTo (String) - The subject common name of the currently-selected client authentication certificate
+client-auth-cert-details-issued-to = Issued to: { $issuedTo }
+# Variables:
+# $serialNumber (String) - The serial number of the certificate (hexadecimal of the form "AA:BB:...")
+client-auth-cert-details-serial-number = Serial number: { $serialNumber }
+# Variables:
+# $notBefore (String) - The date before which the certificate is not valid (e.g. Apr 21, 2023, 1:47:53 PM UTC)
+# $notAfter (String) - The date after which the certificate is not valid
+client-auth-cert-details-validity-period = Valid from { $notBefore } to { $notAfter }
+# Variables:
+# $keyUsages (String) - A list of already-localized key usages for which the certificate may be used
+client-auth-cert-details-key-usages = Key Usages: { $keyUsages }
+# Variables:
+# $emailAddresses (String) - A list of email addresses present in the certificate
+client-auth-cert-details-email-addresses = Email addresses: { $emailAddresses }
+# Variables:
+# $issuedBy (String) - The issuer common name of the certificate
+client-auth-cert-details-issued-by = Issued by: { $issuedBy }
+# Variables:
+# $storedOn (String) - The name of the token holding the certificate (for example, "OS Client Cert Token (Modern)")
+client-auth-cert-details-stored-on = Stored on: { $storedOn }
+client-auth-cert-remember-box =
+ .label = Remember this decision
+
+## Set password (p12) dialog
+
+set-password-window =
+ .title = Choose a Certificate Backup Password
+set-password-message = The certificate backup password you set here protects the backup file that you are about to create. You must set this password to proceed with the backup.
+set-password-backup-pw =
+ .value = Certificate backup password:
+set-password-repeat-backup-pw =
+ .value = Certificate backup password (again):
+set-password-reminder = Important: If you forget your certificate backup password, you will not be able to restore this backup later. Please record it in a safe location.
+
+## Protected authentication alert
+
+# Variables:
+# $tokenName (String) - The name of the token to authenticate to (for example, "OS Client Cert Token (Modern)")
+protected-auth-alert = Please authenticate to the token “{ $tokenName }”. How to do so depends on the token (for example, using a fingerprint reader or entering a code with a keypad).
diff --git a/thunderbird-l10n/en-CA/localization/en-CA/services/accounts.ftl b/thunderbird-l10n/en-CA/localization/en-CA/services/accounts.ftl
new file mode 100644
index 0000000000..cda566e024
--- /dev/null
+++ b/thunderbird-l10n/en-CA/localization/en-CA/services/accounts.ftl
@@ -0,0 +1,8 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# Variables:
+# $user (String): the user name (e.g. "Ed")
+# $system (String): the operating system (e.g. "Android")
+account-client-name = { $user }’s { -brand-short-name } on { $system }
diff --git a/thunderbird-l10n/en-CA/localization/en-CA/toolkit/about/aboutAbout.ftl b/thunderbird-l10n/en-CA/localization/en-CA/toolkit/about/aboutAbout.ftl
new file mode 100644
index 0000000000..ce2a311736
--- /dev/null
+++ b/thunderbird-l10n/en-CA/localization/en-CA/toolkit/about/aboutAbout.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/.
+
+about-about-title = About About
+about-about-note =
+ This is a list of “about” pages for your convenience.<br/>
+ Some of them might be confusing. Some are for diagnostic purposes only.<br/>
+ And some are omitted because they require query strings.
diff --git a/thunderbird-l10n/en-CA/localization/en-CA/toolkit/about/aboutAddons.ftl b/thunderbird-l10n/en-CA/localization/en-CA/toolkit/about/aboutAddons.ftl
new file mode 100644
index 0000000000..2c20c8e668
--- /dev/null
+++ b/thunderbird-l10n/en-CA/localization/en-CA/toolkit/about/aboutAddons.ftl
@@ -0,0 +1,498 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+addons-page-title = Add-ons Manager
+search-header =
+ .placeholder = Search addons.mozilla.org
+ .searchbuttonlabel = Search
+
+## Variables
+## $domain - Domain name where add-ons are available (e.g. addons.mozilla.org)
+
+list-empty-get-extensions-message = Get extensions and themes on <a data-l10n-name="get-extensions">{ $domain }</a>
+list-empty-get-dictionaries-message = Get dictionaries on <a data-l10n-name="get-extensions">{ $domain }</a>
+list-empty-get-language-packs-message = Get language packs on <a data-l10n-name="get-extensions">{ $domain }</a>
+
+##
+
+list-empty-installed =
+ .value = You don’t have any add-ons of this type installed
+list-empty-available-updates =
+ .value = No updates found
+list-empty-recent-updates =
+ .value = You haven’t recently updated any add-ons
+list-empty-find-updates =
+ .label = Check For Updates
+list-empty-button =
+ .label = Learn more about add-ons
+help-button = Add-ons Support
+sidebar-help-button-title =
+ .title = Add-ons Support
+addons-settings-button = { -brand-short-name } Settings
+sidebar-settings-button-title =
+ .title = { -brand-short-name } Settings
+show-unsigned-extensions-button =
+ .label = Some extensions could not be verified
+show-all-extensions-button =
+ .label = Show all extensions
+detail-version =
+ .label = Version
+detail-last-updated =
+ .label = Last Updated
+addon-detail-description-expand = Show more
+addon-detail-description-collapse = Show less
+detail-contributions-description = The developer of this add-on asks that you help support its continued development by making a small contribution.
+detail-contributions-button = Contribute
+ .title = Contribute to the development of this add-on
+ .accesskey = C
+detail-update-type =
+ .value = Automatic Updates
+detail-update-default =
+ .label = Default
+ .tooltiptext = Automatically install updates only if that’s the default
+detail-update-automatic =
+ .label = On
+ .tooltiptext = Automatically install updates
+detail-update-manual =
+ .label = Off
+ .tooltiptext = Don’t automatically install updates
+# Used as a description for the option to allow or block an add-on in private windows.
+detail-private-browsing-label = Run in Private Windows
+# Some add-ons may elect to not run in private windows by setting incognito: not_allowed in the manifest. This
+# cannot be overridden by the user.
+detail-private-disallowed-label = Not Allowed in Private Windows
+detail-private-disallowed-description2 = This extension does not run while private browsing. <a data-l10n-name="learn-more">Learn more</a>
+# Some special add-ons are privileged, run in private windows automatically, and this permission can't be revoked
+detail-private-required-label = Requires Access to Private Windows
+detail-private-required-description2 = This extension has access to your online activities while private browsing. <a data-l10n-name="learn-more">Learn more</a>
+detail-private-browsing-on =
+ .label = Allow
+ .tooltiptext = Enable in Private Browsing
+detail-private-browsing-off =
+ .label = Don’t Allow
+ .tooltiptext = Disable in Private Browsing
+detail-home =
+ .label = Homepage
+detail-home-value =
+ .value = { detail-home.label }
+detail-repository =
+ .label = Add-on Profile
+detail-repository-value =
+ .value = { detail-repository.label }
+detail-check-for-updates =
+ .label = Check for Updates
+ .accesskey = U
+ .tooltiptext = Check for updates for this add-on
+detail-show-preferences =
+ .label =
+ { PLATFORM() ->
+ [windows] Options
+ *[other] Preferences
+ }
+ .accesskey =
+ { PLATFORM() ->
+ [windows] O
+ *[other] P
+ }
+ .tooltiptext =
+ { PLATFORM() ->
+ [windows] Change this add-on’s options
+ *[other] Change this add-on’s preferences
+ }
+detail-rating =
+ .value = Rating
+addon-restart-now =
+ .label = Restart now
+disabled-unsigned-heading =
+ .value = Some add-ons have been disabled
+disabled-unsigned-description = The following add-ons have not been verified for use in { -brand-short-name }. You can <label data-l10n-name="find-addons">find replacements</label> or ask the developer to get them verified.
+disabled-unsigned-learn-more = Learn more about our efforts to help keep you safe online.
+disabled-unsigned-devinfo = Developers interested in getting their add-ons verified can continue by reading our <label data-l10n-name="learn-more">manual</label>.
+plugin-deprecation-description = Missing something? Some plugins are no longer supported by { -brand-short-name }. <label data-l10n-name="learn-more">Learn More.</label>
+legacy-warning-show-legacy = Show legacy extensions
+legacy-extensions =
+ .value = Legacy Extensions
+legacy-extensions-description = These extensions do not meet current { -brand-short-name } standards so they have been deactivated. <label data-l10n-name="legacy-learn-more">Learn about the changes to add-ons</label>
+private-browsing-description2 =
+ { -brand-short-name } is changing how extensions work in private browsing. Any new extensions you add to
+ { -brand-short-name } won’t run by default in Private Windows. Unless you allow it in settings, the
+ extension won’t work while private browsing, and won’t have access to your online activities
+ there. We’ve made this change to keep your private browsing private.
+ <label data-l10n-name="private-browsing-learn-more">Learn how to manage extension settings</label>
+addon-category-discover = Recommendations
+addon-category-discover-title =
+ .title = Recommendations
+addon-category-extension = Extensions
+addon-category-extension-title =
+ .title = Extensions
+addon-category-theme = Themes
+addon-category-theme-title =
+ .title = Themes
+addon-category-plugin = Plugins
+addon-category-plugin-title =
+ .title = Plugins
+addon-category-dictionary = Dictionaries
+addon-category-dictionary-title =
+ .title = Dictionaries
+addon-category-locale = Languages
+addon-category-locale-title =
+ .title = Languages
+addon-category-available-updates = Available Updates
+addon-category-available-updates-title =
+ .title = Available Updates
+addon-category-recent-updates = Recent Updates
+addon-category-recent-updates-title =
+ .title = Recent Updates
+addon-category-sitepermission = Site Permissions
+addon-category-sitepermission-title =
+ .title = Site Permissions
+# String displayed in about:addons in the Site Permissions section
+# Variables:
+# $host (string) - DNS host name for which the webextension enables permissions
+addon-sitepermission-host = Site Permissions for { $host }
+
+## These are global warnings
+
+extensions-warning-safe-mode = All add-ons have been disabled by safe mode.
+extensions-warning-check-compatibility = Add-on compatibility checking is disabled. You may have incompatible add-ons.
+extensions-warning-safe-mode2 =
+ .message = All add-ons have been disabled by safe mode.
+extensions-warning-check-compatibility2 =
+ .message = Add-on compatibility checking is disabled. You may have incompatible add-ons.
+extensions-warning-check-compatibility-button = Enable
+ .title = Enable add-on compatibility checking
+extensions-warning-update-security = Add-on update security checking is disabled. You may be compromised by updates.
+extensions-warning-update-security2 =
+ .message = Add-on update security checking is disabled. You may be compromised by updates.
+extensions-warning-update-security-button = Enable
+ .title = Enable add-on update security checking
+extensions-warning-imported-addons2 =
+ .message = Please finalize the installation of extensions that were imported to { -brand-short-name }.
+extensions-warning-imported-addons-button = Install Extensions
+
+## Strings connected to add-on updates
+
+addon-updates-check-for-updates = Check for Updates
+ .accesskey = C
+addon-updates-view-updates = View Recent Updates
+ .accesskey = V
+
+# This menu item is a checkbox that toggles the default global behavior for
+# add-on update checking.
+
+addon-updates-update-addons-automatically = Update Add-ons Automatically
+ .accesskey = A
+
+## Specific add-ons can have custom update checking behaviors ("Manually",
+## "Automatically", "Use default global behavior"). These menu items reset the
+## update checking behavior for all add-ons to the default global behavior
+## (which itself is either "Automatically" or "Manually", controlled by the
+## extensions-updates-update-addons-automatically.label menu item).
+
+addon-updates-reset-updates-to-automatic = Reset All Add-ons to Update Automatically
+ .accesskey = R
+addon-updates-reset-updates-to-manual = Reset All Add-ons to Update Manually
+ .accesskey = R
+
+## Status messages displayed when updating add-ons
+
+addon-updates-updating = Updating add-ons
+addon-updates-installed = Your add-ons have been updated.
+addon-updates-none-found = No updates found
+addon-updates-manual-updates-found = View Available Updates
+
+## Add-on install/debug strings for page options menu
+
+addon-install-from-file = Install Add-on From File…
+ .accesskey = I
+addon-install-from-file-dialog-title = Select add-on to install
+addon-install-from-file-filter-name = Add-ons
+addon-open-about-debugging = Debug Add-ons
+ .accesskey = b
+
+## Extension shortcut management
+
+# This is displayed in the page options menu
+addon-manage-extensions-shortcuts = Manage Extension Shortcuts
+ .accesskey = S
+shortcuts-no-addons = You don’t have any extensions enabled.
+shortcuts-no-commands = The following extensions do not have shortcuts:
+shortcuts-input =
+ .placeholder = Type a shortcut
+shortcuts-browserAction2 = Activate toolbar button
+shortcuts-pageAction = Activate page action
+shortcuts-sidebarAction = Toggle the sidebar
+shortcuts-modifier-mac = Include Ctrl, Alt, or ⌘
+shortcuts-modifier-other = Include Ctrl or Alt
+shortcuts-invalid = Invalid combination
+shortcuts-letter = Type a letter
+shortcuts-system = Can’t override a { -brand-short-name } shortcut
+# String displayed in warning label when there is a duplicate shortcut
+shortcuts-duplicate = Duplicate shortcut
+# String displayed when a keyboard shortcut is already assigned to more than one add-on
+# Variables:
+# $shortcut (string) - Shortcut string for the add-on
+shortcuts-duplicate-warning-message = { $shortcut } is being used as a shortcut in more than one case. Duplicate shortcuts may cause unexpected behaviour.
+# String displayed when a keyboard shortcut is already assigned to more than one add-on
+# Variables:
+# $shortcut (string) - Shortcut string for the add-on
+shortcuts-duplicate-warning-message2 =
+ .message = { $shortcut } is being used as a shortcut in more than one case. Duplicate shortcuts may cause unexpected behaviour.
+# String displayed when a keyboard shortcut is already used by another add-on
+# Variables:
+# $addon (string) - Name of the add-on
+shortcuts-exists = Already in use by { $addon }
+# Variables:
+# $numberToShow (number) - Number of other elements available to show
+shortcuts-card-expand-button =
+ { $numberToShow ->
+ *[other] Show { $numberToShow } More
+ }
+shortcuts-card-collapse-button = Show Less
+header-back-button =
+ .title = Go back
+
+## Recommended add-ons page
+
+# Explanatory introduction to the list of recommended add-ons. The action word
+# ("recommends") in the final sentence is a link to external documentation.
+discopane-intro =
+ Extensions and themes are like apps for your browser, and they let you
+ protect passwords, download videos, find deals, block annoying ads, change
+ how your browser looks, and much more. These small software programs are
+ often developed by a third party. Here’s a selection { -brand-product-name }
+ <a data-l10n-name="learn-more-trigger">recommends</a> for exceptional
+ security, performance, and functionality.
+# Notice to make user aware that the recommendations are personalized.
+discopane-notice-recommendations =
+ Some of these recommendations are personalized. They are based on other
+ extensions you’ve installed, profile preferences, and usage statistics.
+# Notice to make user aware that the recommendations are personalized.
+discopane-notice-recommendations2 =
+ .message =
+ Some of these recommendations are personalized. They are based on other
+ extensions you’ve installed, profile preferences, and usage statistics.
+discopane-notice-learn-more = Learn more
+privacy-policy = Privacy Policy
+# Refers to the author of an add-on, shown below the name of the add-on.
+# Variables:
+# $author (string) - The name of the add-on developer.
+created-by-author = by <a data-l10n-name="author">{ $author }</a>
+# Shows the number of daily users of the add-on.
+# Variables:
+# $dailyUsers (number) - The number of daily users.
+user-count = Users: { $dailyUsers }
+install-extension-button = Add to { -brand-product-name }
+install-theme-button = Install Theme
+# The label of the button that appears after installing an add-on. Upon click,
+# the detailed add-on view is opened, from where the add-on can be managed.
+manage-addon-button = Manage
+find-more-addons = Find more add-ons
+find-more-themes = Find more themes
+# This is a label for the button to open the "more options" menu, it is only
+# used for screen readers.
+addon-options-button =
+ .aria-label = More Options
+
+## Add-on actions
+
+report-addon-button = Report
+remove-addon-button = Remove
+# The link will always be shown after the other text.
+remove-addon-disabled-button = Can’t Be Removed <a data-l10n-name="link">Why?</a>
+disable-addon-button = Disable
+enable-addon-button = Enable
+# This is used for the toggle on the extension card, it's a checkbox and this
+# is always its label.
+extension-enable-addon-button-label =
+ .aria-label = Enable
+preferences-addon-button =
+ { PLATFORM() ->
+ [windows] Options
+ *[other] Preferences
+ }
+details-addon-button = Details
+release-notes-addon-button = Release Notes
+permissions-addon-button = Permissions
+extension-enabled-heading = Enabled
+extension-disabled-heading = Disabled
+theme-enabled-heading = Enabled
+theme-disabled-heading2 = Saved Themes
+plugin-enabled-heading = Enabled
+plugin-disabled-heading = Disabled
+dictionary-enabled-heading = Enabled
+dictionary-disabled-heading = Disabled
+locale-enabled-heading = Enabled
+locale-disabled-heading = Disabled
+sitepermission-enabled-heading = Enabled
+sitepermission-disabled-heading = Disabled
+always-activate-button = Always Activate
+never-activate-button = Never Activate
+addon-detail-author-label = Author
+addon-detail-version-label = Version
+addon-detail-last-updated-label = Last Updated
+addon-detail-homepage-label = Homepage
+addon-detail-rating-label = Rating
+# Message for add-ons with a staged pending update.
+install-postponed-message = This extension will be updated when { -brand-short-name } restarts.
+# Message for add-ons with a staged pending update.
+install-postponed-message2 =
+ .message = This extension will be updated when { -brand-short-name } restarts.
+install-postponed-button = Update Now
+# The average rating that the add-on has received.
+# Variables:
+# $rating (number) - A number between 0 and 5. The translation should show at most one digit after the comma.
+five-star-rating =
+ .title = Rated { NUMBER($rating, maximumFractionDigits: 1) } out of 5
+# This string is used to show that an add-on is disabled.
+# Variables:
+# $name (string) - The name of the add-on
+addon-name-disabled = { $name } (disabled)
+# The number of reviews that an add-on has received on AMO.
+# Variables:
+# $numberOfReviews (number) - The number of reviews received
+addon-detail-reviews-link =
+ { $numberOfReviews ->
+ [one] { $numberOfReviews } review
+ *[other] { $numberOfReviews } reviews
+ }
+
+## Pending uninstall message bar
+
+# Variables:
+# $addon (string) - Name of the add-on
+pending-uninstall-description = <span data-l10n-name="addon-name">{ $addon }</span> has been removed.
+# Variables:
+# $addon (string) - Name of the add-on
+pending-uninstall-description2 =
+ .message = { $addon } has been removed.
+pending-uninstall-undo-button = Undo
+addon-detail-updates-label = Allow automatic updates
+addon-detail-updates-radio-default = Default
+addon-detail-updates-radio-on = On
+addon-detail-updates-radio-off = Off
+addon-detail-update-check-label = Check for Updates
+install-update-button = Update
+# aria-label associated to the updates row to help screen readers to announce the group
+# of input controls being entered.
+addon-detail-group-label-updates =
+ .aria-label = { addon-detail-updates-label }
+# This is the tooltip text for the private browsing badge in about:addons. The
+# badge is the private browsing icon included next to the extension's name.
+addon-badge-private-browsing-allowed2 =
+ .title = Allowed in private windows
+ .aria-label = { addon-badge-private-browsing-allowed2.title }
+addon-detail-private-browsing-help = When allowed, the extension will have access to your online activities while private browsing. <a data-l10n-name="learn-more">Learn more</a>
+addon-detail-private-browsing-allow = Allow
+addon-detail-private-browsing-disallow = Don’t Allow
+# aria-label associated to the private browsing row to help screen readers to announce the group
+# of input controls being entered.
+addon-detail-group-label-private-browsing =
+ .aria-label = { detail-private-browsing-label }
+
+## "sites with restrictions" (internally called "quarantined") are special domains
+## where add-ons are normally blocked for security reasons.
+
+# Used as a description for the option to allow or block an add-on on quarantined domains.
+addon-detail-quarantined-domains-label = Run on sites with restrictions
+# Used as help text part of the quarantined domains UI controls row.
+addon-detail-quarantined-domains-help = When allowed, the extension will have access to sites restricted by { -vendor-short-name }. Allow only if you trust this extension.
+# Used as label and tooltip text on the radio inputs associated to the quarantined domains UI controls.
+addon-detail-quarantined-domains-allow = Allow
+addon-detail-quarantined-domains-disallow = Don’t Allow
+# aria-label associated to the quarantined domains exempt row to help screen readers to announce the group.
+addon-detail-group-label-quarantined-domains =
+ .aria-label = { addon-detail-quarantined-domains-label }
+
+## This is the tooltip text for the recommended badges for an extension in about:addons. The
+## badge is a small icon displayed next to an extension when it is recommended on AMO.
+
+addon-badge-recommended2 =
+ .title = { -brand-product-name } only recommends extensions that meet our standards for security and performance
+ .aria-label = { addon-badge-recommended2.title }
+# We hard code "Mozilla" in the string below because the extensions are built
+# by Mozilla and we don't want forks to display "by Fork".
+addon-badge-line3 =
+ .title = Official extension built by Mozilla. Meets security and performance standards
+ .aria-label = { addon-badge-line3.title }
+addon-badge-verified2 =
+ .title = This extension has been reviewed to meet our standards for security and performance
+ .aria-label = { addon-badge-verified2.title }
+
+##
+
+available-updates-heading = Available Updates
+recent-updates-heading = Recent Updates
+release-notes-loading = Loading…
+release-notes-error = Sorry, but there was an error loading the release notes.
+addon-permissions-empty = This extension doesn’t require any permissions
+addon-permissions-required = Required permissions for core functionality:
+addon-permissions-optional = Optional permissions for added functionality:
+addon-permissions-learnmore = Learn more about permissions
+recommended-extensions-heading = Recommended Extensions
+recommended-themes-heading = Recommended Themes
+# Variables:
+# $hostname (string) - Host where the permissions are granted
+addon-sitepermissions-required = Grants the following capabilities to <span data-l10n-name="hostname">{ $hostname }</span>:
+# A recommendation for the Firefox Color theme shown at the bottom of the theme
+# list view. The "Firefox Color" name itself should not be translated.
+recommended-theme-1 = Feeling creative? <a data-l10n-name="link">Build your own theme with Firefox Color.</a>
+
+## Page headings
+
+extension-heading = Manage Your Extensions
+theme-heading = Manage Your Themes
+plugin-heading = Manage Your Plugins
+dictionary-heading = Manage Your Dictionaries
+locale-heading = Manage Your Languages
+updates-heading = Manage Your Updates
+sitepermission-heading = Manage Your Site Permissions
+discover-heading = Personalize Your { -brand-short-name }
+shortcuts-heading = Manage Extension Shortcuts
+default-heading-search-label = Find more add-ons
+addons-heading-search-input =
+ .placeholder = Search addons.mozilla.org
+addon-page-options-button =
+ .title = Tools for all add-ons
+
+## Detail notifications
+## Variables:
+## $name (string) - Name of the add-on.
+
+# Variables:
+# $version (string) - Application version.
+details-notification-incompatible = { $name } is incompatible with { -brand-short-name } { $version }.
+# Variables:
+# $version (string) - Application version.
+details-notification-incompatible2 =
+ .message = { $name } is incompatible with { -brand-short-name } { $version }.
+details-notification-incompatible-link = More Information
+details-notification-unsigned-and-disabled = { $name } could not be verified for use in { -brand-short-name } and has been disabled.
+details-notification-unsigned-and-disabled2 =
+ .message = { $name } could not be verified for use in { -brand-short-name } and has been disabled.
+details-notification-unsigned-and-disabled-link = More Information
+details-notification-unsigned = { $name } could not be verified for use in { -brand-short-name }. Proceed with caution.
+details-notification-unsigned2 =
+ .message = { $name } could not be verified for use in { -brand-short-name }. Proceed with caution.
+details-notification-unsigned-link = More Information
+details-notification-blocked = { $name } has been disabled due to security or stability issues.
+details-notification-blocked2 =
+ .message = { $name } has been disabled due to security or stability issues.
+details-notification-blocked-link = More Information
+details-notification-softblocked = { $name } is known to cause security or stability issues.
+details-notification-softblocked2 =
+ .message = { $name } is known to cause security or stability issues.
+details-notification-softblocked-link = More Information
+details-notification-gmp-pending = { $name } will be installed shortly.
+details-notification-gmp-pending2 =
+ .message = { $name } will be installed shortly.
+
+## Gecko Media Plugins (GMPs)
+
+plugins-gmp-license-info = Licence information
+plugins-gmp-privacy-info = Privacy Information
+plugins-openh264-name = OpenH264 Video Codec provided by Cisco Systems, Inc.
+plugins-openh264-description = This plugin is automatically installed by Mozilla to comply with the WebRTC specification and to enable WebRTC calls with devices that require the H.264 video codec. Visit https://www.openh264.org/ to view the codec source code and learn more about the implementation.
+plugins-widevine-name = Widevine Content Decryption Module provided by Google Inc.
+plugins-widevine-description = This plugin enables playback of encrypted media in compliance with the Encrypted Media Extensions specification. Encrypted media is typically used by sites to protect against copying of premium media content. Visit https://www.w3.org/TR/encrypted-media/ for more information on Encrypted Media Extensions.
diff --git a/thunderbird-l10n/en-CA/localization/en-CA/toolkit/about/aboutCompat.ftl b/thunderbird-l10n/en-CA/localization/en-CA/toolkit/about/aboutCompat.ftl
new file mode 100644
index 0000000000..f91382a89c
--- /dev/null
+++ b/thunderbird-l10n/en-CA/localization/en-CA/toolkit/about/aboutCompat.ftl
@@ -0,0 +1,22 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+label-disable = Disable
+label-enable = Enable
+label-interventions = Interventions
+label-more-information = More Information: Bug { $bug }
+label-overrides = User Agent Overrides
+text-disabled-in-about-config = This feature has been disabled in about:config
+text-no-interventions = No interventions are being used
+text-no-overrides = No UA overrides are being used
+text-title = about:compat
+
+## Do not translate "SmartBlock". For reference, SmartBlock is a feature
+## of Firefox anti-tracking which fixes website breakage caused when
+## trackers are blocked, by acting just enough like those trackers to fix the
+## breakage. SmartBlock also contains special fixes for sites broken by
+## Firefox's Total Cookie Protection feature.
+
+label-smartblock = SmartBlock Fixes
+text-no-smartblock = No SmartBlock fixes are being used
diff --git a/thunderbird-l10n/en-CA/localization/en-CA/toolkit/about/aboutGlean.ftl b/thunderbird-l10n/en-CA/localization/en-CA/toolkit/about/aboutGlean.ftl
new file mode 100644
index 0000000000..bf32952a67
--- /dev/null
+++ b/thunderbird-l10n/en-CA/localization/en-CA/toolkit/about/aboutGlean.ftl
@@ -0,0 +1,92 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+
+### "FOG", "Glean", and "Glean SDK" should remain in English.
+
+-fog-brand-name = FOG
+-glean-brand-name = Glean
+glean-sdk-brand-name = { -glean-brand-name } SDK
+glean-debug-ping-viewer-brand-name = { -glean-brand-name } Debug Ping Viewer
+about-glean-page-title2 = About { -glean-brand-name }
+about-glean-header = About { -glean-brand-name }
+about-glean-interface-description =
+ The <a data-l10n-name="glean-sdk-doc-link">{ glean-sdk-brand-name }</a>
+ is a data collection library used in { -vendor-short-name } projects.
+ This interface is designed to be used by developers and testers to manually
+ <a data-l10n-name="fog-link">test instrumentation</a>.
+about-glean-upload-enabled = Data upload is enabled.
+about-glean-upload-disabled = Data upload is disabled.
+about-glean-upload-enabled-local = Data upload is enabled only for sending to a local server.
+about-glean-upload-fake-enabled =
+ Data upload is disabled,
+ but we’re lying and telling the { glean-sdk-brand-name } it is enabled
+ so that data is still recorded locally.
+ Note: If you set a debug tag, pings will be uploaded to the
+ <a data-l10n-name="glean-debug-ping-viewer">{ glean-debug-ping-viewer-brand-name }</a> regardless of settings.
+# This message is followed by a bulleted list.
+about-glean-prefs-and-defines = Relevant <a data-l10n-name="fog-prefs-and-defines-doc-link">preferences and defines</a> include:
+# Variables:
+# $data-upload-pref-value (String): the value of the datareporting.healthreport.uploadEnabled pref. Typically "true", sometimes "false"
+# Do not translate strings between <code> </code> tags.
+about-glean-data-upload = <code>datareporting.healthreport.uploadEnabled</code>: { $data-upload-pref-value }
+# Variables:
+# $local-port-pref-value (Integer): the value of the telemetry.fog.test.localhost_port pref. Typically 0. Can be negative.
+# Do not translate strings between <code> </code> tags.
+about-glean-local-port = <code>telemetry.fog.test.localhost_port</code>: { $local-port-pref-value }
+# Variables:
+# $glean-android-define-value (Boolean): the value of the MOZ_GLEAN_ANDROID define. Typically "false", sometimes "true".
+# Do not translate strings between <code> </code> tags.
+about-glean-glean-android = <code>MOZ_GLEAN_ANDROID</code>: { $glean-android-define-value }
+# Variables:
+# $moz-official-define-value (Boolean): the value of the MOZILLA_OFFICIAL define.
+# Do not translate strings between <code> </code> tags.
+about-glean-moz-official = <code>MOZILLA_OFFICIAL</code>: { $moz-official-define-value }
+about-glean-about-testing-header = About Testing
+# This message is followed by a numbered list.
+about-glean-manual-testing =
+ Full instructions are documented in the
+ <a data-l10n-name="fog-instrumentation-test-doc-link">{ -fog-brand-name } instrumentation testing docs</a>
+ and in the <a data-l10n-name="glean-sdk-doc-link">{ glean-sdk-brand-name } documentation</a>,
+ but, in short, to manually test that your instrumentation works, you should:
+# This message is an option in a dropdown filled with untranslated names of pings.
+about-glean-no-ping-label = (don’t submit any ping)
+# An in-line text input field precedes this string.
+about-glean-label-for-tag-pings = In the preceding field ensure there is a memorable debug tag so you can recognize your pings later.
+# An in-line drop down list precedes this string.
+# Do not translate strings between <code> </code> tags.
+about-glean-label-for-ping-names =
+ Select from the preceding list the ping your instrumentation is in.
+ If it’s in a <a data-l10n-name="custom-ping-link">custom ping</a>, choose that one.
+ Otherwise, the default for <code>event</code> metrics is
+ the <code>events</code> ping
+ and the default for all other metrics is
+ the <code>metrics</code> ping.
+# An in-line check box precedes this string.
+about-glean-label-for-log-pings =
+ (Optional. Check the preceding box if you want pings to also be logged when they are submitted.
+ You will additionally need to <a data-l10n-name="enable-logging-link">enable logging</a>.)
+# Variables
+# $debug-tag (String): The user-set value of the debug tag input on this page. Like "about-glean-kV"
+# An in-line button labeled "Apply settings and submit ping" precedes this string.
+about-glean-label-for-controls-submit =
+ Press the preceding button to tag all { -glean-brand-name } pings with your tag and submit the selected ping.
+ (All pings submitted from then until you restart the application will be tagged with
+ <code>{ $debug-tag }</code>.)
+about-glean-li-for-visit-gdpv =
+ <a data-l10n-name="gdpv-tagged-pings-link">Visit the { glean-debug-ping-viewer-brand-name } page for pings with your tag</a>.
+ It shouldn’t take more than a few seconds from pushing the button to your ping arriving.
+ Sometimes it may take a small handful of minutes.
+# Do not translate strings between <code> </code> tags.
+about-glean-adhoc-explanation =
+ For more <i>ad hoc</i> testing,
+ you can also determine the current value of a particular piece of instrumentation
+ by opening a devtools console here on <code>about:glean</code>
+ and using the <code>testGetValue()</code> API like
+ <code>Glean.metricCategory.metricName.testGetValue()</code>.
+controls-button-label-verbose = Apply settings and submit ping
+about-glean-about-data-header = About Data
+about-glean-about-data-explanation =
+ To browse the list of collected data, please consult the
+ <a data-l10n-name="glean-dictionary-link">{ -glean-brand-name } Dictionary</a>.
diff --git a/thunderbird-l10n/en-CA/localization/en-CA/toolkit/about/aboutHttpsOnlyError.ftl b/thunderbird-l10n/en-CA/localization/en-CA/toolkit/about/aboutHttpsOnlyError.ftl
new file mode 100644
index 0000000000..2ea112bd8e
--- /dev/null
+++ b/thunderbird-l10n/en-CA/localization/en-CA/toolkit/about/aboutHttpsOnlyError.ftl
@@ -0,0 +1,30 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+about-httpsonly-title-alert = HTTPS-Only Mode Alert
+about-httpsonly-title-site-not-available = Secure Site Not Available
+
+# Variables:
+# $websiteUrl (String) - Url of the website that failed to load. Example: www.example.com
+about-httpsonly-explanation-unavailable2 = You’ve enabled HTTPS-Only Mode for enhanced security, and a HTTPS version of <em>{ $websiteUrl }</em> is not available.
+about-httpsonly-explanation-question = What could be causing this?
+about-httpsonly-explanation-nosupport = Most likely, the website simply does not support HTTPS.
+about-httpsonly-explanation-risk = It’s also possible that an attacker is involved. If you decide to visit the website, you should not enter any sensitive information like passwords, emails, or credit card details.
+about-httpsonly-explanation-continue = If you continue, HTTPS-Only Mode will be turned off temporarily for this site.
+
+about-httpsonly-button-continue-to-site = Continue to HTTP Site
+about-httpsonly-button-go-back = Go Back
+about-httpsonly-link-learn-more = Learn More…
+
+## Suggestion Box that only shows up if a secure connection to www can be established
+## Variables:
+## $websiteUrl (String) - Url of the website that can be securely loded with these alternatives. Example: example.com
+
+## Suggestion Box that only shows up if a secure connection to www can be established
+## Variables:
+## $websiteUrl (String) - Url of the website that can be securely loaded with these alternatives. Example: example.com
+
+about-httpsonly-suggestion-box-header = Possible Alternative
+about-httpsonly-suggestion-box-www-text = There is a secure version of <em>www.{ $websiteUrl }</em>. You can visit this page instead of <em>{ $websiteUrl }</em>.
+about-httpsonly-suggestion-box-www-button = Go to www.{ $websiteUrl }
diff --git a/thunderbird-l10n/en-CA/localization/en-CA/toolkit/about/aboutLogging.ftl b/thunderbird-l10n/en-CA/localization/en-CA/toolkit/about/aboutLogging.ftl
new file mode 100644
index 0000000000..203c706431
--- /dev/null
+++ b/thunderbird-l10n/en-CA/localization/en-CA/toolkit/about/aboutLogging.ftl
@@ -0,0 +1,64 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# This is the title of the page
+about-logging-title = About Logging
+about-logging-page-title = Logging manager
+about-logging-current-log-file = Current log file:
+about-logging-new-log-file = New log file:
+about-logging-currently-enabled-log-modules = Currently enabled log modules:
+about-logging-log-tutorial = See <a data-l10n-name="logging">HTTP Logging</a> for instructions on how to use this tool.
+# This message is used as a button label, "Open" indicates an action.
+about-logging-open-log-file-dir = Open directory
+about-logging-set-log-file = Set Log File
+about-logging-set-log-modules = Set Log Modules
+about-logging-start-logging = Start Logging
+about-logging-stop-logging = Stop Logging
+about-logging-buttons-disabled = Logging configured via environment variables, dynamic configuration unavailable.
+about-logging-some-elements-disabled = Logging configured via URL, some configuration options are unavailable
+about-logging-info = Info:
+about-logging-log-modules-selection = Log module selection
+about-logging-new-log-modules = New log modules:
+about-logging-logging-output-selection = Logging output
+about-logging-logging-to-file = Logging to a file
+about-logging-logging-to-profiler = Logging to the { -profiler-brand-name }
+about-logging-no-log-modules = None
+about-logging-no-log-file = None
+about-logging-logging-preset-selector-text = Logging preset:
+about-logging-with-profiler-stacks-checkbox = Enable stack traces for log messages
+
+## Logging presets
+
+about-logging-preset-networking-label = Networking
+about-logging-preset-networking-description = Log modules to diagnose networking issues
+about-logging-preset-networking-cookie-label = Cookies
+about-logging-preset-networking-cookie-description = Log modules to diagnose cookie issues
+about-logging-preset-networking-websocket-label = WebSockets
+about-logging-preset-networking-websocket-description = Log modules to diagnose WebSocket issues
+about-logging-preset-networking-http3-label = HTTP/3
+about-logging-preset-networking-http3-description = Log modules to diagnose HTTP/3 and QUIC issues
+about-logging-preset-media-playback-label = Media playback
+about-logging-preset-media-playback-description = Log modules to diagnose media playback issues (not video-conferencing issues)
+about-logging-preset-webrtc-label = WebRTC
+about-logging-preset-webrtc-description = Log modules to diagnose WebRTC calls
+about-logging-preset-webgpu-label = WebGPU
+about-logging-preset-webgpu-description = Log modules to diagnose WebGPU issues
+about-logging-preset-gfx-label = Graphics
+about-logging-preset-gfx-description = Log modules to diagnose graphics issues
+about-logging-preset-custom-label = Custom
+about-logging-preset-custom-description = Log modules manually selected
+# Error handling
+about-logging-error = Error:
+
+## Variables:
+## $k (String) - Variable name
+## $v (String) - Variable value
+
+about-logging-invalid-output = Invalid value “{ $v }“ for key “{ $k }“
+about-logging-unknown-logging-preset = Unknown logging preset “{ $v }“
+about-logging-unknown-profiler-preset = Unknown profiler preset “{ $v }“
+about-logging-unknown-option = Unknown about:logging option “{ $k }“
+about-logging-configuration-url-ignored = Configuration URL ignored
+about-logging-file-and-profiler-override = Can’t force file output and override profiler options at the same time
+about-logging-configured-via-url = Option configured via URL
diff --git a/thunderbird-l10n/en-CA/localization/en-CA/toolkit/about/aboutMozilla.ftl b/thunderbird-l10n/en-CA/localization/en-CA/toolkit/about/aboutMozilla.ftl
new file mode 100644
index 0000000000..f0d0f336e5
--- /dev/null
+++ b/thunderbird-l10n/en-CA/localization/en-CA/toolkit/about/aboutMozilla.ftl
@@ -0,0 +1,11 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+about-mozilla-title-6-27 = The Book of Mozilla, 6:27
+about-mozilla-quote-6-27 =
+ The Beast continued its studies with renewed <em>Focus</em>, building great <em>Reference</em>
+ works and contemplating new <em>Realities</em>. The Beast brought forth its followers and
+ acolytes to create a renewed smaller form of itself and, through <em>Mischievous</em> means,
+ sent it out across the world.
+about-mozilla-from-6-27 = from <strong>The Book of Mozilla,</strong> 6:27
diff --git a/thunderbird-l10n/en-CA/localization/en-CA/toolkit/about/aboutNetworking.ftl b/thunderbird-l10n/en-CA/localization/en-CA/toolkit/about/aboutNetworking.ftl
new file mode 100644
index 0000000000..21652876a3
--- /dev/null
+++ b/thunderbird-l10n/en-CA/localization/en-CA/toolkit/about/aboutNetworking.ftl
@@ -0,0 +1,68 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+about-networking-title = About Networking
+about-networking-http = HTTP
+about-networking-sockets = Sockets
+about-networking-dns = DNS
+about-networking-dns-clear-cache-button = Clear DNS Cache
+about-networking-dns-trr-url = DoH URL
+about-networking-dns-trr-mode = DoH Mode
+about-networking-dns-suffix = DNS suffix
+about-networking-websockets = WebSockets
+about-networking-refresh = Refresh
+about-networking-auto-refresh = Autorefresh every 3 seconds
+about-networking-hostname = Hostname
+about-networking-port = Port
+about-networking-http-version = HTTP Version
+about-networking-ssl = SSL
+about-networking-active = Active
+about-networking-idle = Idle
+about-networking-host = Host
+about-networking-type = Type
+about-networking-sent = Sent
+about-networking-received = Received
+about-networking-family = Family
+about-networking-trr = TRR
+about-networking-addresses = Addresses
+about-networking-expires = Expires (Seconds)
+about-networking-originAttributesSuffix = Isolation Key
+about-networking-flags = Extra flags
+about-networking-messages-sent = Messages Sent
+about-networking-messages-received = Messages Received
+about-networking-bytes-sent = Bytes Sent
+about-networking-bytes-received = Bytes Received
+about-networking-logging = Logging
+about-networking-dns-lookup = DNS Lookup
+about-networking-dns-lookup-button = Resolve
+about-networking-dns-domain = Domain:
+about-networking-dns-lookup-table-column = IPs
+about-networking-dns-https-rr-lookup-table-column = HTTP RRs
+about-networking-rcwn = RCWN Stats
+about-networking-rcwn-status = RCWN Status
+about-networking-rcwn-cache-won-count = Cache won count
+about-networking-rcwn-net-won-count = Net won count
+about-networking-total-network-requests = Total network request count
+about-networking-rcwn-operation = Cache Operation
+about-networking-rcwn-perf-open = Open
+about-networking-rcwn-perf-read = Read
+about-networking-rcwn-perf-write = Write
+about-networking-rcwn-perf-entry-open = Entry Open
+about-networking-rcwn-avg-short = Short Average
+about-networking-rcwn-avg-long = Long Average
+about-networking-rcwn-std-dev-long = Long Standard Deviation
+about-networking-rcwn-cache-slow = Cache slow count
+about-networking-rcwn-cache-not-slow = Cache not slow count
+about-networking-networkid = Network ID
+about-networking-networkid-id = Network ID
+# Note: do not translate about:logging, as it is a URL.
+about-networking-moved-about-logging = This page has been moved to <a data-l10n-name="about-logging-url">about:logging</a>.
+
+## Link is intended as "network link"
+
+about-networking-networkid-is-up = Link is up
+about-networking-networkid-status-known = Link status is known
+
+##
+
diff --git a/thunderbird-l10n/en-CA/localization/en-CA/toolkit/about/aboutPerformance.ftl b/thunderbird-l10n/en-CA/localization/en-CA/toolkit/about/aboutPerformance.ftl
new file mode 100644
index 0000000000..1b2d6e8493
--- /dev/null
+++ b/thunderbird-l10n/en-CA/localization/en-CA/toolkit/about/aboutPerformance.ftl
@@ -0,0 +1,67 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# Page title
+about-performance-title = Task Manager
+
+## Column headers
+
+column-name = Name
+column-type = Type
+column-energy-impact = Energy Impact
+column-memory = Memory
+
+## Special values for the Name column
+
+ghost-windows = Recently closed tabs
+# Variables:
+# $title (String) - the title of the preloaded page, typically 'New Tab'
+preloaded-tab = Preloaded: { $title }
+
+## Values for the Type column
+
+type-tab = Tab
+type-subframe = Subframe
+type-tracker = Tracker
+type-addon = Add-on
+type-browser = Browser
+type-worker = Worker
+type-other = Other
+
+## Values for the Energy Impact column
+##
+## Variables:
+## $value (Number) - Value of the energy impact, eg. 0.25 (low),
+## 5.38 (medium), 105.38 (high)
+
+energy-impact-high = High ({ $value })
+energy-impact-medium = Medium ({ $value })
+energy-impact-low = Low ({ $value })
+
+## Values for the Memory column
+##
+## Variables:
+## $value (Number) - How much memory is used
+
+size-KB = { $value } KB
+size-MB = { $value } MB
+size-GB = { $value } GB
+
+## Tooltips for the action buttons
+
+close-tab =
+ .title = Close tab
+show-addon =
+ .title = Show in Add-ons Manager
+
+# Tooltip when hovering an item of the about:performance table
+# Variables:
+# $totalDispatches (Number) - how many dispatches occured for this page since it loaded
+# $totalDuration (Number) - how much CPU time was used by this page since it loaded
+# $dispatchesSincePrevious (Number) - how many dispatches occured in the last 2 seconds
+# $durationSincePrevious (Number) - how much CPU time was used in the last 2 seconds
+item =
+ .title =
+ Dispatches since load: { $totalDispatches } ({ $totalDuration }ms)
+ Dispatches in the last seconds: { $dispatchesSincePrevious } ({ $durationSincePrevious }ms)
diff --git a/thunderbird-l10n/en-CA/localization/en-CA/toolkit/about/aboutPlugins.ftl b/thunderbird-l10n/en-CA/localization/en-CA/toolkit/about/aboutPlugins.ftl
new file mode 100644
index 0000000000..7aeb078a92
--- /dev/null
+++ b/thunderbird-l10n/en-CA/localization/en-CA/toolkit/about/aboutPlugins.ftl
@@ -0,0 +1,43 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+title-label = About Plugins
+installed-plugins-label = Installed plugins
+no-plugins-are-installed-label = No installed plugins found
+deprecation-description = Missing something? Some plugins are no longer supported. <a data-l10n-name="deprecation-link">Learn More.</a>
+deprecation-description2 =
+ .message = Missing something? Some plugins are no longer supported.
+
+## The information of plugins
+##
+## Variables:
+## $pluginLibraries: the plugin library
+## $pluginFullPath: path of the plugin
+## $version: version of the plugin
+
+file-dd = <span data-l10n-name="file">File:</span> { $pluginLibraries }
+path-dd = <span data-l10n-name="path">Path:</span> { $pluginFullPath }
+version-dd = <span data-l10n-name="version">Version:</span> { $version }
+
+## These strings describe the state of plugins
+##
+## Variables:
+## $blockListState: show some special state of the plugin, such as blocked, outdated
+
+state-dd-enabled = <span data-l10n-name="state">State:</span> Enabled
+state-dd-enabled-block-list-state = <span data-l10n-name="state">State:</span> Enabled ({ $blockListState })
+state-dd-Disabled = <span data-l10n-name="state">State:</span> Disabled
+state-dd-Disabled-block-list-state = <span data-l10n-name="state">State:</span> Disabled ({ $blockListState })
+mime-type-label = MIME Type
+description-label = Description
+suffixes-label = Suffixes
+
+## Gecko Media Plugins (GMPs)
+
+plugins-gmp-license-info = Licence information
+plugins-gmp-privacy-info = Privacy Information
+plugins-openh264-name = OpenH264 Video Codec provided by Cisco Systems, Inc.
+plugins-openh264-description = This plugin is automatically installed by Mozilla to comply with the WebRTC specification and to enable WebRTC calls with devices that require the H.264 video codec. Visit https://www.openh264.org/ to view the codec source code and learn more about the implementation.
+plugins-widevine-name = Widevine Content Decryption Module provided by Google Inc.
+plugins-widevine-description = This plugin enables playback of encrypted media in compliance with the Encrypted Media Extensions specification. Encrypted media is typically used by sites to protect against copying of premium media content. Visit https://www.w3.org/TR/encrypted-media/ for more information on Encrypted Media Extensions.
diff --git a/thunderbird-l10n/en-CA/localization/en-CA/toolkit/about/aboutProcesses.ftl b/thunderbird-l10n/en-CA/localization/en-CA/toolkit/about/aboutProcesses.ftl
new file mode 100644
index 0000000000..ba0c69f924
--- /dev/null
+++ b/thunderbird-l10n/en-CA/localization/en-CA/toolkit/about/aboutProcesses.ftl
@@ -0,0 +1,200 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# Page title
+about-processes-title = Process Manager
+
+# The Actions column
+about-processes-column-action =
+ .title = Actions
+
+## Tooltips
+
+about-processes-shutdown-process =
+ .title = Unload tabs and kill process
+about-processes-shutdown-tab =
+ .title = Close tab
+
+# Profiler icons
+# Variables:
+# $duration (Number) The time in seconds during which the profiler will be running.
+# The value will be an integer, typically less than 10.
+about-processes-profile-process =
+ .title =
+ { $duration ->
+ [one] Profile all threads of this process for { $duration } second
+ *[other] Profile all threads of this process for { $duration } seconds
+ }
+
+## Column headers
+
+about-processes-column-name = Name
+about-processes-column-memory-resident = Memory
+about-processes-column-cpu-total = CPU
+
+## Process names
+## Variables:
+## $pid (String) The process id of this process, assigned by the OS.
+
+about-processes-browser-process = { -brand-short-name } ({ $pid })
+about-processes-web-process = Shared Web Process ({ $pid })
+about-processes-file-process = Files ({ $pid })
+about-processes-extension-process = Extensions ({ $pid })
+about-processes-privilegedabout-process = About pages ({ $pid })
+about-processes-plugin-process = Plugins ({ $pid })
+about-processes-privilegedmozilla-process = { -vendor-short-name } sites ({ $pid })
+about-processes-gmp-plugin-process = Gecko Media Plugins ({ $pid })
+about-processes-gpu-process = GPU ({ $pid })
+about-processes-vr-process = VR ({ $pid })
+about-processes-rdd-process = Data Decoder ({ $pid })
+about-processes-socket-process = Network ({ $pid })
+about-processes-remote-sandbox-broker-process = Remote Sandbox Broker ({ $pid })
+about-processes-fork-server-process = Fork Server ({ $pid })
+about-processes-preallocated-process = Preallocated ({ $pid })
+about-processes-utility-process = Utility ({ $pid })
+
+# Unknown process names
+# Variables:
+# $pid (String) The process id of this process, assigned by the OS.
+# $type (String) The raw type for this process.
+about-processes-unknown-process = Other: { $type } ({ $pid })
+
+## Isolated process names
+## Variables:
+## $pid (String) The process id of this process, assigned by the OS.
+## $origin (String) The domain name for this process.
+
+about-processes-web-isolated-process = { $origin } ({ $pid })
+about-processes-web-serviceworker = { $origin } ({ $pid }, serviceworker)
+about-processes-with-coop-coep-process = { $origin } ({ $pid }, cross-origin isolated)
+about-processes-web-isolated-process-private = { $origin } — Private ({ $pid })
+about-processes-with-coop-coep-process-private = { $origin } — Private ({ $pid }, cross-origin isolated)
+
+## Details within processes
+
+# Single-line summary of threads (non-idle process)
+# Variables:
+# $number (Number) The number of threads in the process. Typically larger
+# than 30. We don't expect to ever have processes with less
+# than 5 threads.
+# $active (Number) The number of active threads in the process.
+# The value will be greater than 0 and will never be
+# greater than $number.
+# $list (String) Comma separated list of active threads.
+# Can be an empty string if the process is idle.
+about-processes-active-threads =
+ { $active ->
+ [one] { $active } active thread out of { $number }: { $list }
+ *[other] { $active } active threads out of { $number }: { $list }
+ }
+
+# Single-line summary of threads (idle process)
+# Variables:
+# $number (Number) The number of threads in the process. Typically larger
+# than 30. We don't expect to ever have processes with less
+# than 5 threads.
+# The process is idle so all threads are inactive.
+about-processes-inactive-threads =
+ { $number ->
+ [one] { $number } inactive thread
+ *[other] { $number } inactive threads
+ }
+
+# Thread details
+# Variables:
+# $name (String) The name assigned to the thread.
+# $tid (String) The thread id of this thread, assigned by the OS.
+about-processes-thread-name-and-id = { $name }
+ .title = Thread id: { $tid }
+
+# Tab
+# Variables:
+# $name (String) The name of the tab (typically the title of the page, might be the url while the page is loading).
+about-processes-tab-name = Tab: { $name }
+about-processes-preloaded-tab = Preloaded New Tab
+
+# Single subframe
+# Variables:
+# $url (String) The full url of this subframe.
+about-processes-frame-name-one = Subframe: { $url }
+
+# Group of subframes
+# Variables:
+# $number (Number) The number of subframes in this group. Always ≥ 1.
+# $shortUrl (String) The shared prefix for the subframes in the group.
+about-processes-frame-name-many = Subframes ({ $number }): { $shortUrl }
+
+## Utility process actor names
+
+about-processes-utility-actor-unknown = Unknown actor
+about-processes-utility-actor-audio-decoder-generic = Generic Audio Decoder
+about-processes-utility-actor-audio-decoder-applemedia = Apple Media Audio Decoder
+about-processes-utility-actor-audio-decoder-wmf = Windows Media Framework Audio Decoder
+about-processes-utility-actor-mf-media-engine = Windows Media Foundation Media Engine CDM
+# "Oracle" refers to an internal Firefox process and should be kept in English
+about-processes-utility-actor-js-oracle = JavaScript Oracle
+about-processes-utility-actor-windows-utils = Windows Utils
+
+## Displaying CPU (percentage and total)
+## Variables:
+## $percent (Number) The percentage of CPU used by the process or thread.
+## Always > 0, generally <= 200.
+## $total (Number) The amount of time used by the process or thread since
+## its start.
+## $unit (String) The unit in which to display $total. See the definitions
+## of `duration-unit-*`.
+
+# Common case.
+about-processes-cpu = { NUMBER($percent, maximumSignificantDigits: 2, style: "percent") }
+ .title = Total CPU time: { NUMBER($total, maximumFractionDigits: 0) }{ $unit }
+
+# Special case: data is not available yet.
+about-processes-cpu-user-and-kernel-not-ready = (measuring)
+
+# Special case: process or thread is almost idle (using less than 0.1% of a CPU core).
+# This case only occurs on Windows where the precision of the CPU times is low.
+about-processes-cpu-almost-idle = < 0.1%
+ .title = Total CPU time: { NUMBER($total, maximumFractionDigits: 0) }{ $unit }
+
+# Special case: process or thread is currently idle.
+about-processes-cpu-fully-idle = idle
+ .title = Total CPU time: { NUMBER($total, maximumFractionDigits: 0) }{ $unit }
+
+## Displaying Memory (total and delta)
+## Variables:
+## $total (Number) The amount of memory currently used by the process.
+## $totalUnit (String) The unit in which to display $total. See the definitions
+## of `memory-unit-*`.
+## $delta (Number) The absolute value of the amount of memory added recently.
+## $deltaSign (String) Either "+" if the amount of memory has increased
+## or "-" if it has decreased.
+## $deltaUnit (String) The unit in which to display $delta. See the definitions
+## of `memory-unit-*`.
+
+# Common case.
+about-processes-total-memory-size-changed = { NUMBER($total, maximumFractionDigits: 0) }{ $totalUnit }
+ .title = Evolution: { $deltaSign }{ NUMBER($delta, maximumFractionDigits: 0) }{ $deltaUnit }
+
+# Special case: no change.
+about-processes-total-memory-size-no-change = { NUMBER($total, maximumFractionDigits: 0) }{ $totalUnit }
+
+## Duration units
+
+duration-unit-ns = ns
+duration-unit-us = µs
+duration-unit-ms = ms
+duration-unit-s = s
+duration-unit-m = m
+duration-unit-h = h
+duration-unit-d = d
+
+## Memory units
+
+memory-unit-B = B
+memory-unit-KB = KB
+memory-unit-MB = MB
+memory-unit-GB = GB
+memory-unit-TB = TB
+memory-unit-PB = PB
+memory-unit-EB = EB
diff --git a/thunderbird-l10n/en-CA/localization/en-CA/toolkit/about/aboutProfiles.ftl b/thunderbird-l10n/en-CA/localization/en-CA/toolkit/about/aboutProfiles.ftl
new file mode 100644
index 0000000000..c11b89b321
--- /dev/null
+++ b/thunderbird-l10n/en-CA/localization/en-CA/toolkit/about/aboutProfiles.ftl
@@ -0,0 +1,74 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+
+profiles-title = About Profiles
+profiles-subtitle = This page helps you to manage your profiles. Each profile is a separate world which contains separate history, bookmarks, settings and add-ons.
+profiles-create = Create a New Profile
+profiles-restart-title = Restart
+profiles-restart-in-safe-mode = Restart with Add-ons Disabled…
+profiles-restart-normal = Restart normally…
+profiles-conflict = Another copy of { -brand-product-name } has made changes to profiles. You must restart { -brand-short-name } before making more changes.
+profiles-flush-fail-title = Changes not saved
+profiles-flush-conflict = { profiles-conflict }
+profiles-flush-failed = An unexpected error has prevented your changes from being saved.
+profiles-flush-restart-button = Restart { -brand-short-name }
+
+# Variables:
+# $name (String) - Name of the profile
+profiles-name = Profile: { $name }
+profiles-is-default = Default Profile
+profiles-rootdir = Root Directory
+
+# localDir is used to show the directory corresponding to
+# the main profile directory that exists for the purpose of storing data on the
+# local filesystem, including cache files or other data files that may not
+# represent critical user data. (e.g., this directory may not be included as
+# part of a backup scheme.)
+# In case localDir and rootDir are equal, localDir is not shown.
+profiles-localdir = Local Directory
+profiles-current-profile = This is the profile in use and it cannot be deleted.
+profiles-in-use-profile = This profile is in use in another application and it cannot be deleted.
+
+profiles-rename = Rename
+profiles-remove = Remove
+profiles-set-as-default = Set as default profile
+profiles-launch-profile = Launch profile in new browser
+
+profiles-cannot-set-as-default-title = Unable to set default
+profiles-cannot-set-as-default-message = The default profile cannot be changed for { -brand-short-name }.
+
+profiles-yes = yes
+profiles-no = no
+
+profiles-rename-profile-title = Rename Profile
+# Variables:
+# $name (String) - Name of the profile
+profiles-rename-profile = Rename profile { $name }
+
+profiles-invalid-profile-name-title = Invalid profile name
+# Variables:
+# $name (String) - Name of the profile
+profiles-invalid-profile-name = The profile name “{ $name }” is not allowed.
+
+profiles-delete-profile-title = Delete Profile
+# Variables:
+# $dir (String) - Path to be displayed
+profiles-delete-profile-confirm =
+ Deleting a profile will remove the profile from the list of available profiles and cannot be undone.
+ You may also choose to delete the profile data files, including your settings, certificates and other user-related data. This option will delete the folder “{ $dir }” and cannot be undone.
+ Would you like to delete the profile data files?
+profiles-delete-files = Delete Files
+profiles-dont-delete-files = Don’t Delete Files
+
+profiles-delete-profile-failed-title = Error
+profiles-delete-profile-failed-message = There was an error while attempting to delete this profile.
+
+
+profiles-opendir =
+ { PLATFORM() ->
+ [macos] Show in Finder
+ [windows] Open Folder
+ *[other] Open Directory
+ }
diff --git a/thunderbird-l10n/en-CA/localization/en-CA/toolkit/about/aboutReader.ftl b/thunderbird-l10n/en-CA/localization/en-CA/toolkit/about/aboutReader.ftl
new file mode 100644
index 0000000000..38b0299c16
--- /dev/null
+++ b/thunderbird-l10n/en-CA/localization/en-CA/toolkit/about/aboutReader.ftl
@@ -0,0 +1,52 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+about-reader-loading = Loading…
+about-reader-load-error = Failed to load article from page
+
+about-reader-color-scheme-light = Light
+ .title = Colour Scheme Light
+about-reader-color-scheme-dark = Dark
+ .title = Colour Scheme Dark
+about-reader-color-scheme-sepia = Sepia
+ .title = Colour Scheme Sepia
+about-reader-color-scheme-auto = Auto
+ .title = Color Scheme Auto
+
+# An estimate for how long it takes to read an article,
+# expressed as a range covering both slow and fast readers.
+# Variables:
+# $rangePlural (String): The plural category of the range, using the same set as for numbers.
+# $range (String): The range of minutes as a localised string. Examples: "3-7", "~1".
+about-reader-estimated-read-time =
+ { $rangePlural ->
+ [one] { $range } minute
+ *[other] { $range } minutes
+ }
+
+## These are used as tooltips in Type Control
+
+about-reader-toolbar-minus =
+ .title = Decrease Font Size
+about-reader-toolbar-plus =
+ .title = Increase Font Size
+about-reader-toolbar-contentwidthminus =
+ .title = Decrease Content Width
+about-reader-toolbar-contentwidthplus =
+ .title = Increase Content Width
+about-reader-toolbar-lineheightminus =
+ .title = Decrease Line Height
+about-reader-toolbar-lineheightplus =
+ .title = Increase Line Height
+
+## These are the styles of typeface that are options in the reader view controls.
+
+about-reader-font-type-serif = Serif
+about-reader-font-type-sans-serif = Sans-serif
+
+## Reader View toolbar buttons
+
+about-reader-toolbar-close = Close Reader View
+about-reader-toolbar-type-controls = Type controls
+about-reader-toolbar-savetopocket = Save To { -pocket-brand-name }
diff --git a/thunderbird-l10n/en-CA/localization/en-CA/toolkit/about/aboutRights.ftl b/thunderbird-l10n/en-CA/localization/en-CA/toolkit/about/aboutRights.ftl
new file mode 100644
index 0000000000..c95607428c
--- /dev/null
+++ b/thunderbird-l10n/en-CA/localization/en-CA/toolkit/about/aboutRights.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/.
+
+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 Licence</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 Licence also gives you the right to distribute your modified versions.
+rights-intro-point-2 = You are not granted any trademark rights or licences to the trademarks of the Mozilla Foundation or any party, including without limitation the Firefox 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-webservices =
+ { -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 preferences.
+rights-safebrowsing = <strong>SafeBrowsing: </strong>Disabling the Safe Browsing feature is not recommended as it may result in you going to unsafe sites. If you wish to disable the feature completely, follow these steps:
+rights-safebrowsing-term-1 = Open the application preferences
+rights-safebrowsing-term-2 = Select the Security selection
+rights-safebrowsing-term-3 = Uncheck the option to “{ enableSafeBrowsing-label }”
+enableSafeBrowsing-label = Block dangerous and deceptive content
+rights-safebrowsing-term-4 = Safe Browsing is now disabled
+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 = In the URL bar, type <code>about:config</code>
+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 licences 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 cancelled 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/thunderbird-l10n/en-CA/localization/en-CA/toolkit/about/aboutServiceWorkers.ftl b/thunderbird-l10n/en-CA/localization/en-CA/toolkit/about/aboutServiceWorkers.ftl
new file mode 100644
index 0000000000..edf2fed9f1
--- /dev/null
+++ b/thunderbird-l10n/en-CA/localization/en-CA/toolkit/about/aboutServiceWorkers.ftl
@@ -0,0 +1,40 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+
+### The term "Service Workers" and "Workers" should not be translated
+
+about-service-workers-title = About Service Workers
+about-service-workers-main-title = Registered Service Workers
+about-service-workers-warning-not-enabled = Service Workers are not enabled.
+about-service-workers-warning-no-service-workers = No Service Workers registered.
+
+# The original title of service workers' information
+#
+# Variables:
+# $originTitle: original title
+origin-title = Origin: { $originTitle }
+
+## These strings are for showing the information of workers.
+##
+## Variables:
+## $name: the name of scope, active cache, waiting cache and the push end point.
+## $url: the url of script specification and current worker.
+
+scope = <strong>Scope:</strong> { $name }
+script-spec = <strong>Script Spec:</strong> <a data-l10n-name="link">{ $url }</a>
+current-worker-url = <strong>Current Worker URL:</strong> <a data-l10n-name="link">{ $url }</a>
+active-cache-name = <strong>Active Cache Name:</strong> { $name }
+waiting-cache-name = <strong>Waiting Cache Name:</strong> { $name }
+push-end-point-waiting = <strong>Push Endpoint:</strong> { waiting }
+push-end-point-result = <strong>Push Endpoint:</strong> { $name }
+
+# This term is used as a button label (verb, not noun).
+update-button = Update
+
+unregister-button = Unregister
+
+unregister-error = Failed to unregister this Service Worker.
+
+waiting = Waiting…
diff --git a/thunderbird-l10n/en-CA/localization/en-CA/toolkit/about/aboutSupport.ftl b/thunderbird-l10n/en-CA/localization/en-CA/toolkit/about/aboutSupport.ftl
new file mode 100644
index 0000000000..626f95e3ad
--- /dev/null
+++ b/thunderbird-l10n/en-CA/localization/en-CA/toolkit/about/aboutSupport.ftl
@@ -0,0 +1,414 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+page-title = Troubleshooting Information
+page-subtitle =
+ This page contains technical information that might be useful when you’re
+ trying to solve a problem. If you are looking for answers to common questions
+ about { -brand-short-name }, check out our <a data-l10n-name="support-link">support website</a>.
+crashes-title = Crash Reports
+crashes-id = Report ID
+crashes-send-date = Submitted
+crashes-all-reports = All Crash Reports
+crashes-no-config = This application has not been configured to display crash reports.
+support-addons-title = Add-ons
+support-addons-name = Name
+support-addons-type = Type
+support-addons-enabled = Enabled
+support-addons-version = Version
+support-addons-id = ID
+legacy-user-stylesheets-title = Legacy User Stylesheets
+legacy-user-stylesheets-enabled = Active
+legacy-user-stylesheets-stylesheet-types = Stylesheets
+legacy-user-stylesheets-no-stylesheets-found = No stylesheets found
+security-software-title = Security Software
+security-software-type = Type
+security-software-name = Name
+security-software-antivirus = Antivirus
+security-software-antispyware = Antispyware
+security-software-firewall = Firewall
+features-title = { -brand-short-name } Features
+features-name = Name
+features-version = Version
+features-id = ID
+processes-title = Remote Processes
+processes-type = Type
+processes-count = Count
+app-basics-title = Application Basics
+app-basics-name = Name
+app-basics-version = Version
+app-basics-build-id = Build ID
+app-basics-distribution-id = Distribution ID
+app-basics-update-channel = Update Channel
+# This message refers to the folder used to store updates on the device,
+# as in "Folder for updates". "Update" is a noun, not a verb.
+app-basics-update-dir =
+ { PLATFORM() ->
+ [linux] Update Directory
+ *[other] Update Folder
+ }
+app-basics-update-history = Update History
+app-basics-show-update-history = Show Update History
+# Represents the path to the binary used to start the application.
+app-basics-binary = Application Binary
+app-basics-profile-dir =
+ { PLATFORM() ->
+ [linux] Profile Directory
+ *[other] Profile Folder
+ }
+app-basics-enabled-plugins = Enabled Plugins
+app-basics-build-config = Build Configuration
+app-basics-user-agent = User Agent
+app-basics-os = OS
+app-basics-os-theme = OS Theme
+# Rosetta is Apple's translation process to run apps containing x86_64
+# instructions on Apple Silicon. This should remain in English.
+app-basics-rosetta = Rosetta Translated
+app-basics-memory-use = Memory Use
+app-basics-performance = Performance
+app-basics-service-workers = Registered Service Workers
+app-basics-third-party = Third-party Modules
+app-basics-profiles = Profiles
+app-basics-launcher-process-status = Launcher Process
+app-basics-multi-process-support = Multiprocess Windows
+app-basics-fission-support = Fission Windows
+app-basics-remote-processes-count = Remote Processes
+app-basics-enterprise-policies = Enterprise Policies
+app-basics-location-service-key-google = Google Location Service Key
+app-basics-safebrowsing-key-google = Google Safebrowsing Key
+app-basics-key-mozilla = Mozilla Location Service Key
+app-basics-safe-mode = Safe Mode
+app-basics-memory-size = Memory Size (RAM)
+app-basics-disk-available = Disk Space Available
+app-basics-pointing-devices = Pointing Devices
+# Variables:
+# $value (number) - Amount of data being stored
+# $unit (string) - The unit of data being stored (e.g. MB)
+app-basics-data-size = { $value } { $unit }
+show-dir-label =
+ { PLATFORM() ->
+ [macos] Show in Finder
+ [windows] Open Folder
+ *[other] Open Directory
+ }
+environment-variables-title = Environment Variables
+environment-variables-name = Name
+environment-variables-value = Value
+experimental-features-title = Experimental Features
+experimental-features-name = Name
+experimental-features-value = Value
+modified-key-prefs-title = Important Modified Preferences
+modified-prefs-name = Name
+modified-prefs-value = Value
+user-js-title = user.js Preferences
+user-js-description = Your profile folder contains a <a data-l10n-name="user-js-link">user.js file</a>, which includes preferences that were not created by { -brand-short-name }.
+locked-key-prefs-title = Important Locked Preferences
+locked-prefs-name = Name
+locked-prefs-value = Value
+graphics-title = Graphics
+graphics-features-title = Features
+graphics-diagnostics-title = Diagnostics
+graphics-failure-log-title = Failure Log
+graphics-gpu1-title = GPU #1
+graphics-gpu2-title = GPU #2
+graphics-decision-log-title = Decision Log
+graphics-crash-guards-title = Crash Guard Disabled Features
+graphics-workarounds-title = Workarounds
+graphics-device-pixel-ratios = Window Device Pixel Ratios
+# Windowing system in use on Linux (e.g. X11, Wayland).
+graphics-window-protocol = Window Protocol
+# Desktop environment in use on Linux (e.g. GNOME, KDE, XFCE, etc).
+graphics-desktop-environment = Desktop Environment
+place-database-title = Places Database
+place-database-stats = Statistics
+place-database-stats-show = Show Statistics
+place-database-stats-hide = Hide Statistics
+place-database-stats-entity = Entity
+place-database-stats-count = Count
+place-database-stats-size-kib = Size (KiB)
+place-database-stats-size-perc = Size (%)
+place-database-stats-efficiency-perc = Efficiency (%)
+place-database-stats-sequentiality-perc = Sequentiality (%)
+place-database-integrity = Integrity
+place-database-verify-integrity = Verify Integrity
+a11y-title = Accessibility
+a11y-activated = Activated
+a11y-force-disabled = Prevent Accessibility
+a11y-handler-used = Accessible Handler Used
+a11y-instantiator = Accessibility Instantiator
+library-version-title = Library Versions
+copy-text-to-clipboard-label = Copy text to clipboard
+copy-raw-data-to-clipboard-label = Copy raw data to clipboard
+sandbox-title = Sandbox
+sandbox-sys-call-log-title = Rejected System Calls
+sandbox-sys-call-index = #
+sandbox-sys-call-age = Seconds Ago
+sandbox-sys-call-pid = PID
+sandbox-sys-call-tid = TID
+sandbox-sys-call-proc-type = Process Type
+sandbox-sys-call-number = Syscall
+sandbox-sys-call-args = Arguments
+troubleshoot-mode-title = Diagnose issues
+restart-in-troubleshoot-mode-label = Troubleshoot Mode…
+clear-startup-cache-title = Try clearing the startup cache
+clear-startup-cache-label = Clear startup cache…
+startup-cache-dialog-title2 = Restart { -brand-short-name } to clear startup cache?
+startup-cache-dialog-body2 = This will not change your settings or remove extensions.
+restart-button-label = Restart
+
+## Media titles
+
+audio-backend = Audio Backend
+max-audio-channels = Max Channels
+sample-rate = Preferred Sample Rate
+roundtrip-latency = Roundtrip latency (standard deviation)
+media-title = Media
+media-output-devices-title = Output Devices
+media-input-devices-title = Input Devices
+media-device-name = Name
+media-device-group = Group
+media-device-vendor = Vendor
+media-device-state = State
+media-device-preferred = Preferred
+media-device-format = Format
+media-device-channels = Channels
+media-device-rate = Rate
+media-device-latency = Latency
+media-capabilities-title = Media Capabilities
+media-codec-support-info = Codec Support Information
+# List all the entries of the database.
+media-capabilities-enumerate = Enumerate database
+
+## Codec support table
+
+media-codec-support-sw-decoding = Software Decoding
+media-codec-support-hw-decoding = Hardware Decoding
+media-codec-support-codec-name = Codec Name
+media-codec-support-supported = Supported
+media-codec-support-unsupported = Unsupported
+media-codec-support-error = Codec support information unavailable. Try again after playing back a media file.
+
+##
+
+intl-title = Internationalization & Localization
+intl-app-title = Application Settings
+intl-locales-requested = Requested Locales
+intl-locales-available = Available Locales
+intl-locales-supported = App Locales
+intl-locales-default = Default Locale
+intl-os-title = Operating System
+intl-os-prefs-system-locales = System Locales
+intl-regional-prefs = Regional Preferences
+
+## Remote Debugging
+##
+## The Firefox remote protocol provides low-level debugging interfaces
+## used to inspect state and control execution of documents,
+## browser instrumentation, user interaction simulation,
+## and for subscribing to browser-internal events.
+##
+## See also https://firefox-source-docs.mozilla.org/remote/
+
+remote-debugging-title = Remote Debugging (Chromium Protocol)
+remote-debugging-accepting-connections = Accepting Connections
+remote-debugging-url = URL
+
+##
+
+# Variables
+# $days (Integer) - Number of days of crashes to log
+report-crash-for-days =
+ { $days ->
+ [one] Crash Reports for the Last { $days } Day
+ *[other] Crash Reports for the Last { $days } Days
+ }
+# Variables
+# $minutes (integer) - Number of minutes since crash
+crashes-time-minutes =
+ { $minutes ->
+ [one] { $minutes } minute ago
+ *[other] { $minutes } minutes ago
+ }
+# Variables
+# $hours (integer) - Number of hours since crash
+crashes-time-hours =
+ { $hours ->
+ [one] { $hours } hour ago
+ *[other] { $hours } hours ago
+ }
+# Variables
+# $days (integer) - Number of days since crash
+crashes-time-days =
+ { $days ->
+ [one] { $days } day ago
+ *[other] { $days } days ago
+ }
+# Variables
+# $reports (integer) - Number of pending reports
+pending-reports =
+ { $reports ->
+ [one] All Crash Reports (including { $reports } pending crash in the given time range)
+ *[other] All Crash Reports (including { $reports } pending crashes in the given time range)
+ }
+raw-data-copied = Raw data copied to clipboard
+text-copied = Text copied to clipboard
+
+## The verb "blocked" here refers to a graphics feature such as "Direct2D" or "OpenGL layers".
+
+blocked-driver = Blocked for your graphics driver version.
+blocked-gfx-card = Blocked for your graphics card because of unresolved driver issues.
+blocked-os-version = Blocked for your operating system version.
+blocked-mismatched-version = Blocked for your graphics driver version mismatch between registry and DLL.
+# Variables
+# $driverVersion - The graphics driver version string
+try-newer-driver = Blocked for your graphics driver version. Try updating your graphics driver to version { $driverVersion } or newer.
+# "ClearType" is a proper noun and should not be translated. Feel free to leave English strings if
+# there are no good translations, these are only used in about:support
+clear-type-parameters = ClearType Parameters
+compositing = Compositing
+hardware-h264 = Hardware H264 Decoding
+main-thread-no-omtc = main thread, no OMTC
+yes = Yes
+no = No
+unknown = Unknown
+virtual-monitor-disp = Virtual Monitor Display
+
+## The following strings indicate if an API key has been found.
+## In some development versions, it's expected for some API keys that they are
+## not found.
+
+found = Found
+missing = Missing
+gpu-process-pid = GPUProcessPid
+gpu-process = GPUProcess
+gpu-description = Description
+gpu-vendor-id = Vendor ID
+gpu-device-id = Device ID
+gpu-subsys-id = Subsys ID
+gpu-drivers = Drivers
+gpu-ram = RAM
+gpu-driver-vendor = Driver Vendor
+gpu-driver-version = Driver Version
+gpu-driver-date = Driver Date
+gpu-active = Active
+webgl1-wsiinfo = WebGL 1 Driver WSI Info
+webgl1-renderer = WebGL 1 Driver Renderer
+webgl1-version = WebGL 1 Driver Version
+webgl1-driver-extensions = WebGL 1 Driver Extensions
+webgl1-extensions = WebGL 1 Extensions
+webgl2-wsiinfo = WebGL 2 Driver WSI Info
+webgl2-renderer = WebGL 2 Driver Renderer
+webgl2-version = WebGL 2 Driver Version
+webgl2-driver-extensions = WebGL 2 Driver Extensions
+webgl2-extensions = WebGL 2 Extensions
+webgpu-default-adapter = WebGPU Default Adapter
+webgpu-fallback-adapter = WebGPU Fallback Adapter
+# Variables
+# $bugNumber (string) - Bug number on Bugzilla
+support-blocklisted-bug = Blocklisted due to known issues: <a data-l10n-name="bug-link">bug { $bugNumber }</a>
+# Variables
+# $failureCode (string) - String that can be searched in the source tree.
+unknown-failure = Blocklisted; failure code { $failureCode }
+d3d11layers-crash-guard = D3D11 Compositor
+glcontext-crash-guard = OpenGL
+wmfvpxvideo-crash-guard = WMF VPX Video Decoder
+reset-on-next-restart = Reset on Next Restart
+gpu-process-kill-button = Terminate GPU Process
+gpu-device-reset = Device Reset
+gpu-device-reset-button = Trigger Device Reset
+uses-tiling = Uses Tiling
+content-uses-tiling = Uses Tiling (Content)
+off-main-thread-paint-enabled = Off Main Thread Painting Enabled
+off-main-thread-paint-worker-count = Off Main Thread Painting Worker Count
+target-frame-rate = Target Frame Rate
+min-lib-versions = Expected minimum version
+loaded-lib-versions = Version in use
+has-seccomp-bpf = Seccomp-BPF (System Call Filtering)
+has-seccomp-tsync = Seccomp Thread Synchronization
+has-user-namespaces = User Namespaces
+has-privileged-user-namespaces = User Namespaces for privileged processes
+can-sandbox-content = Content Process Sandboxing
+can-sandbox-media = Media Plugin Sandboxing
+content-sandbox-level = Content Process Sandbox Level
+effective-content-sandbox-level = Effective Content Process Sandbox Level
+content-win32k-lockdown-state = Win32k Lockdown State for Content Process
+support-sandbox-gpu-level = GPU Process Sandbox Level
+sandbox-proc-type-content = content
+sandbox-proc-type-file = file content
+sandbox-proc-type-media-plugin = media plugin
+sandbox-proc-type-data-decoder = data decoder
+startup-cache-title = Startup Cache
+startup-cache-disk-cache-path = Disk Cache Path
+startup-cache-ignore-disk-cache = Ignore Disk Cache
+startup-cache-found-disk-cache-on-init = Found Disk Cache on Init
+startup-cache-wrote-to-disk-cache = Wrote to Disk Cache
+launcher-process-status-0 = Enabled
+launcher-process-status-1 = Disabled due to failure
+launcher-process-status-2 = Disabled forcibly
+launcher-process-status-unknown = Unknown status
+# Variables
+# $remoteWindows (integer) - Number of remote windows
+# $totalWindows (integer) - Number of total windows
+multi-process-windows = { $remoteWindows }/{ $totalWindows }
+# Variables
+# $fissionWindows (integer) - Number of remote windows
+# $totalWindows (integer) - Number of total windows
+fission-windows = { $fissionWindows }/{ $totalWindows }
+fission-status-experiment-control = Disabled by experiment
+fission-status-experiment-treatment = Enabled by experiment
+fission-status-disabled-by-e10s-env = Disabled by environment
+fission-status-enabled-by-env = Enabled by environment
+fission-status-disabled-by-env = Disabled by environment
+fission-status-enabled-by-default = Enabled by default
+fission-status-disabled-by-default = Disabled by default
+fission-status-enabled-by-user-pref = Enabled by user
+fission-status-disabled-by-user-pref = Disabled by user
+fission-status-disabled-by-e10s-other = E10s disabled
+fission-status-enabled-by-rollout = Enabled by phased rollout
+async-pan-zoom = Asynchronous Pan/Zoom
+apz-none = none
+wheel-enabled = wheel input enabled
+touch-enabled = touch input enabled
+drag-enabled = scrollbar drag enabled
+keyboard-enabled = keyboard enabled
+autoscroll-enabled = autoscroll enabled
+zooming-enabled = smooth pinch-zoom enabled
+
+## Variables
+## $preferenceKey (string) - String ID of preference
+
+wheel-warning = async wheel input disabled due to unsupported pref: { $preferenceKey }
+touch-warning = async touch input disabled due to unsupported pref: { $preferenceKey }
+
+## Strings representing the status of the Enterprise Policies engine.
+
+policies-inactive = Inactive
+policies-active = Active
+policies-error = Error
+
+## Printing section
+
+support-printing-title = Printing
+support-printing-troubleshoot = Troubleshooting
+support-printing-clear-settings-button = Clear saved print settings
+support-printing-modified-settings = Modified print settings
+support-printing-prefs-name = Name
+support-printing-prefs-value = Value
+
+## Normandy sections
+
+support-remote-experiments-title = Remote Experiments
+support-remote-experiments-name = Name
+support-remote-experiments-branch = Experiment Branch
+support-remote-experiments-see-about-studies = See <a data-l10n-name="support-about-studies-link">about:studies</a> for more information, including how to disable individual experiments or to disable { -brand-short-name } from running this type of experiment in the future.
+support-remote-features-title = Remote Features
+support-remote-features-name = Name
+support-remote-features-status = Status
+
+## Pointing devices
+
+pointing-device-mouse = Mouse
+pointing-device-touchscreen = Touchscreen
+pointing-device-pen-digitizer = Pen Digitizer
+pointing-device-none = No pointing devices
diff --git a/thunderbird-l10n/en-CA/localization/en-CA/toolkit/about/aboutTelemetry.ftl b/thunderbird-l10n/en-CA/localization/en-CA/toolkit/about/aboutTelemetry.ftl
new file mode 100644
index 0000000000..8ec1e01bc4
--- /dev/null
+++ b/thunderbird-l10n/en-CA/localization/en-CA/toolkit/about/aboutTelemetry.ftl
@@ -0,0 +1,136 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+about-telemetry-ping-data-source = Ping data source:
+about-telemetry-show-current-data = Current data
+about-telemetry-show-archived-ping-data = Archived ping data
+about-telemetry-show-subsession-data = Show subsession data
+about-telemetry-choose-ping = Choose ping:
+about-telemetry-archive-ping-type = Ping Type
+about-telemetry-archive-ping-header = Ping
+about-telemetry-option-group-today = Today
+about-telemetry-option-group-yesterday = Yesterday
+about-telemetry-option-group-older = Older
+about-telemetry-previous-ping = <<
+about-telemetry-next-ping = >>
+about-telemetry-page-title = Telemetry Data
+about-telemetry-current-store = Current Store:
+about-telemetry-more-information = Looking for more information?
+about-telemetry-firefox-data-doc = The <a data-l10n-name="data-doc-link">Firefox Data Documentation</a> contains guides about how to work with our data tools.
+about-telemetry-telemetry-client-doc = The <a data-l10n-name="client-doc-link">Firefox Telemetry client documentation</a> includes definitions for concepts, API documentation and data references.
+about-telemetry-telemetry-dashboard = The <a data-l10n-name="dashboard-link">Telemetry dashboards</a> allow you to visualize the data Mozilla receives via Telemetry.
+about-telemetry-telemetry-probe-dictionary = The <a data-l10n-name="probe-dictionary-link">Probe Dictionary</a> provides details and descriptions for the probes collected by Telemetry.
+about-telemetry-show-in-Firefox-json-viewer = Open in the JSON viewer
+about-telemetry-home-section = Home
+about-telemetry-general-data-section = General Data
+about-telemetry-environment-data-section = Environment Data
+about-telemetry-session-info-section = Session Information
+about-telemetry-scalar-section = Scalars
+about-telemetry-keyed-scalar-section = Keyed Scalars
+about-telemetry-histograms-section = Histograms
+about-telemetry-keyed-histogram-section = Keyed Histograms
+about-telemetry-events-section = Events
+about-telemetry-simple-measurements-section = Simple Measurements
+about-telemetry-slow-sql-section = Slow SQL Statements
+about-telemetry-addon-details-section = Add-on Details
+about-telemetry-late-writes-section = Late Writes
+about-telemetry-raw-payload-section = Raw Payload
+about-telemetry-raw = Raw JSON
+about-telemetry-full-sql-warning = NOTE: Slow SQL debugging is enabled. Full SQL strings may be displayed below but they will not be submitted to Telemetry.
+about-telemetry-fetch-stack-symbols = Fetch function names for stacks
+about-telemetry-hide-stack-symbols = Show raw stack data
+# Selects the correct release version
+# Variables:
+# $channel (String): represents the corresponding release data string
+about-telemetry-data-type =
+ { $channel ->
+ [release] release data
+ *[prerelease] pre-release data
+ }
+# Selects the correct upload string
+# Variables:
+# $uploadcase (String): represents a corresponding upload string
+about-telemetry-upload-type =
+ { $uploadcase ->
+ [enabled] enabled
+ *[disabled] disabled
+ }
+# Example Output: 1 sample, average = 0, sum = 0
+# Variables:
+# $sampleCount (Integer): amount of histogram samples
+# $prettyAverage (Integer): average of histogram samples
+# $sum (Integer): sum of histogram samples
+about-telemetry-histogram-stats =
+ { $sampleCount ->
+ [one] { $sampleCount } sample, average = { $prettyAverage }, sum = { $sum }
+ *[other] { $sampleCount } samples, average = { $prettyAverage }, sum = { $sum }
+ }
+# Variables:
+# $telemetryServerOwner (String): the value of the toolkit.telemetry.server_owner preference. Typically "Mozilla"
+about-telemetry-page-subtitle = This page shows the information about performance, hardware, usage and customizations collected by Telemetry. This information is submitted to { $telemetryServerOwner } to help improve { -brand-full-name }.
+about-telemetry-settings-explanation = Telemetry is collecting { about-telemetry-data-type } and upload is <a data-l10n-name="upload-link">{ about-telemetry-upload-type }</a>.
+# Variables:
+# $name (String): ping name, e.g. “saved-session”
+# $timeStamp (String): ping localized timestamp, e.g. “2017/07/08 10:40:46”
+about-telemetry-ping-details = Each piece of information is sent bundled into “<a data-l10n-name="ping-link">pings</a>”. You are looking at the { $name }, { $timestamp } ping.
+about-telemetry-data-details-current = Each piece of information is sent bundled into “<a data-l10n-name="ping-link">pings</a>“. You are looking at the current data.
+# string used as a placeholder for the search field
+# More info about it can be found here:
+# https://firefox-source-docs.mozilla.org/toolkit/components/telemetry/telemetry/data/main-ping.html
+# Variables:
+# $selectedTitle (String): the section name from the structure of the ping.
+about-telemetry-filter-placeholder =
+ .placeholder = Find in { $selectedTitle }
+about-telemetry-filter-all-placeholder =
+ .placeholder = Find in all sections
+# Variables:
+# $searchTerms (String): the searched terms
+about-telemetry-results-for-search = Results for “{ $searchTerms }”
+# More info about it can be found here: https://firefox-source-docs.mozilla.org/toolkit/components/telemetry/telemetry/data/main-ping.html
+# Variables:
+# $sectionName (String): the section name from the structure of the ping.
+# $currentSearchText (String): the current text in the search input
+about-telemetry-no-search-results = Sorry! There are no results in { $sectionName } for “{ $currentSearchText }”
+# Variables:
+# $searchTerms (String): the searched terms
+about-telemetry-no-search-results-all = Sorry! There are no results in any sections for “{ $searchTerms }”
+# This message is displayed when a section is empty.
+# Variables:
+# $sectionName (String): is replaced by the section name.
+about-telemetry-no-data-to-display = Sorry! There is currently no data available in “{ $sectionName }”
+# used as a tooltip for the “current” ping title in the sidebar
+about-telemetry-current-data-sidebar = current data
+# used in the “Ping Type” select
+about-telemetry-telemetry-ping-type-all = all
+# button label to copy the histogram
+about-telemetry-histogram-copy = Copy
+# these strings are used in the “Slow SQL Statements” section
+about-telemetry-slow-sql-main = Slow SQL Statements on Main Thread
+about-telemetry-slow-sql-other = Slow SQL Statements on Helper Threads
+about-telemetry-slow-sql-hits = Hits
+about-telemetry-slow-sql-average = Avg. Time (ms)
+about-telemetry-slow-sql-statement = Statement
+# these strings are used in the “Add-on Details” section
+about-telemetry-addon-table-id = Add-on ID
+about-telemetry-addon-table-details = Details
+# Variables:
+# $addonProvider (String): the name of an Add-on Provider (e.g. “XPI”, “Plugin”)
+about-telemetry-addon-provider = { $addonProvider } Provider
+about-telemetry-keys-header = Property
+about-telemetry-names-header = Name
+about-telemetry-values-header = Value
+# Variables:
+# $lateWriteCount (Integer): the number of the late writes
+about-telemetry-late-writes-title = Late Write #{ $lateWriteCount }
+about-telemetry-stack-title = Stack:
+about-telemetry-memory-map-title = Memory map:
+about-telemetry-error-fetching-symbols = An error occurred while fetching symbols. Check that you are connected to the Internet and try again.
+about-telemetry-time-stamp-header = timestamp
+about-telemetry-category-header = category
+about-telemetry-method-header = method
+about-telemetry-object-header = object
+about-telemetry-extra-header = extra
+# Variables:
+# $process (String): type of process in subsection headers ( e.g. "content", "parent" )
+about-telemetry-process = { $process } process
diff --git a/thunderbird-l10n/en-CA/localization/en-CA/toolkit/about/aboutThirdParty.ftl b/thunderbird-l10n/en-CA/localization/en-CA/toolkit/about/aboutThirdParty.ftl
new file mode 100644
index 0000000000..e647a069bf
--- /dev/null
+++ b/thunderbird-l10n/en-CA/localization/en-CA/toolkit/about/aboutThirdParty.ftl
@@ -0,0 +1,85 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+third-party-page-title = Third-party Module Information
+third-party-section-title = List of third-party modules in { -brand-short-name }
+third-party-intro =
+ This page shows the third-party modules which were injected into your
+ { -brand-short-name }. Any module that is not signed by Microsoft or
+ { -vendor-short-name } is considered to be a third-party module.
+third-party-message-empty = No third-party modules were detected.
+third-party-message-no-duration = Not recorded
+third-party-detail-version = File version
+third-party-detail-vendor = Vendor info
+third-party-detail-occurrences = Occurrences
+ .title = How many times this module was loaded.
+third-party-detail-duration = Avg. Blocking time (ms)
+ .title = How long this module blocked the application.
+third-party-detail-app = Application
+third-party-detail-publisher = Publisher
+third-party-th-process = Process
+third-party-th-duration = Loading Duration (ms)
+third-party-th-status = Status
+third-party-tag-ime = IME
+ .title = This type of module is loaded when you use a third-party IME.
+third-party-tag-shellex = Shell Extension
+ .title = This type of module is loaded when you open the system file dialog.
+third-party-tag-background = Background
+ .title =
+ This module did not block the application because it was loaded
+ in the background.
+third-party-icon-unsigned =
+ .title = This module is not signed
+ .alt = This module is not signed
+third-party-icon-warning =
+ .title = { -brand-short-name } crashed in code from this module
+ .alt = { -brand-short-name } crashed in code from this module
+third-party-status-loaded = Loaded
+third-party-status-blocked = Blocked
+third-party-status-redirected = Redirected
+third-party-button-copy-to-clipboard = Copy raw data to clipboard
+third-party-loading-data =
+ .alt = Loading system information…
+ .title = Loading system information…
+third-party-button-reload = Reload with system info
+ .title = Reload with system information
+third-party-button-open =
+ .title = Open file location…
+third-party-button-to-block =
+ .title = Block this module
+ .aria-label = Block this module
+third-party-button-to-unblock =
+ .title = Currently blocked. Click to unblock it.
+ .aria-label = Currently blocked. Click to unblock it.
+third-party-button-to-unblock-disabled =
+ .title =
+ Currently marked as blocked, although the blocklist is disabled for this run
+ of { -brand-short-name }. Click to unblock it.
+ .aria-label =
+ Currently marked as blocked, although the blocklist is disabled for this run
+ of { -brand-short-name }. Click to unblock it.
+third-party-button-to-block-module = Block this module
+ .title = Block this module
+ .aria-label = Block this module
+third-party-button-to-unblock-module = Unblock this module
+ .title = Currently blocked. Click to unblock it.
+ .aria-label = Currently blocked. Click to unblock it.
+third-party-button-to-unblock-module-disabled = Unblock this module (blocklist currently disabled)
+ .title =
+ Currently marked as blocked, although the blocklist is disabled for this run
+ of { -brand-short-name }. Click to unblock it.
+ .aria-label =
+ Currently marked as blocked, although the blocklist is disabled for this run
+ of { -brand-short-name }. Click to unblock it.
+third-party-button-expand =
+ .title = Show detailed information
+third-party-button-collapse =
+ .title = Collapse detailed information
+third-party-blocking-requires-restart = To block a third-party module, { -brand-short-name } must restart.
+third-party-should-restart-title = Restart { -brand-short-name }
+third-party-restart-now = Restart now
+third-party-restart-later = Restart later
+third-party-blocked-by-builtin =
+ .title = Blocked by { -brand-short-name }
+ .alt = Blocked by { -brand-short-name }
diff --git a/thunderbird-l10n/en-CA/localization/en-CA/toolkit/about/aboutWebauthn.ftl b/thunderbird-l10n/en-CA/localization/en-CA/toolkit/about/aboutWebauthn.ftl
new file mode 100644
index 0000000000..6fbe8159b2
--- /dev/null
+++ b/thunderbird-l10n/en-CA/localization/en-CA/toolkit/about/aboutWebauthn.ftl
@@ -0,0 +1,3 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
diff --git a/thunderbird-l10n/en-CA/localization/en-CA/toolkit/about/aboutWebrtc.ftl b/thunderbird-l10n/en-CA/localization/en-CA/toolkit/about/aboutWebrtc.ftl
new file mode 100644
index 0000000000..b9c23aa974
--- /dev/null
+++ b/thunderbird-l10n/en-CA/localization/en-CA/toolkit/about/aboutWebrtc.ftl
@@ -0,0 +1,316 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+
+### Localization for about:webrtc, a troubleshooting and diagnostic page
+### for WebRTC calls. See https://developer.mozilla.org/en-US/docs/Web/API/WebRTC_API.
+
+# The text "WebRTC" is a proper noun and should not be translated.
+about-webrtc-document-title = WebRTC Internals
+# "about:webrtc" is a internal browser URL and should not be
+# translated. This string is used as a title for a file save dialog box.
+about-webrtc-save-page-dialog-title = save about:webrtc as
+
+## These labels are for a disclosure which contains the information for closed PeerConnection sections
+
+about-webrtc-closed-peerconnection-disclosure-show-msg = Show Closed PeerConnections
+about-webrtc-closed-peerconnection-disclosure-hide-msg = Hide Closed PeerConnections
+
+## AEC is an abbreviation for Acoustic Echo Cancellation.
+
+about-webrtc-aec-logging-msg-label = AEC Logging
+about-webrtc-aec-logging-off-state-label = Start AEC Logging
+about-webrtc-aec-logging-on-state-label = Stop AEC Logging
+about-webrtc-aec-logging-on-state-msg = AEC logging active (speak with the caller for a few minutes and then stop the capture)
+about-webrtc-aec-logging-toggled-on-state-msg = AEC logging active (speak with the caller for a few minutes and then stop the capture)
+about-webrtc-aec-logging-unavailable-sandbox = The environment variable MOZ_DISABLE_CONTENT_SANDBOX=1 is required to export AEC logs. Only set this variable if you understand the possible risks.
+# Variables:
+# $path (String) - The path to which the aec log file is saved.
+about-webrtc-aec-logging-toggled-off-state-msg = Captured log files can be found in: { $path }
+
+##
+
+# The autorefresh checkbox causes a stats section to autorefresh its content when checked
+about-webrtc-auto-refresh-label = Auto Refresh
+# Determines the default state of the Auto Refresh check boxes
+about-webrtc-auto-refresh-default-label = Auto Refresh By Default
+# A button which forces a refresh of displayed statistics
+about-webrtc-force-refresh-button = Refresh
+# "PeerConnection" is a proper noun associated with the WebRTC module. "ID" is
+# an abbreviation for Identifier. This string should not normally be translated
+# and is used as a data label.
+about-webrtc-peerconnection-id-label = PeerConnection ID:
+# The number of DataChannels that a PeerConnection has opened
+about-webrtc-data-channels-opened-label = Data Channels Opened:
+# The number of once open DataChannels that a PeerConnection has closed
+about-webrtc-data-channels-closed-label = Data Channels Closed:
+
+## "SDP" is an abbreviation for Session Description Protocol, an IETF standard.
+## See http://wikipedia.org/wiki/Session_Description_Protocol
+
+about-webrtc-sdp-heading = SDP
+about-webrtc-local-sdp-heading = Local SDP
+about-webrtc-local-sdp-heading-offer = Local SDP (Offer)
+about-webrtc-local-sdp-heading-answer = Local SDP (Answer)
+about-webrtc-remote-sdp-heading = Remote SDP
+about-webrtc-remote-sdp-heading-offer = Remote SDP (Offer)
+about-webrtc-remote-sdp-heading-answer = Remote SDP (Answer)
+about-webrtc-sdp-history-heading = SDP History
+about-webrtc-sdp-parsing-errors-heading = SDP Parsing Errors
+
+##
+
+# "RTP" is an abbreviation for the Real-time Transport Protocol, an IETF
+# specification, and should not normally be translated. "Stats" is an
+# abbreviation for Statistics.
+about-webrtc-rtp-stats-heading = RTP Stats
+
+## "ICE" is an abbreviation for Interactive Connectivity Establishment, which
+## is an IETF protocol, and should not normally be translated.
+
+about-webrtc-ice-state = ICE State
+# "Stats" is an abbreviation for Statistics.
+about-webrtc-ice-stats-heading = ICE Stats
+about-webrtc-ice-restart-count-label = ICE restarts:
+about-webrtc-ice-rollback-count-label = ICE rollbacks:
+about-webrtc-ice-pair-bytes-sent = Bytes sent:
+about-webrtc-ice-pair-bytes-received = Bytes received:
+about-webrtc-ice-component-id = Component ID
+
+## These adjectives are used to label a line of statistics collected for a peer
+## connection. The data represents either the local or remote end of the
+## connection.
+
+about-webrtc-type-local = Local
+about-webrtc-type-remote = Remote
+
+##
+
+# This adjective is used to label a table column. Cells in this column contain
+# the localized javascript string representation of "true" or are left blank.
+about-webrtc-nominated = Nominated
+# This adjective is used to label a table column. Cells in this column contain
+# the localized javascript string representation of "true" or are left blank.
+# This represents an attribute of an ICE candidate.
+about-webrtc-selected = Selected
+about-webrtc-save-page-label = Save Page
+about-webrtc-debug-mode-msg-label = Debug Mode
+about-webrtc-debug-mode-off-state-label = Start Debug Mode
+about-webrtc-debug-mode-on-state-label = Stop Debug Mode
+about-webrtc-enable-logging-label = Enable WebRTC Log Preset
+about-webrtc-stats-heading = Session Statistics
+about-webrtc-stats-clear = Clear History
+about-webrtc-log-heading = Connection Log
+about-webrtc-log-clear = Clear Log
+about-webrtc-log-show-msg = show log
+ .title = click to expand this section
+about-webrtc-log-hide-msg = hide log
+ .title = click to collapse this section
+about-webrtc-log-section-show-msg = Show Log
+ .title = Click to expand this section
+about-webrtc-log-section-hide-msg = Hide Log
+ .title = Click to collapse this section
+about-webrtc-copy-report-button = Copy Report
+about-webrtc-copy-report-history-button = Copy Report History
+
+## These are used to display a header for a PeerConnection.
+## Variables:
+## $browser-id (Number) - A numeric id identifying the browser tab for the PeerConnection.
+## $id (String) - A globally unique identifier for the PeerConnection.
+## $url (String) - The url of the site which opened the PeerConnection.
+## $now (Date) - The JavaScript timestamp at the time the report was generated.
+
+about-webrtc-connection-open = [ { $browser-id } | { $id } ] { $url } { $now }
+about-webrtc-connection-closed = [ { $browser-id } | { $id } ] { $url } (closed) { $now }
+
+## These are used to indicate what direction media is flowing.
+## Variables:
+## $codecs - a list of media codecs
+
+about-webrtc-short-send-receive-direction = Send / Receive: { $codecs }
+about-webrtc-short-send-direction = Send: { $codecs }
+about-webrtc-short-receive-direction = Receive: { $codecs }
+
+##
+
+about-webrtc-local-candidate = Local Candidate
+about-webrtc-remote-candidate = Remote Candidate
+about-webrtc-raw-candidates-heading = All Raw Candidates
+about-webrtc-raw-local-candidate = Raw Local Candidate
+about-webrtc-raw-remote-candidate = Raw Remote Candidate
+about-webrtc-raw-cand-show-msg = show raw candidates
+ .title = click to expand this section
+about-webrtc-raw-cand-hide-msg = hide raw candidates
+ .title = click to collapse this section
+about-webrtc-raw-cand-section-show-msg = Show Raw Candidates
+ .title = Click to expand this section
+about-webrtc-raw-cand-section-hide-msg = Hide Raw Candidates
+ .title = Click to collapse this section
+about-webrtc-priority = Priority
+about-webrtc-fold-show-msg = show details
+ .title = click to expand this section
+about-webrtc-fold-hide-msg = hide details
+ .title = click to collapse this section
+about-webrtc-fold-default-show-msg = Show Details
+ .title = Click to expand this section
+about-webrtc-fold-default-hide-msg = Hide Details
+ .title = Click to collapse this section
+about-webrtc-dropped-frames-label = Dropped frames:
+about-webrtc-discarded-packets-label = Discarded packets:
+about-webrtc-decoder-label = Decoder
+about-webrtc-encoder-label = Encoder
+about-webrtc-show-tab-label = Show tab
+about-webrtc-current-framerate-label = Framerate
+about-webrtc-width-px = Width (px)
+about-webrtc-height-px = Height (px)
+about-webrtc-consecutive-frames = Consecutive Frames
+about-webrtc-time-elapsed = Time Elapsed (s)
+about-webrtc-estimated-framerate = Estimated Framerate
+about-webrtc-rotation-degrees = Rotation (degrees)
+about-webrtc-first-frame-timestamp = First Frame Reception Timestamp
+about-webrtc-last-frame-timestamp = Last Frame Reception Timestamp
+
+## SSRCs are identifiers that represent endpoints in an RTP stream
+
+# This is an SSRC on the local side of the connection that is receiving RTP
+about-webrtc-local-receive-ssrc = Local Receiving SSRC
+# This is an SSRC on the remote side of the connection that is sending RTP
+about-webrtc-remote-send-ssrc = Remote Sending SSRC
+
+## These are displayed on the button that shows or hides the
+## PeerConnection configuration disclosure
+
+about-webrtc-pc-configuration-show-msg = Show Configuration
+about-webrtc-pc-configuration-hide-msg = Hide Configuration
+
+##
+
+# An option whose value will not be displayed but instead noted as having been
+# provided
+about-webrtc-configuration-element-provided = Provided
+# An option whose value will not be displayed but instead noted as having not
+# been provided
+about-webrtc-configuration-element-not-provided = Not Provided
+# The options set by the user in about:config that could impact a WebRTC call
+about-webrtc-custom-webrtc-configuration-heading = User Set WebRTC Preferences
+# Section header for estimated bandwidths of WebRTC media flows
+about-webrtc-bandwidth-stats-heading = Estimated Bandwidth
+# The ID of the MediaStreamTrack
+about-webrtc-track-identifier = Track Identifier
+# The estimated bandwidth available for sending WebRTC media in bytes per second
+about-webrtc-send-bandwidth-bytes-sec = Send Bandwidth (bytes/sec)
+# The estimated bandwidth available for receiving WebRTC media in bytes per second
+about-webrtc-receive-bandwidth-bytes-sec = Receive Bandwidth (bytes/sec)
+# Maximum number of bytes per second that will be padding zeros at the ends of packets
+about-webrtc-max-padding-bytes-sec = Maximum Padding (bytes/sec)
+# The amount of time inserted between packets to keep them spaced out
+about-webrtc-pacer-delay-ms = Pacer Delay ms
+# The amount of time it takes for a packet to travel from the local machine to the remote machine,
+# and then have a packet return
+about-webrtc-round-trip-time-ms = RTT ms
+# This is a section heading for video frame statistics for a MediaStreamTrack.
+# see https://developer.mozilla.org/en-US/docs/Web/API/MediaStreamTrack.
+# Variables:
+# $track-identifier (String) - The unique identifier for the MediaStreamTrack.
+about-webrtc-frame-stats-heading = Video Frame Statistics - MediaStreamTrack ID: { $track-identifier }
+
+## These are paths used for saving the about:webrtc page or log files so
+## they can be attached to bug reports.
+## Variables:
+## $path (String) - The path to which the file is saved.
+
+about-webrtc-save-page-msg = page saved to: { $path }
+about-webrtc-debug-mode-off-state-msg = trace log can be found at: { $path }
+about-webrtc-debug-mode-on-state-msg = debug mode active, trace log at: { $path }
+about-webrtc-aec-logging-off-state-msg = captured log files can be found in: { $path }
+# This path is used for saving the about:webrtc page so it can be attached to
+# bug reports.
+# Variables:
+# $path (String) - The path to which the file is saved.
+about-webrtc-save-page-complete-msg = Page saved to: { $path }
+# This is the total number of frames encoded or decoded over an RTP stream.
+# Variables:
+# $frames (Number) - The number of frames encoded or decoded.
+about-webrtc-frames =
+ { $frames ->
+ [one] { $frames } frame
+ *[other] { $frames } frames
+ }
+# This is the number of audio channels encoded or decoded over an RTP stream.
+# Variables:
+# $channels (Number) - The number of channels encoded or decoded.
+about-webrtc-channels =
+ { $channels ->
+ [one] { $channels } channel
+ *[other] { $channels } channels
+ }
+# This is the total number of packets received on the PeerConnection.
+# Variables:
+# $packets (Number) - The number of packets received.
+about-webrtc-received-label =
+ { $packets ->
+ [one] Received { $packets } packet
+ *[other] Received { $packets } packets
+ }
+# This is the total number of packets lost by the PeerConnection.
+# Variables:
+# $packets (Number) - The number of packets lost.
+about-webrtc-lost-label =
+ { $packets ->
+ [one] Lost { $packets } packet
+ *[other] Lost { $packets } packets
+ }
+# This is the total number of packets sent by the PeerConnection.
+# Variables:
+# $packets (Number) - The number of packets sent.
+about-webrtc-sent-label =
+ { $packets ->
+ [one] Sent { $packets } packet
+ *[other] Sent { $packets } packets
+ }
+# Jitter is the variance in the arrival time of packets.
+# See: https://w3c.github.io/webrtc-stats/#dom-rtcreceivedrtpstreamstats-jitter
+# Variables:
+# $jitter (Number) - The jitter.
+about-webrtc-jitter-label = Jitter { $jitter }
+# ICE candidates arriving after the remote answer arrives are considered trickled
+# (an attribute of an ICE candidate). These are highlighted in the ICE stats
+# table with light blue background.
+about-webrtc-trickle-caption-msg = Trickled candidates (arriving after answer) are highlighted in blue
+
+## "SDP" is an abbreviation for Session Description Protocol, an IETF standard.
+## See http://wikipedia.org/wiki/Session_Description_Protocol
+
+# This is used as a header for local SDP.
+# Variables:
+# $timestamp (Number) - The Unix Epoch time at which the SDP was set.
+about-webrtc-sdp-set-at-timestamp-local = Set Local SDP at timestamp { NUMBER($timestamp, useGrouping: "false") }
+# This is used as a header for remote SDP.
+# Variables:
+# $timestamp (Number) - The Unix Epoch time at which the SDP was set.
+about-webrtc-sdp-set-at-timestamp-remote = Set Remote SDP at timestamp { NUMBER($timestamp, useGrouping: "false") }
+# This is used as a header for an SDP section contained in two columns allowing for side-by-side comparisons.
+# Variables:
+# $timestamp (Number) - The Unix Epoch time at which the SDP was set.
+# $relative-timestamp (Number) - The timestamp relative to the timestamp of the earliest received SDP.
+about-webrtc-sdp-set-timestamp = Timestamp { NUMBER($timestamp, useGrouping: "false") } (+ { $relative-timestamp } ms)
+
+## These are displayed on the button that shows or hides the SDP information disclosure
+
+about-webrtc-show-msg-sdp = Show SDP
+about-webrtc-hide-msg-sdp = Hide SDP
+
+##
+
+
+## These are displayed on the button that shows or hides the Media Context information disclosure.
+## The Media Context is the set of preferences and detected capabilities that informs
+## the negotiated CODEC settings.
+
+about-webrtc-media-context-show-msg = Show Media Context
+about-webrtc-media-context-hide-msg = Hide Media Context
+about-webrtc-media-context-heading = Media Context
+
+##
+
diff --git a/thunderbird-l10n/en-CA/localization/en-CA/toolkit/about/aboutWindowsMessages.ftl b/thunderbird-l10n/en-CA/localization/en-CA/toolkit/about/aboutWindowsMessages.ftl
new file mode 100644
index 0000000000..9bd049a6ac
--- /dev/null
+++ b/thunderbird-l10n/en-CA/localization/en-CA/toolkit/about/aboutWindowsMessages.ftl
@@ -0,0 +1,20 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+
+### Localization for the about:windows-messages page, which is only available
+### on the Windows operating system.
+### This page records and shows messages sent from the operating system to
+### individual browser windows. These messages can be useful in debugging
+### hard-to-reproduce issues with window sizing and position.
+
+# Windows refers to the operating system
+windows-messages-page-title = Windows Messages Information
+windows-messages-intro =
+ This page shows the most recent messages sent by Windows
+ to the { -brand-short-name } browser windows. The
+ bolded entry represents this window. Note that this page shows
+ the most recent messages at the time the page was loaded;
+ to see current ones you will need to refresh the page.
+windows-messages-copy-to-clipboard = Copy to clipboard
diff --git a/thunderbird-l10n/en-CA/localization/en-CA/toolkit/about/abuseReports.ftl b/thunderbird-l10n/en-CA/localization/en-CA/toolkit/about/abuseReports.ftl
new file mode 100644
index 0000000000..957ee49474
--- /dev/null
+++ b/thunderbird-l10n/en-CA/localization/en-CA/toolkit/about/abuseReports.ftl
@@ -0,0 +1,116 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# Localized string used as the dialog window title.
+# "Report" is a noun in this case, "Report for AddonName".
+#
+# Variables:
+# $addon-name (string) - Name of the add-on being reported
+abuse-report-dialog-title = Report for { $addon-name }
+abuse-report-title-extension = Report This Extension to { -vendor-short-name }
+abuse-report-title-sitepermission = Report This Site Permissions add-on to { -vendor-short-name }
+abuse-report-title-theme = Report This Theme to { -vendor-short-name }
+abuse-report-subtitle = What’s the issue?
+# Variables:
+# $author-name (string) - Name of the add-on author
+abuse-report-addon-authored-by = by <a data-l10n-name="author-name">{ $author-name }</a>
+abuse-report-learnmore =
+ Unsure what issue to select?
+ <a data-l10n-name="learnmore-link">Learn more about reporting extensions and themes</a>
+abuse-report-learnmore-intro = Unsure what issue to select?
+abuse-report-learnmore-link = Learn more about reporting extensions and themes
+abuse-report-submit-description = Describe the problem (optional)
+abuse-report-textarea =
+ .placeholder = It’s easier for us to address a problem if we have specifics. Please describe what you’re experiencing. Thank you for helping us keep the web healthy.
+abuse-report-submit-note =
+ Note: Don’t include personal information (such as name, email address, phone number, physical address).
+ { -vendor-short-name } keeps a permanent record of these reports.
+
+## Panel buttons.
+
+abuse-report-cancel-button = Cancel
+abuse-report-next-button = Next
+abuse-report-goback-button = Go back
+abuse-report-submit-button = Submit
+
+## Message bars descriptions.
+##
+## Variables:
+## $addon-name (string) - Name of the add-on
+
+abuse-report-messagebar-aborted = Report for <span data-l10n-name="addon-name">{ $addon-name }</span> cancelled.
+abuse-report-messagebar-submitting = Sending report for <span data-l10n-name="addon-name">{ $addon-name }</span>.
+abuse-report-messagebar-submitted = Thank you for submitting a report. Do you want to remove <span data-l10n-name="addon-name">{ $addon-name }</span>?
+abuse-report-messagebar-submitted-noremove = Thank you for submitting a report.
+abuse-report-messagebar-removed-extension = Thank you for submitting a report. You’ve removed the extension <span data-l10n-name="addon-name">{ $addon-name }</span>.
+abuse-report-messagebar-removed-sitepermission = Thank you for submitting a report. You’ve removed the Site Permissions add-on <span data-l10n-name="addon-name">{ $addon-name }</span>.
+abuse-report-messagebar-removed-theme = Thank you for submitting a report. You’ve removed the theme <span data-l10n-name="addon-name">{ $addon-name }</span>.
+abuse-report-messagebar-error = There was an error sending the report for <span data-l10n-name="addon-name">{ $addon-name }</span>.
+abuse-report-messagebar-error-recent-submit = The report for <span data-l10n-name="addon-name">{ $addon-name }</span> wasn’t sent because another report was submitted recently.
+abuse-report-messagebar-aborted2 =
+ .message = Report for { $addon-name } cancelled.
+abuse-report-messagebar-submitting2 =
+ .message = Sending report for { $addon-name }.
+abuse-report-messagebar-submitted2 =
+ .message = Thank you for submitting a report. Do you want to remove { $addon-name }?
+abuse-report-messagebar-submitted-noremove2 =
+ .message = Thank you for submitting a report.
+abuse-report-messagebar-removed-extension2 =
+ .message = Thank you for submitting a report. You’ve removed the extension { $addon-name }.
+abuse-report-messagebar-removed-sitepermission2 =
+ .message = Thank you for submitting a report. You’ve removed the Site Permissions add-on { $addon-name }.
+abuse-report-messagebar-removed-theme2 =
+ .message = Thank you for submitting a report. You’ve removed the theme { $addon-name }.
+abuse-report-messagebar-error2 =
+ .message = There was an error sending the report for { $addon-name }.
+abuse-report-messagebar-error-recent-submit2 =
+ .message = The report for { $addon-name } wasn’t sent because another report was submitted recently.
+
+## Message bars actions.
+
+abuse-report-messagebar-action-remove-extension = Yes, Remove It
+abuse-report-messagebar-action-keep-extension = No, I’ll Keep It
+abuse-report-messagebar-action-remove-sitepermission = Yes, Remove It
+abuse-report-messagebar-action-keep-sitepermission = No, I’ll Keep It
+abuse-report-messagebar-action-remove-theme = Yes, Remove It
+abuse-report-messagebar-action-keep-theme = No, I’ll Keep It
+abuse-report-messagebar-action-retry = Retry
+abuse-report-messagebar-action-cancel = Cancel
+
+## Abuse report reasons (optionally paired with related examples and/or suggestions)
+
+abuse-report-damage-reason-v2 = It damaged my computer or compromised my data
+abuse-report-damage-example = Example: Injected malware or stole data
+abuse-report-spam-reason-v2 = It contains spam or inserts unwanted advertising
+abuse-report-spam-example = Example: Insert ads on webpages
+abuse-report-settings-reason-v2 = It changed my search engine, homepage, or new tab without informing or asking me
+abuse-report-settings-suggestions = Before reporting the extension, you can try changing your settings:
+abuse-report-settings-suggestions-search = Change your default search settings
+abuse-report-settings-suggestions-homepage = Change your homepage and new tab
+abuse-report-deceptive-reason-v2 = It claims to be something it’s not
+abuse-report-deceptive-example = Example: Misleading description or imagery
+abuse-report-broken-reason-extension-v2 = It doesn’t work, breaks websites, or slows down { -brand-product-name }
+abuse-report-broken-reason-sitepermission-v2 = It doesn’t work, breaks websites, or slows down { -brand-product-name }
+abuse-report-broken-reason-theme-v2 = It doesn’t work or breaks browser display
+abuse-report-broken-example = Example: Features are slow, hard to use, or don’t work; parts of websites won’t load or look unusual
+abuse-report-broken-suggestions-extension =
+ It sounds like you’ve identified a bug. In addition to submitting a report here, the best way
+ to get a functionality issue resolved is to contact the extension developer.
+ <a data-l10n-name="support-link">Visit the extension’s website</a> to get the developer information.
+abuse-report-broken-suggestions-sitepermission =
+ It sounds like you’ve identified a bug. In addition to submitting a report here, the best way
+ to get a functionality issue resolved is to contact the website developer.
+ <a data-l10n-name="support-link">Visit the website</a> to get the developer information.
+abuse-report-broken-suggestions-theme =
+ It sounds like you’ve identified a bug. In addition to submitting a report here, the best way
+ to get a functionality issue resolved is to contact the theme developer.
+ <a data-l10n-name="support-link">Visit the theme’s website</a> to get the developer information.
+abuse-report-policy-reason-v2 = It contains hateful, violent, or illegal content
+abuse-report-policy-suggestions =
+ Note: Copyright and trademark issues must be reported in a separate process.
+ <a data-l10n-name="report-infringement-link">Use these instructions</a> to
+ report the problem.
+abuse-report-unwanted-reason-v2 = I never wanted it and don’t know how to get rid of it
+abuse-report-unwanted-example = Example: An application installed it without my permission
+abuse-report-other-reason = Something else
diff --git a/thunderbird-l10n/en-CA/localization/en-CA/toolkit/about/certviewer.ftl b/thunderbird-l10n/en-CA/localization/en-CA/toolkit/about/certviewer.ftl
new file mode 100644
index 0000000000..2cbd46009a
--- /dev/null
+++ b/thunderbird-l10n/en-CA/localization/en-CA/toolkit/about/certviewer.ftl
@@ -0,0 +1,122 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+certificate-viewer-certificate-section-title = Certificate
+
+## Error messages
+
+certificate-viewer-error-message = We were unable to find the certificate information, or the certificate is corrupted. Please try again.
+certificate-viewer-error-title = Something went wrong.
+
+## Certificate information labels
+
+certificate-viewer-algorithm = Algorithm
+certificate-viewer-certificate-authority = Certificate Authority
+certificate-viewer-cipher-suite = Cipher Suite
+certificate-viewer-common-name = Common Name
+certificate-viewer-email-address = Email Address
+# Variables:
+# $firstCertName (String) - Common Name for the displayed certificate
+certificate-viewer-tab-title = Certificate for { $firstCertName }
+# Inc. means Incorporated, e.g GitHub is incorporated in Delaware
+certificate-viewer-inc-country = Inc. Country
+certificate-viewer-country = Country
+certificate-viewer-curve = Curve
+certificate-viewer-distribution-point = Distribution Point
+certificate-viewer-dns-name = DNS Name
+certificate-viewer-ip-address = IP Address
+certificate-viewer-other-name = Other Name
+certificate-viewer-exponent = Exponent
+certificate-viewer-id = ID
+certificate-viewer-key-exchange-group = Key Exchange Group
+certificate-viewer-key-id = Key ID
+certificate-viewer-key-size = Key Size
+# Inc. means Incorporated, e.g GitHub is incorporated in Delaware
+certificate-viewer-inc-locality = Inc. Locality
+certificate-viewer-locality = Locality
+certificate-viewer-location = Location
+certificate-viewer-logid = Log ID
+certificate-viewer-method = Method
+certificate-viewer-modulus = Modulus
+certificate-viewer-name = Name
+certificate-viewer-not-after = Not After
+certificate-viewer-not-before = Not Before
+certificate-viewer-organization = Organization
+certificate-viewer-organizational-unit = Organizational Unit
+certificate-viewer-policy = Policy
+certificate-viewer-protocol = Protocol
+certificate-viewer-public-value = Public Value
+certificate-viewer-purposes = Purposes
+certificate-viewer-qualifier = Qualifier
+certificate-viewer-qualifiers = Qualifiers
+certificate-viewer-required = Required
+certificate-viewer-unsupported = &lt;unsupported&gt;
+# Inc. means Incorporated, e.g GitHub is incorporated in Delaware
+certificate-viewer-inc-state-province = Inc. State/Province
+certificate-viewer-state-province = State/Province
+certificate-viewer-sha-1 = SHA-1
+certificate-viewer-sha-256 = SHA-256
+certificate-viewer-serial-number = Serial Number
+certificate-viewer-signature-algorithm = Signature Algorithm
+certificate-viewer-signature-scheme = Signature Scheme
+certificate-viewer-timestamp = Timestamp
+certificate-viewer-value = Value
+certificate-viewer-version = Version
+certificate-viewer-business-category = Business Category
+certificate-viewer-subject-name = Subject Name
+certificate-viewer-issuer-name = Issuer Name
+certificate-viewer-validity = Validity
+certificate-viewer-subject-alt-names = Subject Alt Names
+certificate-viewer-public-key-info = Public Key Info
+certificate-viewer-miscellaneous = Miscellaneous
+certificate-viewer-fingerprints = Fingerprints
+certificate-viewer-basic-constraints = Basic Constraints
+certificate-viewer-key-usages = Key Usages
+certificate-viewer-extended-key-usages = Extended Key Usages
+certificate-viewer-ocsp-stapling = OCSP Stapling
+certificate-viewer-subject-key-id = Subject Key ID
+certificate-viewer-authority-key-id = Authority Key ID
+certificate-viewer-authority-info-aia = Authority Info (AIA)
+certificate-viewer-certificate-policies = Certificate Policies
+certificate-viewer-embedded-scts = Embedded SCTs
+certificate-viewer-crl-endpoints = CRL Endpoints
+
+# This message is used as a row header in the Miscellaneous section.
+# The associated data cell contains links to download the certificate.
+certificate-viewer-download = Download
+# This message is used to replace boolean values (true/false) in several certificate fields, e.g. Certificate Authority
+# Variables:
+# $boolean (String) - true/false value for the specific field
+certificate-viewer-boolean =
+ { $boolean ->
+ [true] Yes
+ *[false] No
+ }
+
+## Variables:
+## $fileName (String) - The file name to save the PEM data in, derived from the common name from the certificate being displayed.
+
+certificate-viewer-download-pem = PEM (cert)
+ .download = { $fileName }.pem
+certificate-viewer-download-pem-chain = PEM (chain)
+ .download = { $fileName }-chain.pem
+
+# The title attribute for Critical Extension icon
+certificate-viewer-critical-extension =
+ .title = This extension has been marked as critical, meaning that clients must reject the certificate if they do not understand it.
+certificate-viewer-export = Export
+ .download = { $fileName }.pem
+
+##
+
+# Label for a tab where we haven't found a better label:
+certificate-viewer-unknown-group-label = (unknown)
+
+## Labels for tabs displayed in stand-alone about:certificate page
+
+certificate-viewer-tab-mine = Your Certificates
+certificate-viewer-tab-people = People
+certificate-viewer-tab-servers = Servers
+certificate-viewer-tab-ca = Authorities
+certificate-viewer-tab-unkonwn = Unknown
diff --git a/thunderbird-l10n/en-CA/localization/en-CA/toolkit/about/config.ftl b/thunderbird-l10n/en-CA/localization/en-CA/toolkit/about/config.ftl
new file mode 100644
index 0000000000..d06fc251f2
--- /dev/null
+++ b/thunderbird-l10n/en-CA/localization/en-CA/toolkit/about/config.ftl
@@ -0,0 +1,55 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+
+## These strings appear on the warning you see when first visiting about:config.
+
+about-config-intro-warning-title = Proceed with Caution
+about-config-intro-warning-text = Changing advanced configuration preferences can impact { -brand-short-name } performance or security.
+about-config-intro-warning-checkbox = Warn me when I attempt to access these preferences
+about-config-intro-warning-button = Accept the Risk and Continue
+
+##
+
+# This is shown on the page before searching but after the warning is accepted.
+about-config-caution-text = Changing these preferences can impact { -brand-short-name } performance or security.
+
+about-config-page-title = Advanced Preferences
+
+about-config-search-input1 =
+ .placeholder = Search preference name
+about-config-show-all = Show All
+
+about-config-show-only-modified = Show only modified preferences
+
+about-config-pref-add-button =
+ .title = Add
+about-config-pref-toggle-button =
+ .title = Toggle
+about-config-pref-edit-button =
+ .title = Edit
+about-config-pref-save-button =
+ .title = Save
+about-config-pref-reset-button =
+ .title = Reset
+about-config-pref-delete-button =
+ .title = Delete
+
+## Labels for the type selection radio buttons shown when adding preferences.
+
+about-config-pref-add-type-boolean = Boolean
+about-config-pref-add-type-number = Number
+about-config-pref-add-type-string = String
+
+## Preferences with a non-default value are differentiated visually, and at the
+## same time the state is made accessible to screen readers using an aria-label
+## that won't be visible or copied to the clipboard.
+##
+## Variables:
+## $value (String): The full value of the preference.
+
+about-config-pref-accessible-value-default =
+ .aria-label = { $value } (default)
+about-config-pref-accessible-value-custom =
+ .aria-label = { $value } (custom)
diff --git a/thunderbird-l10n/en-CA/localization/en-CA/toolkit/about/url-classifier.ftl b/thunderbird-l10n/en-CA/localization/en-CA/toolkit/about/url-classifier.ftl
new file mode 100644
index 0000000000..5d518142f3
--- /dev/null
+++ b/thunderbird-l10n/en-CA/localization/en-CA/toolkit/about/url-classifier.ftl
@@ -0,0 +1,58 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+url-classifier-title = URL Classifier Information
+url-classifier-search-title = Search
+url-classifier-search-result-title = Results
+url-classifier-search-result-uri = URI: { $uri }
+url-classifier-search-result-list = List of tables: { $list }
+url-classifier-search-input = URL
+url-classifier-search-error-invalid-url = Invalid URL
+url-classifier-search-error-no-features = No features selected
+url-classifier-search-btn = Start searching
+url-classifier-search-features = Features
+url-classifier-search-listType = List type
+url-classifier-provider-title = Provider
+url-classifier-provider = Provider
+url-classifier-provider-last-update-time = Last update time
+url-classifier-provider-next-update-time = Next update time
+url-classifier-provider-back-off-time = Back-off time
+url-classifier-provider-last-update-status = Last update status
+url-classifier-provider-update-btn = Update
+url-classifier-cache-title = Cache
+url-classifier-cache-refresh-btn = Refresh
+url-classifier-cache-clear-btn = Clear
+url-classifier-cache-table-name = Table name
+url-classifier-cache-ncache-entries = Number of negative cache entries
+url-classifier-cache-pcache-entries = Number of positive cache entries
+url-classifier-cache-show-entries = Show entries
+url-classifier-cache-entries = Cache Entries
+url-classifier-cache-prefix = Prefix
+url-classifier-cache-ncache-expiry = Negative cache expiry
+url-classifier-cache-fullhash = Full hash
+url-classifier-cache-pcache-expiry = Positive cache expiry
+url-classifier-debug-title = Debug
+url-classifier-debug-module-btn = Set Log Modules
+url-classifier-debug-file-btn = Set Log File
+url-classifier-debug-js-log-chk = Set JS Log
+url-classifier-debug-sb-modules = Safe Browsing log modules
+url-classifier-debug-modules = Current log modules
+url-classifier-debug-sbjs-modules = Safe Browsing JS log
+url-classifier-debug-file = Current log file
+
+url-classifier-trigger-update = Trigger Update
+url-classifier-not-available = N/A
+url-classifier-disable-sbjs-log = Disable Safe Browsing JS Log
+url-classifier-enable-sbjs-log = Enable Safe Browsing JS Log
+url-classifier-enabled = Enabled
+url-classifier-disabled = Disabled
+url-classifier-updating = updating
+url-classifier-cannot-update = cannot update
+url-classifier-success = success
+
+## Variables
+## $error (string) - Error message
+
+url-classifier-update-error = update error ({ $error })
+url-classifier-download-error = download error ({ $error })
diff --git a/thunderbird-l10n/en-CA/localization/en-CA/toolkit/branding/accounts.ftl b/thunderbird-l10n/en-CA/localization/en-CA/toolkit/branding/accounts.ftl
new file mode 100644
index 0000000000..d01a1e149f
--- /dev/null
+++ b/thunderbird-l10n/en-CA/localization/en-CA/toolkit/branding/accounts.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/.
+
+# “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
+ }
diff --git a/thunderbird-l10n/en-CA/localization/en-CA/toolkit/branding/brandings.ftl b/thunderbird-l10n/en-CA/localization/en-CA/toolkit/branding/brandings.ftl
new file mode 100644
index 0000000000..ef3b2fdedb
--- /dev/null
+++ b/thunderbird-l10n/en-CA/localization/en-CA/toolkit/branding/brandings.ftl
@@ -0,0 +1,45 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+
+## The following feature names must be treated as a brand.
+##
+## They cannot be:
+## - Transliterated.
+## - Translated.
+##
+## Declension should be avoided where possible, leaving the original
+## brand unaltered in prominent UI positions.
+##
+## For further details, consult:
+## https://mozilla-l10n.github.io/styleguides/mozilla_general/#brands-copyright-and-trademark
+
+-facebook-container-brand-name = Facebook Container
+-lockwise-brand-name = Firefox Lockwise
+-lockwise-brand-short-name = Lockwise
+-monitor-brand-name = Firefox Monitor
+-monitor-brand-short-name = Monitor
+-pocket-brand-name = Pocket
+-send-brand-name = Firefox Send
+-screenshots-brand-name = Firefox Screenshots
+-mozilla-vpn-brand-name = Mozilla VPN
+-profiler-brand-name = Firefox Profiler
+-translations-brand-name = Firefox Translations
+-focus-brand-name = Firefox Focus
+-relay-brand-name = Firefox Relay
+-relay-brand-short-name = Relay
+-fakespot-brand-name = Fakespot
+# Note the name of the website is capitalized.
+-fakespot-website-name = Fakespot.com
+# The particle "by" can be localized, "Fakespot" and "Mozilla" should not be localized or transliterated.
+-fakespot-brand-full-name = Fakespot by Mozilla
+# “Suggest” can be localized, “Firefox” must be treated as a brand
+# and kept in English.
+-firefox-suggest-brand-name = Firefox Suggest
+# ”Home" can be localized, “Firefox” must be treated as a brand
+# and kept in English.
+-firefox-home-brand-name = Firefox Home
+# View" can be localized, “Firefox” must be treated as a brand
+# and kept in English.
+-firefoxview-brand-name = Firefox View
diff --git a/thunderbird-l10n/en-CA/localization/en-CA/toolkit/contentanalysis/contentanalysis.ftl b/thunderbird-l10n/en-CA/localization/en-CA/toolkit/contentanalysis/contentanalysis.ftl
new file mode 100644
index 0000000000..6fbe8159b2
--- /dev/null
+++ b/thunderbird-l10n/en-CA/localization/en-CA/toolkit/contentanalysis/contentanalysis.ftl
@@ -0,0 +1,3 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
diff --git a/thunderbird-l10n/en-CA/localization/en-CA/toolkit/downloads/downloadUI.ftl b/thunderbird-l10n/en-CA/localization/en-CA/toolkit/downloads/downloadUI.ftl
new file mode 100644
index 0000000000..27f1006c4d
--- /dev/null
+++ b/thunderbird-l10n/en-CA/localization/en-CA/toolkit/downloads/downloadUI.ftl
@@ -0,0 +1,51 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+download-ui-confirm-title = Cancel All Downloads?
+
+## Variables:
+## $downloadsCount (Number): The current downloads count.
+
+download-ui-confirm-quit-cancel-downloads =
+ { $downloadsCount ->
+ [1] If you exit now, 1 download will be cancelled. Are you sure you want to exit?
+ *[other] If you exit now, { $downloadsCount } downloads will be cancelled. Are you sure you want to exit?
+ }
+download-ui-confirm-quit-cancel-downloads-mac =
+ { $downloadsCount ->
+ [1] If you quit now, 1 download will be cancelled. Are you sure you want to quit?
+ *[other] If you quit now, { $downloadsCount } downloads will be cancelled. Are you sure you want to quit?
+ }
+download-ui-dont-quit-button =
+ { PLATFORM() ->
+ [mac] Don’t Quit
+ *[other] Don’t Exit
+ }
+
+download-ui-confirm-offline-cancel-downloads =
+ { $downloadsCount ->
+ [1] If you go offline now, 1 download will be cancelled. Are you sure you want to go offline?
+ *[other] If you go offline now, { $downloadsCount } downloads will be cancelled. Are you sure you want to go offline?
+ }
+download-ui-dont-go-offline-button = Stay Online
+
+download-ui-confirm-leave-private-browsing-windows-cancel-downloads =
+ { $downloadsCount ->
+ [1] If you close all Private Browsing windows now, 1 download will be cancelled. Are you sure you want to leave Private Browsing?
+ *[other] If you close all Private Browsing windows now, { $downloadsCount } downloads will be cancelled. Are you sure you want to leave Private Browsing?
+ }
+download-ui-dont-leave-private-browsing-button = Stay in Private Browsing
+
+download-ui-cancel-downloads-ok =
+ { $downloadsCount ->
+ [1] Cancel 1 Download
+ *[other] Cancel { $downloadsCount } Downloads
+ }
+
+##
+
+download-ui-file-executable-security-warning-title = Open Executable File?
+# Variables:
+# $executable (String): The executable file to be opened.
+download-ui-file-executable-security-warning = “{ $executable }” is an executable file. Executable files may contain viruses or other malicious code that could harm your computer. Use caution when opening this file. Are you sure you want to launch “{ $executable }”?
diff --git a/thunderbird-l10n/en-CA/localization/en-CA/toolkit/downloads/downloadUtils.ftl b/thunderbird-l10n/en-CA/localization/en-CA/toolkit/downloads/downloadUtils.ftl
new file mode 100644
index 0000000000..889a7de3ec
--- /dev/null
+++ b/thunderbird-l10n/en-CA/localization/en-CA/toolkit/downloads/downloadUtils.ftl
@@ -0,0 +1,106 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+## Variables:
+## $timeValue (number) - Number of units of time
+
+# Short form for seconds
+download-utils-short-seconds =
+ { $timeValue ->
+ [one] s
+ *[other] s
+ }
+# Short form for minutes
+download-utils-short-minutes =
+ { $timeValue ->
+ [one] m
+ *[other] m
+ }
+# Short form for hours
+download-utils-short-hours =
+ { $timeValue ->
+ [one] h
+ *[other] h
+ }
+# Short form for days
+download-utils-short-days =
+ { $timeValue ->
+ [one] d
+ *[other] d
+ }
+
+##
+
+# — is the "em dash" (long dash)
+# example: 4 minutes left — 1.1 of 11.1 GB (2.2 MB/sec)
+# Variables:
+# $timeLeft (String): time left.
+# $transfer (String): transfer progress.
+# $rate (String): rate number.
+# $unit (String): rate unit.
+download-utils-status = { $timeLeft } — { $transfer } ({ $rate } { $unit }/sec)
+# If download speed is a JavaScript Infinity value, this phrase is used
+# — is the "em dash" (long dash)
+# example: 4 minutes left — 1.1 of 11.1 GB (Really fast)
+# Variables:
+# $timeLeft (String): time left.
+# $transfer (String): transfer progress.
+download-utils-status-infinite-rate = { $timeLeft } — { $transfer } (Really fast)
+# — is the "em dash" (long dash)
+# example: 4 minutes left — 1.1 of 11.1 GB
+# Variables:
+# $timeLeft (String): time left.
+# $transfer (String): transfer progress.
+download-utils-status-no-rate = { $timeLeft } — { $transfer }
+
+download-utils-bytes = bytes
+download-utils-kilobyte = kB
+download-utils-megabyte = MB
+download-utils-gigabyte = GB
+
+# example: 1.1 of 333 MB
+# Variables:
+# $progress (String): progress number.
+# $total (String): total number.
+# $totalUnits (String): total unit.
+download-utils-transfer-same-units = { $progress } of { $total } { $totalUnits }
+# example: 11.1 MB of 3.3 GB
+# Variables:
+# $progress (String): progress number.
+# $progressUnits (String): progress unit.
+# $total (String): total number.
+# $totalUnits (String): total unit.
+download-utils-transfer-diff-units = { $progress } { $progressUnits } of { $total } { $totalUnits }
+# example: 111 KB
+# Variables:
+# $progress (String): progress number.
+# $progressUnits (String): unit.
+download-utils-transfer-no-total = { $progress } { $progressUnits }
+
+# examples: 1m; 11h
+# Variables:
+# $time (String): time number.
+# $unit (String): time unit.
+download-utils-time-pair = { $time }{ $unit }
+# examples: 1m left; 11h left
+# Variables:
+# $time (String): time left, including a unit
+download-utils-time-left-single = { $time } left
+# examples: 11h 2m left; 1d 22h left
+# Variables:
+# $time1 (String): time left, including a unit
+# $time2 (String): smaller measure of time left, including a unit
+download-utils-time-left-double = { $time1 } { $time2 } left
+download-utils-time-few-seconds = A few seconds left
+download-utils-time-unknown = Unknown time left
+
+# Variables:
+# $scheme (String): URI scheme like data: jar: about:
+download-utils-done-scheme = { $scheme } resource
+# Special case of done-scheme for file:
+# This is used as an eTLD replacement for local files, so make it lower case
+download-utils-done-file-scheme = local file
+
+# Displayed time for files finished yesterday
+download-utils-yesterday = Yesterday
diff --git a/thunderbird-l10n/en-CA/localization/en-CA/toolkit/featuregates/features.ftl b/thunderbird-l10n/en-CA/localization/en-CA/toolkit/featuregates/features.ftl
new file mode 100644
index 0000000000..f419ea5591
--- /dev/null
+++ b/thunderbird-l10n/en-CA/localization/en-CA/toolkit/featuregates/features.ftl
@@ -0,0 +1,48 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# The title of the experiment should be kept in English as it may be referenced
+# by various online articles and is technical in nature.
+experimental-features-css-masonry2 =
+ .label = CSS: Masonry Layout
+experimental-features-css-masonry-description = Enables support for the experimental CSS Masonry Layout feature. See the <a data-l10n-name="explainer">explainer</a> for a high level description of the feature. To provide feedback, please comment in <a data-l10n-name="w3c-issue">this GitHub issue</a> or <a data-l10n-name="bug">this bug</a>.
+# The title of the experiment should be kept in English as it may be referenced
+# by various online articles and is technical in nature.
+experimental-features-web-gpu2 =
+ .label = Web API: WebGPU
+experimental-features-web-gpu-description3 = The <a data-l10n-name="wikipedia-webgpu">WebGPU API</a> provides low-level support for performing computation and graphics rendering using the <a data-l10n-name="wikipedia-gpu">Graphics Processing Unit (GPU)</a> of the user’s device or computer. The first version of the <a data-l10n-name="spec">specification</a> is nearing finalization. See <a data-l10n-name="bugzilla">bug 1616739</a> for more details.
+# The title of the experiment should be kept in English as it may be referenced
+# by various online articles and is technical in nature.
+experimental-features-media-jxl =
+ .label = Media: JPEG XL
+experimental-features-media-jxl-description = With this feature enabled, { -brand-short-name } supports the JPEG XL (JXL) format. This is an enhanced image file format that supports lossless transition from traditional JPEG files. See <a data-l10n-name="bugzilla">bug 1539075</a> for more details.
+experimental-features-devtools-compatibility-panel =
+ .label = Developer Tools: Compatibility Panel
+experimental-features-devtools-compatibility-panel-description = A side panel for the Page Inspector that shows you information detailing your app’s cross-browser compatibility status. See <a data-l10n-name="bugzilla">bug 1584464</a> for more details.
+# Do not translate 'SameSite', 'Lax' and 'None'.
+experimental-features-cookie-samesite-none-requires-secure2 =
+ .label = Cookies: SameSite=None requires secure attribute
+experimental-features-cookie-samesite-none-requires-secure2-description = Cookies with “SameSite=None” attribute require the secure attribute. This feature requires “Cookies: SameSite=Lax by default”.
+# about:home should be kept in English, as it refers to the the URI for
+# the internal default home page.
+experimental-features-abouthome-startup-cache =
+ .label = about:home startup cache
+experimental-features-abouthome-startup-cache-description = A cache for the initial about:home document that is loaded by default at startup. The purpose of the cache is to improve startup performance.
+# "Service Worker" is an API name and is usually not translated.
+experimental-features-devtools-serviceworker-debugger-support =
+ .label = Developer Tools: Service Worker debugging
+# "Service Worker" is an API name and is usually not translated.
+experimental-features-devtools-serviceworker-debugger-support-description = Enables experimental support for Service Workers in the Debugger panel. This feature may slow the Developer Tools down and increase memory consumption.
+# WebRTC global mute toggle controls
+experimental-features-webrtc-global-mute-toggles =
+ .label = WebRTC Global Mute Toggles
+experimental-features-webrtc-global-mute-toggles-description = Add controls to the WebRTC global sharing indicator that allow users to globally mute their microphone and camera feeds.
+# JS JIT Warp project
+experimental-features-js-warp =
+ .label = JavaScript JIT: Warp
+experimental-features-js-warp-description = Enable Warp, a project to improve JavaScript performance and memory usage.
+# Search during IME
+experimental-features-ime-search =
+ .label = Address Bar: show results during IME composition
+experimental-features-ime-search-description = An IME (Input Method Editor) is a tool that allows you to enter complex symbols, such as those used in East Asian or Indic written languages, using a standard keyboard. Enabling this experiment will keep the address bar panel open, showing search results and suggestions, while using IME to input text. Note that the IME might display a panel that covers the address bar results, therefore this preference is only suggested for IME not using this type of panel.
diff --git a/thunderbird-l10n/en-CA/localization/en-CA/toolkit/formautofill/formAutofill.ftl b/thunderbird-l10n/en-CA/localization/en-CA/toolkit/formautofill/formAutofill.ftl
new file mode 100644
index 0000000000..a9f0c4783c
--- /dev/null
+++ b/thunderbird-l10n/en-CA/localization/en-CA/toolkit/formautofill/formAutofill.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/.
+
+
+## OS Prompt Dialog
+
+# The links lead users to Form Autofill browser preferences.
+autofill-options-link = Form Autofill Options
+autofill-options-link-osx = Form Autofill Preferences
+
+## The credit card capture doorhanger
+
+
+# Used on the doorhanger when an credit card change is detected.
+
diff --git a/thunderbird-l10n/en-CA/localization/en-CA/toolkit/global/alert.ftl b/thunderbird-l10n/en-CA/localization/en-CA/toolkit/global/alert.ftl
new file mode 100644
index 0000000000..f0061d4446
--- /dev/null
+++ b/thunderbird-l10n/en-CA/localization/en-CA/toolkit/global/alert.ftl
@@ -0,0 +1,12 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+alert-close =
+ .tooltiptext = Close this notification
+alert-settings-title =
+ .tooltiptext = Settings
+
+## Reminder Notifications
+
+notification-default-dismiss = Dismiss
diff --git a/thunderbird-l10n/en-CA/localization/en-CA/toolkit/global/appPicker.ftl b/thunderbird-l10n/en-CA/localization/en-CA/toolkit/global/appPicker.ftl
new file mode 100644
index 0000000000..0a85c9b839
--- /dev/null
+++ b/thunderbird-l10n/en-CA/localization/en-CA/toolkit/global/appPicker.ftl
@@ -0,0 +1,10 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+app-picker-browse-button =
+ .buttonlabelextra2 = Browse…
+app-picker-send-msg =
+ .value = Send this item to:
+app-picker-no-app-found =
+ .value = No applications were found for this file type.
diff --git a/thunderbird-l10n/en-CA/localization/en-CA/toolkit/global/browser-utils.ftl b/thunderbird-l10n/en-CA/localization/en-CA/toolkit/global/browser-utils.ftl
new file mode 100644
index 0000000000..8add6af511
--- /dev/null
+++ b/thunderbird-l10n/en-CA/localization/en-CA/toolkit/global/browser-utils.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/.
+
+# Used for data: URLs where we don't have any useful origin information
+browser-utils-url-data = (data)
+# Used for extension URLs
+# Variables:
+# $extension (string) - Name of the extension that generated the URL
+browser-utils-url-extension = Extension ({ $extension })
diff --git a/thunderbird-l10n/en-CA/localization/en-CA/toolkit/global/commonDialog.ftl b/thunderbird-l10n/en-CA/localization/en-CA/toolkit/global/commonDialog.ftl
new file mode 100644
index 0000000000..e7d4322820
--- /dev/null
+++ b/thunderbird-l10n/en-CA/localization/en-CA/toolkit/global/commonDialog.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/.
+
+common-dialog-title-null = This page says
+common-dialog-title-system = { -brand-short-name }
+# Title displayed when the origin of a web dialog is unknown.
+common-dialog-title-unknown = Unknown
+
+common-dialog-username =
+ .value = Username
+common-dialog-password =
+ .value = Password
+
+common-dialog-copy-cmd =
+ .label = Copy
+ .accesskey = C
+common-dialog-select-all-cmd =
+ .label = Select All
+ .accesskey = A
diff --git a/thunderbird-l10n/en-CA/localization/en-CA/toolkit/global/contextual-identity.ftl b/thunderbird-l10n/en-CA/localization/en-CA/toolkit/global/contextual-identity.ftl
new file mode 100644
index 0000000000..f9f0fbb406
--- /dev/null
+++ b/thunderbird-l10n/en-CA/localization/en-CA/toolkit/global/contextual-identity.ftl
@@ -0,0 +1,29 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+
+## Names of the default containers in Firefox.
+## See https://support.mozilla.org/kb/how-use-firefox-containers
+
+user-context-personal =
+ .label = Personal
+ .accesskey = P
+user-context-work =
+ .label = Work
+ .accesskey = W
+user-context-banking =
+ .label = Banking
+ .accesskey = B
+user-context-shopping =
+ .label = Shopping
+ .accesskey = S
+
+##
+
+user-context-none =
+ .label = No Container
+ .accesskey = N
+user-context-manage-containers =
+ .label = Manage containers
+ .accesskey = O
diff --git a/thunderbird-l10n/en-CA/localization/en-CA/toolkit/global/cookieBannerHandling.ftl b/thunderbird-l10n/en-CA/localization/en-CA/toolkit/global/cookieBannerHandling.ftl
new file mode 100644
index 0000000000..6fbe8159b2
--- /dev/null
+++ b/thunderbird-l10n/en-CA/localization/en-CA/toolkit/global/cookieBannerHandling.ftl
@@ -0,0 +1,3 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
diff --git a/thunderbird-l10n/en-CA/localization/en-CA/toolkit/global/createProfileWizard.ftl b/thunderbird-l10n/en-CA/localization/en-CA/toolkit/global/createProfileWizard.ftl
new file mode 100644
index 0000000000..35ca78fe3b
--- /dev/null
+++ b/thunderbird-l10n/en-CA/localization/en-CA/toolkit/global/createProfileWizard.ftl
@@ -0,0 +1,53 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+create-profile-window2 =
+ .title = Create Profile Wizard
+ .style = min-width: 45em; min-height: 32em;
+
+## First wizard page
+
+create-profile-first-page-header2 =
+ { PLATFORM() ->
+ [macos] Introduction
+ *[other] Welcome to the { create-profile-window2.title }
+ }
+
+profile-creation-explanation-1 = { -brand-short-name } stores information about your settings and preferences in your personal profile.
+
+profile-creation-explanation-2 = If you are sharing this copy of { -brand-short-name } with other users, you can use profiles to keep each user’s information separate. To do this, each user should create his or her own profile.
+
+profile-creation-explanation-3 = If you are the only person using this copy of { -brand-short-name }, you must have at least one profile. If you would like, you can create multiple profiles for yourself to store different sets of settings and preferences. For example, you may want to have separate profiles for business and personal use.
+
+profile-creation-explanation-4 =
+ { PLATFORM() ->
+ [macos] To begin creating your profile, click Continue.
+ *[other] To begin creating your profile, click Next.
+ }
+
+## Second wizard page
+
+create-profile-last-page-header2 =
+ { PLATFORM() ->
+ [macos] Conclusion
+ *[other] Completing the { create-profile-window2.title }
+ }
+
+profile-creation-intro = If you create several profiles you can tell them apart by the profile names. You may use the name provided here or use one of your own.
+
+profile-prompt = Enter new profile name:
+ .accesskey = E
+
+profile-default-name =
+ .value = Default User
+
+profile-directory-explanation = Your user settings, preferences and other user-related data will be stored in:
+
+create-profile-choose-folder =
+ .label = Choose Folder…
+ .accesskey = C
+
+create-profile-use-default =
+ .label = Use Default Folder
+ .accesskey = U
diff --git a/thunderbird-l10n/en-CA/localization/en-CA/toolkit/global/cspErrors.ftl b/thunderbird-l10n/en-CA/localization/en-CA/toolkit/global/cspErrors.ftl
new file mode 100644
index 0000000000..6ff293c1c5
--- /dev/null
+++ b/thunderbird-l10n/en-CA/localization/en-CA/toolkit/global/cspErrors.ftl
@@ -0,0 +1,32 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# Variables:
+# $directive (String): the name of a CSP directive, such as "script-src".
+csp-error-missing-directive = Policy is missing a required ‘{ $directive }’ directive
+
+# Variables:
+# $directive (String): the name of a CSP directive, such as "script-src".
+# $keyword (String): the name of a CSP keyword, usually 'unsafe-inline'.
+csp-error-illegal-keyword = “{ $directive }” directive contains a forbidden { $keyword } keyword
+
+# Variables:
+# $directive (String): the name of a CSP directive, such as "script-src".
+# $scheme (String): a protocol name, such as "http", which appears as "http:", as it would in a URL.
+csp-error-illegal-protocol = “{ $directive }” directive contains a forbidden { $scheme }: protocol source
+
+# Variables:
+# $directive (String): the name of a CSP directive, such as "script-src".
+# $scheme (String): a protocol name, such as "http", which appears as "http:", as it would in a URL.
+csp-error-missing-host = { $scheme }: protocol requires a host in “{ $directive }” directives
+
+# Variables:
+# $directive (String): the name of a CSP directive, such as "script-src".
+# $source (String): the name of a CSP source, usually 'self'.
+csp-error-missing-source = “{ $directive }” must include the source { $source }
+
+# Variables:
+# $directive (String): the name of a CSP directive, such as "script-src".
+# $scheme (String): a protocol name, such as "http", which appears as "http:", as it would in a URL.
+csp-error-illegal-host-wildcard = { $scheme }: wildcard sources in “{ $directive }” directives must include at least one non-generic sub-domain (e.g., *.example.com rather than *.com)
diff --git a/thunderbird-l10n/en-CA/localization/en-CA/toolkit/global/datepicker.ftl b/thunderbird-l10n/en-CA/localization/en-CA/toolkit/global/datepicker.ftl
new file mode 100644
index 0000000000..1cb16ad16c
--- /dev/null
+++ b/thunderbird-l10n/en-CA/localization/en-CA/toolkit/global/datepicker.ftl
@@ -0,0 +1,50 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+
+### Datepicker - Dialog for default HTML's <input type="date">
+
+
+## These labels are used by screenreaders and other assistive technology
+## to indicate the purpose of a date picker calendar and a month-year selection
+## spinner dialogs for HTML's <input type="date">
+
+date-picker-label =
+ .aria-label = Choose a date
+date-spinner-label =
+ .aria-label = Choose a month and a year
+
+## Text of the clear button
+
+date-picker-clear-button = Clear
+
+## These labels are used by screenreaders and other assistive technology
+## to indicate the purpose of buttons that leaf through months of a calendar
+
+date-picker-previous =
+ .aria-label = Previous month
+date-picker-next =
+ .aria-label = Next month
+
+## These labels are used by screenreaders and other assistive technology
+## to indicate the type of a value/unit that is being selected within a
+## Month/Year date spinner dialogs on a datepicker calendar dialog
+
+date-spinner-month =
+ .aria-label = Month
+date-spinner-year =
+ .aria-label = Year
+
+## These labels are used by screenreaders and other assistive technology
+## to indicate the purpose of buttons that leaf through either months
+## or years of a Month/Year date spinner on a datepicker calendar dialog
+
+date-spinner-month-previous =
+ .aria-label = Previous month
+date-spinner-month-next =
+ .aria-label = Next month
+date-spinner-year-previous =
+ .aria-label = Previous year
+date-spinner-year-next =
+ .aria-label = Next year
diff --git a/thunderbird-l10n/en-CA/localization/en-CA/toolkit/global/datetimebox.ftl b/thunderbird-l10n/en-CA/localization/en-CA/toolkit/global/datetimebox.ftl
new file mode 100644
index 0000000000..60a2bf8147
--- /dev/null
+++ b/thunderbird-l10n/en-CA/localization/en-CA/toolkit/global/datetimebox.ftl
@@ -0,0 +1,42 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+## Placeholders for date and time inputs
+
+datetime-year-placeholder = yyyy
+datetime-month-placeholder = mm
+datetime-day-placeholder = dd
+datetime-time-placeholder = --
+
+## Field labels for input type=date
+
+datetime-year =
+ .aria-label = Year
+datetime-month =
+ .aria-label = Month
+datetime-day =
+ .aria-label = Day
+
+## Field labels for input type=time
+
+datetime-hour =
+ .aria-label = Hours
+datetime-minute =
+ .aria-label = Minutes
+datetime-second =
+ .aria-label = Seconds
+datetime-millisecond =
+ .aria-label = Milliseconds
+datetime-dayperiod =
+ .aria-label = AM/PM
+
+## Calendar button for input type=date
+
+
+# This label is used by screenreaders and other assistive technology
+# to indicate the purpose of a toggle button inside of the <input type="date">
+# field that opens/closes a date picker calendar dialog
+
+datetime-calendar =
+ .aria-label = Calendar
diff --git a/thunderbird-l10n/en-CA/localization/en-CA/toolkit/global/extensionPermissions.ftl b/thunderbird-l10n/en-CA/localization/en-CA/toolkit/global/extensionPermissions.ftl
new file mode 100644
index 0000000000..1675f6e19e
--- /dev/null
+++ b/thunderbird-l10n/en-CA/localization/en-CA/toolkit/global/extensionPermissions.ftl
@@ -0,0 +1,33 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+
+## Extension permission description keys are derived from permission names.
+## Permissions for which the message has been changed and the key updated
+## must have a corresponding entry in the `PERMISSION_L10N_ID_OVERRIDES` map.
+
+webext-perms-description-bookmarks = Read and modify bookmarks
+webext-perms-description-browserSettings = Read and modify browser settings
+webext-perms-description-browsingData = Clear recent browsing history, cookies, and related data
+webext-perms-description-clipboardRead = Get data from the clipboard
+webext-perms-description-clipboardWrite = Input data to the clipboard
+webext-perms-description-declarativeNetRequest = Block content on any page
+webext-perms-description-declarativeNetRequestFeedback = Read your browsing history
+webext-perms-description-devtools = Extend developer tools to access your data in open tabs
+webext-perms-description-downloads = Download files and read and modify the browser’s download history
+webext-perms-description-downloads-open = Open files downloaded to your computer
+webext-perms-description-find = Read the text of all open tabs
+webext-perms-description-geolocation = Access your location
+webext-perms-description-history = Access browsing history
+webext-perms-description-management = Monitor extension usage and manage themes
+webext-perms-description-nativeMessaging = Exchange messages with programs other than { -brand-short-name }
+webext-perms-description-notifications = Display notifications to you
+webext-perms-description-pkcs11 = Provide cryptographic authentication services
+webext-perms-description-privacy = Read and modify privacy settings
+webext-perms-description-proxy = Control browser proxy settings
+webext-perms-description-sessions = Access recently closed tabs
+webext-perms-description-tabs = Access browser tabs
+webext-perms-description-tabHide = Hide and show browser tabs
+webext-perms-description-topSites = Access browsing history
+webext-perms-description-webNavigation = Access browser activity during navigation
diff --git a/thunderbird-l10n/en-CA/localization/en-CA/toolkit/global/extensions.ftl b/thunderbird-l10n/en-CA/localization/en-CA/toolkit/global/extensions.ftl
new file mode 100644
index 0000000000..84d1dfaa8d
--- /dev/null
+++ b/thunderbird-l10n/en-CA/localization/en-CA/toolkit/global/extensions.ftl
@@ -0,0 +1,105 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+
+## Headers used in the webextension permissions dialog,
+## See https://bug1308309.bmoattachments.org/attachment.cgi?id=8814612
+## for an example of the full dialog.
+## Note: This string will be used as raw markup. Avoid characters like <, >, &
+## Variables:
+## $extension (String): replaced with the localized name of the extension.
+
+webext-perms-header = Add { $extension }?
+webext-perms-header-with-perms = Add { $extension }? This extension will have permission to:
+webext-perms-header-unsigned = Add { $extension }? This extension is unverified. Malicious extensions can steal your private information or compromise your computer. Only add it if you trust the source.
+webext-perms-header-unsigned-with-perms = Add { $extension }? This extension is unverified. Malicious extensions can steal your private information or compromise your computer. Only add it if you trust the source. This extension will have permission to:
+webext-perms-sideload-header = { $extension } added
+webext-perms-optional-perms-header = { $extension } requests additional permissions.
+
+##
+
+webext-perms-add =
+ .label = Add
+ .accesskey = A
+webext-perms-cancel =
+ .label = Cancel
+ .accesskey = C
+webext-perms-sideload-text = Another program on your computer installed an add-on that may affect your browser. Please review this add-on’s permissions requests and choose to Enable or Cancel (to leave it disabled).
+webext-perms-sideload-text-no-perms = Another program on your computer installed an add-on that may affect your browser. Please choose to Enable or Cancel (to leave it disabled).
+webext-perms-sideload-enable =
+ .label = Enable
+ .accesskey = E
+webext-perms-sideload-cancel =
+ .label = Cancel
+ .accesskey = C
+# Variables:
+# $extension (String): replaced with the localized name of the extension.
+webext-perms-update-text = { $extension } has been updated. You must approve new permissions before the updated version will install. Choosing “Cancel” will maintain your current extension version. This extension will have permission to:
+webext-perms-update-accept =
+ .label = Update
+ .accesskey = U
+webext-perms-optional-perms-list-intro = It wants to:
+webext-perms-optional-perms-allow =
+ .label = Allow
+ .accesskey = A
+webext-perms-optional-perms-deny =
+ .label = Deny
+ .accesskey = D
+webext-perms-host-description-all-urls = Access your data for all websites
+# Variables:
+# $domain (String): will be replaced by the DNS domain for which a webextension is requesting access (e.g., mozilla.org)
+webext-perms-host-description-wildcard = Access your data for sites in the { $domain } domain
+# Variables:
+# $domainCount (Number): Integer indicating the number of additional
+# hosts for which this webextension is requesting permission.
+webext-perms-host-description-too-many-wildcards =
+ { $domainCount ->
+ [one] Access your data in { $domainCount } other domain
+ *[other] Access your data in { $domainCount } other domains
+ }
+# Variables:
+# $domain (String): will be replaced by the DNS host name for which a webextension is requesting access (e.g., www.mozilla.org)
+webext-perms-host-description-one-site = Access your data for { $domain }
+# Variables:
+# $domainCount (Number): Integer indicating the number of additional
+# hosts for which this webextension is requesting permission.
+webext-perms-host-description-too-many-sites =
+ { $domainCount ->
+ [one] Access your data on { $domainCount } other site
+ *[other] Access your data on { $domainCount } other sites
+ }
+
+## Headers used in the webextension permissions dialog for synthetic add-ons.
+## The part of the string describing what privileges the extension gives should be consistent
+## with the value of webext-site-perms-description-gated-perms-{sitePermission}.
+## Note, this string will be used as raw markup. Avoid characters like <, >, &
+## Variables:
+## $hostname (String): the hostname of the site the add-on is being installed from.
+
+webext-site-perms-header-with-gated-perms-midi = This add-on gives { $hostname } access to your MIDI devices.
+webext-site-perms-header-with-gated-perms-midi-sysex = This add-on gives { $hostname } access to your MIDI devices (with SysEx support).
+
+##
+
+# This string is used as description in the webextension permissions dialog for synthetic add-ons.
+# Note, the empty line is used to create a line break between the two sections.
+# Note, this string will be used as raw markup. Avoid characters like <, >, &
+webext-site-perms-description-gated-perms-midi =
+ These are usually plug-in devices like audio synthesizers, but might also be built into your computer.
+
+ Websites are normally not allowed to access MIDI devices. Improper usage could cause damage or compromise security.
+
+## Headers used in the webextension permissions dialog.
+## Note: This string will be used as raw markup. Avoid characters like <, >, &
+## Variables:
+## $extension (String): replaced with the localized name of the extension being installed.
+## $hostname (String): will be replaced by the DNS host name for which a webextension enables permissions.
+
+webext-site-perms-header-with-perms = Add { $extension }? This extension grants the following capabilities to { $hostname }:
+webext-site-perms-header-unsigned-with-perms = Add { $extension }? This extension is unverified. Malicious extensions can steal your private information or compromise your computer. Only add it if you trust the source. This extension grants the following capabilities to { $hostname }:
+
+## These should remain in sync with permissions.NAME.label in sitePermissions.properties
+
+webext-site-perms-midi = Access MIDI devices
+webext-site-perms-midi-sysex = Access MIDI devices with SysEx support
diff --git a/thunderbird-l10n/en-CA/localization/en-CA/toolkit/global/handlerDialog.ftl b/thunderbird-l10n/en-CA/localization/en-CA/toolkit/global/handlerDialog.ftl
new file mode 100644
index 0000000000..606f5e54d0
--- /dev/null
+++ b/thunderbird-l10n/en-CA/localization/en-CA/toolkit/global/handlerDialog.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/.
+
+
+## Permission Dialog
+## Variables:
+## $host (string) - The hostname that is initiating the request
+## $scheme (string) - The type of link that's being opened.
+## $appName (string) - Name of the application that will be opened.
+## $extension (string) - Name of extension that initiated the request
+
+permission-dialog-description = Allow this site to open the { $scheme } link?
+permission-dialog-description-file = Allow this file to open the { $scheme } link?
+permission-dialog-description-host = Allow { $host } to open the { $scheme } link?
+permission-dialog-description-extension = Allow the extension { $extension } to open the { $scheme } link?
+permission-dialog-description-app = Allow this site to open the { $scheme } link with { $appName }?
+permission-dialog-description-host-app = Allow { $host } to open the { $scheme } link with { $appName }?
+permission-dialog-description-file-app = Allow this file to open the { $scheme } link with { $appName }?
+permission-dialog-description-extension-app = Allow the extension { $extension } to open the { $scheme } link with { $appName }?
+
+## Please keep the emphasis around the hostname and scheme (ie the
+## `<strong>` HTML tags). Please also keep the hostname as close to the start
+## of the sentence as your language's grammar allows.
+## Variables:
+## $host (string) - The hostname that is initiating the request
+## $scheme (string) - The type of link that's being opened.
+
+permission-dialog-remember = Always allow <strong>{ $host }</strong> to open <strong>{ $scheme }</strong> links
+permission-dialog-remember-file = Always allow this file to open <strong>{ $scheme }</strong> links
+permission-dialog-remember-extension = Always allow this extension to open <strong>{ $scheme }</strong> links
+
+##
+
+permission-dialog-btn-open-link =
+ .label = Open Link
+ .accessKey = O
+permission-dialog-btn-choose-app =
+ .label = Choose Application
+ .accessKey = A
+permission-dialog-unset-description = You’ll need to choose an application.
+permission-dialog-set-change-app-link = Choose a different application.
+
+## Chooser dialog
+## Variables:
+## $scheme (string) - The type of link that's being opened.
+
+chooser-window =
+ .title = Choose Application
+ .style = min-width: 26em; min-height: 26em;
+chooser-dialog =
+ .buttonlabelaccept = Open Link
+ .buttonaccesskeyaccept = O
+chooser-dialog-description = Choose an application to open the { $scheme } link.
+# Please keep the emphasis around the scheme (ie the `<strong>` HTML tags).
+chooser-dialog-remember = Always use this application to open <strong>{ $scheme }</strong> links
+chooser-dialog-remember-extra =
+ { PLATFORM() ->
+ [windows] This can be changed in { -brand-short-name }’s options.
+ *[other] This can be changed in { -brand-short-name }’s preferences.
+ }
+choose-other-app-description = Choose other Application
+choose-app-btn =
+ .label = Choose…
+ .accessKey = C
+choose-other-app-window-title = Another Application…
+# Displayed under the name of a protocol handler in the Launch Application dialog.
+choose-dialog-privatebrowsing-disabled = Disabled in Private Windows
diff --git a/thunderbird-l10n/en-CA/localization/en-CA/toolkit/global/htmlForm.ftl b/thunderbird-l10n/en-CA/localization/en-CA/toolkit/global/htmlForm.ftl
new file mode 100644
index 0000000000..690b0c4557
--- /dev/null
+++ b/thunderbird-l10n/en-CA/localization/en-CA/toolkit/global/htmlForm.ftl
@@ -0,0 +1,14 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# This string is shown at the end of the tooltip text for
+# <input type='file' multiple> when there are more than 21 files selected
+# (when we will only list the first 20, plus an "and X more" line).
+# Variables:
+# $fileCount (Number): The number of remaining files.
+input-file-and-more-files =
+ { $fileCount ->
+ [one] and one more
+ *[other] and { $fileCount } more
+ }
diff --git a/thunderbird-l10n/en-CA/localization/en-CA/toolkit/global/mozCard.ftl b/thunderbird-l10n/en-CA/localization/en-CA/toolkit/global/mozCard.ftl
new file mode 100644
index 0000000000..6fbe8159b2
--- /dev/null
+++ b/thunderbird-l10n/en-CA/localization/en-CA/toolkit/global/mozCard.ftl
@@ -0,0 +1,3 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
diff --git a/thunderbird-l10n/en-CA/localization/en-CA/toolkit/global/mozFiveStar.ftl b/thunderbird-l10n/en-CA/localization/en-CA/toolkit/global/mozFiveStar.ftl
new file mode 100644
index 0000000000..79e408238b
--- /dev/null
+++ b/thunderbird-l10n/en-CA/localization/en-CA/toolkit/global/mozFiveStar.ftl
@@ -0,0 +1,9 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# The rating out of 5 stars.
+# Variables:
+# $rating (number) - A number between 0 and 5. The translation should show at most one digit after the comma.
+moz-five-star-rating =
+ .title = Rated { NUMBER($rating, maximumFractionDigits: 1) } out of 5
diff --git a/thunderbird-l10n/en-CA/localization/en-CA/toolkit/global/mozMessageBar.ftl b/thunderbird-l10n/en-CA/localization/en-CA/toolkit/global/mozMessageBar.ftl
new file mode 100644
index 0000000000..de32a2a88d
--- /dev/null
+++ b/thunderbird-l10n/en-CA/localization/en-CA/toolkit/global/mozMessageBar.ftl
@@ -0,0 +1,15 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+moz-message-bar-icon-info =
+ .alt = Info
+moz-message-bar-icon-warning =
+ .alt = Warning
+moz-message-bar-icon-success =
+ .alt = Success
+moz-message-bar-icon-error =
+ .alt = Error
+moz-message-bar-close-button =
+ .aria-label = Close
+ .title = Close
diff --git a/thunderbird-l10n/en-CA/localization/en-CA/toolkit/global/mozSupportLink.ftl b/thunderbird-l10n/en-CA/localization/en-CA/toolkit/global/mozSupportLink.ftl
new file mode 100644
index 0000000000..0cfaf42816
--- /dev/null
+++ b/thunderbird-l10n/en-CA/localization/en-CA/toolkit/global/mozSupportLink.ftl
@@ -0,0 +1,5 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+moz-support-link-text = Learn more
diff --git a/thunderbird-l10n/en-CA/localization/en-CA/toolkit/global/notification.ftl b/thunderbird-l10n/en-CA/localization/en-CA/toolkit/global/notification.ftl
new file mode 100644
index 0000000000..82bd27fd97
--- /dev/null
+++ b/thunderbird-l10n/en-CA/localization/en-CA/toolkit/global/notification.ftl
@@ -0,0 +1,16 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+notification-learnmore-default-label =
+ .value = Learn more
+
+# This label is read by screen readers when focusing the close button for an
+# "infobar" (message shown when for example a popup is blocked),
+# and shown when hovering over the button
+notification-close-button =
+ .aria-label = Close
+ .title = Close
+
+close-notification-message =
+ .tooltiptext = Close this message
diff --git a/thunderbird-l10n/en-CA/localization/en-CA/toolkit/global/popupnotification.ftl b/thunderbird-l10n/en-CA/localization/en-CA/toolkit/global/popupnotification.ftl
new file mode 100644
index 0000000000..bf353bcd6f
--- /dev/null
+++ b/thunderbird-l10n/en-CA/localization/en-CA/toolkit/global/popupnotification.ftl
@@ -0,0 +1,10 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+popup-notification-learn-more = Learn more
+popup-notification-more-actions-button =
+ .aria-label = More actions
+popup-notification-default-button =
+ .label = OK!
+ .accesskey = O
diff --git a/thunderbird-l10n/en-CA/localization/en-CA/toolkit/global/processTypes.ftl b/thunderbird-l10n/en-CA/localization/en-CA/toolkit/global/processTypes.ftl
new file mode 100644
index 0000000000..be45ec8832
--- /dev/null
+++ b/thunderbird-l10n/en-CA/localization/en-CA/toolkit/global/processTypes.ftl
@@ -0,0 +1,61 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+
+##
+## Localization for remote types defined in RemoteType.h
+##
+
+process-type-web = Web Content
+
+# process used to run privileged about pages,
+# such as about:home
+process-type-privilegedabout = Privileged About
+
+# process used to run privileged mozilla pages,
+# such as accounts.firefox.com
+process-type-privilegedmozilla = Privileged Mozilla Content
+
+process-type-extension = Extension
+
+# process used to open file:// URLs
+process-type-file = Local File
+
+# process used to isolate a webpage from other web pages
+# to improve security
+process-type-webisolated = Isolated Web Content
+
+# process used to isolate a ServiceWorker to improve
+# performance
+process-type-webserviceworker = Isolated Service Worker
+
+# process preallocated; may change to other types
+process-type-prealloc = Preallocated
+
+##
+## Localization for Gecko process types defined in GeckoProcessTypes.h
+##
+
+process-type-default = Main
+process-type-tab = Tab
+
+# process used to communicate with the GPU for
+# graphics acceleration
+process-type-gpu = GPU
+
+# process used to perform network operations
+process-type-socket = Socket
+
+# process used to decode media
+process-type-rdd = RDD
+
+# process used to run some IPC actor in their own sandbox
+process-type-utility = Sandboxed IPC Actor
+
+##
+## Other
+##
+
+# fallback
+process-type-unknown = Unknown
diff --git a/thunderbird-l10n/en-CA/localization/en-CA/toolkit/global/profileDowngrade.ftl b/thunderbird-l10n/en-CA/localization/en-CA/toolkit/global/profileDowngrade.ftl
new file mode 100644
index 0000000000..9660c952aa
--- /dev/null
+++ b/thunderbird-l10n/en-CA/localization/en-CA/toolkit/global/profileDowngrade.ftl
@@ -0,0 +1,18 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+profiledowngrade-window2 =
+ .title = You’ve launched an older version of { -brand-product-name }
+ .style = min-width: 490px;
+profiledowngrade-window-create =
+ .label = Create New Profile
+profiledowngrade-sync = Using an older version of { -brand-product-name } can corrupt bookmarks and browsing history already saved to an existing { -brand-product-name } profile. To protect your information, create a new profile for this installation of { -brand-short-name }. You can always sign in with a { -fxaccount-brand-name } to sync your bookmarks and browsing history between profiles.
+profiledowngrade-sync2 = Using an older version of { -brand-product-name } can corrupt bookmarks and browsing history already saved to an existing { -brand-product-name } profile. To protect your information, create a new profile for this installation of { -brand-short-name }. You can always sign in with an account to sync your bookmarks and browsing history between profiles.
+profiledowngrade-nosync = Using an older version of { -brand-product-name } can corrupt bookmarks and browsing history already saved to an existing { -brand-product-name } profile. To protect your information, create a new profile for this installation of { -brand-short-name }.
+profiledowngrade-quit =
+ .label =
+ { PLATFORM() ->
+ [windows] Exit
+ *[other] Quit
+ }
diff --git a/thunderbird-l10n/en-CA/localization/en-CA/toolkit/global/profileSelection.ftl b/thunderbird-l10n/en-CA/localization/en-CA/toolkit/global/profileSelection.ftl
new file mode 100644
index 0000000000..34bd5c9ce5
--- /dev/null
+++ b/thunderbird-l10n/en-CA/localization/en-CA/toolkit/global/profileSelection.ftl
@@ -0,0 +1,38 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+profile-selection-window =
+ .title = { -brand-short-name } - Choose User Profile
+
+profile-selection-button-accept =
+ .label = Start { -brand-short-name }
+
+profile-selection-button-cancel =
+ .label = Exit
+
+profile-selection-new-button =
+ .label = Create Profile…
+ .accesskey = C
+
+profile-selection-rename-button =
+ .label = Rename Profile…
+ .accesskey = R
+
+profile-selection-delete-button =
+ .label = Delete Profile…
+ .accesskey = D
+
+profile-selection-conflict-message = Another copy of { -brand-product-name } has made changes to profiles. You must restart { -brand-short-name } before making more changes.
+
+## Messages used in the profile manager
+
+profile-manager-description = { -brand-short-name } stores information about your settings, preferences, and other user items in your user profile.
+
+profile-manager-work-offline =
+ .label = Work offline
+ .accesskey = o
+
+profile-manager-use-selected =
+ .label = Use the selected profile without asking at startup
+ .accesskey = s
diff --git a/thunderbird-l10n/en-CA/localization/en-CA/toolkit/global/resetProfile.ftl b/thunderbird-l10n/en-CA/localization/en-CA/toolkit/global/resetProfile.ftl
new file mode 100644
index 0000000000..0289312da4
--- /dev/null
+++ b/thunderbird-l10n/en-CA/localization/en-CA/toolkit/global/resetProfile.ftl
@@ -0,0 +1,15 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+refresh-profile-dialog-title = Refresh { -brand-short-name } to its default settings?
+refresh-profile-dialog-button =
+ .label = Refresh { -brand-short-name }
+refresh-profile-dialog-description = Start fresh to fix performance issues. This will remove your extensions and customizations. You won’t lose essential information like bookmarks and passwords.
+refresh-profile = Give { -brand-short-name } a tune up
+refresh-profile-button = Refresh { -brand-short-name }…
+refresh-profile-learn-more = Learn more
+
+refresh-profile-progress =
+ .title = Refresh { -brand-short-name }
+refresh-profile-progress-description = Almost done…
diff --git a/thunderbird-l10n/en-CA/localization/en-CA/toolkit/global/resistFingerPrinting.ftl b/thunderbird-l10n/en-CA/localization/en-CA/toolkit/global/resistFingerPrinting.ftl
new file mode 100644
index 0000000000..a9936281ca
--- /dev/null
+++ b/thunderbird-l10n/en-CA/localization/en-CA/toolkit/global/resistFingerPrinting.ftl
@@ -0,0 +1,6 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# Spoof Accept-Language prompt
+privacy-spoof-english = Changing your language setting to English will make you more difficult to identify and enhance your privacy. Do you want to request English language versions of web pages?
diff --git a/thunderbird-l10n/en-CA/localization/en-CA/toolkit/global/run-from-dmg.ftl b/thunderbird-l10n/en-CA/localization/en-CA/toolkit/global/run-from-dmg.ftl
new file mode 100644
index 0000000000..5baa3622c3
--- /dev/null
+++ b/thunderbird-l10n/en-CA/localization/en-CA/toolkit/global/run-from-dmg.ftl
@@ -0,0 +1,28 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+
+## Strings for a dialog that may open on macOS before the app's main window
+## opens. The dialog prompts the user to allow the app to install itself in an
+## appropriate location before relaunching itself from that location if the
+## user accepts.
+
+prompt-to-install-title = Finish installing { -brand-short-name }?
+prompt-to-install-message = Complete this one-step installation to help keep { -brand-short-name } up to date and prevent data loss. { -brand-short-name } will be added to your Applications folder and Dock.
+prompt-to-install-yes-button = Install
+prompt-to-install-no-button = Don’t Install
+
+## Strings for a dialog that opens if the installation failed.
+
+install-failed-title = { -brand-short-name } installation failed.
+install-failed-message = { -brand-short-name } failed to install but will continue to run.
+
+## Strings for a dialog that recommends to the user to start an existing
+## installation of the app in the Applications directory if one is detected,
+## rather than the app that was double-clicked in a .dmg.
+
+prompt-to-launch-existing-app-title = Open existing { -brand-short-name } application?
+prompt-to-launch-existing-app-message = You already have { -brand-short-name } installed. Use the installed application to stay up to date and prevent data loss.
+prompt-to-launch-existing-app-yes-button = Open existing
+prompt-to-launch-existing-app-no-button = No thanks
diff --git a/thunderbird-l10n/en-CA/localization/en-CA/toolkit/global/tabprompts.ftl b/thunderbird-l10n/en-CA/localization/en-CA/toolkit/global/tabprompts.ftl
new file mode 100644
index 0000000000..26eefa368b
--- /dev/null
+++ b/thunderbird-l10n/en-CA/localization/en-CA/toolkit/global/tabprompts.ftl
@@ -0,0 +1,13 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+tabmodalprompt-username =
+ .value = User Name:
+tabmodalprompt-password =
+ .value = Password:
+
+tabmodalprompt-ok-button =
+ .label = OK
+tabmodalprompt-cancel-button =
+ .label = Cancel
diff --git a/thunderbird-l10n/en-CA/localization/en-CA/toolkit/global/textActions.ftl b/thunderbird-l10n/en-CA/localization/en-CA/toolkit/global/textActions.ftl
new file mode 100644
index 0000000000..a8153024aa
--- /dev/null
+++ b/thunderbird-l10n/en-CA/localization/en-CA/toolkit/global/textActions.ftl
@@ -0,0 +1,64 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+text-action-undo =
+ .label = Undo
+ .accesskey = U
+text-action-undo-shortcut =
+ .key = Z
+text-action-redo =
+ .label = Redo
+ .accesskey = R
+text-action-redo-shortcut =
+ .key = Y
+text-action-cut =
+ .label = Cut
+ .accesskey = t
+text-action-cut-shortcut =
+ .key = X
+text-action-copy =
+ .label = Copy
+ .accesskey = C
+text-action-copy-shortcut =
+ .key = C
+# This command copies the link, removing additional
+# query parameters used to track users across sites.
+text-action-strip-on-share =
+ .label = Copy Without Site Tracking
+ .accesskey = n
+text-action-paste =
+ .label = Paste
+ .accesskey = P
+text-action-paste-no-formatting =
+ .label = Paste Without Formatting
+ .accesskey = m
+text-action-paste-shortcut =
+ .key = V
+text-action-delete =
+ .label = Delete
+ .accesskey = D
+text-action-select-all =
+ .label = Select All
+ .accesskey = A
+text-action-select-all-shortcut =
+ .key = A
+text-action-spell-no-suggestions =
+ .label = No Spelling Suggestions
+text-action-spell-add-to-dictionary =
+ .label = Add to Dictionary
+ .accesskey = o
+text-action-spell-undo-add-to-dictionary =
+ .label = Undo Add To Dictionary
+ .accesskey = n
+text-action-spell-check-toggle =
+ .label = Check Spelling
+ .accesskey = g
+text-action-spell-add-dictionaries =
+ .label = Add Dictionaries…
+ .accesskey = A
+text-action-spell-dictionaries =
+ .label = Languages
+ .accesskey = L
+text-action-search-text-box-clear =
+ .title = Clear
diff --git a/thunderbird-l10n/en-CA/localization/en-CA/toolkit/global/timepicker.ftl b/thunderbird-l10n/en-CA/localization/en-CA/toolkit/global/timepicker.ftl
new file mode 100644
index 0000000000..6fbe8159b2
--- /dev/null
+++ b/thunderbird-l10n/en-CA/localization/en-CA/toolkit/global/timepicker.ftl
@@ -0,0 +1,3 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
diff --git a/thunderbird-l10n/en-CA/localization/en-CA/toolkit/global/tree.ftl b/thunderbird-l10n/en-CA/localization/en-CA/toolkit/global/tree.ftl
new file mode 100644
index 0000000000..aa009fd56a
--- /dev/null
+++ b/thunderbird-l10n/en-CA/localization/en-CA/toolkit/global/tree.ftl
@@ -0,0 +1,6 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+tree-columnpicker-restore-order =
+ .label = Restore Column Order
diff --git a/thunderbird-l10n/en-CA/localization/en-CA/toolkit/global/unknownContentType.ftl b/thunderbird-l10n/en-CA/localization/en-CA/toolkit/global/unknownContentType.ftl
new file mode 100644
index 0000000000..fb29727c0b
--- /dev/null
+++ b/thunderbird-l10n/en-CA/localization/en-CA/toolkit/global/unknownContentType.ftl
@@ -0,0 +1,42 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+unknowncontenttype-handleinternally =
+ .label = Open with { -brand-short-name }
+ .accesskey = e
+
+unknowncontenttype-settingschange =
+ .value =
+ { PLATFORM() ->
+ [windows] Settings can be changed in { -brand-short-name }’s Options.
+ *[other] Settings can be changed in { -brand-short-name }’s Preferences.
+ }
+
+unknowncontenttype-intro = You have chosen to open:
+unknowncontenttype-which-is = which is:
+unknowncontenttype-from = from:
+unknowncontenttype-prompt = Would you like to save this file?
+unknowncontenttype-action-question = What should { -brand-short-name } do with this file?
+unknowncontenttype-open-with =
+ .label = Open with
+ .accesskey = O
+unknowncontenttype-other =
+ .label = Other…
+unknowncontenttype-choose-handler =
+ .label =
+ { PLATFORM() ->
+ [macos] Choose…
+ *[other] Browse…
+ }
+ .accesskey =
+ { PLATFORM() ->
+ [macos] C
+ *[other] B
+ }
+unknowncontenttype-save-file =
+ .label = Save File
+ .accesskey = S
+unknowncontenttype-remember-choice =
+ .label = Do this automatically for files like this from now on.
+ .accesskey = a
diff --git a/thunderbird-l10n/en-CA/localization/en-CA/toolkit/global/videocontrols.ftl b/thunderbird-l10n/en-CA/localization/en-CA/toolkit/global/videocontrols.ftl
new file mode 100644
index 0000000000..ac9c64f235
--- /dev/null
+++ b/thunderbird-l10n/en-CA/localization/en-CA/toolkit/global/videocontrols.ftl
@@ -0,0 +1,71 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# This label is used by screenreaders and other assistive technology to indicate
+# to users how much of the video has been loaded from the network. It will be
+# followed by the percentage of the video that has loaded (e.g. "Loading: 13%").
+videocontrols-buffer-bar-label = Loading:
+videocontrols-volume-control =
+ .aria-label = Volume
+videocontrols-closed-caption-button =
+ .aria-label = Closed Captions
+
+videocontrols-play-button =
+ .aria-label = Play
+videocontrols-pause-button =
+ .aria-label = Pause
+videocontrols-mute-button =
+ .aria-label = Mute
+videocontrols-unmute-button =
+ .aria-label = Unmute
+videocontrols-enterfullscreen-button =
+ .aria-label = Full Screen
+videocontrols-exitfullscreen-button =
+ .aria-label = Exit Full Screen
+videocontrols-casting-button-label =
+ .aria-label = Cast to Screen
+videocontrols-closed-caption-off =
+ .offlabel = Off
+
+# This string is used as part of the Picture-in-Picture video toggle button when
+# the mouse is hovering it.
+videocontrols-picture-in-picture-label = Picture-in-Picture
+
+# This string is used as the label for a variation of the Picture-in-Picture video
+# toggle button when the mouse is hovering over the video.
+videocontrols-picture-in-picture-toggle-label2 = Pop out this video
+
+videocontrols-picture-in-picture-explainer3 = More screens are more fun. Play this video while you do other things.
+
+videocontrols-error-aborted = Video loading stopped.
+videocontrols-error-network = Video playback aborted due to a network error.
+videocontrols-error-decode = Video can’t be played because the file is corrupt.
+videocontrols-error-src-not-supported = Video format or MIME type is not supported.
+videocontrols-error-no-source = No video with supported format and MIME type found.
+videocontrols-error-generic = Video playback aborted due to an unknown error.
+videocontrols-status-picture-in-picture = This video is playing in Picture-in-Picture mode.
+
+# This message shows the current position and total video duration
+#
+# Variables:
+# $position (String): The current media position
+# $duration (String): The total video duration
+#
+# For example, when at the 5 minute mark in a 6 hour long video,
+# $position would be "5:00" and $duration would be "6:00:00", result
+# string would be "5:00 / 6:00:00". Note that $duration is not always
+# available. For example, when at the 5 minute mark in an unknown
+# duration video, $position would be "5:00" and the string which is
+# surrounded by <span> would be deleted, result string would be "5:00".
+videocontrols-position-and-duration-labels = { $position }<span data-l10n-name="position-duration-format"> / { $duration }</span>
+
+# This is a plain text version of the videocontrols-position-and-duration-labels
+# string, used by screenreaders.
+#
+# Variables:
+# $position (String): The current media position
+# $duration (String): The total video duration
+videocontrols-scrubber-position-and-duration =
+ .aria-label = Position
+ .aria-valuetext = { $position } / { $duration }
diff --git a/thunderbird-l10n/en-CA/localization/en-CA/toolkit/global/wizard.ftl b/thunderbird-l10n/en-CA/localization/en-CA/toolkit/global/wizard.ftl
new file mode 100644
index 0000000000..21f524bbb5
--- /dev/null
+++ b/thunderbird-l10n/en-CA/localization/en-CA/toolkit/global/wizard.ftl
@@ -0,0 +1,37 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+wizard-macos-button-back =
+ .label = Go Back
+ .accesskey = B
+wizard-linux-button-back =
+ .label = Back
+ .accesskey = B
+wizard-win-button-back =
+ .label = < Back
+ .accesskey = B
+
+wizard-macos-button-next =
+ .label = Continue
+ .accesskey = C
+wizard-linux-button-next =
+ .label = Next
+ .accesskey = N
+wizard-win-button-next =
+ .label = Next >
+ .accesskey = N
+
+wizard-macos-button-finish =
+ .label = Done
+wizard-linux-button-finish =
+ .label = Finish
+wizard-win-button-finish =
+ .label = Finish
+
+wizard-macos-button-cancel =
+ .label = Cancel
+wizard-linux-button-cancel =
+ .label = Cancel
+wizard-win-button-cancel =
+ .label = Cancel
diff --git a/thunderbird-l10n/en-CA/localization/en-CA/toolkit/intl/languageNames.ftl b/thunderbird-l10n/en-CA/localization/en-CA/toolkit/intl/languageNames.ftl
new file mode 100644
index 0000000000..a7d76b7d98
--- /dev/null
+++ b/thunderbird-l10n/en-CA/localization/en-CA/toolkit/intl/languageNames.ftl
@@ -0,0 +1,215 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+language-name-aa = Afar
+language-name-ab = Abkhazian
+language-name-ach = Acholi
+language-name-ae = Avestan
+language-name-af = Afrikaans
+language-name-ak = Akan
+language-name-am = Amharic
+language-name-an = Aragonese
+language-name-ar = Arabic
+language-name-as = Assamese
+language-name-ast = Asturian
+language-name-av = Avaric
+language-name-ay = Aymara
+language-name-az = Azerbaijani
+language-name-ba = Bashkir
+language-name-be = Belarusian
+language-name-bg = Bulgarian
+language-name-bh = Bihari
+language-name-bi = Bislama
+language-name-bm = Bambara
+language-name-bn = Bengali
+language-name-bo = Tibetan
+language-name-br = Breton
+language-name-bs = Bosnian
+language-name-ca = Catalan
+language-name-cak = Kaqchikel
+language-name-ce = Chechen
+language-name-ch = Chamorro
+language-name-co = Corsican
+language-name-cr = Cree
+language-name-crh = Crimean Tatar
+language-name-cs = Czech
+language-name-csb = Kashubian
+language-name-cu = Church Slavic
+language-name-cv = Chuvash
+language-name-cy = Welsh
+language-name-da = Danish
+language-name-de = German
+language-name-dsb = Lower Sorbian
+language-name-dv = Divehi
+language-name-dz = Dzongkha
+language-name-ee = Ewe
+language-name-el = Greek
+language-name-en = English
+language-name-eo = Esperanto
+language-name-es = Spanish
+language-name-et = Estonian
+language-name-eu = Basque
+language-name-fa = Persian
+language-name-ff = Fulah
+language-name-fi = Finnish
+language-name-fj = Fijian
+language-name-fo = Faroese
+language-name-fr = French
+language-name-fur = Friulian
+language-name-fy = Frisian
+language-name-ga = Irish
+language-name-gd = Scottish Gaelic
+language-name-gl = Galician
+language-name-gn = Guarani
+language-name-gu = Gujarati
+language-name-gv = Manx
+language-name-ha = Hausa
+language-name-haw = Hawaiian
+language-name-he = Hebrew
+language-name-hi = Hindi
+language-name-hil = Hiligaynon
+language-name-ho = Hiri Motu
+language-name-hr = Croatian
+language-name-hsb = Upper Sorbian
+language-name-ht = Haitian
+language-name-hu = Hungarian
+language-name-hy = Armenian
+language-name-hz = Herero
+language-name-ia = Interlingua
+language-name-id = Indonesian
+language-name-ie = Interlingue
+language-name-ig = Igbo
+language-name-ii = Sichuan Yi
+language-name-ik = Inupiaq
+language-name-io = Ido
+language-name-is = Icelandic
+language-name-it = Italian
+language-name-iu = Inuktitut
+language-name-ja = Japanese
+language-name-jv = Javanese
+language-name-ka = Georgian
+language-name-kab = Kabyle
+language-name-kg = Kongo
+language-name-ki = Kikuyu
+language-name-kj = Kuanyama
+language-name-kk = Kazakh
+language-name-kl = Greenlandic
+language-name-km = Khmer
+language-name-kn = Kannada
+language-name-ko = Korean
+language-name-kok = Konkani
+language-name-kr = Kanuri
+language-name-ks = Kashmiri
+language-name-ku = Kurdish
+language-name-kv = Komi
+language-name-kw = Cornish
+language-name-ky = Kirghiz
+language-name-la = Latin
+language-name-lb = Luxembourgish
+language-name-lg = Ganda
+language-name-li = Limburgan
+language-name-lij = Ligurian
+language-name-ln = Lingala
+language-name-lo = Lao
+language-name-lt = Lithuanian
+language-name-ltg = Latgalian
+language-name-lu = Luba-Katanga
+language-name-lv = Latvian
+language-name-mai = Maithili
+language-name-meh = Southwestern Tlaxiaco Mixtec
+language-name-mg = Malagasy
+language-name-mh = Marshallese
+language-name-mi = Maori
+language-name-mix = Mixtepec Mixtec
+language-name-mk = Macedonian
+language-name-ml = Malayalam
+language-name-mn = Mongolian
+language-name-mr = Marathi
+language-name-ms = Malay
+language-name-mt = Maltese
+language-name-my = Burmese
+language-name-na = Nauru
+language-name-nb = Norwegian Bokmål
+language-name-nd = Ndebele, North
+language-name-ne = Nepali
+language-name-ng = Ndonga
+language-name-nl = Dutch
+language-name-nn = Norwegian Nynorsk
+language-name-no = Norwegian
+language-name-nr = Ndebele, South
+language-name-nso = Sotho, Northern
+language-name-nv = Navajo
+language-name-ny = Chichewa
+language-name-oc = Occitan
+language-name-oj = Ojibwa
+language-name-om = Oromo
+language-name-or = Odia
+language-name-os = Ossetian
+language-name-pa = Punjabi
+language-name-pi = Pali
+language-name-pl = Polish
+language-name-ps = Pashto
+language-name-pt = Portuguese
+language-name-qu = Quechua
+language-name-rm = Rhaeto-Romanic
+language-name-rn = Kirundi
+language-name-ro = Romanian
+language-name-ru = Russian
+language-name-rw = Kinyarwanda
+language-name-sa = Sanskrit
+language-name-sat = Santali
+language-name-sc = Sardinian
+language-name-sco = Scots
+language-name-sd = Sindhi
+language-name-se = Northern Sami
+language-name-sg = Sango
+language-name-si = Sinhala
+language-name-sk = Slovak
+language-name-sl = Slovenian
+language-name-sm = Samoan
+language-name-sn = Shona
+language-name-so = Somali
+language-name-son = Songhay
+language-name-sq = Albanian
+language-name-sr = Serbian
+language-name-ss = Siswati
+language-name-st = Sotho, Southern
+language-name-su = Sundanese
+language-name-sv = Swedish
+language-name-sw = Swahili
+language-name-szl = Silesian
+language-name-ta = Tamil
+language-name-te = Telugu
+language-name-tg = Tajik
+language-name-th = Thai
+language-name-ti = Tigrinya
+language-name-tig = Tigre
+language-name-tk = Turkmen
+language-name-tl = Tagalog
+language-name-tlh = Klingon
+language-name-tn = Tswana
+language-name-to = Tonga
+language-name-tr = Turkish
+language-name-trs = Triqui
+language-name-ts = Tsonga
+language-name-tt = Tatar
+language-name-tw = Twi
+language-name-ty = Tahitian
+language-name-ug = Uighur
+language-name-uk = Ukrainian
+language-name-ur = Urdu
+language-name-uz = Uzbek
+language-name-ve = Venda
+language-name-vi = Vietnamese
+language-name-vo = Volapük
+language-name-wa = Walloon
+language-name-wen = Sorbian
+language-name-wo = Wolof
+language-name-xh = Xhosa
+language-name-yi = Yiddish
+language-name-yo = Yoruba
+language-name-za = Zhuang
+language-name-zam = Miahuatlán Zapotec
+language-name-zh = Chinese
+language-name-zu = Zulu
diff --git a/thunderbird-l10n/en-CA/localization/en-CA/toolkit/intl/regionNames.ftl b/thunderbird-l10n/en-CA/localization/en-CA/toolkit/intl/regionNames.ftl
new file mode 100644
index 0000000000..6914f8c949
--- /dev/null
+++ b/thunderbird-l10n/en-CA/localization/en-CA/toolkit/intl/regionNames.ftl
@@ -0,0 +1,280 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+
+### Notice: If you're updating this list, you should also
+### update the list in mozIntl.js.
+
+region-name-ad = Andorra
+region-name-ae = United Arab Emirates
+region-name-af = Afghanistan
+region-name-ag = Antigua and Barbuda
+region-name-ai = Anguilla
+region-name-al = Albania
+region-name-am = Armenia
+region-name-ao = Angola
+region-name-aq = Antarctica
+region-name-ar = Argentina
+region-name-as = American Samoa
+region-name-at = Austria
+region-name-au = Australia
+region-name-aw = Aruba
+region-name-az = Azerbaijan
+region-name-ba = Bosnia and Herzegovina
+region-name-bb = Barbados
+region-name-bd = Bangladesh
+region-name-be = Belgium
+region-name-bf = Burkina Faso
+region-name-bg = Bulgaria
+region-name-bh = Bahrain
+region-name-bi = Burundi
+region-name-bj = Benin
+region-name-bl = Saint Barthélemy
+region-name-bm = Bermuda
+region-name-bn = Brunei
+region-name-bo = Bolivia
+region-name-bq-2018 = Caribbean Netherlands
+region-name-br = Brazil
+region-name-bs = Bahamas, The
+region-name-bt = Bhutan
+region-name-bv = Bouvet Island
+region-name-bw = Botswana
+region-name-by = Belarus
+region-name-bz = Belize
+region-name-ca = Canada
+region-name-cc = Cocos (Keeling) Islands
+region-name-cd = Congo (Kinshasa)
+region-name-cf = Central African Republic
+region-name-cg = Congo (Brazzaville)
+region-name-ch = Switzerland
+region-name-ci = Côte d’Ivoire
+region-name-ck = Cook Islands
+region-name-cl = Chile
+region-name-cm = Cameroon
+region-name-cn = China
+region-name-co = Colombia
+region-name-cp = Clipperton Island
+region-name-cr = Costa Rica
+region-name-cu = Cuba
+region-name-cv-2020 = Cape Verde
+region-name-cw = Curaçao
+region-name-cx = Christmas Island
+region-name-cy = Cyprus
+region-name-cz-2019 = Czechia
+region-name-de = Germany
+region-name-dg = Diego Garcia
+region-name-dj = Djibouti
+region-name-dk = Denmark
+region-name-dm = Dominica
+region-name-do = Dominican Republic
+region-name-dz = Algeria
+region-name-ec = Ecuador
+region-name-ee = Estonia
+region-name-eg = Egypt
+region-name-eh = Western Sahara
+region-name-er = Eritrea
+region-name-es = Spain
+region-name-et = Ethiopia
+region-name-fi = Finland
+region-name-fj = Fiji
+region-name-fk = Falkland Islands (Islas Malvinas)
+region-name-fm = Micronesia, Federated States of
+region-name-fo = Faroe Islands
+region-name-fr = France
+region-name-ga = Gabon
+region-name-gb = United Kingdom
+region-name-gd = Grenada
+region-name-ge = Georgia
+region-name-gf = French Guiana
+region-name-gg = Guernsey
+region-name-gh = Ghana
+region-name-gi = Gibraltar
+region-name-gl = Greenland
+region-name-gm = Gambia, The
+region-name-gn = Guinea
+region-name-gp = Guadeloupe
+region-name-gq = Equatorial Guinea
+region-name-gr = Greece
+region-name-gs = South Georgia and South Sandwich Islands
+region-name-gt = Guatemala
+region-name-gu = Guam
+region-name-gw = Guinea-Bissau
+region-name-gy = Guyana
+region-name-hk = Hong Kong
+region-name-hm = Heard Island and McDonald Islands
+region-name-hn = Honduras
+region-name-hr = Croatia
+region-name-ht = Haiti
+region-name-hu = Hungary
+region-name-id = Indonesia
+region-name-ie = Ireland
+region-name-il = Israel
+region-name-im = Isle of Man
+region-name-in = India
+region-name-io = British Indian Ocean Territory
+region-name-iq = Iraq
+region-name-ir = Iran
+region-name-is = Iceland
+region-name-it = Italy
+region-name-je = Jersey
+region-name-jm = Jamaica
+region-name-jo = Jordan
+region-name-jp = Japan
+region-name-ke = Kenya
+region-name-kg = Kyrgyzstan
+region-name-kh = Cambodia
+region-name-ki = Kiribati
+region-name-km = Comoros
+region-name-kn = Saint Kitts and Nevis
+region-name-kp = Korea, North
+region-name-kr = Korea, South
+region-name-kw = Kuwait
+region-name-ky = Cayman Islands
+region-name-kz = Kazakhstan
+region-name-la = Laos
+region-name-lb = Lebanon
+region-name-lc = Saint Lucia
+region-name-li = Liechtenstein
+region-name-lk = Sri Lanka
+region-name-lr = Liberia
+region-name-ls = Lesotho
+region-name-lt = Lithuania
+region-name-lu = Luxembourg
+region-name-lv = Latvia
+region-name-ly = Libya
+region-name-ma = Morocco
+region-name-mc = Monaco
+region-name-md = Moldova
+region-name-me = Montenegro
+region-name-mf = Saint Martin
+region-name-mg = Madagascar
+region-name-mh = Marshall Islands
+region-name-mk-2019 = North Macedonia
+region-name-ml = Mali
+region-name-mm = Burma
+region-name-mn = Mongolia
+region-name-mo = Macau
+region-name-mp = Northern Mariana Islands
+region-name-mq = Martinique
+region-name-mr = Mauritania
+region-name-ms = Montserrat
+region-name-mt = Malta
+region-name-mu = Mauritius
+region-name-mv = Maldives
+region-name-mw = Malawi
+region-name-mx = Mexico
+region-name-my = Malaysia
+region-name-mz = Mozambique
+region-name-na = Namibia
+region-name-nc = New Caledonia
+region-name-ne = Niger
+region-name-nf = Norfolk Island
+region-name-ng = Nigeria
+region-name-ni = Nicaragua
+region-name-nl = Netherlands
+region-name-no = Norway
+region-name-np = Nepal
+region-name-nr = Nauru
+region-name-nu = Niue
+region-name-nz = New Zealand
+region-name-om = Oman
+region-name-pa = Panama
+region-name-pe = Peru
+region-name-pf = French Polynesia
+region-name-pg = Papua New Guinea
+region-name-ph = Philippines
+region-name-pk = Pakistan
+region-name-pl = Poland
+region-name-pm = Saint Pierre and Miquelon
+region-name-pn = Pitcairn Islands
+region-name-pr = Puerto Rico
+region-name-pt = Portugal
+region-name-pw = Palau
+region-name-py = Paraguay
+region-name-qa = Qatar
+region-name-qm = Midway Islands
+region-name-qs = Bassas da India
+region-name-qu = Juan de Nova Island
+region-name-qw = Wake Island
+region-name-qx = Glorioso Islands
+region-name-qz = Akrotiri
+region-name-re = Réunion
+region-name-ro = Romania
+region-name-rs = Serbia
+region-name-ru = Russia
+region-name-rw = Rwanda
+region-name-sa = Saudi Arabia
+region-name-sb = Solomon Islands
+region-name-sc = Seychelles
+region-name-sd = Sudan
+region-name-se = Sweden
+region-name-sg = Singapore
+region-name-sh = Saint Helena, Ascension, and Tristan da Cunha
+region-name-si = Slovenia
+region-name-sk = Slovakia
+region-name-sl = Sierra Leone
+region-name-sm = San Marino
+region-name-sn = Senegal
+region-name-so = Somalia
+region-name-sr = Suriname
+region-name-ss = South Sudan
+region-name-st = São Tomé and Príncipe
+region-name-sv = El Salvador
+region-name-sx = Sint Maarten
+region-name-sy = Syria
+region-name-sz-2019 = Eswatini
+region-name-tc = Turks and Caicos Islands
+region-name-td = Chad
+region-name-tf = French Southern and Antarctic Lands
+region-name-tg = Togo
+region-name-th = Thailand
+region-name-tj = Tajikistan
+region-name-tk = Tokelau
+region-name-tl = Timor-Leste
+region-name-tm = Turkmenistan
+region-name-tn = Tunisia
+region-name-to = Tonga
+region-name-tr = Turkey
+region-name-tt = Trinidad and Tobago
+region-name-tv = Tuvalu
+region-name-tw = Taiwan
+region-name-tz = Tanzania
+region-name-ua = Ukraine
+region-name-ug = Uganda
+region-name-us = United States
+region-name-uy = Uruguay
+region-name-uz = Uzbekistan
+region-name-va = Vatican City
+region-name-vc = Saint Vincent and the Grenadines
+region-name-ve = Venezuela
+region-name-vg = Virgin Islands, British
+region-name-vi = Virgin Islands, U.S.
+region-name-vn = Vietnam
+region-name-vu = Vanuatu
+region-name-wf = Wallis and Futuna
+region-name-ws = Samoa
+region-name-xa = Ashmore and Cartier Islands
+region-name-xb = Baker Island
+region-name-xc = Coral Sea Islands
+region-name-xd = Dhekelia
+region-name-xe = Europa Island
+region-name-xg = Gaza Strip
+region-name-xh = Howland Island
+region-name-xj = Jan Mayen
+region-name-xk = Kosovo
+region-name-xl = Palmyra Atoll
+region-name-xm = Kingman Reef
+region-name-xp = Paracel Islands
+region-name-xq = Jarvis Island
+region-name-xr = Svalbard
+region-name-xs = Spratly Islands
+region-name-xt = Tromelin Island
+region-name-xu = Johnston Atoll
+region-name-xv = Navassa Island
+region-name-xw = West Bank
+region-name-ye = Yemen
+region-name-yt = Mayotte
+region-name-za = South Africa
+region-name-zm = Zambia
+region-name-zw = Zimbabwe
diff --git a/thunderbird-l10n/en-CA/localization/en-CA/toolkit/main-window/autocomplete.ftl b/thunderbird-l10n/en-CA/localization/en-CA/toolkit/main-window/autocomplete.ftl
new file mode 100644
index 0000000000..2154f0fda8
--- /dev/null
+++ b/thunderbird-l10n/en-CA/localization/en-CA/toolkit/main-window/autocomplete.ftl
@@ -0,0 +1,23 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+
+## Import Logins Autocomplete
+
+## Variables:
+## $host (String) - Host name of the current site.
+
+autocomplete-import-logins-chrome =
+ <div data-l10n-name="line1">Import your login from Google Chrome</div>
+ <div data-l10n-name="line2">for { $host } and other sites</div>
+autocomplete-import-logins-chromium =
+ <div data-l10n-name="line1">Import your login from Chromium</div>
+ <div data-l10n-name="line2">for { $host } and other sites</div>
+autocomplete-import-logins-chromium-edge =
+ <div data-l10n-name="line1">Import your login from Microsoft Edge</div>
+ <div data-l10n-name="line2">for { $host } and other sites</div>
+
+##
+
+autocomplete-import-learn-more = Learn more
diff --git a/thunderbird-l10n/en-CA/localization/en-CA/toolkit/main-window/findbar.ftl b/thunderbird-l10n/en-CA/localization/en-CA/toolkit/main-window/findbar.ftl
new file mode 100644
index 0000000000..841e7253e0
--- /dev/null
+++ b/thunderbird-l10n/en-CA/localization/en-CA/toolkit/main-window/findbar.ftl
@@ -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/.
+
+
+### This file contains the entities needed to use the Find Bar.
+
+findbar-next =
+ .tooltiptext = Find the next occurrence of the phrase
+findbar-previous =
+ .tooltiptext = Find the previous occurrence of the phrase
+
+findbar-find-button-close =
+ .tooltiptext = Close find bar
+
+findbar-highlight-all2 =
+ .label = Highlight All
+ .accesskey =
+ { PLATFORM() ->
+ [macos] l
+ *[other] a
+ }
+ .tooltiptext = Highlight all occurrences of the phrase
+
+findbar-case-sensitive =
+ .label = Match Case
+ .accesskey = c
+ .tooltiptext = Search with case sensitivity
+
+findbar-match-diacritics =
+ .label = Match Diacritics
+ .accesskey = i
+ .tooltiptext = Distinguish between accented letters and their base letters (for example, when searching for “resume”, “résumé” will not be matched)
+
+findbar-entire-word =
+ .label = Whole Words
+ .accesskey = W
+ .tooltiptext = Search whole words only
+
+findbar-not-found = Phrase not found
+
+findbar-wrapped-to-top = Reached end of page, continued from top
+findbar-wrapped-to-bottom = Reached top of page, continued from bottom
+
+findbar-normal-find =
+ .placeholder = Find in page
+findbar-fast-find =
+ .placeholder = Quick find
+findbar-fast-find-links =
+ .placeholder = Quick find (links only)
+
+findbar-case-sensitive-status =
+ .value = (Case sensitive)
+findbar-match-diacritics-status =
+ .value = (Matching diacritics)
+findbar-entire-word-status =
+ .value = (Whole words only)
+
+# Variables:
+# $current (Number): Index of the currently selected match
+# $total (Number): Total count of matches
+findbar-found-matches =
+ .value =
+ { $total ->
+ [one] { $current } of { $total } match
+ *[other] { $current } of { $total } matches
+ }
+
+# Variables:
+# $limit (Number): Total count of matches allowed before counting stops
+findbar-found-matches-count-limit =
+ .value =
+ { $limit ->
+ [one] More than { $limit } match
+ *[other] More than { $limit } matches
+ }
diff --git a/thunderbird-l10n/en-CA/localization/en-CA/toolkit/neterror/certError.ftl b/thunderbird-l10n/en-CA/localization/en-CA/toolkit/neterror/certError.ftl
new file mode 100644
index 0000000000..d2b4d82962
--- /dev/null
+++ b/thunderbird-l10n/en-CA/localization/en-CA/toolkit/neterror/certError.ftl
@@ -0,0 +1,110 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# Variables:
+# $hostname (string) - Hostname of the website with cert error.
+cert-error-intro = { $hostname } uses an invalid security certificate.
+cert-error-mitm-intro = Websites prove their identity via certificates, which are issued by certificate authorities.
+cert-error-mitm-mozilla = { -brand-short-name } is backed by the non-profit Mozilla, which administers a completely open certificate authority (CA) store. The CA store helps ensure that certificate authorities are following best practices for user security.
+cert-error-mitm-connection = { -brand-short-name } uses the Mozilla CA store to verify that a connection is secure, rather than certificates supplied by the user’s operating system. So, if an antivirus program or a network is intercepting a connection with a security certificate issued by a CA that is not in the Mozilla CA store, the connection is considered unsafe.
+cert-error-trust-unknown-issuer-intro = Someone could be trying to impersonate the site and you should not continue.
+# Variables:
+# $hostname (string) - Hostname of the website with cert error.
+cert-error-trust-unknown-issuer = Websites prove their identity via certificates. { -brand-short-name } does not trust { $hostname } because its certificate issuer is unknown, the certificate is self-signed, or the server is not sending the correct intermediate certificates.
+cert-error-trust-cert-invalid = The certificate is not trusted because it was issued by an invalid CA certificate.
+cert-error-trust-untrusted-issuer = The certificate is not trusted because the issuer certificate is not trusted.
+cert-error-trust-signature-algorithm-disabled = The certificate is not trusted because it was signed using a signature algorithm that was disabled because that algorithm is not secure.
+cert-error-trust-expired-issuer = The certificate is not trusted because the issuer certificate has expired.
+cert-error-trust-self-signed = The certificate is not trusted because it is self-signed.
+cert-error-trust-symantec = Certificates issued by GeoTrust, RapidSSL, Symantec, Thawte, and VeriSign are no longer considered safe because these certificate authorities failed to follow security practices in the past.
+cert-error-untrusted-default = The certificate does not come from a trusted source.
+# Variables:
+# $hostname (string) - Hostname of the website with cert error.
+cert-error-domain-mismatch = Websites prove their identity via certificates. { -brand-short-name } does not trust this site because it uses a certificate that is not valid for { $hostname }.
+# Variables:
+# $hostname (string) - Hostname of the website with cert error.
+# $alt-name (string) - Alternate domain name for which the cert is valid.
+cert-error-domain-mismatch-single = Websites prove their identity via certificates. { -brand-short-name } does not trust this site because it uses a certificate that is not valid for { $hostname }. The certificate is only valid for <a data-l10n-name="domain-mismatch-link">{ $alt-name }</a>.
+# Variables:
+# $hostname (string) - Hostname of the website with cert error.
+# $alt-name (string) - Alternate domain name for which the cert is valid.
+cert-error-domain-mismatch-single-nolink = Websites prove their identity via certificates. { -brand-short-name } does not trust this site because it uses a certificate that is not valid for { $hostname }. The certificate is only valid for { $alt-name }.
+# Variables:
+# $hostname (string) - Hostname of the website with cert error.
+# $subject-alt-names (string) - Alternate domain names for which the cert is valid.
+cert-error-domain-mismatch-multiple = Websites prove their identity via certificates. { -brand-short-name } does not trust this site because it uses a certificate that is not valid for { $hostname }. The certificate is only valid for the following names: { $subject-alt-names }
+# Variables:
+# $hostname (string) - Hostname of the website with cert error.
+# $not-after-local-time (Date) - Certificate is not valid after this time.
+cert-error-expired-now = Websites prove their identity via certificates, which are valid for a set time period. The certificate for { $hostname } expired on { $not-after-local-time }.
+# Variables:
+# $hostname (string) - Hostname of the website with cert error.
+# $not-before-local-time (Date) - Certificate is not valid before this time.
+cert-error-not-yet-valid-now = Websites prove their identity via certificates, which are valid for a set time period. The certificate for { $hostname } will not be valid until { $not-before-local-time }.
+# Variables:
+# $error (string) - NSS error code string that specifies type of cert error. e.g. unknown issuer, invalid cert, etc.
+cert-error-code-prefix = Error code: { $error }
+# Variables:
+# $error (string) - NSS error code string that specifies type of cert error. e.g. unknown issuer, invalid cert, etc.
+cert-error-code-prefix-link = Error code: <a data-l10n-name="error-code-link">{ $error }</a>
+# Variables:
+# $hostname (string) - Hostname of the website with SSL error.
+# $errorMessage (string) - Error message corresponding to the type of error we are experiencing.
+cert-error-ssl-connection-error = An error occurred during a connection to { $hostname }. { $errorMessage }
+# Variables:
+# $hostname (string) - Hostname of the website with cert error.
+cert-error-symantec-distrust-description = Websites prove their identity via certificates, which are issued by certificate authorities. Most browsers no longer trust certificates issued by GeoTrust, RapidSSL, Symantec, Thawte, and VeriSign. { $hostname } uses a certificate from one of these authorities and so the website’s identity cannot be proven.
+cert-error-symantec-distrust-admin = You may notify the website’s administrator about this problem.
+cert-error-old-tls-version = This website might not support the TLS 1.2 protocol, which is the minimum version supported by { -brand-short-name }.
+# Variables:
+# $hasHSTS (Boolean) - Indicates whether HSTS header is present.
+cert-error-details-hsts-label = HTTP Strict Transport Security: { $hasHSTS }
+# Variables:
+# $hasHPKP (Boolean) - Indicates whether HPKP header is present.
+cert-error-details-key-pinning-label = HTTP Public Key Pinning: { $hasHPKP }
+cert-error-details-cert-chain-label = Certificate chain:
+open-in-new-window-for-csp-or-xfo-error = Open Site in New Window
+# Variables:
+# $hostname (string) - Hostname of the website blocked by csp or xfo error.
+csp-xfo-blocked-long-desc = To protect your security, { $hostname } will not allow { -brand-short-name } to display the page if another site has embedded it. To see this page, you need to open it in a new window.
+
+## Messages used for certificate error titles
+
+connectionFailure-title = Unable to connect
+deniedPortAccess-title = This address is restricted
+# "Hmm" is a sound made when considering or puzzling over something.
+# You don't have to include it in your translation if your language does not have a written word like this.
+dnsNotFound-title = Hmm. We’re having trouble finding that site.
+dns-not-found-trr-only-title2 = Possible security risk looking up this domain
+dns-not-found-native-fallback-title2 = Possible security risk looking up this domain
+fileNotFound-title = File not found
+fileAccessDenied-title = Access to the file was denied
+generic-title = Oops.
+captivePortal-title = Log in to network
+# "Hmm" is a sound made when considering or puzzling over something.
+# You don't have to include it in your translation if your language does not have a written word like this.
+malformedURI-title = Hmm. That address doesn’t look right.
+netInterrupt-title = The connection was interrupted
+notCached-title = Document Expired
+netOffline-title = Offline mode
+contentEncodingError-title = Content Encoding Error
+unsafeContentType-title = Unsafe File Type
+netReset-title = The connection was reset
+netTimeout-title = The connection has timed out
+unknownProtocolFound-title = The address wasn’t understood
+proxyConnectFailure-title = The proxy server is refusing connections
+proxyResolveFailure-title = Unable to find the proxy server
+redirectLoop-title = The page isn’t redirecting properly
+unknownSocketType-title = Unexpected response from server
+nssFailure2-title = Secure Connection Failed
+csp-xfo-error-title = { -brand-short-name } Can’t Open This Page
+corruptedContentError-title = Corrupted Content Error
+sslv3Used-title = Unable to Connect Securely
+inadequateSecurityError-title = Your connection is not secure
+blockedByPolicy-title = Blocked Page
+clockSkewError-title = Your Computer Clock is Wrong
+networkProtocolError-title = Network Protocol Error
+nssBadCert-title = Warning: Potential Security Risk Ahead
+nssBadCert-sts-title = Did Not Connect: Potential Security Issue
+certerror-mitm-title = Software is Preventing { -brand-short-name } From Safely Connecting to This Site
diff --git a/thunderbird-l10n/en-CA/localization/en-CA/toolkit/neterror/netError.ftl b/thunderbird-l10n/en-CA/localization/en-CA/toolkit/neterror/netError.ftl
new file mode 100644
index 0000000000..8d300f3197
--- /dev/null
+++ b/thunderbird-l10n/en-CA/localization/en-CA/toolkit/neterror/netError.ftl
@@ -0,0 +1,147 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+
+## Error page titles
+
+neterror-page-title = Problem loading page
+certerror-page-title = Warning: Potential Security Risk Ahead
+certerror-sts-page-title = Did Not Connect: Potential Security Issue
+neterror-blocked-by-policy-page-title = Blocked Page
+neterror-captive-portal-page-title = Log in to network
+neterror-dns-not-found-title = Server Not Found
+neterror-malformed-uri-page-title = Invalid URL
+
+## Error page actions
+
+neterror-advanced-button = Advanced…
+neterror-copy-to-clipboard-button = Copy text to clipboard
+neterror-learn-more-link = Learn more…
+neterror-open-portal-login-page-button = Open Network Login Page
+neterror-override-exception-button = Accept the Risk and Continue
+neterror-pref-reset-button = Restore default settings
+neterror-return-to-previous-page-button = Go Back
+neterror-return-to-previous-page-recommended-button = Go Back (Recommended)
+neterror-try-again-button = Try Again
+neterror-add-exception-button = Always continue for this site
+neterror-settings-button = Change DNS settings
+neterror-view-certificate-link = View Certificate
+neterror-trr-continue-this-time = Continue this time
+neterror-disable-native-feedback-warning = Always continue
+
+##
+
+neterror-pref-reset = It looks like your network security settings might be causing this. Do you want the default settings to be restored?
+neterror-error-reporting-automatic = Report errors like this to help { -vendor-short-name } identify and block malicious sites
+
+## Specific error messages
+
+neterror-generic-error = { -brand-short-name } can’t load this page for some reason.
+neterror-load-error-try-again = The site could be temporarily unavailable or too busy. Try again in a few moments.
+neterror-load-error-connection = If you are unable to load any pages, check your computer’s network connection.
+neterror-load-error-firewall = If your computer or network is protected by a firewall or proxy, make sure that { -brand-short-name } is permitted to access the web.
+neterror-captive-portal = You must log in to this network before you can access the internet.
+# Variables:
+# $hostAndPath (String) - a suggested site (e.g. "www.example.com") that the user may have meant instead.
+neterror-dns-not-found-with-suggestion = Did you mean to go to <a data-l10n-name="website">{ $hostAndPath }</a>?
+neterror-dns-not-found-hint-header = <strong>If you entered the right address, you can:</strong>
+neterror-dns-not-found-hint-try-again = Try again later
+neterror-dns-not-found-hint-check-network = Check your network connection
+neterror-dns-not-found-hint-firewall = Check that { -brand-short-name } has permission to access the web (you might be connected but behind a firewall)
+
+## TRR-only specific messages
+## Variables:
+## $hostname (String) - Hostname of the website to which the user was trying to connect.
+## $trrDomain (String) - Hostname of the DNS over HTTPS server that is currently in use.
+
+neterror-dns-not-found-trr-only-reason = { -brand-short-name } can’t protect your request for this site’s address through our trusted DNS resolver. Here’s why:
+neterror-dns-not-found-trr-third-party-warning2 = You can continue with your default DNS resolver. However, a third-party might be able to see what websites you visit.
+neterror-dns-not-found-trr-only-could-not-connect = { -brand-short-name } wasn’t able to connect to { $trrDomain }.
+neterror-dns-not-found-trr-only-timeout = The connection to { $trrDomain } took longer than expected.
+neterror-dns-not-found-trr-offline = You are not connected to the internet.
+neterror-dns-not-found-trr-unknown-host2 = This website wasn’t found by { $trrDomain }.
+neterror-dns-not-found-trr-server-problem = There was a problem with { $trrDomain }.
+neterror-dns-not-found-bad-trr-url = Invalid URL.
+neterror-dns-not-found-trr-unknown-problem = Unexpected problem.
+
+## Native fallback specific messages
+## Variables:
+## $trrDomain (String) - Hostname of the DNS over HTTPS server that is currently in use.
+
+neterror-dns-not-found-native-fallback-reason = { -brand-short-name } can’t protect your request for this site’s address through our trusted DNS resolver. Here’s why:
+neterror-dns-not-found-native-fallback-heuristic = DNS over HTTPS has been disabled on your network.
+neterror-dns-not-found-native-fallback-not-confirmed2 = { -brand-short-name } wasn’t able to connect to { $trrDomain }.
+
+##
+
+neterror-file-not-found-filename = Check the file name for capitalization or other typing errors.
+neterror-file-not-found-moved = Check to see if the file was moved, renamed or deleted.
+neterror-access-denied = It may have been removed, moved, or file permissions may be preventing access.
+neterror-unknown-protocol = You might need to install other software to open this address.
+neterror-redirect-loop = This problem can sometimes be caused by disabling or refusing to accept cookies.
+neterror-unknown-socket-type-psm-installed = Check to make sure your system has the Personal Security Manager installed.
+neterror-unknown-socket-type-server-config = This might be due to a non-standard configuration on the server.
+neterror-not-cached-intro = The requested document is not available in { -brand-short-name }’s cache.
+neterror-not-cached-sensitive = As a security precaution, { -brand-short-name } does not automatically re-request sensitive documents.
+neterror-not-cached-try-again = Click Try Again to re-request the document from the website.
+neterror-net-offline = Press “Try Again” to switch to online mode and reload the page.
+neterror-proxy-resolve-failure-settings = Check the proxy settings to make sure that they are correct.
+neterror-proxy-resolve-failure-connection = Check to make sure your computer has a working network connection.
+neterror-proxy-resolve-failure-firewall = If your computer or network is protected by a firewall or proxy, make sure that { -brand-short-name } is permitted to access the web.
+neterror-proxy-connect-failure-settings = Check the proxy settings to make sure that they are correct.
+neterror-proxy-connect-failure-contact-admin = Contact your network administrator to make sure the proxy server is working.
+neterror-content-encoding-error = Please contact the website owners to inform them of this problem.
+neterror-unsafe-content-type = Please contact the website owners to inform them of this problem.
+neterror-nss-failure-not-verified = The page you are trying to view cannot be shown because the authenticity of the received data could not be verified.
+neterror-nss-failure-contact-website = Please contact the website owners to inform them of this problem.
+# Variables:
+# $hostname (String) - Hostname of the website to which the user was trying to connect.
+certerror-intro = { -brand-short-name } detected a potential security threat and did not continue to <b>{ $hostname }</b>. If you visit this site, attackers could try to steal information like your passwords, emails, or credit card details.
+# Variables:
+# $hostname (String) - Hostname of the website to which the user was trying to connect.
+certerror-sts-intro = { -brand-short-name } detected a potential security threat and did not continue to <b>{ $hostname }</b> because this website requires a secure connection.
+# Variables:
+# $hostname (String) - Hostname of the website to which the user was trying to connect.
+certerror-expired-cert-intro = { -brand-short-name } detected an issue and did not continue to <b>{ $hostname }</b>. The website is either misconfigured or your computer clock is set to the wrong time.
+# Variables:
+# $hostname (String) - Hostname of the website to which the user was trying to connect.
+# $mitm (String) - The name of the software intercepting communications between you and the website (or “man in the middle”)
+certerror-mitm = <b>{ $hostname }</b> is most likely a safe site, but a secure connection could not be established. This issue is caused by <b>{ $mitm }</b>, which is either software on your computer or your network.
+neterror-corrupted-content-intro = The page you are trying to view cannot be shown because an error in the data transmission was detected.
+neterror-corrupted-content-contact-website = Please contact the website owners to inform them of this problem.
+# Do not translate "SSL_ERROR_UNSUPPORTED_VERSION".
+neterror-sslv3-used = Advanced info: SSL_ERROR_UNSUPPORTED_VERSION
+# Variables:
+# $hostname (String) - Hostname of the website to which the user was trying to connect.
+neterror-inadequate-security-intro = <b>{ $hostname }</b> uses security technology that is outdated and vulnerable to attack. An attacker could easily reveal information which you thought to be safe. The website administrator will need to fix the server first before you can visit the site.
+# Do not translate "NS_ERROR_NET_INADEQUATE_SECURITY".
+neterror-inadequate-security-code = Error code: NS_ERROR_NET_INADEQUATE_SECURITY
+# Variables:
+# $hostname (String) - Hostname of the website to which the user was trying to connect.
+# $now (Date) - The current datetime, to be formatted as a date
+neterror-clock-skew-error = Your computer thinks it is { DATETIME($now, dateStyle: "medium") }, which prevents { -brand-short-name } from connecting securely. To visit <b>{ $hostname }</b>, update your computer clock in your system settings to the current date, time, and time zone, and then refresh <b>{ $hostname }</b>.
+neterror-network-protocol-error-intro = The page you are trying to view cannot be shown because an error in the network protocol was detected.
+neterror-network-protocol-error-contact-website = Please contact the website owners to inform them of this problem.
+certerror-expired-cert-second-para = It’s likely the website’s certificate is expired, which prevents { -brand-short-name } from connecting securely. If you visit this site, attackers could try to steal information like your passwords, emails, or credit card details.
+certerror-expired-cert-sts-second-para = It’s likely the website’s certificate is expired, which prevents { -brand-short-name } from connecting securely.
+certerror-what-can-you-do-about-it-title = What can you do about it?
+certerror-unknown-issuer-what-can-you-do-about-it-website = The issue is most likely with the website, and there is nothing you can do to resolve it.
+certerror-unknown-issuer-what-can-you-do-about-it-contact-admin = If you are on a corporate network or using antivirus software, you can reach out to the support teams for assistance. You can also notify the website’s administrator about the problem.
+# Variables:
+# $hostname (String) - Hostname of the website to which the user was trying to connect.
+# $now (Date) - The current datetime, to be formatted as a date
+certerror-expired-cert-what-can-you-do-about-it-clock = Your computer clock is set to { DATETIME($now, dateStyle: "medium") }. Make sure your computer is set to the correct date, time, and time zone in your system settings, and then refresh <b>{ $hostname }</b>.
+certerror-expired-cert-what-can-you-do-about-it-contact-website = If your clock is already set to the right time, the website is likely misconfigured, and there is nothing you can do to resolve the issue. You can notify the website’s administrator about the problem.
+certerror-bad-cert-domain-what-can-you-do-about-it = The issue is most likely with the website, and there is nothing you can do to resolve it. You can notify the website’s administrator about the problem.
+certerror-mitm-what-can-you-do-about-it-antivirus = If your antivirus software includes a feature that scans encrypted connections (often called “web scanning” or “https scanning”), you can disable that feature. If that doesn’t work, you can remove and reinstall the antivirus software.
+certerror-mitm-what-can-you-do-about-it-corporate = If you are on a corporate network, you can contact your IT department.
+# Variables:
+# $mitm (String) - The name of the software intercepting communications between you and the website (or “man in the middle”)
+certerror-mitm-what-can-you-do-about-it-attack = If you are not familiar with <b>{ $mitm }</b>, then this could be an attack and you should not continue to the site.
+# Variables:
+# $mitm (String) - The name of the software intercepting communications between you and the website (or “man in the middle”)
+certerror-mitm-what-can-you-do-about-it-attack-sts = If you are not familiar with <b>{ $mitm }</b>, then this could be an attack, and there is nothing you can do to access the site.
+# Variables:
+# $hostname (String) - Hostname of the website to which the user was trying to connect.
+certerror-what-should-i-do-bad-sts-cert-explanation = <b>{ $hostname }</b> has a security policy called HTTP Strict Transport Security (HSTS), which means that { -brand-short-name } can only connect to it securely. You can’t add an exception to visit this site.
diff --git a/thunderbird-l10n/en-CA/localization/en-CA/toolkit/neterror/nsserrors.ftl b/thunderbird-l10n/en-CA/localization/en-CA/toolkit/neterror/nsserrors.ftl
new file mode 100644
index 0000000000..2b0cc5d29e
--- /dev/null
+++ b/thunderbird-l10n/en-CA/localization/en-CA/toolkit/neterror/nsserrors.ftl
@@ -0,0 +1,349 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+
+# DO NOT ADD THINGS OTHER THAN ERROR MESSAGES HERE.
+# This file gets parsed into a JS dictionary of all known error message ids in
+# gen_aboutneterror_codes.py . If we end up needing fluent attributes or
+# refactoring them in some way, the script will need updating.
+
+psmerr-ssl-disabled = Can’t connect securely because the SSL protocol has been disabled.
+psmerr-ssl2-disabled = Can’t connect securely because the site uses an older, insecure version of the SSL protocol.
+# This is a multi-line message.
+psmerr-hostreusedissuerandserial =
+ You have received an invalid certificate. Please contact the server administrator or email correspondent and give them the following information:
+
+ Your certificate contains the same serial number as another certificate issued by the certificate authority. Please get a new certificate containing a unique serial number.
+
+ssl-error-export-only-server = Unable to communicate securely. Peer does not support high-grade encryption.
+ssl-error-us-only-server = Unable to communicate securely. Peer requires high-grade encryption which is not supported.
+ssl-error-no-cypher-overlap = Cannot communicate securely with peer: no common encryption algorithm(s).
+ssl-error-no-certificate = Unable to find the certificate or key necessary for authentication.
+ssl-error-bad-certificate = Unable to communicate securely with peer: peers’s certificate was rejected.
+ssl-error-bad-client = The server has encountered bad data from the client.
+ssl-error-bad-server = The client has encountered bad data from the server.
+ssl-error-unsupported-certificate-type = Unsupported certificate type.
+ssl-error-unsupported-version = Peer using unsupported version of security protocol.
+ssl-error-wrong-certificate = Client authentication failed: private key in key database does not match public key in certificate database.
+ssl-error-bad-cert-domain = Unable to communicate securely with peer: requested domain name does not match the server’s certificate.
+ssl-error-post-warning = Unrecognized SSL error code.
+ssl-error-ssl2-disabled = Peer only supports SSL version 2, which is locally disabled.
+ssl-error-bad-mac-read = SSL received a record with an incorrect Message Authentication Code.
+ssl-error-bad-mac-alert = SSL peer reports incorrect Message Authentication Code.
+ssl-error-bad-cert-alert = SSL peer cannot verify your certificate.
+ssl-error-revoked-cert-alert = SSL peer rejected your certificate as revoked.
+ssl-error-expired-cert-alert = SSL peer rejected your certificate as expired.
+ssl-error-ssl-disabled = Cannot connect: SSL is disabled.
+ssl-error-fortezza-pqg = Cannot connect: SSL peer is in another FORTEZZA domain.
+ssl-error-unknown-cipher-suite = An unknown SSL cipher suite has been requested.
+ssl-error-no-ciphers-supported = No cipher suites are present and enabled in this program.
+ssl-error-bad-block-padding = SSL received a record with bad block padding.
+ssl-error-rx-record-too-long = SSL received a record that exceeded the maximum permissible length.
+ssl-error-tx-record-too-long = SSL attempted to send a record that exceeded the maximum permissible length.
+ssl-error-rx-malformed-hello-request = SSL received a malformed Hello Request handshake message.
+ssl-error-rx-malformed-client-hello = SSL received a malformed Client Hello handshake message.
+ssl-error-rx-malformed-server-hello = SSL received a malformed Server Hello handshake message.
+ssl-error-rx-malformed-certificate = SSL received a malformed Certificate handshake message.
+ssl-error-rx-malformed-server-key-exch = SSL received a malformed Server Key Exchange handshake message.
+ssl-error-rx-malformed-cert-request = SSL received a malformed Certificate Request handshake message.
+ssl-error-rx-malformed-hello-done = SSL received a malformed Server Hello Done handshake message.
+ssl-error-rx-malformed-cert-verify = SSL received a malformed Certificate Verify handshake message.
+ssl-error-rx-malformed-client-key-exch = SSL received a malformed Client Key Exchange handshake message.
+ssl-error-rx-malformed-finished = SSL received a malformed Finished handshake message.
+ssl-error-rx-malformed-change-cipher = SSL received a malformed Change Cipher Spec record.
+ssl-error-rx-malformed-alert = SSL received a malformed Alert record.
+ssl-error-rx-malformed-handshake = SSL received a malformed Handshake record.
+ssl-error-rx-malformed-application-data = SSL received a malformed Application Data record.
+ssl-error-rx-unexpected-hello-request = SSL received an unexpected Hello Request handshake message.
+ssl-error-rx-unexpected-client-hello = SSL received an unexpected Client Hello handshake message.
+ssl-error-rx-unexpected-server-hello = SSL received an unexpected Server Hello handshake message.
+ssl-error-rx-unexpected-certificate = SSL received an unexpected Certificate handshake message.
+ssl-error-rx-unexpected-server-key-exch = SSL received an unexpected Server Key Exchange handshake message.
+ssl-error-rx-unexpected-cert-request = SSL received an unexpected Certificate Request handshake message.
+ssl-error-rx-unexpected-hello-done = SSL received an unexpected Server Hello Done handshake message.
+ssl-error-rx-unexpected-cert-verify = SSL received an unexpected Certificate Verify handshake message.
+ssl-error-rx-unexpected-client-key-exch = SSL received an unexpected Client Key Exchange handshake message.
+ssl-error-rx-unexpected-finished = SSL received an unexpected Finished handshake message.
+ssl-error-rx-unexpected-change-cipher = SSL received an unexpected Change Cipher Spec record.
+ssl-error-rx-unexpected-alert = SSL received an unexpected Alert record.
+ssl-error-rx-unexpected-handshake = SSL received an unexpected Handshake record.
+ssl-error-rx-unexpected-application-data = SSL received an unexpected Application Data record.
+ssl-error-rx-unknown-record-type = SSL received a record with an unknown content type.
+ssl-error-rx-unknown-handshake = SSL received a handshake message with an unknown message type.
+ssl-error-rx-unknown-alert = SSL received an alert record with an unknown alert description.
+ssl-error-close-notify-alert = SSL peer has closed this connection.
+ssl-error-handshake-unexpected-alert = SSL peer was not expecting a handshake message it received.
+ssl-error-decompression-failure-alert = SSL peer was unable to successfully decompress an SSL record it received.
+ssl-error-handshake-failure-alert = SSL peer was unable to negotiate an acceptable set of security parameters.
+ssl-error-illegal-parameter-alert = SSL peer rejected a handshake message for unacceptable content.
+ssl-error-unsupported-cert-alert = SSL peer does not support certificates of the type it received.
+ssl-error-certificate-unknown-alert = SSL peer had some unspecified issue with the certificate it received.
+ssl-error-generate-random-failure = SSL experienced a failure of its random number generator.
+ssl-error-sign-hashes-failure = Unable to digitally sign data required to verify your certificate.
+ssl-error-extract-public-key-failure = SSL was unable to extract the public key from the peer’s certificate.
+ssl-error-server-key-exchange-failure = Unspecified failure while processing SSL Server Key Exchange handshake.
+ssl-error-client-key-exchange-failure = Unspecified failure while processing SSL Client Key Exchange handshake.
+ssl-error-encryption-failure = Bulk data encryption algorithm failed in selected cipher suite.
+ssl-error-decryption-failure = Bulk data decryption algorithm failed in selected cipher suite.
+ssl-error-socket-write-failure = Attempt to write encrypted data to underlying socket failed.
+ssl-error-md5-digest-failure = MD5 digest function failed.
+ssl-error-sha-digest-failure = SHA-1 digest function failed.
+ssl-error-mac-computation-failure = MAC computation failed.
+ssl-error-sym-key-context-failure = Failure to create Symmetric Key context.
+ssl-error-sym-key-unwrap-failure = Failure to unwrap the Symmetric key in Client Key Exchange message.
+ssl-error-pub-key-size-limit-exceeded = SSL Server attempted to use domestic-grade public key with export cipher suite.
+ssl-error-iv-param-failure = PKCS11 code failed to translate an IV into a param.
+ssl-error-init-cipher-suite-failure = Failed to initialize the selected cipher suite.
+ssl-error-session-key-gen-failure = Client failed to generate session keys for SSL session.
+ssl-error-no-server-key-for-alg = Server has no key for the attempted key exchange algorithm.
+ssl-error-token-insertion-removal = PKCS#11 token was inserted or removed while operation was in progress.
+ssl-error-token-slot-not-found = No PKCS#11 token could be found to do a required operation.
+ssl-error-no-compression-overlap = Cannot communicate securely with peer: no common compression algorithm(s).
+ssl-error-handshake-not-completed = Cannot initiate another SSL handshake until current handshake is complete.
+ssl-error-bad-handshake-hash-value = Received incorrect handshakes hash values from peer.
+ssl-error-cert-kea-mismatch = The certificate provided cannot be used with the selected key exchange algorithm.
+ssl-error-no-trusted-ssl-client-ca = No certificate authority is trusted for SSL client authentication.
+ssl-error-session-not-found = Client’s SSL session ID not found in server’s session cache.
+ssl-error-decryption-failed-alert = Peer was unable to decrypt an SSL record it received.
+ssl-error-record-overflow-alert = Peer received an SSL record that was longer than is permitted.
+ssl-error-unknown-ca-alert = Peer does not recognize and trust the CA that issued your certificate.
+ssl-error-access-denied-alert = Peer received a valid certificate, but access was denied.
+ssl-error-decode-error-alert = Peer could not decode an SSL handshake message.
+ssl-error-decrypt-error-alert = Peer reports failure of signature verification or key exchange.
+ssl-error-export-restriction-alert = Peer reports negotiation not in compliance with export regulations.
+ssl-error-protocol-version-alert = Peer reports incompatible or unsupported protocol version.
+ssl-error-insufficient-security-alert = Server requires ciphers more secure than those supported by client.
+ssl-error-internal-error-alert = Peer reports it experienced an internal error.
+ssl-error-user-canceled-alert = Peer user cancelled handshake.
+ssl-error-no-renegotiation-alert = Peer does not permit renegotiation of SSL security parameters.
+ssl-error-server-cache-not-configured = SSL server cache not configured and not disabled for this socket.
+ssl-error-unsupported-extension-alert = SSL peer does not support requested TLS hello extension.
+ssl-error-certificate-unobtainable-alert = SSL peer could not obtain your certificate from the supplied URL.
+ssl-error-unrecognized-name-alert = SSL peer has no certificate for the requested DNS name.
+ssl-error-bad-cert-status-response-alert = SSL peer was unable to get an OCSP response for its certificate.
+ssl-error-bad-cert-hash-value-alert = SSL peer reported bad certificate hash value.
+ssl-error-rx-unexpected-new-session-ticket = SSL received an unexpected New Session Ticket handshake message.
+ssl-error-rx-malformed-new-session-ticket = SSL received a malformed New Session Ticket handshake message.
+ssl-error-decompression-failure = SSL received a compressed record that could not be decompressed.
+ssl-error-renegotiation-not-allowed = Renegotiation is not allowed on this SSL socket.
+ssl-error-unsafe-negotiation = Peer attempted old style (potentially vulnerable) handshake.
+ssl-error-rx-unexpected-uncompressed-record = SSL received an unexpected uncompressed record.
+ssl-error-weak-server-ephemeral-dh-key = SSL received a weak ephemeral Diffie-Hellman key in Server Key Exchange handshake message.
+ssl-error-next-protocol-data-invalid = SSL received invalid NPN extension data.
+ssl-error-feature-not-supported-for-ssl2 = SSL feature not supported for SSL 2.0 connections.
+ssl-error-feature-not-supported-for-servers = SSL feature not supported for servers.
+ssl-error-feature-not-supported-for-clients = SSL feature not supported for clients.
+ssl-error-invalid-version-range = SSL version range is not valid.
+ssl-error-cipher-disallowed-for-version = SSL peer selected a cipher suite disallowed for the selected protocol version.
+ssl-error-rx-malformed-hello-verify-request = SSL received a malformed Hello Verify Request handshake message.
+ssl-error-rx-unexpected-hello-verify-request = SSL received an unexpected Hello Verify Request handshake message.
+ssl-error-feature-not-supported-for-version = SSL feature not supported for the protocol version.
+ssl-error-rx-unexpected-cert-status = SSL received an unexpected Certificate Status handshake message.
+ssl-error-unsupported-hash-algorithm = Unsupported hash algorithm used by TLS peer.
+ssl-error-digest-failure = Digest function failed.
+ssl-error-incorrect-signature-algorithm = Incorrect signature algorithm specified in a digitally-signed element.
+ssl-error-next-protocol-no-callback = The next protocol negotiation extension was enabled, but the callback was cleared prior to being needed.
+ssl-error-next-protocol-no-protocol = The server supports no protocols that the client advertises in the ALPN extension.
+ssl-error-inappropriate-fallback-alert = The server rejected the handshake because the client downgraded to a lower TLS version than the server supports.
+ssl-error-weak-server-cert-key = The server certificate included a public key that was too weak.
+ssl-error-rx-short-dtls-read = Not enough room in buffer for DTLS record.
+ssl-error-no-supported-signature-algorithm = No supported TLS signature algorithm was configured.
+ssl-error-unsupported-signature-algorithm = The peer used an unsupported combination of signature and hash algorithm.
+ssl-error-missing-extended-master-secret = The peer tried to resume without a correct extended_master_secret extension.
+ssl-error-unexpected-extended-master-secret = The peer tried to resume with an unexpected extended_master_secret extension.
+
+sec-error-io = An I/O error occurred during security authorization.
+sec-error-library-failure = security library failure.
+sec-error-bad-data = security library: received bad data.
+sec-error-output-len = security library: output length error.
+sec-error-input-len = security library has experienced an input length error.
+sec-error-invalid-args = security library: invalid arguments.
+sec-error-invalid-algorithm = security library: invalid algorithm.
+sec-error-invalid-ava = security library: invalid AVA.
+sec-error-invalid-time = Improperly formatted time string.
+sec-error-bad-der = security library: improperly formatted DER-encoded message.
+sec-error-bad-signature = Peer’s certificate has an invalid signature.
+sec-error-expired-certificate = Peer’s Certificate has expired.
+sec-error-revoked-certificate = Peer’s Certificate has been revoked.
+sec-error-unknown-issuer = Peer’s Certificate issuer is not recognized.
+sec-error-bad-key = Peer’s public key is invalid.
+sec-error-bad-password = The security password entered is incorrect.
+sec-error-retry-password = New password entered incorrectly. Please try again.
+sec-error-no-nodelock = security library: no nodelock.
+sec-error-bad-database = security library: bad database.
+sec-error-no-memory = security library: memory allocation failure.
+sec-error-untrusted-issuer = Peer’s certificate issuer has been marked as not trusted by the user.
+sec-error-untrusted-cert = Peer’s certificate has been marked as not trusted by the user.
+sec-error-duplicate-cert = Certificate already exists in your database.
+sec-error-duplicate-cert-name = Downloaded certificate’s name duplicates one already in your database.
+sec-error-adding-cert = Error adding certificate to database.
+sec-error-filing-key = Error refiling the key for this certificate.
+sec-error-no-key = The private key for this certificate cannot be found in key database
+sec-error-cert-valid = This certificate is valid.
+sec-error-cert-not-valid = This certificate is not valid.
+sec-error-cert-no-response = Cert Library: No Response
+sec-error-expired-issuer-certificate = The certificate issuer’s certificate has expired. Check your system date and time.
+sec-error-crl-expired = The CRL for the certificate’s issuer has expired. Update it or check your system date and time.
+sec-error-crl-bad-signature = The CRL for the certificate’s issuer has an invalid signature.
+sec-error-crl-invalid = New CRL has an invalid format.
+sec-error-extension-value-invalid = Certificate extension value is invalid.
+sec-error-extension-not-found = Certificate extension not found.
+sec-error-ca-cert-invalid = Issuer certificate is invalid.
+sec-error-path-len-constraint-invalid = Certificate path length constraint is invalid.
+sec-error-cert-usages-invalid = Certificate usages field is invalid.
+sec-internal-only = **Internal ONLY module**
+sec-error-invalid-key = The key does not support the requested operation.
+sec-error-unknown-critical-extension = Certificate contains unknown critical extension.
+sec-error-old-crl = New CRL is not later than the current one.
+sec-error-no-email-cert = Not encrypted or signed: you do not yet have an email certificate.
+sec-error-no-recipient-certs-query = Not encrypted: you do not have certificates for each of the recipients.
+sec-error-not-a-recipient = Cannot decrypt: you are not a recipient, or matching certificate and private key not found.
+sec-error-pkcs7-keyalg-mismatch = Cannot decrypt: key encryption algorithm does not match your certificate.
+sec-error-pkcs7-bad-signature = Signature verification failed: no signer found, too many signers found, or improper or corrupted data.
+sec-error-unsupported-keyalg = Unsupported or unknown key algorithm.
+sec-error-decryption-disallowed = Cannot decrypt: encrypted using a disallowed algorithm or key size.
+sec-error-no-krl = No KRL for this site’s certificate has been found.
+sec-error-krl-expired = The KRL for this site’s certificate has expired.
+sec-error-krl-bad-signature = The KRL for this site’s certificate has an invalid signature.
+sec-error-revoked-key = The key for this site’s certificate has been revoked.
+sec-error-krl-invalid = New KRL has an invalid format.
+sec-error-need-random = security library: need random data.
+sec-error-no-module = security library: no security module can perform the requested operation.
+sec-error-no-token = The security card or token does not exist, needs to be initialized, or has been removed.
+sec-error-read-only = security library: read-only database.
+sec-error-no-slot-selected = No slot or token was selected.
+sec-error-cert-nickname-collision = A certificate with the same nickname already exists.
+sec-error-key-nickname-collision = A key with the same nickname already exists.
+sec-error-safe-not-created = error while creating safe object
+sec-error-baggage-not-created = error while creating baggage object
+sec-error-bad-export-algorithm = Required algorithm is not allowed.
+sec-error-exporting-certificates = Error attempting to export certificates.
+sec-error-importing-certificates = Error attempting to import certificates.
+sec-error-pkcs12-decoding-pfx = Unable to import. Decoding error. File not valid.
+sec-error-pkcs12-invalid-mac = Unable to import. Invalid MAC. Incorrect password or corrupt file.
+sec-error-pkcs12-unsupported-mac-algorithm = Unable to import. MAC algorithm not supported.
+sec-error-pkcs12-unsupported-transport-mode = Unable to import. Only password integrity and privacy modes supported.
+sec-error-pkcs12-corrupt-pfx-structure = Unable to import. File structure is corrupt.
+sec-error-pkcs12-unsupported-pbe-algorithm = Unable to import. Encryption algorithm not supported.
+sec-error-pkcs12-unsupported-version = Unable to import. File version not supported.
+sec-error-pkcs12-privacy-password-incorrect = Unable to import. Incorrect privacy password.
+sec-error-pkcs12-cert-collision = Unable to import. Same nickname already exists in database.
+sec-error-user-cancelled = The user pressed cancel.
+sec-error-pkcs12-duplicate-data = Not imported, already in database.
+sec-error-message-send-aborted = Message not sent.
+sec-error-inadequate-key-usage = Certificate key usage inadequate for attempted operation.
+sec-error-inadequate-cert-type = Certificate type not approved for application.
+sec-error-cert-addr-mismatch = Address in signing certificate does not match address in message headers.
+sec-error-pkcs12-unable-to-import-key = Unable to import. Error attempting to import private key.
+sec-error-pkcs12-importing-cert-chain = Unable to import. Error attempting to import certificate chain.
+sec-error-pkcs12-unable-to-locate-object-by-name = Unable to export. Unable to locate certificate or key by nickname.
+sec-error-pkcs12-unable-to-export-key = Unable to export. Private Key could not be located and exported.
+sec-error-pkcs12-unable-to-write = Unable to export. Unable to write the export file.
+sec-error-pkcs12-unable-to-read = Unable to import. Unable to read the import file.
+sec-error-pkcs12-key-database-not-initialized = Unable to export. Key database corrupt or deleted.
+sec-error-keygen-fail = Unable to generate public/private key pair.
+sec-error-invalid-password = Password entered is invalid. Please pick a different one.
+sec-error-retry-old-password = Old password entered incorrectly. Please try again.
+sec-error-bad-nickname = Certificate nickname already in use.
+sec-error-not-fortezza-issuer = Peer FORTEZZA chain has a non-FORTEZZA Certificate.
+sec-error-cannot-move-sensitive-key = A sensitive key cannot be moved to the slot where it is needed.
+sec-error-js-invalid-module-name = Invalid module name.
+sec-error-js-invalid-dll = Invalid module path/filename
+sec-error-js-add-mod-failure = Unable to add module
+sec-error-js-del-mod-failure = Unable to delete module
+sec-error-old-krl = New KRL is not later than the current one.
+sec-error-ckl-conflict = New CKL has different issuer than current CKL. Delete current CKL.
+sec-error-cert-not-in-name-space = The Certifying Authority for this certificate is not permitted to issue a certificate with this name.
+sec-error-krl-not-yet-valid = The key revocation list for this certificate is not yet valid.
+sec-error-crl-not-yet-valid = The certificate revocation list for this certificate is not yet valid.
+sec-error-unknown-cert = The requested certificate could not be found.
+sec-error-unknown-signer = The signer’s certificate could not be found.
+sec-error-cert-bad-access-location = The location for the certificate status server has invalid format.
+sec-error-ocsp-unknown-response-type = The OCSP response cannot be fully decoded; it is of an unknown type.
+sec-error-ocsp-bad-http-response = The OCSP server returned unexpected/invalid HTTP data.
+sec-error-ocsp-malformed-request = The OCSP server found the request to be corrupted or improperly formed.
+sec-error-ocsp-server-error = The OCSP server experienced an internal error.
+sec-error-ocsp-try-server-later = The OCSP server suggests trying again later.
+sec-error-ocsp-request-needs-sig = The OCSP server requires a signature on this request.
+sec-error-ocsp-unauthorized-request = The OCSP server has refused this request as unauthorized.
+sec-error-ocsp-unknown-response-status = The OCSP server returned an unrecognizable status.
+sec-error-ocsp-unknown-cert = The OCSP server has no status for the certificate.
+sec-error-ocsp-not-enabled = You must enable OCSP before performing this operation.
+sec-error-ocsp-no-default-responder = You must set the OCSP default responder before performing this operation.
+sec-error-ocsp-malformed-response = The response from the OCSP server was corrupted or improperly formed.
+sec-error-ocsp-unauthorized-response = The signer of the OCSP response is not authorized to give status for this certificate.
+sec-error-ocsp-future-response = The OCSP response is not yet valid (contains a date in the future).
+sec-error-ocsp-old-response = The OCSP response contains out-of-date information.
+sec-error-digest-not-found = The CMS or PKCS #7 Digest was not found in signed message.
+sec-error-unsupported-message-type = The CMS or PKCS #7 Message type is unsupported.
+sec-error-module-stuck = PKCS #11 module could not be removed because it is still in use.
+sec-error-bad-template = Could not decode ASN.1 data. Specified template was invalid.
+sec-error-crl-not-found = No matching CRL was found.
+sec-error-reused-issuer-and-serial = You are attempting to import a cert with the same issuer/serial as an existing cert, but that is not the same cert.
+sec-error-busy = NSS could not shutdown. Objects are still in use.
+sec-error-extra-input = DER-encoded message contained extra unused data.
+sec-error-unsupported-elliptic-curve = Unsupported elliptic curve.
+sec-error-unsupported-ec-point-form = Unsupported elliptic curve point form.
+sec-error-unrecognized-oid = Unrecognized Object Identifier.
+sec-error-ocsp-invalid-signing-cert = Invalid OCSP signing certificate in OCSP response.
+sec-error-revoked-certificate-crl = Certificate is revoked in issuer’s certificate revocation list.
+sec-error-revoked-certificate-ocsp = Issuer’s OCSP responder reports certificate is revoked.
+sec-error-crl-invalid-version = Issuer’s Certificate Revocation List has an unknown version number.
+sec-error-crl-v1-critical-extension = Issuer’s V1 Certificate Revocation List has a critical extension.
+sec-error-crl-unknown-critical-extension = Issuer’s V2 Certificate Revocation List has an unknown critical extension.
+sec-error-unknown-object-type = Unknown object type specified.
+sec-error-incompatible-pkcs11 = PKCS #11 driver violates the spec in an incompatible way.
+sec-error-no-event = No new slot event is available at this time.
+sec-error-crl-already-exists = CRL already exists.
+sec-error-not-initialized = NSS is not initialized.
+sec-error-token-not-logged-in = The operation failed because the PKCS#11 token is not logged in.
+sec-error-ocsp-responder-cert-invalid = Configured OCSP responder’s certificate is invalid.
+sec-error-ocsp-bad-signature = OCSP response has an invalid signature.
+sec-error-out-of-search-limits = Certificate validation search is out of search limits
+sec-error-invalid-policy-mapping = Policy mapping contains anypolicy
+sec-error-policy-validation-failed = Certificate chain fails policy validation
+sec-error-unknown-aia-location-type = Unknown location type in cert AIA extension
+sec-error-bad-http-response = Server returned bad HTTP response
+sec-error-bad-ldap-response = Server returned bad LDAP response
+sec-error-failed-to-encode-data = Failed to encode data with ASN1 encoder
+sec-error-bad-info-access-location = Bad information access location in certificate extension
+sec-error-libpkix-internal = Libpkix internal error occurred during certificate validation.
+sec-error-pkcs11-general-error = A PKCS #11 module returned CKR_GENERAL_ERROR, indicating that an unrecoverable error has occurred.
+sec-error-pkcs11-function-failed = A PKCS #11 module returned CKR_FUNCTION_FAILED, indicating that the requested function could not be performed. Trying the same operation again might succeed.
+sec-error-pkcs11-device-error = A PKCS #11 module returned CKR_DEVICE_ERROR, indicating that a problem has occurred with the token or slot.
+sec-error-bad-info-access-method = Unknown information access method in certificate extension.
+sec-error-crl-import-failed = Error attempting to import a CRL.
+sec-error-expired-password = The password expired.
+sec-error-locked-password = The password is locked.
+sec-error-unknown-pkcs11-error = Unknown PKCS #11 error.
+sec-error-bad-crl-dp-url = Invalid or unsupported URL in CRL distribution point name.
+sec-error-cert-signature-algorithm-disabled = The certificate was signed using a signature algorithm that is disabled because it is not secure.
+
+mozilla-pkix-error-key-pinning-failure = The server uses key pinning (HPKP) but no trusted certificate chain could be constructed that matches the pinset. Key pinning violations cannot be overridden.
+mozilla-pkix-error-ca-cert-used-as-end-entity = The server uses a certificate with a basic constraints extension identifying it as a certificate authority. For a properly-issued certificate, this should not be the case.
+mozilla-pkix-error-inadequate-key-size = The server presented a certificate with a key size that is too small to establish a secure connection.
+mozilla-pkix-error-v1-cert-used-as-ca = An X.509 version 1 certificate that is not a trust anchor was used to issue the server’s certificate. X.509 version 1 certificates are deprecated and should not be used to sign other certificates.
+mozilla-pkix-error-not-yet-valid-certificate = The server presented a certificate that is not yet valid.
+mozilla-pkix-error-not-yet-valid-issuer-certificate = A certificate that is not yet valid was used to issue the server’s certificate.
+mozilla-pkix-error-signature-algorithm-mismatch = The signature algorithm in the signature field of the certificate does not match the algorithm in its signatureAlgorithm field.
+mozilla-pkix-error-ocsp-response-for-cert-missing = The OCSP response does not include a status for the certificate being verified.
+mozilla-pkix-error-validity-too-long = The server presented a certificate that is valid for too long.
+mozilla-pkix-error-required-tls-feature-missing = A required TLS feature is missing.
+mozilla-pkix-error-invalid-integer-encoding = The server presented a certificate that contains an invalid encoding of an integer. Common causes include negative serial numbers, negative RSA moduli, and encodings that are longer than necessary.
+mozilla-pkix-error-empty-issuer-name = The server presented a certificate with an empty issuer distinguished name.
+mozilla-pkix-error-additional-policy-constraint-failed = An additional policy constraint failed when validating this certificate.
+mozilla-pkix-error-self-signed-cert = The certificate is not trusted because it is self-signed.
+
+xp-java-remove-principal-error = Couldn’t remove the principal
+xp-java-delete-privilege-error = Couldn’t delete the privilege
+xp-java-cert-not-exists-error = This principal doesn’t have a certificate
+
+xp-sec-fortezza-bad-card = Fortezza card has not been properly initialized. Please remove it and return it to your issuer.
+xp-sec-fortezza-no-card = No Fortezza cards Found
+xp-sec-fortezza-none-selected = No Fortezza card selected
+xp-sec-fortezza-more-info = Please select a personality to get more info on
+xp-sec-fortezza-person-not-found = Personality not found
+xp-sec-fortezza-no-more-info = No more information on that personality
+xp-sec-fortezza-bad-pin = Invalid Pin
+xp-sec-fortezza-person-error = Couldn’t initialize Fortezza personalities.
diff --git a/thunderbird-l10n/en-CA/localization/en-CA/toolkit/passwordmgr/passwordmgr.ftl b/thunderbird-l10n/en-CA/localization/en-CA/toolkit/passwordmgr/passwordmgr.ftl
new file mode 100644
index 0000000000..04666aeeab
--- /dev/null
+++ b/thunderbird-l10n/en-CA/localization/en-CA/toolkit/passwordmgr/passwordmgr.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/.
+
+
+## Save and update password doorhanger
+
+# Variables
+# $host (String) - Hostname for which the password is saved for.
+password-manager-save-password-message = Save password for { $host }?
+password-manager-save-password-button-allow =
+ .label = Save
+ .accesskey = S
+password-manager-save-password-button-never =
+ .label = Never save
+ .accesskey = e
+# Variables
+# $host (String) - Hostname for which the password is updated for.
+password-manager-update-password-message = Update password for { $host }?
+password-manager-update-login-add-username = Add username to saved password?
+password-manager-password-password-button-allow =
+ .label = Update
+ .accesskey = U
+password-manager-update-password-button-deny =
+ .label = Don’t update
+ .accesskey = D
+# This is displayed in place of the username when it is missing.
+password-manager-no-username-placeholder = No username
+password-manager-toggle-password =
+ .label = Show password
+ .accesskey = h
+password-manager-confirm-password-change = Confirm Password Change
+password-manager-select-username = Select which login to update:
diff --git a/thunderbird-l10n/en-CA/localization/en-CA/toolkit/payments/payments.ftl b/thunderbird-l10n/en-CA/localization/en-CA/toolkit/payments/payments.ftl
new file mode 100644
index 0000000000..22302a5a90
--- /dev/null
+++ b/thunderbird-l10n/en-CA/localization/en-CA/toolkit/payments/payments.ftl
@@ -0,0 +1,51 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+
+# This value isn't used directly, but is defined to avoid duplication
+# in the "credit-card-label-*" strings.
+#
+# Variables:
+# $month (String): Numeric month the credit card expires
+# $year (String): Four-digit year the credit card expires
+credit-card-expiration = Expires on { $month }/{ $year }
+
+## These labels serve as a description of a credit card.
+## The description must include a credit card number, and may optionally
+## include a cardholder name, an expiration date, or both, so we have
+## four variations.
+
+# Label for a credit card with a number only
+#
+# Variables:
+# $number (String): Partially-redacted credit card number
+# $type (String): Credit card type
+credit-card-label-number-2 = { $number }
+ .aria-label = { $type } { credit-card-label-number-2 }
+
+# Label for a credit card with a number and name
+#
+# Variables:
+# $number (String): Partially-redacted credit card number
+# $name (String): Cardholder name
+# $type (String): Credit card type
+credit-card-label-number-name-2 = { $number }, { $name }
+ .aria-label = { $type } { credit-card-label-number-name-2 }
+
+# Label for a credit card with a number and expiration date
+#
+# Variables:
+# $number (String): Partially-redacted credit card number
+# $type (String): Credit card type
+credit-card-label-number-expiration-2 = { $number }, { credit-card-expiration }
+ .aria-label = { $type } { credit-card-label-number-expiration-2 }
+
+# Label for a credit card with a number, name, and expiration date
+#
+# Variables:
+# $number (String): Partially-redacted credit card number
+# $name (String): Cardholder name
+# $type (String): Credit card type
+credit-card-label-number-name-expiration-2 = { $number }, { $name }, { credit-card-expiration }
+ .aria-label = { $type } { credit-card-label-number-name-expiration-2 }
diff --git a/thunderbird-l10n/en-CA/localization/en-CA/toolkit/pdfviewer/viewer.ftl b/thunderbird-l10n/en-CA/localization/en-CA/toolkit/pdfviewer/viewer.ftl
new file mode 100644
index 0000000000..e95afe96ae
--- /dev/null
+++ b/thunderbird-l10n/en-CA/localization/en-CA/toolkit/pdfviewer/viewer.ftl
@@ -0,0 +1,311 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+
+## Main toolbar buttons (tooltips and alt text for images)
+
+pdfjs-previous-button =
+ .title = Previous Page
+pdfjs-previous-button-label = Previous
+pdfjs-next-button =
+ .title = Next Page
+pdfjs-next-button-label = Next
+# .title: Tooltip for the pageNumber input.
+pdfjs-page-input =
+ .title = Page
+# Variables:
+# $pagesCount (Number) - the total number of pages in the document
+# This string follows an input field with the number of the page currently displayed.
+pdfjs-of-pages = of { $pagesCount }
+# Variables:
+# $pageNumber (Number) - the currently visible page
+# $pagesCount (Number) - the total number of pages in the document
+pdfjs-page-of-pages = ({ $pageNumber } of { $pagesCount })
+pdfjs-zoom-out-button =
+ .title = Zoom Out
+pdfjs-zoom-out-button-label = Zoom Out
+pdfjs-zoom-in-button =
+ .title = Zoom In
+pdfjs-zoom-in-button-label = Zoom In
+pdfjs-zoom-select =
+ .title = Zoom
+pdfjs-presentation-mode-button =
+ .title = Switch to Presentation Mode
+pdfjs-presentation-mode-button-label = Presentation Mode
+pdfjs-open-file-button =
+ .title = Open File
+pdfjs-open-file-button-label = Open
+pdfjs-print-button =
+ .title = Print
+pdfjs-print-button-label = Print
+pdfjs-save-button =
+ .title = Save
+pdfjs-save-button-label = Save
+# Used in Firefox for Android as a tooltip for the download button (“download” is a verb).
+pdfjs-download-button =
+ .title = Download
+# Used in Firefox for Android as a label for the download button (“download” is a verb).
+# Length of the translation matters since we are in a mobile context, with limited screen estate.
+pdfjs-download-button-label = Download
+pdfjs-bookmark-button =
+ .title = Current Page (View URL from Current Page)
+pdfjs-bookmark-button-label = Current Page
+# Used in Firefox for Android.
+pdfjs-open-in-app-button =
+ .title = Open in app
+# Used in Firefox for Android.
+# Length of the translation matters since we are in a mobile context, with limited screen estate.
+pdfjs-open-in-app-button-label = Open in app
+
+## Secondary toolbar and context menu
+
+pdfjs-tools-button =
+ .title = Tools
+pdfjs-tools-button-label = Tools
+pdfjs-first-page-button =
+ .title = Go to First Page
+pdfjs-first-page-button-label = Go to First Page
+pdfjs-last-page-button =
+ .title = Go to Last Page
+pdfjs-last-page-button-label = Go to Last Page
+pdfjs-page-rotate-cw-button =
+ .title = Rotate Clockwise
+pdfjs-page-rotate-cw-button-label = Rotate Clockwise
+pdfjs-page-rotate-ccw-button =
+ .title = Rotate Counterclockwise
+pdfjs-page-rotate-ccw-button-label = Rotate Counterclockwise
+pdfjs-cursor-text-select-tool-button =
+ .title = Enable Text Selection Tool
+pdfjs-cursor-text-select-tool-button-label = Text Selection Tool
+pdfjs-cursor-hand-tool-button =
+ .title = Enable Hand Tool
+pdfjs-cursor-hand-tool-button-label = Hand Tool
+pdfjs-scroll-page-button =
+ .title = Use Page Scrolling
+pdfjs-scroll-page-button-label = Page Scrolling
+pdfjs-scroll-vertical-button =
+ .title = Use Vertical Scrolling
+pdfjs-scroll-vertical-button-label = Vertical Scrolling
+pdfjs-scroll-horizontal-button =
+ .title = Use Horizontal Scrolling
+pdfjs-scroll-horizontal-button-label = Horizontal Scrolling
+pdfjs-scroll-wrapped-button =
+ .title = Use Wrapped Scrolling
+pdfjs-scroll-wrapped-button-label = Wrapped Scrolling
+pdfjs-spread-none-button =
+ .title = Do not join page spreads
+pdfjs-spread-none-button-label = No Spreads
+pdfjs-spread-odd-button =
+ .title = Join page spreads starting with odd-numbered pages
+pdfjs-spread-odd-button-label = Odd Spreads
+pdfjs-spread-even-button =
+ .title = Join page spreads starting with even-numbered pages
+pdfjs-spread-even-button-label = Even Spreads
+
+## Document properties dialog
+
+pdfjs-document-properties-button =
+ .title = Document Properties…
+pdfjs-document-properties-button-label = Document Properties…
+pdfjs-document-properties-file-name = File name:
+pdfjs-document-properties-file-size = File size:
+# Variables:
+# $size_kb (Number) - the PDF file size in kilobytes
+# $size_b (Number) - the PDF file size in bytes
+pdfjs-document-properties-kb = { $size_kb } kB ({ $size_b } bytes)
+# Variables:
+# $size_mb (Number) - the PDF file size in megabytes
+# $size_b (Number) - the PDF file size in bytes
+pdfjs-document-properties-mb = { $size_mb } MB ({ $size_b } bytes)
+pdfjs-document-properties-title = Title:
+pdfjs-document-properties-author = Author:
+pdfjs-document-properties-subject = Subject:
+pdfjs-document-properties-keywords = Keywords:
+pdfjs-document-properties-creation-date = Creation Date:
+pdfjs-document-properties-modification-date = Modification Date:
+# Variables:
+# $date (Date) - the creation/modification date of the PDF file
+# $time (Time) - the creation/modification time of the PDF file
+pdfjs-document-properties-date-string = { $date }, { $time }
+pdfjs-document-properties-creator = Creator:
+pdfjs-document-properties-producer = PDF Producer:
+pdfjs-document-properties-version = PDF Version:
+pdfjs-document-properties-page-count = Page Count:
+pdfjs-document-properties-page-size = Page Size:
+pdfjs-document-properties-page-size-unit-inches = in
+pdfjs-document-properties-page-size-unit-millimeters = mm
+pdfjs-document-properties-page-size-orientation-portrait = portrait
+pdfjs-document-properties-page-size-orientation-landscape = landscape
+pdfjs-document-properties-page-size-name-a-three = A3
+pdfjs-document-properties-page-size-name-a-four = A4
+pdfjs-document-properties-page-size-name-letter = Letter
+pdfjs-document-properties-page-size-name-legal = Legal
+
+## Variables:
+## $width (Number) - the width of the (current) page
+## $height (Number) - the height of the (current) page
+## $unit (String) - the unit of measurement of the (current) page
+## $name (String) - the name of the (current) page
+## $orientation (String) - the orientation of the (current) page
+
+pdfjs-document-properties-page-size-dimension-string = { $width } × { $height } { $unit } ({ $orientation })
+pdfjs-document-properties-page-size-dimension-name-string = { $width } × { $height } { $unit } ({ $name }, { $orientation })
+
+##
+
+# The linearization status of the document; usually called "Fast Web View" in
+# English locales of Adobe software.
+pdfjs-document-properties-linearized = Fast Web View:
+pdfjs-document-properties-linearized-yes = Yes
+pdfjs-document-properties-linearized-no = No
+pdfjs-document-properties-close-button = Close
+
+## Print
+
+pdfjs-print-progress-message = Preparing document for printing…
+# Variables:
+# $progress (Number) - percent value
+pdfjs-print-progress-percent = { $progress }%
+pdfjs-print-progress-close-button = Cancel
+pdfjs-printing-not-supported = Warning: Printing is not fully supported by this browser.
+pdfjs-printing-not-ready = Warning: The PDF is not fully loaded for printing.
+
+## Tooltips and alt text for side panel toolbar buttons
+
+pdfjs-toggle-sidebar-button =
+ .title = Toggle Sidebar
+pdfjs-toggle-sidebar-notification-button =
+ .title = Toggle Sidebar (document contains outline/attachments/layers)
+pdfjs-toggle-sidebar-button-label = Toggle Sidebar
+pdfjs-document-outline-button =
+ .title = Show Document Outline (double-click to expand/collapse all items)
+pdfjs-document-outline-button-label = Document Outline
+pdfjs-attachments-button =
+ .title = Show Attachments
+pdfjs-attachments-button-label = Attachments
+pdfjs-layers-button =
+ .title = Show Layers (double-click to reset all layers to the default state)
+pdfjs-layers-button-label = Layers
+pdfjs-thumbs-button =
+ .title = Show Thumbnails
+pdfjs-thumbs-button-label = Thumbnails
+pdfjs-current-outline-item-button =
+ .title = Find Current Outline Item
+pdfjs-current-outline-item-button-label = Current Outline Item
+pdfjs-findbar-button =
+ .title = Find in Document
+pdfjs-findbar-button-label = Find
+pdfjs-additional-layers = Additional Layers
+
+## Thumbnails panel item (tooltip and alt text for images)
+
+# Variables:
+# $page (Number) - the page number
+pdfjs-thumb-page-title =
+ .title = Page { $page }
+# Variables:
+# $page (Number) - the page number
+pdfjs-thumb-page-canvas =
+ .aria-label = Thumbnail of Page { $page }
+
+## Find panel button title and messages
+
+pdfjs-find-input =
+ .title = Find
+ .placeholder = Find in document…
+pdfjs-find-previous-button =
+ .title = Find the previous occurrence of the phrase
+pdfjs-find-previous-button-label = Previous
+pdfjs-find-next-button =
+ .title = Find the next occurrence of the phrase
+pdfjs-find-next-button-label = Next
+pdfjs-find-highlight-checkbox = Highlight All
+pdfjs-find-match-case-checkbox-label = Match Case
+pdfjs-find-match-diacritics-checkbox-label = Match Diacritics
+pdfjs-find-entire-word-checkbox-label = Whole Words
+pdfjs-find-reached-top = Reached top of document, continued from bottom
+pdfjs-find-reached-bottom = Reached end of document, continued from top
+pdfjs-find-not-found = Phrase not found
+
+## Predefined zoom values
+
+pdfjs-page-scale-width = Page Width
+pdfjs-page-scale-fit = Page Fit
+pdfjs-page-scale-auto = Automatic Zoom
+pdfjs-page-scale-actual = Actual Size
+# Variables:
+# $scale (Number) - percent value for page scale
+pdfjs-page-scale-percent = { $scale }%
+
+## PDF page
+
+# Variables:
+# $page (Number) - the page number
+pdfjs-page-landmark =
+ .aria-label = Page { $page }
+
+## Loading indicator messages
+
+pdfjs-loading-error = An error occurred while loading the PDF.
+pdfjs-invalid-file-error = Invalid or corrupted PDF file.
+pdfjs-missing-file-error = Missing PDF file.
+pdfjs-unexpected-response-error = Unexpected server response.
+pdfjs-rendering-error = An error occurred while rendering the page.
+
+## Annotations
+
+# Variables:
+# $date (Date) - the modification date of the annotation
+# $time (Time) - the modification time of the annotation
+pdfjs-annotation-date-string = { $date }, { $time }
+# .alt: This is used as a tooltip.
+# Variables:
+# $type (String) - an annotation type from a list defined in the PDF spec
+# (32000-1:2008 Table 169 – Annotation types).
+# Some common types are e.g.: "Check", "Text", "Comment", "Note"
+pdfjs-text-annotation-type =
+ .alt = [{ $type } Annotation]
+
+## Password
+
+pdfjs-password-label = Enter the password to open this PDF file.
+pdfjs-password-invalid = Invalid password. Please try again.
+pdfjs-password-ok-button = OK
+pdfjs-password-cancel-button = Cancel
+pdfjs-web-fonts-disabled = Web fonts are disabled: unable to use embedded PDF fonts.
+
+## Editing
+
+pdfjs-editor-free-text-button =
+ .title = Text
+pdfjs-editor-free-text-button-label = Text
+pdfjs-editor-ink-button =
+ .title = Draw
+pdfjs-editor-ink-button-label = Draw
+pdfjs-editor-stamp-button =
+ .title = Add or edit images
+pdfjs-editor-stamp-button-label = Add or edit images
+# Editor Parameters
+pdfjs-editor-free-text-color-input = Colour
+pdfjs-editor-free-text-size-input = Size
+pdfjs-editor-ink-color-input = Colour
+pdfjs-editor-ink-thickness-input = Thickness
+pdfjs-editor-ink-opacity-input = Opacity
+pdfjs-editor-stamp-add-image-button =
+ .title = Add image
+pdfjs-editor-stamp-add-image-button-label = Add image
+pdfjs-free-text =
+ .aria-label = Text Editor
+pdfjs-free-text-default-content = Start typing…
+pdfjs-ink =
+ .aria-label = Draw Editor
+pdfjs-ink-canvas =
+ .aria-label = User-created image
+
+## Alt-text dialog
+
+
+## Editor resizers
+## This is used in an aria label to help to understand the role of the resizer.
+
diff --git a/thunderbird-l10n/en-CA/localization/en-CA/toolkit/pictureinpicture/pictureinpicture.ftl b/thunderbird-l10n/en-CA/localization/en-CA/toolkit/pictureinpicture/pictureinpicture.ftl
new file mode 100644
index 0000000000..530f5aa377
--- /dev/null
+++ b/thunderbird-l10n/en-CA/localization/en-CA/toolkit/pictureinpicture/pictureinpicture.ftl
@@ -0,0 +1,75 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+pictureinpicture-player-title = Picture-in-Picture
+
+## Variables:
+## $shortcut (String) - Keyboard shortcut to execute the command.
+
+
+## Note that this uses .tooltip rather than the standard '.title'
+## or '.tooltiptext' - but it has the same effect. Code in the
+## picture-in-picture window will read and copy this to an in-document
+## DOM node that then shows the tooltip.
+##
+## Variables:
+## $shortcut (String) - Keyboard shortcut to execute the command.
+
+pictureinpicture-pause-btn =
+ .aria-label = Pause
+ .tooltip = Pause (Spacebar)
+pictureinpicture-play-btn =
+ .aria-label = Play
+ .tooltip = Play (Spacebar)
+pictureinpicture-mute-btn =
+ .aria-label = Mute
+ .tooltip = Mute ({ $shortcut })
+pictureinpicture-unmute-btn =
+ .aria-label = Unmute
+ .tooltip = Unmute ({ $shortcut })
+pictureinpicture-unpip-btn =
+ .aria-label = Send back to tab
+ .tooltip = Back to tab
+pictureinpicture-close-btn =
+ .aria-label = Close
+ .tooltip = Close ({ $shortcut })
+pictureinpicture-subtitles-btn =
+ .aria-label = Subtitles
+ .tooltip = Subtitles
+pictureinpicture-fullscreen-btn2 =
+ .aria-label = Fullscreen
+ .tooltip = Fullscreen (double-click or { $shortcut })
+pictureinpicture-exit-fullscreen-btn2 =
+ .aria-label = Exit fullscreen
+ .tooltip = Exit fullscreen (double-click or { $shortcut })
+
+##
+
+# Keyboard shortcut to toggle fullscreen mode when Picture-in-Picture is open.
+pictureinpicture-toggle-fullscreen-shortcut =
+ .key = F
+
+## Note that this uses .tooltip rather than the standard '.title'
+## or '.tooltiptext' - but it has the same effect. Code in the
+## picture-in-picture window will read and copy this to an in-document
+## DOM node that then shows the tooltip.
+
+pictureinpicture-seekbackward-btn =
+ .aria-label = Backward
+ .tooltip = Backward (←)
+pictureinpicture-seekforward-btn =
+ .aria-label = Forward
+ .tooltip = Forward (→)
+
+##
+
+# This string is never displayed on the window. Is intended to be announced by
+# a screen reader whenever a user opens the subtitles settings panel
+# after selecting the subtitles button.
+pictureinpicture-subtitles-panel-accessible = Subtitles settings
+pictureinpicture-subtitles-label = Subtitles
+pictureinpicture-font-size-label = Font size
+pictureinpicture-font-size-small = Small
+pictureinpicture-font-size-medium = Medium
+pictureinpicture-font-size-large = Large
diff --git a/thunderbird-l10n/en-CA/localization/en-CA/toolkit/preferences/preferences.ftl b/thunderbird-l10n/en-CA/localization/en-CA/toolkit/preferences/preferences.ftl
new file mode 100644
index 0000000000..1c5f4c1739
--- /dev/null
+++ b/thunderbird-l10n/en-CA/localization/en-CA/toolkit/preferences/preferences.ftl
@@ -0,0 +1,34 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+password-not-set =
+ .value = (not set)
+failed-pp-change = Unable to change Primary Password.
+incorrect-pp = You did not enter the correct current Primary Password. Please try again.
+pp-change-ok = Primary Password successfully changed.
+settings-pp-erased-ok = You have deleted your Primary Password. Stored passwords and certificate private keys managed by { -brand-short-name } will not be protected.
+settings-pp-not-wanted = Warning! You have decided not to use a Primary Password. Stored passwords and certificate private keys managed by { -brand-short-name } will not be protected.
+pp-change2empty-in-fips-mode = You are currently in FIPS mode. FIPS requires a non-empty Primary Password.
+pw-change-success-title = Password Change Succeeded
+pw-change-failed-title = Password Change Failed
+pw-remove-button =
+ .label = Remove
+primary-password-dialog =
+ .title = Primary Password
+set-password-old-password = Current password:
+set-password-new-password = Enter new password:
+set-password-reenter-password = Re-enter password:
+set-password-meter = Password quality meter
+set-password-meter-loading = Loading
+primary-password-admin = Your administrator requires that you have a Primary Password set in order to save logins and passwords.
+primary-password-description = A Primary Password is used to protect some sensitive information, like logins and passwords, on this device. If you create a Primary Password you will be asked to enter it once per session when { -brand-short-name } retrieves saved information protected by the password.
+primary-password-warning = Please make sure you remember the Primary Password you have set. If you forget your Primary Password, you will be unable to access any of the information protected by it on this device.
+remove-primary-password =
+ .title = Remove Primary Password
+remove-info =
+ .value = You must enter your current password to proceed:
+remove-primary-password-warning1 = Your Primary Password is used to protect sensitive information like logins and passwords.
+remove-primary-password-warning2 = If you remove your Primary Password your information will not be protected if your computer is compromised.
+remove-password-old-password =
+ .value = Current password:
diff --git a/thunderbird-l10n/en-CA/localization/en-CA/toolkit/printing/printDialogs.ftl b/thunderbird-l10n/en-CA/localization/en-CA/toolkit/printing/printDialogs.ftl
new file mode 100644
index 0000000000..a9833f4ba4
--- /dev/null
+++ b/thunderbird-l10n/en-CA/localization/en-CA/toolkit/printing/printDialogs.ftl
@@ -0,0 +1,112 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+print-setup =
+ .title = Page Setup
+custom-prompt-title = Custom…
+custom-prompt-prompt = Enter your custom header/footer text
+basic-tab =
+ .label = Format & Options
+advanced-tab =
+ .label = Margins & Header/Footer
+format-group-label =
+ .value = Format
+orientation-label =
+ .value = Orientation:
+portrait =
+ .label = Portrait
+ .accesskey = P
+landscape =
+ .label = Landscape
+ .accesskey = L
+scale =
+ .label = Scale:
+ .accesskey = S
+scale-percent =
+ .value = %
+shrink-to-fit =
+ .label = Shrink to fit Page Width
+ .accesskey = W
+options-group-label =
+ .value = Options
+print-bg =
+ .label = Print Background (colours & images)
+ .accesskey = B
+margin-group-label-inches =
+ .value = Margins (inches)
+margin-group-label-metric =
+ .value = Margins (millimetres)
+margin-top =
+ .value = Top:
+ .accesskey = T
+margin-top-invisible =
+ .value = Top:
+margin-bottom =
+ .value = Bottom:
+ .accesskey = B
+margin-bottom-invisible =
+ .value = Bottom:
+margin-left =
+ .value = Left:
+ .accesskey = L
+margin-left-invisible =
+ .value = Left:
+margin-right =
+ .value = Right:
+ .accesskey = R
+margin-right-invisible =
+ .value = Right:
+header-footer-label =
+ .value = Headers & Footers
+hf-left-label =
+ .value = Left:
+hf-center-label =
+ .value = Centre:
+hf-right-label =
+ .value = Right:
+header-left-tip =
+ .tooltiptext = Left header
+header-center-tip =
+ .tooltiptext = Centre header
+header-right-tip =
+ .tooltiptext = Right header
+footer-left-tip =
+ .tooltiptext = Left footer
+footer-center-tip =
+ .tooltiptext = Centre footer
+footer-right-tip =
+ .tooltiptext = Right footer
+hf-blank =
+ .label = --blank--
+hf-title =
+ .label = Title
+hf-url =
+ .label = URL
+hf-date-and-time =
+ .label = Date/Time
+hf-page =
+ .label = Page #
+hf-page-and-total =
+ .label = Page # of #
+hf-custom =
+ .label = Custom…
+print-preview-window =
+ .title = Print Preview
+print-title =
+ .value = Title:
+print-preparing =
+ .value = Preparing…
+print-progress =
+ .value = Progress:
+print-window =
+ .title = Printing
+print-complete =
+ .value = Printing is Completed.
+
+# Variables
+# $percent (integer) - Number of printed percentage
+print-percent =
+ .value = { $percent }%
+dialog-cancel-label = Cancel
+dialog-close-label = Close
diff --git a/thunderbird-l10n/en-CA/localization/en-CA/toolkit/printing/printPreview.ftl b/thunderbird-l10n/en-CA/localization/en-CA/toolkit/printing/printPreview.ftl
new file mode 100644
index 0000000000..bd56b0e3fc
--- /dev/null
+++ b/thunderbird-l10n/en-CA/localization/en-CA/toolkit/printing/printPreview.ftl
@@ -0,0 +1,73 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+printpreview-simplify-page-checkbox =
+ .label = Simplify Page
+ .accesskey = i
+ .tooltiptext = This page cannot be automatically simplified
+printpreview-simplify-page-checkbox-enabled =
+ .label = { printpreview-simplify-page-checkbox.label }
+ .accesskey = { printpreview-simplify-page-checkbox.accesskey }
+ .tooltiptext = Change layout for easier reading
+printpreview-close =
+ .label = Close
+ .accesskey = C
+printpreview-portrait =
+ .label = Portrait
+ .accesskey = o
+printpreview-landscape =
+ .label = Landscape
+ .accesskey = L
+printpreview-scale =
+ .value = Scale:
+ .accesskey = S
+printpreview-shrink-to-fit =
+ .label = Shrink To Fit
+printpreview-custom =
+ .label = Custom…
+printpreview-print =
+ .label = Print…
+ .accesskey = P
+printpreview-of =
+ .value = of
+printpreview-custom-scale-prompt-title = Custom Scale
+printpreview-page-setup =
+ .label = Page Setup…
+ .accesskey = u
+printpreview-page =
+ .value = Page:
+ .accesskey = a
+
+# Variables
+# $sheetNum (integer) - The current sheet number
+# $sheetCount (integer) - The total number of sheets to print
+printpreview-sheet-of-sheets = { $sheetNum } of { $sheetCount }
+
+## Variables
+## $percent (integer) - menuitem percent label
+## $arrow (String) - UTF-8 arrow character for navigation buttons
+
+printpreview-percentage-value =
+ .label = { $percent }%
+printpreview-homearrow =
+ .label = { $arrow }
+ .tooltiptext = First page
+printpreview-previousarrow =
+ .label = { $arrow }
+ .tooltiptext = Previous page
+printpreview-nextarrow =
+ .label = { $arrow }
+ .tooltiptext = Next page
+printpreview-endarrow =
+ .label = { $arrow }
+ .tooltiptext = Last page
+
+printpreview-homearrow-button =
+ .title = First page
+printpreview-previousarrow-button =
+ .title = Previous page
+printpreview-nextarrow-button =
+ .title = Next page
+printpreview-endarrow-button =
+ .title = Last page
diff --git a/thunderbird-l10n/en-CA/localization/en-CA/toolkit/printing/printUI.ftl b/thunderbird-l10n/en-CA/localization/en-CA/toolkit/printing/printUI.ftl
new file mode 100644
index 0000000000..8b4f9b270c
--- /dev/null
+++ b/thunderbird-l10n/en-CA/localization/en-CA/toolkit/printing/printUI.ftl
@@ -0,0 +1,148 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+printui-title = Print
+# Dialog title to prompt the user for a filename to save print to PDF.
+printui-save-to-pdf-title = Save As
+
+# Variables
+# $sheetCount (integer) - Number of paper sheets
+printui-sheets-count =
+ { $sheetCount ->
+ [one] { $sheetCount } sheet of paper
+ *[other] { $sheetCount } sheets of paper
+ }
+
+printui-page-range-all = All
+printui-page-range-current = Current
+printui-page-range-odd = Odd
+printui-page-range-even = Even
+printui-page-range-custom = Custom
+printui-page-range-label = Pages
+printui-page-range-picker =
+ .aria-label = Pick page range
+printui-page-custom-range-input =
+ .aria-label = Enter custom page range
+ .placeholder = e.g. 2-6, 9, 12-16
+
+# Section title for the number of copies to print
+printui-copies-label = Copies
+
+printui-orientation = Orientation
+printui-landscape = Landscape
+printui-portrait = Portrait
+
+# Section title for the printer or destination device to target
+printui-destination-label = Destination
+printui-destination-pdf-label = Save to PDF
+
+printui-more-settings = More settings
+printui-less-settings = Fewer settings
+
+printui-paper-size-label = Paper size
+
+# Section title (noun) for the print scaling options
+printui-scale = Scale
+printui-scale-fit-to-page-width = Fit to page width
+# Label for input control where user can set the scale percentage
+printui-scale-pcent = Scale
+
+# Section title (noun) for the two-sided print options
+printui-two-sided-printing = Two-sided printing
+printui-two-sided-printing-off = Off
+# Flip the sheet as if it were bound along its long edge.
+printui-two-sided-printing-long-edge = Flip on long edge
+# Flip the sheet as if it were bound along its short edge.
+printui-two-sided-printing-short-edge = Flip on short edge
+
+# Section title for miscellaneous print options
+printui-options = Options
+printui-headers-footers-checkbox = Print headers and footers
+printui-backgrounds-checkbox = Print backgrounds
+
+## The "Format" section, select a version of the website to print. Radio
+## options to select between the original page, selected text only, or a version
+## where the page is processed with "Reader View".
+
+# The section title.
+printui-source-label = Format
+# Option for printing the original page.
+printui-source-radio = Original
+# Option for printing just the content a user selected prior to printing.
+printui-selection-radio = Selection
+# Option for "simplifying" the page by printing the Reader View version.
+printui-simplify-page-radio = Simplified
+
+##
+
+printui-color-mode-label = Colour mode
+printui-color-mode-color = Colour
+printui-color-mode-bw = Black and white
+
+printui-margins = Margins
+printui-margins-default = Default
+printui-margins-min = Minimum
+printui-margins-none = None
+printui-margins-custom-inches = Custom (inches)
+printui-margins-custom-mm = Custom (mm)
+printui-margins-custom-top = Top
+printui-margins-custom-top-inches = Top (inches)
+printui-margins-custom-top-mm = Top (mm)
+printui-margins-custom-bottom = Bottom
+printui-margins-custom-bottom-inches = Bottom (inches)
+printui-margins-custom-bottom-mm = Bottom (mm)
+printui-margins-custom-left = Left
+printui-margins-custom-left-inches = Left (inches)
+printui-margins-custom-left-mm = Left (mm)
+printui-margins-custom-right = Right
+printui-margins-custom-right-inches = Right (inches)
+printui-margins-custom-right-mm = Right (mm)
+
+printui-system-dialog-link = Print using the system dialog…
+
+printui-primary-button = Print
+printui-primary-button-save = Save
+printui-cancel-button = Cancel
+printui-close-button = Close
+
+printui-loading = Preparing Preview
+
+# Reported by screen readers and other accessibility tools to indicate that
+# the print preview has focus.
+printui-preview-label =
+ .aria-label = Print Preview
+
+printui-pages-per-sheet = Pages per sheet
+
+# This is shown next to the Print button with an indefinite loading spinner
+# when the user prints a page and it is being sent to the printer.
+printui-print-progress-indicator = Printing…
+printui-print-progress-indicator-saving = Saving…
+
+## Paper sizes that may be supported by the Save to PDF destination:
+
+printui-paper-a5 = A5
+printui-paper-a4 = A4
+printui-paper-a3 = A3
+printui-paper-a2 = A2
+printui-paper-a1 = A1
+printui-paper-a0 = A0
+printui-paper-b5 = B5
+printui-paper-b4 = B4
+printui-paper-jis-b5 = JIS-B5
+printui-paper-jis-b4 = JIS-B4
+printui-paper-letter = US Letter
+printui-paper-legal = US Legal
+printui-paper-tabloid = Tabloid
+
+## Error messages shown when a user has an invalid input
+
+printui-error-invalid-scale = Scale must be a number between 10 and 200.
+printui-error-invalid-margin = Please enter a valid margin for the selected paper size.
+printui-error-invalid-copies = Copies must be a number between 1 and 10000.
+
+# Variables
+# $numPages (integer) - Number of pages
+printui-error-invalid-range = Range must be a number between 1 and { $numPages }.
+printui-error-invalid-start-overflow = The “from” page number must be smaller than the “to” page number.
diff --git a/thunderbird-l10n/en-CA/localization/en-CA/toolkit/reportBrokenSite/reportBrokenSite.ftl b/thunderbird-l10n/en-CA/localization/en-CA/toolkit/reportBrokenSite/reportBrokenSite.ftl
new file mode 100644
index 0000000000..6fbe8159b2
--- /dev/null
+++ b/thunderbird-l10n/en-CA/localization/en-CA/toolkit/reportBrokenSite/reportBrokenSite.ftl
@@ -0,0 +1,3 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
diff --git a/thunderbird-l10n/en-CA/localization/en-CA/toolkit/updates/backgroundupdate.ftl b/thunderbird-l10n/en-CA/localization/en-CA/toolkit/updates/backgroundupdate.ftl
new file mode 100644
index 0000000000..4a4335656c
--- /dev/null
+++ b/thunderbird-l10n/en-CA/localization/en-CA/toolkit/updates/backgroundupdate.ftl
@@ -0,0 +1,5 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+backgroundupdate-task-description = The Background Update task checks for updates to { -brand-short-name } when { -brand-short-name } is not running. This task is installed automatically by { -brand-short-name }, and is reinstalled when { -brand-short-name } runs. To disable this task, update the browser settings or the { -brand-short-name } enterprise policy setting “BackgroundAppUpdate”.
diff --git a/thunderbird-l10n/en-CA/localization/en-CA/toolkit/updates/elevation.ftl b/thunderbird-l10n/en-CA/localization/en-CA/toolkit/updates/elevation.ftl
new file mode 100644
index 0000000000..b7cfc730c8
--- /dev/null
+++ b/thunderbird-l10n/en-CA/localization/en-CA/toolkit/updates/elevation.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/.
+# This is temporary until bug 1521632 is fixed
+
+elevation-update-wizard =
+ .title = Software Update
+elevation-details-link-label =
+ .value = Details
+elevation-error-manual =
+ You can update { -brand-short-name } manually by visiting this link
+ and downloading the latest version:
+elevation-finished-page = Update Ready to Install
+elevation-finished-background-page =
+ A security and stability update for { -brand-short-name } has been
+ downloaded and is ready to be installed.
+elevation-finished-background = Update:
+elevation-more-elevated =
+ This update requires administrator privileges. The update will be
+ installed the next time { -brand-short-name } starts. You can restart
+ { -brand-short-name } now, continue working and restart later, or decline this
+ update.
diff --git a/thunderbird-l10n/en-CA/localization/en-CA/toolkit/updates/history.ftl b/thunderbird-l10n/en-CA/localization/en-CA/toolkit/updates/history.ftl
new file mode 100644
index 0000000000..fa0017e6b8
--- /dev/null
+++ b/thunderbird-l10n/en-CA/localization/en-CA/toolkit/updates/history.ftl
@@ -0,0 +1,29 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+history-title = Update History
+history-intro = The following updates have been installed
+
+close-button-label =
+ .buttonlabelcancel = Close
+ .title = Update History
+
+no-updates-label = No updates installed yet
+name-header = Update Name
+date-header = Install Date
+type-header = Type
+state-header = State
+
+# Used to display update history
+#
+# Variables:
+# $name (String): name of the update
+# $buildID (String): build identifier from the local updates.xml
+update-full-build-name = { $name } ({ $buildID })
+
+update-details = Details
+
+update-installed-on = Installed on: { $date }
+
+update-status = Status: { $status }