summaryrefslogtreecommitdiffstats
path: root/thunderbird-l10n/fr
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-21 11:44:51 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-21 11:44:51 +0000
commit9e3c08db40b8916968b9f30096c7be3f00ce9647 (patch)
treea68f146d7fa01f0134297619fbe7e33db084e0aa /thunderbird-l10n/fr
parentInitial commit. (diff)
downloadthunderbird-9e3c08db40b8916968b9f30096c7be3f00ce9647.tar.xz
thunderbird-9e3c08db40b8916968b9f30096c7be3f00ce9647.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/fr')
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/branding/brand.dtd12
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/branding/brand.properties7
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/alerts/alert.properties23
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/autoconfig/autoconfig.properties12
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/calendar/calendar-alarms.properties39
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/calendar/calendar-event-dialog-attendees.properties15
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/calendar/calendar-event-dialog.dtd419
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/calendar/calendar-event-dialog.properties541
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/calendar/calendar-extract.properties294
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/calendar/calendar-invitations-dialog.dtd19
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/calendar/calendar-invitations-dialog.properties10
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/calendar/calendar-occurrence-prompt.dtd7
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/calendar/calendar-occurrence-prompt.properties53
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/calendar/calendar.dtd388
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/calendar/calendar.properties696
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/calendar/calendarCreation.dtd51
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/calendar/calendarCreation.properties6
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/calendar/categories.properties7
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/calendar/dateFormat.properties146
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/calendar/dialogs/calendar-event-dialog-reminder.dtd19
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/calendar/global.dtd54
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/calendar/menuOverlay.dtd50
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/calendar/migration.dtd9
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/calendar/migration.properties13
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/calendar/provider-uninstall.dtd12
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/calendar/timezones.properties497
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/chat/accounts.dtd41
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/chat/accounts.properties9
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/chat/commands.properties27
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/chat/contacts.properties8
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/chat/conversations.properties85
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/chat/facebook.properties6
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/chat/imtooltip.properties12
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/chat/irc.properties209
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/chat/logger.properties7
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/chat/matrix.properties255
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/chat/status.properties23
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/chat/twitter.properties122
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/chat/xmpp.properties274
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/chat/yahoo.properties5
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/communicator/utilityOverlay.dtd43
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/devtools/client/accessibility.properties314
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/devtools/client/animationinspector.properties183
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/devtools/client/boxmodel.properties48
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/devtools/client/changes.properties64
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/devtools/client/components.properties61
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/devtools/client/debugger.properties1132
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/devtools/client/device.properties21
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/devtools/client/dom.properties27
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/devtools/client/filterwidget.properties61
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/devtools/client/font-inspector.properties69
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/devtools/client/har.properties30
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/devtools/client/inspector.properties602
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/devtools/client/jsonview.properties47
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/devtools/client/layout.properties138
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/devtools/client/memory.properties434
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/devtools/client/menus.properties29
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/devtools/client/netmonitor.properties1679
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/devtools/client/network-throttling.properties27
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/devtools/client/responsive.properties182
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/devtools/client/shared.properties26
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/devtools/client/sourceeditor.properties117
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/devtools/client/startup.properties248
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/devtools/client/styleeditor.properties74
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/devtools/client/toolbox.properties267
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/devtools/client/webconsole.properties601
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/devtools/shared/accessibility.properties142
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/devtools/shared/debugger.properties67
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/devtools/shared/eyedropper.properties14
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/devtools/shared/screenshot.properties148
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/devtools/shared/shared.properties6
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/devtools/shared/styleinspector.properties267
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/global-platform/mac/accessible.properties71
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/global-platform/mac/intl.properties7
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/global-platform/mac/platformKeys.properties33
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/global-platform/unix/accessible.properties21
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/global-platform/unix/intl.properties7
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/global-platform/unix/platformKeys.properties33
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/global-platform/win/accessible.properties21
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/global-platform/win/intl.properties7
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/global-platform/win/platformKeys.properties33
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/global/aboutStudies.properties33
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/global/appstrings.properties37
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/global/autocomplete.properties9
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/global/browser.properties7
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/global/commonDialogs.properties46
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/global/contentAreaCommands.properties28
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/global/css.properties52
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/global/dialog.properties12
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/global/dom/dom.properties478
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/global/extensions.properties27
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/global/fallbackMenubar.properties8
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/global/filepicker.properties20
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/global/global-strres.properties5
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/global/intl.css13
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/global/intl.properties43
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/global/keys.properties78
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/global/layout/HtmlForm.properties35
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/global/layout/MediaDocument.properties22
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/global/layout/htmlparser.properties145
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/global/layout/xmlparser.properties48
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/global/layout_errors.properties53
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/global/mathml/mathml.properties15
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/global/narrate.properties25
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/global/nsWebBrowserPersist.properties17
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/global/printdialog.properties52
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/global/printing.properties56
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/global/resetProfile.properties14
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/global/security/caps.properties9
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/global/security/csp.properties125
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/global/security/security.properties167
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/global/svg/svg.properties5
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/global/viewSource.properties16
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/global/wizard.properties8
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/global/xslt/xslt.properties39
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/global/xul.properties5
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/lightning/lightning-toolbar.dtd51
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/lightning/lightning.dtd112
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/lightning/lightning.properties165
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/messenger-mapi/mapi.properties35
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/messenger-newsblog/am-newsblog.dtd14
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/messenger-newsblog/feed-subscriptions.dtd55
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/messenger-newsblog/newsblog.properties93
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/messenger-region/region.properties29
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/messenger-smime/certFetchingStatus.dtd9
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/messenger-smime/msgCompSMIMEOverlay.dtd16
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/messenger-smime/msgCompSecurityInfo.dtd18
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/messenger-smime/msgCompSecurityInfo.properties13
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/messenger-smime/msgReadSMIMEOverlay.properties11
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/messenger-smime/msgReadSecurityInfo.dtd17
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/messenger-smime/msgSecurityInfo.properties36
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/AccountManager.dtd23
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/AccountWizard.dtd51
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/CustomHeaders.dtd11
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/FilterEditor.dtd67
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/FilterListDialog.dtd43
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/SearchDialog.dtd38
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/aboutDownloads.dtd23
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/aboutRights.properties6
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/aboutSupportMail.properties15
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/accountCreationModel.properties20
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/accountCreationUtil.properties34
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/activity.dtd19
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/activity.properties99
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/addbuddy.dtd7
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/addressbook/abAddressBookNameDialog.dtd7
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/addressbook/abContactsPanel.dtd49
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/addressbook/abMailListDialog.dtd22
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/addressbook/abMainWindow.dtd14
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/addressbook/abResultsPane.dtd38
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/addressbook/addressBook.properties178
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/addressbook/ldapAutoCompErrs.properties109
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/addressbook/pref-directory-add.dtd45
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/addressbook/pref-directory.dtd17
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/addressbook/replicationProgress.properties20
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/am-addressing.dtd51
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/am-advanced.dtd30
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/am-archiveoptions.dtd25
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/am-copies.dtd52
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/am-e2e.properties5
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/am-identities-list.dtd15
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/am-identity-edit.dtd14
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/am-im.dtd16
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/am-junk.dtd31
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/am-main.dtd47
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/am-mdn.dtd33
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/am-mdn.properties6
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/am-offline.dtd57
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/am-server-advanced.dtd31
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/am-server-top.dtd89
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/am-serverwithnoidentities.dtd6
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/am-smime.dtd47
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/am-smime.properties40
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/appUpdate.properties40
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/appleMailImportMsgs.properties20
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/baseMenuOverlay.dtd34
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/beckyImportMsgs.properties19
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/charsetTitles.properties84
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/chat.dtd44
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/chat.properties110
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/configEditorOverlay.dtd5
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/converterDialog.dtd11
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/converterDialog.properties41
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/custom.properties5
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/customizeToolbar.dtd18
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/customizeToolbar.properties11
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/downloadheaders.dtd27
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/editContactOverlay.dtd20
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/editContactOverlay.properties14
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/fieldMapImport.dtd17
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/filter.properties108
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/folderProps.dtd70
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/folderWidgets.properties12
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/folderpane.dtd7
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/gloda.properties175
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/glodaComplete.properties19
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/glodaFacetView.dtd29
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/glodaFacetView.properties171
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/imAccountWizard.dtd32
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/imAccounts.properties63
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/imapMsgs.properties266
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/importDialog.dtd48
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/importMsgs.properties304
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/joinChat.dtd10
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/junkLog.dtd10
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/localMsgs.properties140
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/mailEditorOverlay.dtd6
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/mailOverlay.dtd11
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/mailViewList.dtd8
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/mailViewSetup.dtd11
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/mailviews.properties13
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/markByDate.dtd9
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/messenger.dtd945
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/messenger.properties768
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/messengercompose/EdAdvancedEdit.dtd18
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/messengercompose/EdColorPicker.dtd22
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/messengercompose/EdConvertToTable.dtd15
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/messengercompose/EdDialogOverlay.dtd17
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/messengercompose/EdNamedAnchorProperties.dtd10
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/messengercompose/EditorColorProperties.dtd29
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/messengercompose/EditorHLineProperties.dtd27
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/messengercompose/EditorImageProperties.dtd79
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/messengercompose/EditorInsertChars.dtd19
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/messengercompose/EditorInsertMath.dtd21
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/messengercompose/EditorInsertSource.dtd15
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/messengercompose/EditorInsertTOC.dtd16
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/messengercompose/EditorInsertTable.dtd18
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/messengercompose/EditorLinkProperties.dtd6
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/messengercompose/EditorListProperties.dtd20
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/messengercompose/EditorPersonalDictionary.dtd18
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/messengercompose/EditorReplace.dtd29
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/messengercompose/EditorSpellCheck.dtd38
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/messengercompose/EditorTableProperties.dtd75
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/messengercompose/composeMsgs.properties463
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/messengercompose/editor.properties208
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/messengercompose/editorOverlay.dtd303
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/messengercompose/mailComposeEditorOverlay.dtd9
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/messengercompose/messengercompose.dtd306
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/messengercompose/sendProgress.dtd8
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/messengercompose/sendProgress.properties21
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/migration/migration.dtd30
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/migration/migration.properties32
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/mime.properties154
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/mimeheader.properties35
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/morkImportMsgs.properties18
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/msgAccountCentral.dtd26
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/msgHdrViewOverlay.dtd114
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/msgSynchronize.dtd25
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/msgViewPickerOverlay.dtd22
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/msgmdn.properties18
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/multimessageview.dtd8
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/multimessageview.properties66
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/newFolderDialog.dtd16
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/news.properties56
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/newsError.dtd31
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/offline.properties28
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/offlineStartup.properties8
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/outlookImportMsgs.properties82
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/pgpmime.properties10
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/preferences/applicationManager.properties13
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/preferences/applications.properties13
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/preferences/messagestyle.properties13
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/preferences/preferences.properties100
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/prefs.properties89
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/profileDowngrade.dtd20
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/removeAccount.dtd22
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/removeAccount.properties5
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/renameFolderDialog.dtd9
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/sanitize.dtd36
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/seamonkeyImportMsgs.properties18
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/search-attributes.properties45
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/search-operators.properties31
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/search.properties27
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/searchTermOverlay.dtd19
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/shutdownWindow.properties10
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/smime.properties13
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/smtpEditOverlay.dtd24
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/subscribe.dtd22
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/subscribe.properties13
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/tabmail.dtd9
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/taskbar.properties8
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/telemetry.properties13
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/templateUtils.properties7
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/textImportMsgs.properties53
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/vCardImportMsgs.properties26
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/viewLog.dtd12
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/viewSource.dtd84
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/viewSource.properties17
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/viewZoomOverlay.dtd30
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/virtualFolderListDialog.dtd10
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/virtualFolderProperties.dtd22
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/wmImportMsgs.properties76
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/mozapps/downloads/downloads.properties6
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/mozapps/downloads/unknownContentType.properties23
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/mozapps/profile/profileSelection.properties55
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/mozapps/update/updates.properties45
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/mozldap/ldap.properties272
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/necko/necko.properties100
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/passwordmgr/passwordmgr.properties79
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/pipnss/nsserrors.properties331
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/pipnss/pipnss.properties136
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/pippki/pippki.properties75
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/fr/places/places.properties33
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/pdfviewer/chrome.properties20
-rw-r--r--thunderbird-l10n/fr/chrome/fr/locale/pdfviewer/viewer.properties302
-rw-r--r--thunderbird-l10n/fr/localization/fr/branding/brand.ftl22
-rw-r--r--thunderbird-l10n/fr/localization/fr/browser/appExtensionFields.ftl16
-rw-r--r--thunderbird-l10n/fr/localization/fr/browser/branding/brandings.ftl18
-rw-r--r--thunderbird-l10n/fr/localization/fr/browser/components/mozFiveStar.ftl9
-rw-r--r--thunderbird-l10n/fr/localization/fr/browser/components/mozSupportLink.ftl5
-rw-r--r--thunderbird-l10n/fr/localization/fr/calendar/calendar-context-menus.ftl10
-rw-r--r--thunderbird-l10n/fr/localization/fr/calendar/calendar-delete-prompt.ftl35
-rw-r--r--thunderbird-l10n/fr/localization/fr/calendar/calendar-editable-item.ftl30
-rw-r--r--thunderbird-l10n/fr/localization/fr/calendar/calendar-event-dialog-reminder.ftl10
-rw-r--r--thunderbird-l10n/fr/localization/fr/calendar/calendar-event-listing.ftl71
-rw-r--r--thunderbird-l10n/fr/localization/fr/calendar/calendar-ics-file-dialog.ftl46
-rw-r--r--thunderbird-l10n/fr/localization/fr/calendar/calendar-invitation-panel.ftl115
-rw-r--r--thunderbird-l10n/fr/localization/fr/calendar/calendar-invitations-dialog.ftl10
-rw-r--r--thunderbird-l10n/fr/localization/fr/calendar/calendar-itip-identity-dialog.ftl8
-rw-r--r--thunderbird-l10n/fr/localization/fr/calendar/calendar-print.ftl17
-rw-r--r--thunderbird-l10n/fr/localization/fr/calendar/calendar-recurrence-dialog.ftl8
-rw-r--r--thunderbird-l10n/fr/localization/fr/calendar/calendar-summary-dialog.ftl17
-rw-r--r--thunderbird-l10n/fr/localization/fr/calendar/calendar-uri-redirect-dialog.ftl12
-rw-r--r--thunderbird-l10n/fr/localization/fr/calendar/calendar-widgets.ftl111
-rw-r--r--thunderbird-l10n/fr/localization/fr/calendar/category-dialog.ftl7
-rw-r--r--thunderbird-l10n/fr/localization/fr/calendar/preferences.ftl192
-rw-r--r--thunderbird-l10n/fr/localization/fr/chat/matrix.ftl33
-rw-r--r--thunderbird-l10n/fr/localization/fr/crashreporter/aboutcrashes.ftl31
-rw-r--r--thunderbird-l10n/fr/localization/fr/devtools/client/aboutdebugging.ftl400
-rw-r--r--thunderbird-l10n/fr/localization/fr/devtools/client/accessibility.ftl99
-rw-r--r--thunderbird-l10n/fr/localization/fr/devtools/client/application.ftl147
-rw-r--r--thunderbird-l10n/fr/localization/fr/devtools/client/compatibility.ftl54
-rw-r--r--thunderbird-l10n/fr/localization/fr/devtools/client/perftools.ftl144
-rw-r--r--thunderbird-l10n/fr/localization/fr/devtools/client/storage.ftl132
-rw-r--r--thunderbird-l10n/fr/localization/fr/devtools/client/styleeditor.ftl56
-rw-r--r--thunderbird-l10n/fr/localization/fr/devtools/client/toolbox-options.ftl154
-rw-r--r--thunderbird-l10n/fr/localization/fr/devtools/client/toolbox.ftl55
-rw-r--r--thunderbird-l10n/fr/localization/fr/devtools/client/tooltips.ftl101
-rw-r--r--thunderbird-l10n/fr/localization/fr/devtools/shared/debugger-paused-reasons.ftl87
-rw-r--r--thunderbird-l10n/fr/localization/fr/devtools/shared/highlighters.ftl67
-rw-r--r--thunderbird-l10n/fr/localization/fr/devtools/shared/webconsole-commands.ftl34
-rw-r--r--thunderbird-l10n/fr/localization/fr/devtools/startup/key-shortcuts.ftl38
-rw-r--r--thunderbird-l10n/fr/localization/fr/dom/XMLPrettyPrint.ftl5
-rw-r--r--thunderbird-l10n/fr/localization/fr/dom/media.ftl6
-rw-r--r--thunderbird-l10n/fr/localization/fr/locales-preview/aboutTranslations.ftl28
-rw-r--r--thunderbird-l10n/fr/localization/fr/messenger/about3Pane.ftl421
-rw-r--r--thunderbird-l10n/fr/localization/fr/messenger/aboutAddonsExtra.ftl12
-rw-r--r--thunderbird-l10n/fr/localization/fr/messenger/aboutDialog.ftl66
-rw-r--r--thunderbird-l10n/fr/localization/fr/messenger/aboutImport.ftl283
-rw-r--r--thunderbird-l10n/fr/localization/fr/messenger/aboutProfilesExtra.ftl5
-rw-r--r--thunderbird-l10n/fr/localization/fr/messenger/aboutRights.ftl30
-rw-r--r--thunderbird-l10n/fr/localization/fr/messenger/aboutSupportCalendar.ftl33
-rw-r--r--thunderbird-l10n/fr/localization/fr/messenger/aboutSupportChat.ftl11
-rw-r--r--thunderbird-l10n/fr/localization/fr/messenger/aboutSupportMail.ftl31
-rw-r--r--thunderbird-l10n/fr/localization/fr/messenger/accountCentral.ftl50
-rw-r--r--thunderbird-l10n/fr/localization/fr/messenger/accountManager.ftl18
-rw-r--r--thunderbird-l10n/fr/localization/fr/messenger/accountProvisioner.ftl57
-rw-r--r--thunderbird-l10n/fr/localization/fr/messenger/accountcreation/accountHub.ftl83
-rw-r--r--thunderbird-l10n/fr/localization/fr/messenger/accountcreation/accountSetup.ftl292
-rw-r--r--thunderbird-l10n/fr/localization/fr/messenger/addonNotifications.ftl122
-rw-r--r--thunderbird-l10n/fr/localization/fr/messenger/addressbook/abCardDAVDialog.ftl26
-rw-r--r--thunderbird-l10n/fr/localization/fr/messenger/addressbook/abCardDAVProperties.ftl33
-rw-r--r--thunderbird-l10n/fr/localization/fr/messenger/addressbook/aboutAddressBook.ftl315
-rw-r--r--thunderbird-l10n/fr/localization/fr/messenger/addressbook/fieldMapImport.ftl12
-rw-r--r--thunderbird-l10n/fr/localization/fr/messenger/addressbook/vcard.ftl138
-rw-r--r--thunderbird-l10n/fr/localization/fr/messenger/appmenu.ftl210
-rw-r--r--thunderbird-l10n/fr/localization/fr/messenger/chat-verifySession.ftl17
-rw-r--r--thunderbird-l10n/fr/localization/fr/messenger/chat.ftl47
-rw-r--r--thunderbird-l10n/fr/localization/fr/messenger/compactFoldersDialog.ftl20
-rw-r--r--thunderbird-l10n/fr/localization/fr/messenger/exportDialog.ftl22
-rw-r--r--thunderbird-l10n/fr/localization/fr/messenger/extensionPermissions.ftl27
-rw-r--r--thunderbird-l10n/fr/localization/fr/messenger/extensions/popup.ftl14
-rw-r--r--thunderbird-l10n/fr/localization/fr/messenger/extensionsUI.ftl9
-rw-r--r--thunderbird-l10n/fr/localization/fr/messenger/firefoxAccounts.ftl32
-rw-r--r--thunderbird-l10n/fr/localization/fr/messenger/flatpak.ftl24
-rw-r--r--thunderbird-l10n/fr/localization/fr/messenger/folderprops.ftl10
-rw-r--r--thunderbird-l10n/fr/localization/fr/messenger/importDialog.ftl30
-rw-r--r--thunderbird-l10n/fr/localization/fr/messenger/mailWidgets.ftl15
-rw-r--r--thunderbird-l10n/fr/localization/fr/messenger/menubar.ftl144
-rw-r--r--thunderbird-l10n/fr/localization/fr/messenger/messageheader/headerFields.ftl49
-rw-r--r--thunderbird-l10n/fr/localization/fr/messenger/messenger.ftl415
-rw-r--r--thunderbird-l10n/fr/localization/fr/messenger/messengercompose/messengercompose.ftl423
-rw-r--r--thunderbird-l10n/fr/localization/fr/messenger/migration.ftl15
-rw-r--r--thunderbird-l10n/fr/localization/fr/messenger/multimessageview.ftl14
-rw-r--r--thunderbird-l10n/fr/localization/fr/messenger/openpgp/backupKeyPassword.ftl17
-rw-r--r--thunderbird-l10n/fr/localization/fr/messenger/openpgp/changeExpiryDlg.ftl24
-rw-r--r--thunderbird-l10n/fr/localization/fr/messenger/openpgp/composeKeyStatus.ftl26
-rw-r--r--thunderbird-l10n/fr/localization/fr/messenger/openpgp/keyAssistant.ftl123
-rw-r--r--thunderbird-l10n/fr/localization/fr/messenger/openpgp/keyWizard.ftl140
-rw-r--r--thunderbird-l10n/fr/localization/fr/messenger/openpgp/msgReadStatus.ftl86
-rw-r--r--thunderbird-l10n/fr/localization/fr/messenger/openpgp/oneRecipientStatus.ftl53
-rw-r--r--thunderbird-l10n/fr/localization/fr/messenger/openpgp/openpgp-frontend.ftl51
-rw-r--r--thunderbird-l10n/fr/localization/fr/messenger/openpgp/openpgp.ftl777
-rw-r--r--thunderbird-l10n/fr/localization/fr/messenger/otr/add-finger.ftl16
-rw-r--r--thunderbird-l10n/fr/localization/fr/messenger/otr/am-im-otr.ftl26
-rw-r--r--thunderbird-l10n/fr/localization/fr/messenger/otr/auth.ftl40
-rw-r--r--thunderbird-l10n/fr/localization/fr/messenger/otr/chat.ftl19
-rw-r--r--thunderbird-l10n/fr/localization/fr/messenger/otr/finger-sync.ftl12
-rw-r--r--thunderbird-l10n/fr/localization/fr/messenger/otr/finger.ftl20
-rw-r--r--thunderbird-l10n/fr/localization/fr/messenger/otr/otr.ftl97
-rw-r--r--thunderbird-l10n/fr/localization/fr/messenger/otr/otrUI.ftl87
-rw-r--r--thunderbird-l10n/fr/localization/fr/messenger/policies/aboutPolicies.ftl17
-rw-r--r--thunderbird-l10n/fr/localization/fr/messenger/policies/policies-descriptions.ftl159
-rw-r--r--thunderbird-l10n/fr/localization/fr/messenger/preferences/am-copies.ftl5
-rw-r--r--thunderbird-l10n/fr/localization/fr/messenger/preferences/am-im.ftl23
-rw-r--r--thunderbird-l10n/fr/localization/fr/messenger/preferences/application-manager.ftl10
-rw-r--r--thunderbird-l10n/fr/localization/fr/messenger/preferences/attachment-reminder.ftl21
-rw-r--r--thunderbird-l10n/fr/localization/fr/messenger/preferences/colors.ftl36
-rw-r--r--thunderbird-l10n/fr/localization/fr/messenger/preferences/connection.ftl88
-rw-r--r--thunderbird-l10n/fr/localization/fr/messenger/preferences/cookies.ftl44
-rw-r--r--thunderbird-l10n/fr/localization/fr/messenger/preferences/dock-options.ftl23
-rw-r--r--thunderbird-l10n/fr/localization/fr/messenger/preferences/fonts.ftl134
-rw-r--r--thunderbird-l10n/fr/localization/fr/messenger/preferences/languages.ftl33
-rw-r--r--thunderbird-l10n/fr/localization/fr/messenger/preferences/new-tag.ftl13
-rw-r--r--thunderbird-l10n/fr/localization/fr/messenger/preferences/notifications.ftl29
-rw-r--r--thunderbird-l10n/fr/localization/fr/messenger/preferences/offline.ftl43
-rw-r--r--thunderbird-l10n/fr/localization/fr/messenger/preferences/passwordManager.ftl83
-rw-r--r--thunderbird-l10n/fr/localization/fr/messenger/preferences/permissions.ftl43
-rw-r--r--thunderbird-l10n/fr/localization/fr/messenger/preferences/preferences.ftl787
-rw-r--r--thunderbird-l10n/fr/localization/fr/messenger/preferences/receipts.ftl39
-rw-r--r--thunderbird-l10n/fr/localization/fr/messenger/preferences/sync-dialog.ftl11
-rw-r--r--thunderbird-l10n/fr/localization/fr/messenger/preferences/system-integration.ftl39
-rw-r--r--thunderbird-l10n/fr/localization/fr/messenger/shortcuts.ftl113
-rw-r--r--thunderbird-l10n/fr/localization/fr/messenger/syncAccounts.ftl28
-rw-r--r--thunderbird-l10n/fr/localization/fr/messenger/treeView.ftl65
-rw-r--r--thunderbird-l10n/fr/localization/fr/messenger/troubleshootMode.ftl33
-rw-r--r--thunderbird-l10n/fr/localization/fr/messenger/unifiedToolbar.ftl100
-rw-r--r--thunderbird-l10n/fr/localization/fr/messenger/unifiedToolbarItems.ftl165
-rw-r--r--thunderbird-l10n/fr/localization/fr/messenger/viewSource.ftl19
-rw-r--r--thunderbird-l10n/fr/localization/fr/security/certificates/certManager.ftl228
-rw-r--r--thunderbird-l10n/fr/localization/fr/security/certificates/deviceManager.ftl133
-rw-r--r--thunderbird-l10n/fr/localization/fr/security/pippki/pippki.ftl106
-rw-r--r--thunderbird-l10n/fr/localization/fr/services/accounts.ftl8
-rw-r--r--thunderbird-l10n/fr/localization/fr/toolkit/about/aboutAbout.ftl9
-rw-r--r--thunderbird-l10n/fr/localization/fr/toolkit/about/aboutAddons.ftl489
-rw-r--r--thunderbird-l10n/fr/localization/fr/toolkit/about/aboutCompat.ftl22
-rw-r--r--thunderbird-l10n/fr/localization/fr/toolkit/about/aboutGlean.ftl78
-rw-r--r--thunderbird-l10n/fr/localization/fr/toolkit/about/aboutHttpsOnlyError.ftl31
-rw-r--r--thunderbird-l10n/fr/localization/fr/toolkit/about/aboutLogging.ftl69
-rw-r--r--thunderbird-l10n/fr/localization/fr/toolkit/about/aboutMozilla.ftl7
-rw-r--r--thunderbird-l10n/fr/localization/fr/toolkit/about/aboutNetworking.ftl68
-rw-r--r--thunderbird-l10n/fr/localization/fr/toolkit/about/aboutPerformance.ftl67
-rw-r--r--thunderbird-l10n/fr/localization/fr/toolkit/about/aboutPlugins.ftl43
-rw-r--r--thunderbird-l10n/fr/localization/fr/toolkit/about/aboutProcesses.ftl189
-rw-r--r--thunderbird-l10n/fr/localization/fr/toolkit/about/aboutProfiles.ftl74
-rw-r--r--thunderbird-l10n/fr/localization/fr/toolkit/about/aboutReader.ftl52
-rw-r--r--thunderbird-l10n/fr/localization/fr/toolkit/about/aboutRights.ftl36
-rw-r--r--thunderbird-l10n/fr/localization/fr/toolkit/about/aboutServiceWorkers.ftl40
-rw-r--r--thunderbird-l10n/fr/localization/fr/toolkit/about/aboutSupport.ftl429
-rw-r--r--thunderbird-l10n/fr/localization/fr/toolkit/about/aboutTelemetry.ftl136
-rw-r--r--thunderbird-l10n/fr/localization/fr/toolkit/about/aboutThirdParty.ftl76
-rw-r--r--thunderbird-l10n/fr/localization/fr/toolkit/about/aboutWebauthn.ftl104
-rw-r--r--thunderbird-l10n/fr/localization/fr/toolkit/about/aboutWebrtc.ftl323
-rw-r--r--thunderbird-l10n/fr/localization/fr/toolkit/about/aboutWindowsMessages.ftl15
-rw-r--r--thunderbird-l10n/fr/localization/fr/toolkit/about/abuseReports.ftl112
-rw-r--r--thunderbird-l10n/fr/localization/fr/toolkit/about/certviewer.ftl122
-rw-r--r--thunderbird-l10n/fr/localization/fr/toolkit/about/config.ftl55
-rw-r--r--thunderbird-l10n/fr/localization/fr/toolkit/about/url-classifier.ftl58
-rw-r--r--thunderbird-l10n/fr/localization/fr/toolkit/branding/accounts.ftl11
-rw-r--r--thunderbird-l10n/fr/localization/fr/toolkit/branding/brandings.ftl45
-rw-r--r--thunderbird-l10n/fr/localization/fr/toolkit/contentanalysis/contentanalysis.ftl25
-rw-r--r--thunderbird-l10n/fr/localization/fr/toolkit/downloads/downloadUI.ftl51
-rw-r--r--thunderbird-l10n/fr/localization/fr/toolkit/downloads/downloadUtils.ftl106
-rw-r--r--thunderbird-l10n/fr/localization/fr/toolkit/featuregates/features.ftl58
-rw-r--r--thunderbird-l10n/fr/localization/fr/toolkit/formautofill/formAutofill.ftl19
-rw-r--r--thunderbird-l10n/fr/localization/fr/toolkit/global/alert.ftl12
-rw-r--r--thunderbird-l10n/fr/localization/fr/toolkit/global/appPicker.ftl10
-rw-r--r--thunderbird-l10n/fr/localization/fr/toolkit/global/browser-utils.ftl11
-rw-r--r--thunderbird-l10n/fr/localization/fr/toolkit/global/commonDialog.ftl21
-rw-r--r--thunderbird-l10n/fr/localization/fr/toolkit/global/contextual-identity.ftl29
-rw-r--r--thunderbird-l10n/fr/localization/fr/toolkit/global/cookieBannerHandling.ftl3
-rw-r--r--thunderbird-l10n/fr/localization/fr/toolkit/global/createProfileWizard.ftl53
-rw-r--r--thunderbird-l10n/fr/localization/fr/toolkit/global/cspErrors.ftl32
-rw-r--r--thunderbird-l10n/fr/localization/fr/toolkit/global/datepicker.ftl50
-rw-r--r--thunderbird-l10n/fr/localization/fr/toolkit/global/datetimebox.ftl42
-rw-r--r--thunderbird-l10n/fr/localization/fr/toolkit/global/extensionPermissions.ftl33
-rw-r--r--thunderbird-l10n/fr/localization/fr/toolkit/global/extensions.ftl112
-rw-r--r--thunderbird-l10n/fr/localization/fr/toolkit/global/handlerDialog.ftl70
-rw-r--r--thunderbird-l10n/fr/localization/fr/toolkit/global/htmlForm.ftl14
-rw-r--r--thunderbird-l10n/fr/localization/fr/toolkit/global/mozCard.ftl3
-rw-r--r--thunderbird-l10n/fr/localization/fr/toolkit/global/mozFiveStar.ftl9
-rw-r--r--thunderbird-l10n/fr/localization/fr/toolkit/global/mozMessageBar.ftl15
-rw-r--r--thunderbird-l10n/fr/localization/fr/toolkit/global/mozSupportLink.ftl5
-rw-r--r--thunderbird-l10n/fr/localization/fr/toolkit/global/notification.ftl16
-rw-r--r--thunderbird-l10n/fr/localization/fr/toolkit/global/popupnotification.ftl10
-rw-r--r--thunderbird-l10n/fr/localization/fr/toolkit/global/processTypes.ftl61
-rw-r--r--thunderbird-l10n/fr/localization/fr/toolkit/global/profileDowngrade.ftl18
-rw-r--r--thunderbird-l10n/fr/localization/fr/toolkit/global/profileSelection.ftl38
-rw-r--r--thunderbird-l10n/fr/localization/fr/toolkit/global/resetProfile.ftl15
-rw-r--r--thunderbird-l10n/fr/localization/fr/toolkit/global/resistFingerPrinting.ftl6
-rw-r--r--thunderbird-l10n/fr/localization/fr/toolkit/global/run-from-dmg.ftl28
-rw-r--r--thunderbird-l10n/fr/localization/fr/toolkit/global/tabprompts.ftl13
-rw-r--r--thunderbird-l10n/fr/localization/fr/toolkit/global/textActions.ftl64
-rw-r--r--thunderbird-l10n/fr/localization/fr/toolkit/global/timepicker.ftl3
-rw-r--r--thunderbird-l10n/fr/localization/fr/toolkit/global/tree.ftl6
-rw-r--r--thunderbird-l10n/fr/localization/fr/toolkit/global/unknownContentType.ftl42
-rw-r--r--thunderbird-l10n/fr/localization/fr/toolkit/global/videocontrols.ftl71
-rw-r--r--thunderbird-l10n/fr/localization/fr/toolkit/global/wizard.ftl37
-rw-r--r--thunderbird-l10n/fr/localization/fr/toolkit/intl/languageNames.ftl215
-rw-r--r--thunderbird-l10n/fr/localization/fr/toolkit/intl/regionNames.ftl280
-rw-r--r--thunderbird-l10n/fr/localization/fr/toolkit/main-window/autocomplete.ftl23
-rw-r--r--thunderbird-l10n/fr/localization/fr/toolkit/main-window/findbar.ftl76
-rw-r--r--thunderbird-l10n/fr/localization/fr/toolkit/neterror/certError.ftl141
-rw-r--r--thunderbird-l10n/fr/localization/fr/toolkit/neterror/netError.ftl147
-rw-r--r--thunderbird-l10n/fr/localization/fr/toolkit/neterror/nsserrors.ftl349
-rw-r--r--thunderbird-l10n/fr/localization/fr/toolkit/passwordmgr/passwordmgr.ftl39
-rw-r--r--thunderbird-l10n/fr/localization/fr/toolkit/payments/payments.ftl51
-rw-r--r--thunderbird-l10n/fr/localization/fr/toolkit/pdfviewer/viewer.ftl380
-rw-r--r--thunderbird-l10n/fr/localization/fr/toolkit/pictureinpicture/pictureinpicture.ftl86
-rw-r--r--thunderbird-l10n/fr/localization/fr/toolkit/preferences/preferences.ftl39
-rw-r--r--thunderbird-l10n/fr/localization/fr/toolkit/printing/printDialogs.ftl112
-rw-r--r--thunderbird-l10n/fr/localization/fr/toolkit/printing/printPreview.ftl73
-rw-r--r--thunderbird-l10n/fr/localization/fr/toolkit/printing/printUI.ftl148
-rw-r--r--thunderbird-l10n/fr/localization/fr/toolkit/reportBrokenSite/reportBrokenSite.ftl3
-rw-r--r--thunderbird-l10n/fr/localization/fr/toolkit/updates/backgroundupdate.ftl5
-rw-r--r--thunderbird-l10n/fr/localization/fr/toolkit/updates/elevation.ftl19
-rw-r--r--thunderbird-l10n/fr/localization/fr/toolkit/updates/history.ftl29
-rw-r--r--thunderbird-l10n/fr/manifest.json56
518 files changed, 41138 insertions, 0 deletions
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/branding/brand.dtd b/thunderbird-l10n/fr/chrome/fr/locale/branding/brand.dtd
new file mode 100644
index 0000000000..638e891167
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/branding/brand.dtd
@@ -0,0 +1,12 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+<!ENTITY brandShortName "Thunderbird">
+<!ENTITY brandShorterName "Thunderbird">
+<!ENTITY brandFullName "Mozilla Thunderbird">
+<!-- LOCALIZATION NOTE (brandProductName):
+ This brand name can be used in messages where the product name needs to
+ remain unchanged across different versions (Daily, Beta, etc.). -->
+<!ENTITY brandProductName "Thunderbird">
+<!ENTITY vendorShortName "Mozilla">
+<!ENTITY trademarkInfo.part1 "Mozilla Thunderbird et les logos Thunderbird sont des marques déposées de la Mozilla Foundation.">
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/branding/brand.properties b/thunderbird-l10n/fr/chrome/fr/locale/branding/brand.properties
new file mode 100644
index 0000000000..9dd5011219
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/branding/brand.properties
@@ -0,0 +1,7 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+brandShortName=Thunderbird
+brandShorterName=Thunderbird
+brandFullName=Mozilla Thunderbird
+vendorShortName=Mozilla
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/alerts/alert.properties b/thunderbird-l10n/fr/chrome/fr/locale/fr/alerts/alert.properties
new file mode 100644
index 0000000000..04320685a5
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/alerts/alert.properties
@@ -0,0 +1,23 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE(closeButton.title): Used as the close button text for web notifications on OS X.
+# This should ideally match the string that OS X uses for the close button on alert-type
+# notifications. OS X will truncate the value if it's too long.
+closeButton.title = Fermer
+# LOCALIZATION NOTE(actionButton.label): Used as the button label to provide more actions on OS X notifications. OS X will truncate this if it's too long.
+actionButton.label = …
+# LOCALIZATION NOTE(webActions.disableForOrigin.label): %S is replaced
+# with the hostname origin of the notification.
+webActions.disableForOrigin.label = Désactiver les notifications depuis %S
+
+# LOCALIZATION NOTE(source.label): Used to show the URL of the site that
+# sent the notification (e.g., "via mozilla.org"). "%1$S" is the source host
+# and port.
+source.label=via %1$S
+webActions.settings.label = Paramètres des notifications
+
+# LOCALIZATION NOTE(pauseNotifications.label): %S is replaced with the
+# brandShortName of the application.
+pauseNotifications.label = Arrêter les notifications jusqu’au redémarrage de %S
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/autoconfig/autoconfig.properties b/thunderbird-l10n/fr/chrome/fr/locale/fr/autoconfig/autoconfig.properties
new file mode 100644
index 0000000000..5347f92c1f
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/autoconfig/autoconfig.properties
@@ -0,0 +1,12 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+readConfigTitle = Erreur de configuration
+readConfigMsg = Échec lors de la lecture du fichier de configuration. Veuillez contacter votre administrateur système.
+
+autoConfigTitle = Alerte AutoConfig
+autoConfigMsg = Netscape.cfg/AutoConfig a échoué. Veuillez contacter votre administrateur système. \n Erreur : %S échoué :
+
+emailPromptTitle = Adresse e-mail
+emailPromptMsg = Saisissez votre adresse e-mail
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/calendar/calendar-alarms.properties b/thunderbird-l10n/fr/chrome/fr/locale/fr/calendar/calendar-alarms.properties
new file mode 100644
index 0000000000..9f1f5849b9
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/calendar/calendar-alarms.properties
@@ -0,0 +1,39 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE (reminderCustomTitle):
+# %1$S = unit, %2$S = reminderCustomOrigin
+# Example: "3 minutes" "before the task starts"
+reminderCustomTitle=%1$S %2$S
+reminderTitleAtStartEvent=Quand l’évènement débute
+reminderTitleAtStartTask=Quand la tâche débute
+reminderTitleAtEndEvent=Quand l’évènement est terminé
+reminderTitleAtEndTask=Quand la tâche est terminée
+
+# LOCALIZATION NOTE (reminderSnoozeOkA11y)
+# This string is not seen in the UI, it is read by screen readers when the user
+# focuses the "OK" button in the "Snooze for..." popup of the alarm dialog.
+# %1$S = any of unit*
+reminderSnoozeOkA11y=Reporter l’alarme pour %1$S
+
+reminderCustomOriginBeginBeforeEvent=avant le début de l’évènement
+reminderCustomOriginBeginAfterEvent=après le début de l’évènement
+reminderCustomOriginEndBeforeEvent=avant la fin de l’évènement
+reminderCustomOriginEndAfterEvent=après la fin de l’évènement
+reminderCustomOriginBeginBeforeTask=avant le début de la tâche
+reminderCustomOriginBeginAfterTask=après le début de la tâche
+reminderCustomOriginEndBeforeTask=avant la fin de la tâche
+reminderCustomOriginEndAfterTask=après la fin de la tâche
+
+reminderErrorMaxCountReachedEvent=L’agenda sélectionné est limité à #1 rappel par évènement.;L’agenda sélectionné est limité à #1 rappels par évènement.
+reminderErrorMaxCountReachedTask=L’agenda sélectionné est limité à #1 rappel par tâche.;L’agenda sélectionné est limité à #1 rappels par tâche.
+
+# LOCALIZATION NOTE (reminderReadonlyNotification)
+# This notification will be presented in the alarm dialog if reminders for not
+# writable items/calendars are displayed.
+# %1$S - localized value of calendar.alarm.snoozeallfor.label (defined in calendar.dtd)
+reminderReadonlyNotification=Les rappels pour les agendas en lecture seule ne peuvent pas être mis en attente mais peuvent seulement être rejetés. Le bouton « %1$S » ne fera que répéter les rappels pour les calendriers modifiables.
+# LOCALIZATION NOTE (reminderDisabledSnoozeButtonTooltip)
+# This tooltip is only displayed, if the button is disabled
+reminderDisabledSnoozeButtonTooltip=La mise en attente d’un rappel n’est pas prise en charge pour les agendas en lecture seule
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/calendar/calendar-event-dialog-attendees.properties b/thunderbird-l10n/fr/chrome/fr/locale/fr/calendar/calendar-event-dialog-attendees.properties
new file mode 100644
index 0000000000..c9b36d9ea0
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/calendar/calendar-event-dialog-attendees.properties
@@ -0,0 +1,15 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+event.attendee.role.required = Participation obligatoire
+event.attendee.role.optional = Participation facultative
+event.attendee.role.nonparticipant = Non participant
+event.attendee.role.chair = Organisateur
+event.attendee.role.unknown = Participant inconnu (%1$S)
+
+event.attendee.usertype.individual = Individu
+event.attendee.usertype.group = Groupe
+event.attendee.usertype.resource = Ressource
+event.attendee.usertype.room = Salle
+event.attendee.usertype.unknown = Type inconnu (%1$S)
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/calendar/calendar-event-dialog.dtd b/thunderbird-l10n/fr/chrome/fr/locale/fr/calendar/calendar-event-dialog.dtd
new file mode 100644
index 0000000000..774cfac1cb
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/calendar/calendar-event-dialog.dtd
@@ -0,0 +1,419 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!ENTITY event.title.label "Modifier l’élément" >
+
+<!ENTITY event.dialog.keepDurationButton.tooltip "Conserver la durée lors de la modification de la date de fin">
+<!ENTITY event.dialog.keepDurationButton.accesskey "C">
+
+<!ENTITY newevent.from.label "Du" >
+<!ENTITY newevent.to.label "Au" >
+
+<!ENTITY newevent.status.label "Statut" >
+<!ENTITY newevent.status.accesskey "S" >
+<!ENTITY newevent.eventStatus.none.label "Aucun" >
+<!ENTITY newevent.eventStatus.none.accesskey "A" >
+<!ENTITY newevent.todoStatus.none.label "Non spécifié" >
+<!ENTITY newevent.eventStatus.cancelled.label "Annulé" >
+<!ENTITY newevent.eventStatus.cancelled.accesskey "n" >
+<!ENTITY newevent.todoStatus.cancelled.label "Annulé" >
+<!ENTITY newevent.status.tentative.label "Provisoire" >
+<!ENTITY newevent.status.tentative.accesskey "P" >
+<!ENTITY newevent.status.confirmed.label "Confirmé" >
+<!ENTITY newevent.status.confirmed.accesskey "C" >
+<!ENTITY newevent.status.needsaction.label "Une action est requise" >
+<!ENTITY newevent.status.inprogress.label "En cours" >
+<!ENTITY newevent.status.completed.label "Achevé le" >
+
+<!-- The following entity is for New Task dialog only -->
+<!ENTITY newtodo.percentcomplete.label "&#37; d’achèvement">
+
+<!-- LOCALIZATON NOTE(event.attendees.notify.label,event.attendees.notifyundisclosed.label,
+ event.attendees.disallowcounter.label)
+ - These three labels are displayed side by side in the event dialog, make sure
+ - they still fit in. -->
+<!ENTITY event.attendees.notify.label "Informer les participants">
+<!ENTITY event.attendees.notify.accesskey "f">
+<!ENTITY event.attendees.notifyundisclosed.label "Invitation séparée pour chaque participant">
+<!ENTITY event.attendees.notifyundisclosed.accesskey "v">
+<!ENTITY event.attendees.notifyundisclosed.tooltip "Cette option envoie un e-mail d’invitation à chaque participant. Chaque invitation est adressée à un seul participant afin que les autres participants restent inconnus.">
+<!ENTITY event.attendees.disallowcounter.label "Ne pas permettre les contre-propositions">
+<!ENTITY event.attendees.disallowcounter.accesskey "a">
+<!ENTITY event.attendees.disallowcounter.tooltip "Indique que vous n’accepterez pas les contre-propositions">
+
+<!-- Keyboard Shortcuts -->
+<!ENTITY event.dialog.new.message.key2 "N">
+<!ENTITY event.dialog.close.key "W">
+<!ENTITY event.dialog.save.key "S">
+<!ENTITY event.dialog.saveandclose.key "L">
+<!ENTITY event.dialog.undo.key "Z">
+<!ENTITY event.dialog.redo.key "Y">
+<!ENTITY event.dialog.cut.key "X">
+<!ENTITY event.dialog.copy.key "C">
+<!ENTITY event.dialog.paste.key "V">
+<!ENTITY event.dialog.select.all.key "A">
+
+<!-- Menubar -->
+<!ENTITY event.menu.item.new.label "Nouveau">
+<!ENTITY event.menu.item.new.accesskey "N">
+<!ENTITY event.menu.item.new.event.label "Évènement">
+<!ENTITY event.menu.item.new.event.accesskey "v">
+<!ENTITY event.menu.item.new.task.label "Tâche">
+<!ENTITY event.menu.item.new.task.accesskey "T">
+<!ENTITY event.menu.item.new.message.label "Message">
+<!ENTITY event.menu.item.new.message.accesskey "M">
+<!ENTITY event.menu.item.new.contact.label "Nouveau contact">
+<!ENTITY event.menu.item.new.contact.accesskey "c">
+<!ENTITY event.menu.item.close.label "Fermer">
+<!ENTITY event.menu.item.close.accesskey "F">
+
+<!-- LOCALIZATION NOTE
+ - event.menu.item.save.accesskey is used for the "Save" menu item
+ - when editing events/tasks in a dialog window.
+ - event.menu.item.save.tab.accesskey is used for the "Save" menu item
+ - when editing events/tasks in a tab. -->
+<!ENTITY event.menu.item.save.label "Enregistrer">
+<!ENTITY event.menu.item.save.accesskey "E">
+<!ENTITY event.menu.item.save.tab.accesskey "n">
+
+<!-- LOCALIZATION NOTE
+ - event.menu.item.saveandclose.accesskey is used for "Save and Close"
+ - menu item when editing events/tasks in a dialog window.
+ - event.menu.item.saveandclose.tab.accesskey is used for "Save and Close"
+ - when editing events/tasks in a tab. -->
+<!ENTITY event.menu.item.saveandclose.label "Enregistrer et fermer">
+<!ENTITY event.menu.item.saveandclose.accesskey "r">
+<!ENTITY event.menu.item.saveandclose.tab.accesskey "f">
+
+<!ENTITY event.menu.item.delete.label "Supprimer…">
+<!ENTITY event.menu.item.delete.accesskey "u">
+
+<!ENTITY event.menu.edit.label "Édition">
+<!ENTITY event.menu.edit.accesskey "n">
+<!ENTITY event.menu.edit.undo.label "Annuler">
+<!ENTITY event.menu.edit.undo.accesskey "u">
+<!ENTITY event.menu.edit.redo.label "Rétablir">
+<!ENTITY event.menu.edit.redo.accesskey "R">
+<!ENTITY event.menu.edit.cut.label "Couper">
+<!ENTITY event.menu.edit.cut.accesskey "C">
+<!ENTITY event.menu.edit.copy.label "Copier">
+<!ENTITY event.menu.edit.copy.accesskey "p">
+<!ENTITY event.menu.edit.paste.label "Coller">
+<!ENTITY event.menu.edit.paste.accesskey "o">
+<!ENTITY event.menu.edit.select.all.label "Tout sélectionner">
+<!ENTITY event.menu.edit.select.all.accesskey "T">
+
+<!ENTITY event.menu.view.label "Affichage">
+<!ENTITY event.menu.view.accesskey "A">
+<!ENTITY event.menu.view.toolbars.label "Barre d’outils">
+<!ENTITY event.menu.view.toolbars.accesskey "t">
+<!ENTITY event.menu.view.toolbars.event.label "Barre d’outils des évènements">
+<!ENTITY event.menu.view.toolbars.event.accesskey "B">
+<!ENTITY event.menu.view.toolbars.customize.label "Personnaliser…">
+<!ENTITY event.menu.view.toolbars.customize.accesskey "P">
+
+<!ENTITY event.menu.options.label "Options">
+<!ENTITY event.menu.options.accesskey "O">
+<!ENTITY event.menu.options.attendees.label "Inviter des participants…">
+<!ENTITY event.menu.options.attendees.accesskey "I">
+<!ENTITY event.menu.options.timezone2.label "Afficher les fuseaux horaires">
+<!ENTITY event.menu.options.timezone2.accesskey "f">
+<!ENTITY event.menu.options.priority2.label "Priorité">
+<!ENTITY event.menu.options.priority2.accesskey "P">
+<!ENTITY event.menu.options.priority.notspecified.label "Non spécifiée">
+<!ENTITY event.menu.options.priority.notspecified.accesskey "s">
+<!ENTITY event.menu.options.priority.low.label "Basse">
+<!ENTITY event.menu.options.priority.low.accesskey "B">
+<!ENTITY event.menu.options.priority.normal.label "Normale">
+<!ENTITY event.menu.options.priority.normal.accesskey "N">
+<!ENTITY event.menu.options.priority.high.label "Haute">
+<!ENTITY event.menu.options.priority.high.accesskey "H">
+<!ENTITY event.menu.options.privacy.label "Confidentialité">
+<!ENTITY event.menu.options.privacy.accesskey "d">
+<!ENTITY event.menu.options.privacy.public.label "Évènement public">
+<!ENTITY event.menu.options.privacy.public.accesskey "m">
+<!ENTITY event.menu.options.privacy.confidential.label "N’afficher que la date et l’heure">
+<!ENTITY event.menu.options.privacy.confidential.accesskey "r">
+<!ENTITY event.menu.options.privacy.private.label "Évènement privé">
+<!ENTITY event.menu.options.privacy.private.accesskey "t">
+<!ENTITY event.menu.options.show.time.label "Disponibilité">
+<!ENTITY event.menu.options.show.time.accesskey "o">
+<!ENTITY event.menu.options.show.time.busy.label "Occupé">
+<!ENTITY event.menu.options.show.time.busy.accesskey "u">
+<!ENTITY event.menu.options.show.time.free.label "Disponible">
+<!ENTITY event.menu.options.show.time.free.accesskey "s">
+
+<!ENTITY event.invite.attendees.label "Inviter des participants…">
+<!ENTITY event.invite.attendees.accesskey "I">
+<!ENTITY event.email.attendees.label "Écrire un e-mail à tous les participants…">
+<!ENTITY event.email.attendees.accesskey "R">
+<!ENTITY event.email.tentative.attendees.label "Écrire un e-mail aux participants indécis…">
+<!ENTITY event.email.tentative.attendees.accesskey "d">
+<!ENTITY event.remove.attendees.label2 "Retirer tous les participants">
+<!ENTITY event.remove.attendees.accesskey "t">
+<!ENTITY event.remove.attendee.label "Retirer le participant">
+<!ENTITY event.remove.attendee.accesskey "e">
+
+<!-- Toolbar -->
+<!ENTITY event.toolbar.save.label2 "Enregistrer">
+<!ENTITY event.toolbar.saveandclose.label "Enregistrer et fermer">
+<!ENTITY event.toolbar.delete.label "Supprimer">
+<!ENTITY event.toolbar.attendees.label "Inviter des participants">
+<!ENTITY event.toolbar.privacy.label "Confidentialité">
+
+<!ENTITY event.toolbar.save.tooltip2 "Enregistrer">
+<!ENTITY event.toolbar.saveandclose.tooltip "Enregistrer et fermer">
+<!ENTITY event.toolbar.delete.tooltip "Supprimer">
+<!ENTITY event.toolbar.attendees.tooltip "Inviter des participants">
+<!ENTITY event.toolbar.attachments.tooltip "Ajouter des pièces jointes">
+<!ENTITY event.toolbar.privacy.tooltip "Modifier la confidentialité">
+<!ENTITY event.toolbar.priority.tooltip "Modifier la priorité">
+<!ENTITY event.toolbar.status.tooltip "Modifier le statut">
+<!ENTITY event.toolbar.freebusy.tooltip "Modifier la disponibilité (disponible/occupé)">
+
+<!-- Counter box -->
+<!-- LOCALIZATON NOTE(counter.button.*)
+ - This is only visible in the UI if you have received a counterproposal before and are going to
+ - reschedule the event from the imipbar in the email view. Clicking on the buttons will only
+ - populate the form fields in the dialog, there's no other immediate action on clicking like with
+ - the imip bar. Rescheduling will happen after clicking on save&close as usual. This screenshot
+ - illustrates how it might look like: https://bugzilla.mozilla.org/attachment.cgi?id=8810121 -->
+<!ENTITY counter.button.proposal.label "Appliquer la proposition">
+<!ENTITY counter.button.proposal.accesskey "p">
+<!ENTITY counter.button.proposal.tooltip2 "Les champs de l’évènement seront complétés avec les données de la contre-proposition. Enregistrer l’évènement avec ou sans modification supplémentaire notifiera tous les participants.">
+<!ENTITY counter.button.original.label "Appliquer les données originales">
+<!ENTITY counter.button.original.accesskey "r">
+<!ENTITY counter.button.original.tooltip2 "Les champs seront remplis avec les données de l’évènement d’origine, avant que la contre-proposition soit faite">
+
+<!-- Main page -->
+<!ENTITY event.title.textbox.label "Titre :" >
+<!ENTITY event.title.textbox.accesskey "T">
+<!ENTITY event.location.label "Lieu :" >
+<!ENTITY event.location.accesskey "L">
+<!ENTITY event.categories.label "Catégorie :">
+<!ENTITY event.categories.accesskey "C">
+<!ENTITY event.categories.textbox.label "Ajouter une nouvelle catégorie" >
+<!ENTITY event.calendar.label "Agenda :" >
+<!ENTITY event.calendar.accesskey "g">
+<!ENTITY event.attendees.label "Participants :" >
+<!ENTITY event.attendees.accesskey "i">
+<!ENTITY event.alldayevent.label "Évènement sur la journée" >
+<!ENTITY event.alldayevent.accesskey "v">
+<!ENTITY event.from.label "Du :" >
+<!ENTITY event.from.accesskey "D">
+<!ENTITY task.from.label "Début :" >
+<!ENTITY task.from.accesskey "D">
+<!ENTITY event.to.label "Au :" >
+<!ENTITY event.to.accesskey "u">
+<!ENTITY task.to.label "Fin prévue :" >
+<!ENTITY task.to.accesskey "u">
+<!ENTITY task.status.label "Statut :" >
+<!ENTITY task.status.accesskey "S">
+<!ENTITY event.repeat.label "Répétition :" >
+<!ENTITY event.repeat.accesskey "i">
+<!ENTITY event.until.label "Jusqu’à :">
+<!ENTITY event.until.accesskey "q">
+<!ENTITY event.reminder.label "Rappel :" >
+<!ENTITY event.reminder.accesskey "R">
+<!ENTITY event.description.label "Description :" >
+<!ENTITY event.description.accesskey "p">
+<!ENTITY event.attachments.label "Pièces jointes :" >
+<!ENTITY event.attachments.accesskey "P" >
+<!ENTITY event.attachments.menubutton.label "Joindre">
+<!ENTITY event.attachments.menubutton.accesskey "J">
+<!ENTITY event.attachments.url.label "Page web…">
+<!ENTITY event.attachments.url.accesskey "P">
+<!ENTITY event.attachments.popup.remove.label "Supprimer" >
+<!ENTITY event.attachments.popup.remove.accesskey "S" >
+<!ENTITY event.attachments.popup.open.label "Ouvrir" >
+<!ENTITY event.attachments.popup.open.accesskey "O" >
+<!ENTITY event.attachments.popup.removeAll.label "Tout supprimer" >
+<!ENTITY event.attachments.popup.removeAll.accesskey "T" >
+<!ENTITY event.attachments.popup.attachPage.label "Joindre une page web…" >
+<!ENTITY event.attachments.popup.attachPage.accesskey "W" >
+<!ENTITY event.url.label "Lien :" >
+<!ENTITY event.priority2.label "Priorité :">
+
+<!ENTITY event.reminder.none.label "Aucun " >
+<!ENTITY event.reminder.0minutes.before.label "0 minutes avant" >
+<!ENTITY event.reminder.5minutes.before.label "5 minutes avant" >
+<!ENTITY event.reminder.15minutes.before.label "15 minutes avant" >
+<!ENTITY event.reminder.30minutes.before.label "30 minutes avant" >
+<!ENTITY event.reminder.1hour.before.label "1 heure avant" >
+<!ENTITY event.reminder.2hours.before.label "2 heures avant" >
+<!ENTITY event.reminder.12hours.before.label "12 heures avant" >
+<!ENTITY event.reminder.1day.before.label "1 jour avant" >
+<!ENTITY event.reminder.2days.before.label "2 jours avant" >
+<!ENTITY event.reminder.1week.before.label "1 semaine avant" >
+<!ENTITY event.reminder.custom.label "Personnaliser…" >
+
+<!ENTITY event.reminder.multiple.label "Rappels multiples…" >
+
+<!ENTITY event.statusbarpanel.freebusy.label "Disponibilité :">
+<!ENTITY event.statusbarpanel.privacy.label "Confidentialité :">
+
+<!-- Recurrence dialog -->
+<!ENTITY recurrence.title.label "Modifier la répétition">
+
+<!ENTITY event.repeat.does.not.repeat.label "Jamais">
+<!ENTITY event.repeat.daily.label "Quotidienne">
+<!ENTITY event.repeat.weekly.label "Hebdomadaire">
+<!ENTITY event.repeat.every.weekday.label "Chaque jour ouvrable">
+<!ENTITY event.repeat.bi.weekly.label "Toutes les deux semaines">
+<!ENTITY event.repeat.monthly.label "Mensuelle">
+<!ENTITY event.repeat.yearly.label "Annuelle">
+<!ENTITY event.repeat.custom.label "Personnaliser…">
+
+<!ENTITY event.recurrence.pattern.label "Définir la fréquence">
+<!ENTITY event.recurrence.occurs.label "Répétition" >
+<!ENTITY event.recurrence.day.label "quotidienne" >
+<!ENTITY event.recurrence.week.label "hebdomadaire" >
+<!ENTITY event.recurrence.month.label "mensuelle" >
+<!ENTITY event.recurrence.year.label "annuelle" >
+
+<!ENTITY event.recurrence.pattern.every.label "Chaque" >
+<!ENTITY repeat.units.days.both "Jour(s)" >
+<!ENTITY event.recurrence.pattern.every.weekday.label "Chaque jour ouvrable" >
+
+<!ENTITY event.recurrence.pattern.weekly.every.label "Chaque" >
+<!ENTITY repeat.units.weeks.both "Semaine(s)" >
+<!ENTITY event.recurrence.on.label "Le :" >
+
+<!ENTITY event.recurrence.pattern.monthly.every.label "Chaque" >
+<!ENTITY repeat.units.months.both "Mois" >
+<!ENTITY event.recurrence.monthly.every.label "Chaque" >
+<!ENTITY event.recurrence.monthly.first.label "Le premier">
+<!ENTITY event.recurrence.monthly.second.label "Le deuxième">
+<!ENTITY event.recurrence.monthly.third.label "Le troisième">
+<!ENTITY event.recurrence.monthly.fourth.label "Le quatrième">
+<!ENTITY event.recurrence.monthly.fifth.label "Le cinquième">
+<!ENTITY event.recurrence.monthly.last.label "Le dernier">
+<!ENTITY event.recurrence.pattern.monthly.week.1.label "Dimanche" >
+<!ENTITY event.recurrence.pattern.monthly.week.2.label "Lundi" >
+<!ENTITY event.recurrence.pattern.monthly.week.3.label "Mardi" >
+<!ENTITY event.recurrence.pattern.monthly.week.4.label "Mercredi" >
+<!ENTITY event.recurrence.pattern.monthly.week.5.label "Jeudi" >
+<!ENTITY event.recurrence.pattern.monthly.week.6.label "Vendredi" >
+<!ENTITY event.recurrence.pattern.monthly.week.7.label "Samedi" >
+<!ENTITY event.recurrence.repeat.dayofmonth.label "Jour du mois">
+<!ENTITY event.recurrence.repeat.recur.label "Se répète le(s) jour(s)">
+
+<!ENTITY event.recurrence.every.label "Chaque :" >
+<!ENTITY repeat.units.years.both "Année(s)" >
+<!ENTITY event.recurrence.pattern.yearly.every.month.label "Chaque" >
+
+<!-- LOCALIZATON NOTE
+ Some languages use a preposition when describing dates:
+ Portuguese: 6 de Setembro
+ English: 6 [of] September
+ event.recurrence.pattern.yearly.of.label is "of" in
+ Edit recurrence window -> Recurrence pattern -> Repeat yearly
+-->
+<!ENTITY event.recurrence.pattern.yearly.of.label "" >
+
+<!ENTITY event.recurrence.pattern.yearly.month.1.label "Janvier" >
+<!ENTITY event.recurrence.pattern.yearly.month.2.label "Février" >
+<!ENTITY event.recurrence.pattern.yearly.month.3.label "Mars" >
+<!ENTITY event.recurrence.pattern.yearly.month.4.label "Avril" >
+<!ENTITY event.recurrence.pattern.yearly.month.5.label "Mai" >
+<!ENTITY event.recurrence.pattern.yearly.month.6.label "Juin" >
+<!ENTITY event.recurrence.pattern.yearly.month.7.label "Juillet" >
+<!ENTITY event.recurrence.pattern.yearly.month.8.label "Août" >
+<!ENTITY event.recurrence.pattern.yearly.month.9.label "Septembre" >
+<!ENTITY event.recurrence.pattern.yearly.month.10.label "Octobre" >
+<!ENTITY event.recurrence.pattern.yearly.month.11.label "Novembre" >
+<!ENTITY event.recurrence.pattern.yearly.month.12.label "Décembre" >
+<!ENTITY event.recurrence.yearly.every.label "Chaque">
+<!ENTITY event.recurrence.yearly.first.label "Le premier">
+<!ENTITY event.recurrence.yearly.second.label "Le deuxième">
+<!ENTITY event.recurrence.yearly.third.label "Le troisième">
+<!ENTITY event.recurrence.yearly.fourth.label "Le quatrième">
+<!ENTITY event.recurrence.yearly.fifth.label "Le cinquième">
+<!ENTITY event.recurrence.yearly.last.label "Le dernier">
+<!ENTITY event.recurrence.pattern.yearly.week.1.label "Dimanche" >
+<!ENTITY event.recurrence.pattern.yearly.week.2.label "Lundi" >
+<!ENTITY event.recurrence.pattern.yearly.week.3.label "Mardi" >
+<!ENTITY event.recurrence.pattern.yearly.week.4.label "Mercredi" >
+<!ENTITY event.recurrence.pattern.yearly.week.5.label "Jeudi" >
+<!ENTITY event.recurrence.pattern.yearly.week.6.label "Vendredi" >
+<!ENTITY event.recurrence.pattern.yearly.week.7.label "Samedi" >
+<!ENTITY event.recurrence.pattern.yearly.day.label "jour" >
+<!ENTITY event.recurrence.of.label "de" >
+<!ENTITY event.recurrence.pattern.yearly.month2.1.label "Janvier" >
+<!ENTITY event.recurrence.pattern.yearly.month2.2.label "Février" >
+<!ENTITY event.recurrence.pattern.yearly.month2.3.label "Mars" >
+<!ENTITY event.recurrence.pattern.yearly.month2.4.label "Avril" >
+<!ENTITY event.recurrence.pattern.yearly.month2.5.label "Mai" >
+<!ENTITY event.recurrence.pattern.yearly.month2.6.label "Juin" >
+<!ENTITY event.recurrence.pattern.yearly.month2.7.label "Juillet" >
+<!ENTITY event.recurrence.pattern.yearly.month2.8.label "Août" >
+<!ENTITY event.recurrence.pattern.yearly.month2.9.label "Septembre" >
+<!ENTITY event.recurrence.pattern.yearly.month2.10.label "Octobre" >
+<!ENTITY event.recurrence.pattern.yearly.month2.11.label "Novembre" >
+<!ENTITY event.recurrence.pattern.yearly.month2.12.label "Décembre" >
+
+<!ENTITY event.recurrence.range.label "Fenêtre de répétition">
+<!ENTITY event.recurrence.forever.label "Pas de date de fin" >
+<!ENTITY event.recurrence.repeat.for.label "Créer" >
+<!ENTITY event.recurrence.appointments.label "Rendez-vous" >
+<!ENTITY event.repeat.until.label "Répéter jusqu’à" >
+<!ENTITY event.recurrence.preview.label "Aperçu">
+
+<!-- Attendees dialog -->
+<!ENTITY invite.title.label "Inviter des participants">
+<!ENTITY event.organizer.label "Organisateur">
+<!ENTITY event.freebusy.suggest.slot "Suggérer un créneau horaire :">
+<!ENTITY event.freebusy.button.next.slot "Créneau horaire suivant">
+<!ENTITY event.freebusy.button.previous.slot "Créneau horaire précédent">
+<!ENTITY event.freebusy.zoom "Zoom :">
+<!ENTITY event.freebusy.legend.free "Disponible" >
+<!ENTITY event.freebusy.legend.busy "Occupé" >
+<!ENTITY event.freebusy.legend.busy_tentative "Provisoire" >
+<!ENTITY event.freebusy.legend.busy_unavailable "Absent" >
+<!ENTITY event.freebusy.legend.unknown "Pas d’information" >
+<!ENTITY event.attendee.role.required "Participation obligatoire">
+<!ENTITY event.attendee.role.optional "Participation facultative">
+<!ENTITY event.attendee.role.chair "Organisateur">
+<!ENTITY event.attendee.role.nonparticipant "Non participant">
+<!ENTITY event.attendee.usertype.individual "Individu">
+<!ENTITY event.attendee.usertype.group "Groupe">
+<!ENTITY event.attendee.usertype.resource "Ressource">
+<!ENTITY event.attendee.usertype.room "Salle">
+<!ENTITY event.attendee.usertype.unknown "Type inconnu">
+
+<!-- Timezone dialog -->
+<!ENTITY timezone.title.label "Veuillez indiquer le fuseau horaire">
+<!ENTITY event.timezone.custom.label "Plus de fuseaux horaires…">
+
+<!-- Read-Only dialog -->
+<!ENTITY read.only.general.label "Général">
+<!ENTITY read.only.title.label "Titre :">
+<!ENTITY read.only.calendar.label "Agenda :">
+<!ENTITY read.only.event.start.label "Date de début :">
+<!ENTITY read.only.task.start.label "Date de début :">
+<!ENTITY read.only.event.end.label "Date de fin :">
+<!ENTITY read.only.task.due.label "Fin prévue :">
+<!ENTITY read.only.repeat.label "Répétition :">
+<!ENTITY read.only.location.label "Lieu :">
+<!ENTITY read.only.category.label "Catégorie :">
+<!ENTITY read.only.organizer.label "Organisateur :">
+<!ENTITY read.only.reminder.label "Rappel :">
+<!ENTITY read.only.attachments.label "Pièces jointes :">
+<!ENTITY read.only.attendees.label "Participants">
+<!ENTITY read.only.description.label "Description">
+<!ENTITY read.only.link.label "Lien">
+
+<!-- Summary dialog -->
+<!ENTITY summary.dialog.saveclose.label "Enregistrer et fermer">
+<!ENTITY summary.dialog.saveclose.tooltiptext "Enregistrer les modifications et fermer la fenêtre sans changer le statut de participation et sans envoyer de réponse">
+<!ENTITY summary.dialog.accept.label "Accepter">
+<!ENTITY summary.dialog.accept.tooltiptext "Accepter l’invitation">
+<!ENTITY summary.dialog.tentative.label "Accepter provisoirement">
+<!ENTITY summary.dialog.tentative.tooltiptext "Accepter provisoirement l’invitation">
+<!ENTITY summary.dialog.decline.label "Refuser">
+<!ENTITY summary.dialog.decline.tooltiptext "Refuser l’invitation">
+<!ENTITY summary.dialog.dontsend.label "Ne pas envoyer de réponse">
+<!ENTITY summary.dialog.dontsend.tooltiptext "Changer votre statut de participation sans envoyer de réponse à l’organisateur et fermer la fenêtre">
+<!ENTITY summary.dialog.send.label "Envoyer une réponse immédiatement">
+<!ENTITY summary.dialog.send.tooltiptext "Envoyer une réponse à l’organisateur et fermer la fenêtre">
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/calendar/calendar-event-dialog.properties b/thunderbird-l10n/fr/chrome/fr/locale/fr/calendar/calendar-event-dialog.properties
new file mode 100644
index 0000000000..bb8407b272
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/calendar/calendar-event-dialog.properties
@@ -0,0 +1,541 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE (dailyEveryNth):
+# Edit recurrence window -> Recurrence pattern -> Daily repeat rules
+# #1 - number
+# e.g. "every 4 days"
+dailyEveryNth=tous les jours;tous les #1 jours
+repeatDetailsRuleDaily4=chaque jour ouvré
+
+# LOCALIZATION NOTE (weeklyNthOnNounclass...)
+# Edit recurrence window -> Recurrence pattern -> Weekly repeat rules
+# Translate these strings according to noun class/gender of weekday (%1$S)
+# set in 'repeadDetailsDay...Nounclass' strings.
+# Nounclass1 <-> Masculine gender; Nounclass2 <-> Feminine gender.
+# Add others strings with suffix 3, 4,... for others noun classes if your
+# language need them. In this case, corresponding strings must be added for
+# others rule strings with 'Nounclass...' suffix and corresponding values
+# "nounclass..." must be written in 'repeatDetailsDayxNounclass' strings.
+# %1$S - weekday (one or more)
+# #2 - week interval
+# e.g. "every 3 weeks on Tuesday, Wednesday and Thursday
+weeklyNthOnNounclass1=chaque %1$S;toutes les #2 semaines le %1$S
+weeklyNthOnNounclass2=chaque %1$S;toutes les #2 semaines le %1$S
+
+# LOCALIZATION NOTE (weeklyEveryNth):
+# Edit recurrence window -> Recurrence pattern -> Weekly repeat rules
+# #1 - interval
+# e.g. "every 5 weeks"
+weeklyEveryNth=chaque semaine;toutes les #1 semaines
+
+# LOCALIZATION NOTE ('repeatDetailsDay...' and 'repeatDetailsDay...Nounclass'):
+# Week days names and week days noun classes (feminine/masculine grammatical
+# gender) for languages that need different localization when weekdays nouns
+# have different noun classes (genders).
+# For every weekday, in 'repeatDetailsDay...Nounclass' strings write:
+# "nounclass1" for languages with grammatical genders -> MASCULINE gender;
+# for languages with noun classes -> a noun class;
+# for languages without noun classes or grammatical gender.
+#
+# "nounclass2" for languages with grammatical genders -> FEMININE gender;
+# for languages with noun classes -> a different noun class.
+#
+# "nounclass3", "nounclass4" and so on for languages that need more than two
+# noun classes for weekdays. In this case add corresponding
+# rule string with "Nounclass..." suffix and ordinal string
+# "repeatOrdinalxNounclass..."
+# Will be used rule strings with "Nounclass..." suffix corresponding to the
+# following strings if there is a weekday in the rule string.
+repeatDetailsDay1=dimanche
+repeatDetailsDay1Nounclass=nounclass1
+repeatDetailsDay2=lundi
+repeatDetailsDay2Nounclass=nounclass1
+repeatDetailsDay3=mardi
+repeatDetailsDay3Nounclass=nounclass1
+repeatDetailsDay4=mercredi
+repeatDetailsDay4Nounclass=nounclass1
+repeatDetailsDay5=jeudi
+repeatDetailsDay5Nounclass=nounclass1
+repeatDetailsDay6=vendredi
+repeatDetailsDay6Nounclass=nounclass1
+repeatDetailsDay7=samedi
+repeatDetailsDay7Nounclass=nounclass1
+
+# LOCALIZATION NOTE (repeatDetailsAnd)
+# Used to show a number of weekdays in a list
+# i.e. "Sunday, Monday, Tuesday " + and + " Wednesday"
+repeatDetailsAnd=et
+
+# LOCALIZATION NOTE (monthlyRuleNthOfEveryNounclass...):
+# Edit recurrence window -> Recurrence pattern -> Monthly repeat rules
+# Translate these strings according to noun class/gender of weekday (%2$S)
+# set in 'repeadDetailsDay...Nounclass' strings.
+# Nounclass1 <-> Masculine gender; Nounclass2 <-> Feminine gender.
+# Add others strings with suffix 3, 4,... for others noun classes if your
+# language need them. In this case, corresponding strings must be added for
+# others rule strings with 'Nounclass...' suffix and corresponding values
+# "nounclass..." must be written in 'repeatDetailsDayxNounclass' strings.
+# %1$S - list of weekdays with ordinal, article and noun class/gender
+# (ordinal and weekday of every element in the list follow the order
+# and the rule of ordinalWeekdayOrder string)
+# #2 - interval
+# e.g. "the first Monday and the last Friday of every 3 months"
+monthlyRuleNthOfEveryNounclass1=le %1$S de chaque mois;tous les #2 mois le %1$S
+monthlyRuleNthOfEveryNounclass2=le %1$S de chaque mois;tous les #2 mois le %1$S
+
+# LOCALIZATION NOTE (ordinalWeekdayOrder):
+# Edit recurrence window -> Recurrence pattern -> Monthly repeat rules
+# This string allows to change the order of the elements "ordinal" and
+# "weekday" (or to insert a word between them) for the argument %1$S of the
+# string monthlyRuleNthOfEveryNounclass...
+# Without changing this string, the order is that one required from most
+# languages: ordinal + weekday (e.g. "'the first' 'Monday' of every 2 months").
+# %1$S - ordinal with article
+# %2$S - weekday noun
+# e.g. "'the first' 'Monday'"
+# DONT_TRANSLATE: Make sure there are no extra words in this property, just variables.
+ordinalWeekdayOrder=%1$S %2$S
+
+# LOCALIZATION NOTE (monthlyEveryOfEveryNounclass...):
+# Edit recurrence window -> Recurrence pattern -> Monthly repeat rules
+# Translate these strings according to noun class/gender of weekday (%1$S)
+# set in 'repeadDetailsDay...Nounclass' strings.
+# Nounclass1 <-> Masculine gender; Nounclass2 <-> Feminine gender.
+# Add others strings with suffix 3, 4,... for others noun classes if your
+# language need them. In this case, corresponding strings must be added for
+# others rule strings with 'Nounclass...' suffix and corresponding values
+# "nounclass..." must be written in 'repeatDetailsDayxNounclass' strings.
+# %1$S - list of single weekdays and/or weekdays with ordinal, article and
+# noun class/gender when rule contains also specific day in the month
+# #2 - interval
+# e.g. "every Monday, Tuesday and the second Sunday of every month"
+monthlyEveryOfEveryNounclass1=tous les mois chaque %1$S;chaque %1$S d’un mois sur #2
+monthlyEveryOfEveryNounclass2=tous les mois chaque %1$S;chaque %1$S d’un mois sur #2
+
+# LOCALIZATION NOTE (monthlyDaysOfNth_day):
+# Edit recurrence window -> Recurrence pattern -> Monthly repeat rules
+# %1$S - day of month or a sequence of days of month, possibly followed by an ordinal symbol
+# (depending on the string dayOrdinalSymbol in dateFormat.properties) separated with commas;
+# e.g. "days 3, 6 and 9" or "days 3rd, 6th and 9th"
+monthlyDaysOfNth_day=le %1$S;les %1$S
+
+# LOCALIZATION NOTE (monthlyDaysOfNth):
+# Edit recurrence window -> Recurrence pattern -> Monthly repeat rules
+# %1$S - it's the string monthlyDaysOfNth_day: day of month or a sequence of days
+# of month, possibly followed by an ordinal symbol, separated with commas;
+# #2 - monthly interval
+# e.g. "days 3, 6, 9 and 12 of every 3 months"
+monthlyDaysOfNth=%1$S de chaque mois;%1$S un mois sur #2
+
+# LOCALIZATION NOTE (monthlyLastDayOfNth):
+# Edit recurrence window -> Recurrence pattern -> Monthly repeat rules
+# %1$S - day of month
+# #2 - month interval
+# e.g. "the last day of every 3 months"
+monthlyLastDayOfNth=le dernier jour du mois;tous les #1 mois le dernier jour du mois
+
+# LOCALIZATION NOTE (monthlyEveryDayOfNth):
+# Edit recurrence window -> Recurrence pattern -> Monthly repeat rules
+# #2 - month interval
+# e.g. "every day of the month every 4 months"
+monthlyEveryDayOfNth=tous les jours chaque mois;tous les jours tous les #2 mois
+
+# LOCALIZATION NOTE (repeatOrdinal...Nounclass...):
+# Ordinal numbers nouns for every noun class (grammatical genders) of weekdays
+# considered in 'repeatDetailsDayxNounclass' strings. For languages that need
+# localization according to genders or noun classes.
+# Nounclass1 <-> Masculine gender; Nounclass2 <-> Feminine gender.
+# Add 'repeatOrdinal...Nounclass' strings with suffix 3, 4 and so on for
+# languages with more than two noun classes for weekdays. In this case
+# must be added corresponding rule strings with 'Nounclass...' suffix and
+# corresponding values "nounclass..." must be written in
+# 'repeatDetailsDayxNounclass' strings.
+repeatOrdinal1Nounclass1=le premier
+repeatOrdinal2Nounclass1=le deuxième
+repeatOrdinal3Nounclass1=le troisième
+repeatOrdinal4Nounclass1=le quatrième
+repeatOrdinal5Nounclass1=le cinquième
+repeatOrdinal-1Nounclass1=le dernier
+repeatOrdinal1Nounclass2=le premier
+repeatOrdinal2Nounclass2=le deuxième
+repeatOrdinal3Nounclass2=le troisième
+repeatOrdinal4Nounclass2=le quatrième
+repeatOrdinal5Nounclass2=le cinquième
+repeatOrdinal-1Nounclass2=le dernier
+
+# LOCALIZATION NOTE (yearlyNthOn):
+# Edit recurrence window -> Recurrence pattern -> Yearly repeat rules
+# %1$S - month name
+# %2$S - day of month possibly followed by an ordinal symbol (depending on the string
+# dayOrdinalSymbol in dateFormat.properties)
+# #3 - yearly interval
+# e.g. "every 3 years on December 14"
+# "every 2 years on December 8th"
+yearlyNthOn=chaque année le %2$S %1$S;tous les #3 ans le %2$S %1$S
+
+# LOCALIZATION NOTE (yearlyNthOnNthOfNounclass...):
+# Edit recurrence window -> Recurrence pattern -> Yearly repeat rules
+# Translate these strings according to noun class/gender of weekday (%2$S)
+# set in 'repeadDetailsDay...Nounclass' strings.
+# Nounclass1 <-> Masculine gender; Nounclass2 <-> Feminine gender.
+# Add others strings with suffix 3, 4,... for others noun classes if your
+# language need them. In this case, corresponding strings must be added for
+# others rule strings with 'Nounclass...' suffix and corresponding values
+# "nounclass..." must be written in 'repeatDetailsDayxNounclass' strings.
+# %1$S - ordinal with article and noun class/gender corresponding to weekday
+# %2$S - weekday
+# %3$S - month
+# #4 - yearly interval
+# e.g. "the second Monday of every March"
+# e.g "every 3 years the second Monday of March"
+yearlyNthOnNthOfNounclass1=le %1$S %2$S du mois de %3$S;tous les #4 ans le %1$S %2$S du mois de %3$S
+yearlyNthOnNthOfNounclass2=le %1$S %2$S du mois de %3$S;tous les #4 ans le %1$S %2$S du mois de %3$S
+
+# LOCALIZATION NOTE (yearlyOnEveryNthOfNthNounclass...):
+# Edit recurrence window -> Recurrence pattern -> Yearly repeat rules
+# Translate these strings according to noun class/gender of weekday (%1$S)
+# set in 'repeadDetailsDay...Nounclass' strings.
+# Nounclass1 <-> Masculine gender; Nounclass2 <-> Feminine gender.
+# Add others strings with suffix 3, 4,... for others noun classes if your
+# language need them. In this case, corresponding strings must be added for
+# others rule strings with 'Nounclass...' suffix and corresponding values
+# "nounclass..." must be written in 'repeatDetailsDayxNounclass' strings.
+# %1$S - weekday
+# %2$S - month
+# #3 - yearly interval
+# e.g. "every Thursday of March"
+# e.g "every 3 years on every Thursday of March"
+yearlyOnEveryNthOfNthNounclass1=chaque %1$S de %2$S;tous les #3 ans chaque %1$S de %2$S
+yearlyOnEveryNthOfNthNounclass2=chaque %1$S de %2$S;tous les #3 ans chaque %1$S de %2$S
+
+#LOCALIZATION NOTE (yearlyEveryDayOf):
+# Edit recurrence window -> Recurrence pattern -> Yearly repeat rules
+# This string describes part of a yearly rule which includes every day of a month.
+# %1$S - month
+# #2 - yearly interval
+# e.g. "every day of December"
+# e.g. "every 3 years every day of December"
+yearlyEveryDayOf=tous les jours de %1$S;tous les #2 ans, tous les jours de %1$S
+
+repeatDetailsMonth1=janvier
+repeatDetailsMonth2=février
+repeatDetailsMonth3=mars
+repeatDetailsMonth4=avril
+repeatDetailsMonth5=mai
+repeatDetailsMonth6=juin
+repeatDetailsMonth7=juillet
+repeatDetailsMonth8=août
+repeatDetailsMonth9=septembre
+repeatDetailsMonth10=octobre
+repeatDetailsMonth11=novembre
+repeatDetailsMonth12=décembre
+
+# LOCALIZATION NOTE (repeatCount):
+# Edit recurrence window -> Recurrence details link on Event/Task dialog window
+# %1%$ - A rule string (see above). This is the first line of the link
+# %2%$ - event start date (e.g. mm/gg/yyyy)
+# %3$S - event start time (e.g. hh:mm (PM/AM))
+# %4$S - event end time (e.g. hh:mm (PM/AM))
+# #5 - event occurence times: number
+# e.g. with monthlyRuleNthOfEvery:
+# "Occurs the first Sunday of every 3 month
+# only on 1/1/2009"
+# from 5:00 PM to 6:00 PM"
+# "Occurs the first Sunday of every 3 month
+# effective 1/1/2009 for 5 times
+# from 5:00 PM to 6:00 PM"
+repeatCount=A lieu %1$S\nà partir du %2$S et #5 fois de suite\nde %3$S à %4$S.;A lieu %1$S\nà partir du %2$S et #5 fois de suite\nde %3$S à %4$S.
+
+# LOCALIZATION NOTE (repeatCountAllDay):
+# Edit recurrence window -> Recurrence details link on Event/Task dialog window
+# %1%$ - A rule string (see above). This is the first line of the link
+# %2%$ - event start date (e.g. mm/gg/yyyy)
+# #3 - event occurence times: number
+# e.g. with monthlyRuleNthOfEvery:
+# "Occurs the first Sunday of every 3 month
+# only on 1/1/2009"
+# "Occurs the first Sunday of every 3 month
+# effective 1/1/2009 for 5 times"
+repeatCountAllDay=A lieu %1$S\nà partir du %2$S et #3 fois.;A lieu %1$S\nà partir du %2$S et #3 fois.
+
+# LOCALIZATION NOTE (repeatDetailsUntil):
+# Edit recurrence window -> Recurrence details link on Event/Task dialog window
+# %1%$ - A rule string (see above). This is the first line of the link
+# %2%$ - event start date (e.g. mm/gg/yyyy)
+# %3$S - event end date (e.g. mm/gg/yyyy)
+# %4$S - event start time (e.g. hh:mm (PM/AM))
+# %5$S - event end time (e.g. hh:mm (PM/AM))
+# e.g. with weeklyNthOn:
+# "Occurs every 2 weeks on Sunday and Friday
+# effective 1/1/2009 until 1/1/2010
+# from 5:00 PM to 6:00 PM"
+repeatDetailsUntil=A lieu %1$S\nà partir du %2$S jusqu’au %3$S\nde %4$S à %5$S.
+
+# LOCALIZATION NOTE (repeatDetailsUntilAllDay):
+# Edit recurrence window -> Recurrence details link on Event/Task dialog window
+# %1%$ - A rule string (see above). This is the first line of the link
+# %2%$ - event start date (e.g. mm/gg/yyyy)
+# %3$S - event end date (e.g. mm/gg/yyyy)
+# e.g. with monthlyDaysOfNth and all day event:
+# "Occurs day 3 of every 5 month
+# effective 1/1/2009 until 1/1/2010"
+repeatDetailsUntilAllDay=A lieu %1$S\nà partir du %2$S jusqu’au %3$S.
+
+# LOCALIZATION NOTE (repeatDetailsInfinite):
+# Edit recurrence window -> Recurrence details link on Event/Task dialog window
+# %1%$ - A rule string (see above). This is the first line of the link
+# %2%$ - event start date (e.g. mm/gg/yyyy)
+# %3$S - event start time (e.g. hh:mm (PM/AM))
+# %4$S - event end time (e.g. hh:mm (PM/AM))
+# e.g. with monthlyDaysOfNth:
+# "Occurs day 3 of every 5 month
+# effective 1/1/2009
+# from 5:00 PM to 6:00 PM"
+repeatDetailsInfinite=A lieu %1$S\nà partir du %2$S\nde %3$S à %4$S.
+
+# LOCALIZATION NOTE (repeatDetailsInfiniteAllDay):
+# Edit recurrence window -> Recurrence details link on Event/Task dialog window
+# %1%$ - A rule string (see above). This is the first line of the link
+# %2%$ - event start date (e.g. mm/gg/yyyy)
+# e.g. with monthlyDaysOfNth and all day event:
+# "Occurs day 3 of every 5 month
+# effective 1/1/2009"
+repeatDetailsInfiniteAllDay=A lieu %1$S\n à partir du %2$S.
+
+# LOCALIZATION NOTE (monthlyLastDay):
+# Edit recurrence window -> Recurrence details link on Event/Task dialog window
+# A monthly rule with one or more days of the month (monthlyDaysOfNth) and the
+# string "the last day" of the month.
+# e.g.: "Occurs day 15, 20, 25 and the last day of every 3 months"
+monthlyLastDay=le dernier jour
+
+# LOCALIZATION NOTE (ruleTooComplex):
+# This string is shown in the repeat details area if our code can't handle the
+# complexity of the recurrence rule yet.
+ruleTooComplex=Cliquez pour plus de détails
+
+# LOCALIZATION NOTE (ruleTooComplexSummary):
+# This string is shown in the event summary dialog if our code can't handle the
+# complexity of the recurrence rule yet.
+ruleTooComplexSummary=Détails de répétition inconnus
+
+# differences between the dialog for an Event or a Task
+newEvent=Nouvel évènement
+newTask=Nouvelle tâche
+itemMenuLabelEvent=Évènement
+itemMenuAccesskeyEvent2=v
+itemMenuLabelTask=Tâche
+itemMenuAccesskeyTask2=T
+
+emailSubjectReply=Re : %1$S
+
+# Link Location Dialog
+specifyLinkLocation=Veuillez spécifier l’adresse du lien
+enterLinkLocation=Saisissez l’adresse d’une page web ou d’un document
+
+summaryDueTaskLabel=Fin :
+
+# Attach File Dialog
+attachViaFilelink=Joindre à l’aide de %1$S
+selectAFile=Veuillez sélectionner le(s) fichier(s) à joindre
+removeCalendarsTitle=Supprimer les pièces jointes
+
+# LOCALIZATION NOTE (removeAttachmentsText): Semi-colon list of plural forms for
+# prompting attachment removal.
+# See http://developer.mozilla.org/en/Localization_and_Plurals
+removeAttachmentsText=Voulez-vous vraiment supprimer la pièce jointe ?;Voulez-vous vraiment supprimer #1 pièces jointes ?
+
+# Recurrence Dialog Widget Order
+# LOCALIZATION NOTE: You can change the order of below params
+# Edit recurrence window -> Recurrence pattern -> Repeat monthly
+# %1$S - ordinal with article, %2$S - weekday
+# e.g. "the First Saturday"
+# DONT_TRANSLATE: Make sure there are no extra words in this property, just variables.
+monthlyOrder=%1$S %2$S
+
+# Edit recurrence window -> Recurrence pattern -> Repeat yearly
+# %1$S - day of month, %2$S - of, %3$S - month
+# e.g. "6 [of] September"
+# If you don't need %2$S in your locale - please put this on the third place.
+# DONT_TRANSLATE: Make sure there are no extra words in this property, just variables.
+yearlyOrder=%1$S %3$S %2$S
+
+# Edit recurrence window -> Recurrence pattern -> Repeat yearly
+# %1$S - ordinal with article, %2$S - weekday, %3$S - of, %4$S - month
+# e.g. "the First Saturday of September"
+# If you don't need %3$S in your locale - please put this on the third place.
+# DONT_TRANSLATE: Make sure there are no extra words in this property, just variables.
+yearlyOrder2=%1$S %2$S %3$S %4$S
+
+# LOCALIZATION NOTE (pluralForWeekdays):
+# This string allows to set the use of weekdays nouns in plural form for
+# languages that need them in sentences like "every Monday" or "every Sunday
+# of March" etc.
+# Rule strings involved by this setting are:
+# - weeklyNthOn (only the first part) e.g. "every Sunday"
+# - monthlyEveryOfEvery
+# e.g. "every Monday of every month;every Monday every 2 months"
+# - yearlyOnEveryNthOfNth
+# e.g. "every Friday of March;every 2 years on every Friday of March"
+# In your local write:
+# "true" if sentences like those above need weekday in plural form;
+# "false" if sentences like those above don't need weekday in plural form;
+pluralForWeekdays=false
+
+# LOCALIZATION NOTE (repeatDetailsDayxxxPlural):
+# Edit recurrence window -> Recurrence details link on Event/Task dialog window
+# Weekdays in plural form used inside sentences like "every Monday" or
+# "every Sunday of May" etc. for languages that need them.
+# These plurals will be used inside the following rule strings only if string
+# 'pluralForWeekdays' (see above) is set to "true":
+# - weeklyNthOn (only the first part) e.g. "every Sunday"
+# - monthlyEveryOfEvery
+# e.g. "every Monday of every month;every Monday every 2 months"
+# - yearlyOnEveryNthOfNth
+# e.g. "every Friday of March;every 2 years on every Friday of March"
+repeatDetailsDay1Plural=dimanches
+repeatDetailsDay2Plural=lundis
+repeatDetailsDay3Plural=mardis
+repeatDetailsDay4Plural=mercredis
+repeatDetailsDay5Plural=jeudis
+repeatDetailsDay6Plural=vendredis
+repeatDetailsDay7Plural=samedis
+
+# LOCALIZATION NOTE (eventRecurrenceForeverLabel):
+# Edit/New Event dialog -> datepicker that sets the until date.
+# For recurring rules that repeat forever, this labels appears in the
+# datepicker, below the minimonth, as an option for the until date.
+eventRecurrenceForeverLabel=Tout le temps
+
+# LOCALIZATION NOTE (eventRecurrenceMonthlyLastDayLabel):
+# Edit dialog recurrence -> Monthly Recurrence pattern -> Monthly daypicker
+# The label on the monthly daypicker's last button that allows to select
+# the last day of the month inside a BYMONTHDAY rule.
+eventRecurrenceMonthlyLastDayLabel=Dernier jour
+
+# LOCALIZATION NOTE (counterSummaryAccepted) - this is only visible when opening the dialog from the
+# email summary view after receiving a counter message
+# %1$S - the name or email address of the replying attendee
+counterSummaryAccepted=%1$S a accepté l’invitation, mais a fait une contre-proposition :
+
+# LOCALIZATION NOTE (counterSummaryDeclined) - this is only visible when opening the dialog from the
+# email summary view after receiving a counter message
+# %1$S - the name or email address of the replying attendee
+counterSummaryDeclined=%1$S a décliné l’invitation, mais a fait une contre-proposition :
+
+# LOCALIZATION NOTE (counterSummaryDelegated) - this is only visible when opening the dialog from the
+# email summary view after receiving a counter message
+# %1$S - the name or email address of the replying attendee
+counterSummaryDelegated=%1$S a délégué l’invitation, mais a fait une contre-proposition :
+
+# LOCALIZATION NOTE (counterSummaryNeedsAction) - this is only visible when opening the dialog from the
+# email summary view after receiving a counter message
+# %1$S - the name or email address of the replying attendee
+counterSummaryNeedsAction=%1$S n’a pas pris de décision sur sa participation et a fait une contre-proposition :
+
+# LOCALIZATION NOTE (counterSummaryTentative) - this is only visible when opening the dialog from the
+# email summary view after receiving a counter message
+# %1$S - the name or email address of the replying attendee
+counterSummaryTentative=%1$S a confirmé sa participation de façon provisoire et a fait une contre-proposition :
+
+# LOCALIZATION NOTE (counterOnPreviousVersionNotification) - this is only visible when opening the
+# dialog from the email summary view after receiving a counter message
+counterOnPreviousVersionNotification=Cette contre-proposition concerne une version précédente de l’évènement.
+
+# LOCALIZATION NOTE (counterOnCounterDisallowedNotification) - this is only visible when opening the
+# dialog from the email summary view after receiving a counter message
+counterOnCounterDisallowedNotification=Vous n’avez pas autorisé les contre-propositions lors de l’envoi de l’invitation.
+
+# LOCALIZATION NOTE (eventAccepted) - this will be displayed as notification
+# in the summary dialog if the user has accepted the event invitation
+eventAccepted=Vous avez accepté cette invitation
+
+# LOCALIZATION NOTE (eventTentative) - this will be displayed as notification
+# in the summary dialog if the user has accepted the event invitation tentatively
+eventTentative=Vous avez provisoirement accepté cette invitation
+
+# LOCALIZATION NOTE (eventDeclined) - this will be displayed as notification
+# in the summary dialog if the user has declined the event invitation
+eventDeclined=Vous avez décliné cette invitation
+
+# LOCALIZATION NOTE (eventDelegated) - this will be displayed as notification
+# in the summary dialog if the user has delegated his/her participation to one
+# or more other participants (without attending / working on it his/herself)
+eventDelegated=Vous avez délégué cette invitation
+
+# LOCALIZATION NOTE (eventNeedsAction) - this will be displayed as notification
+# in the summary dialog if the user hasn't yet responded to an invitation
+eventNeedsAction=Vous n’avez pas encore répondu à cette invitation
+
+# LOCALIZATION NOTE (taskAccepted) - this will be displayed as notification
+# in the summary dialog if the user has accepted the assigned task
+taskAccepted=Vous avez accepté de travailler sur cette tâche
+
+# LOCALIZATION NOTE (taskTentative) - this will be displayed as notification
+# in the summary dialog if the user has accepted tentatively the assigned task
+taskTentative=Vous avez provisoirement accepté de travailler sur cette tâche
+
+# LOCALIZATION NOTE (taskDeclined) - this will be displayed as notification
+# in the summary dialog if the user has declined the assigned task
+taskDeclined=Vous avez refusé de travailler sur cette tâche
+
+# LOCALIZATION NOTE (taskDelegated) - this will be displayed as notification
+# in the summary dialog if the user has delegated his/her assignement to one or
+# more others (without attending / working on it his/herself)
+taskDelegated=Vous avez délégué le travail de cette tâche
+
+# LOCALIZATION NOTE (taskNeedsAction) - this will be displayed as notification
+# in the summary dialog if the user hasn't yet responded to the task assignment
+taskNeedsAction=Vous n’avez pas encore répondu à cette attribution de tâche
+
+# LOCALIZATION NOTE (taskInProgress) - this will be displayed as notification
+# in the summary dialog if the user is working on an assigned task
+taskInProgress=Vous avez commencé à travailler sur cette tâche qui vous est attribuée
+
+# LOCALIZATION NOTE (taskCompleted) - this will be displayed as notification
+# in the summary dialog if the user has completed the work on this assigned task
+taskCompleted=Vous avez fini de travailler sur cette tâche
+
+# LOCALIZATION NOTE (sendandcloseButtonLabel) - this is a runtime replacement for
+# event.toolbar.saveandclose.label in the event dialog/tab toolbar if attendees
+# will be notified on saving & closing
+sendandcloseButtonLabel=Envoyer et fermer
+
+# LOCALIZATION NOTE (sendandcloseButtonTooltip) - this is a runtime replacement for
+# event.toolbar.saveandclose.tooltip in the event dialog/tab toolbar if attendees
+# will be notified on saving & closing
+sendandcloseButtonTooltip=Informer les participants et fermer
+
+# LOCALIZATION NOTE (saveandsendButtonLabel) - this is a runtime replacement for
+# event.toolbar.save.label2 in the event dialog/tab toolbar if attendees
+# will be notified on saving
+saveandsendButtonLabel=Enregistrer et envoyer
+
+# LOCALIZATION NOTE (saveandsendButtonTooltip) - this is a runtime replacement
+# for event.toolbar.save.tooltip2 in the event dialog/tab toolbar if attendees
+# will be notified on saving
+saveandsendButtonTooltip=Enregistrer et informer les participants
+
+# LOCALIZATION NOTE (saveandsendMenuLabel) - this is a runtime replacement for
+# event.menu.item.save.label in the event dialog/tab toolbar if attendees
+# will be notified on saving
+saveandsendMenuLabel=Enregistrer et envoyer
+
+# LOCALIZATION NOTE (sendandcloseMenuLabel) - this is a runtime replacement for
+# event.menu.item.saveandclose.label in the event dialog/tab toolbar if attendees
+# will be notified on saving
+sendandcloseMenuLabel=Envoyer et fermer
+
+# LOCALIZATION NOTE (attendeesTabLabel) - this is a runtime replacement for
+# event.attendees.label defined in calendar-event-dialog.dtd and used in the
+# event dialog/tab as attendee tab label if an event has at least one attendee
+# %1$S - the number of attendee (1-n)
+attendeesTabLabel=Participants (%1$S) :
+
+# LOCALIZATION NOTE (attachmentsTabLabel) - this is a runtime replacement for
+# event.attachments.label defined in calendar-event-dialog.dtd and used in the
+# event dialog/tab as attendee tab label if an event has at least one attachment
+# %1$S - the number of attachments (1-n)
+attachmentsTabLabel=Pièces jointes (%1$S) :
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/calendar/calendar-extract.properties b/thunderbird-l10n/fr/chrome/fr/locale/fr/calendar/calendar-extract.properties
new file mode 100644
index 0000000000..76ec232faa
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/calendar/calendar-extract.properties
@@ -0,0 +1,294 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE:
+# Strings here are used to create events and tasks with start and end times
+# based on email content.
+# None of the strings are displayed in the user interface.
+#
+# You don't have to fill all from.*, until.*, *.prefix and *.suffix patterns.
+# It's ok to leave some empty.
+# Please consider declensions and gender if your language has them.
+# Don't just translate directly. The number of variants doesn't have to be
+# the same as in en-US. All of 0, 1, 2, etc is allowed in patterns except alphabet
+# pattern. You can and should add language specific variants.
+#
+# There are two different ways to find a start time text in email:
+# 1) it matches a from.* pattern and does not have end.prefix or end.suffix next to it
+# 2) it matches until.* pattern and has start.prefix or start.suffix next to it
+# Similar inverse logic applies to end times.
+# These rules enable using prefix and suffix values with only start.* or only until.*
+# patterns localized for some languages and thus not having to repeat the same
+# values in both.
+#
+# Patterns are partially space-insensitive.
+# "deadline is" pattern will find both "deadlineis" and "deadline is"
+# but "deadlineis" won't find "deadline is" or "deadline is".
+# Therefore you should include all spaces that are valid within a pattern.
+
+# LOCALIZATION NOTE (start.prefix):
+# datetimes with these in front are extracted as start times
+# can be a list of values, separate variants by |
+start.prefix =de | du | entre le
+
+# LOCALIZATION NOTE (start.suffix):
+# datetimes followed by these are extracted as start times
+start.suffix = au | jusqu'au | à | - | jusqu'à | jusque | et le | et
+
+# LOCALIZATION NOTE (end.prefix):
+# datetimes with these in front are extracted as end times
+end.prefix = au | jusqu'au | à | - | jusqu'à | jusque | et le | et | pour le | pour | se termine le
+
+# LOCALIZATION NOTE (end.suffix):
+# datetimes followed by these are extracted as end times
+# can be a list of values, separate variants by |
+end.suffix =
+
+# LOCALIZATION NOTE (no.datetime.prefix):
+# datetimes with these in front won't be used
+# specify full words here
+no.datetime.prefix = envoyé le | envoyée le | courriel du | courrier du | message du | envoi du | au lieu du | > | malheureusement le | en | pas le
+
+# LOCALIZATION NOTE (no.datetime.suffix):
+# datetimes followed by these won't be used
+no.datetime.suffix = de la semaine dernière | : | > | % | euros |eur | usd | dollars
+
+# LOCALIZATION NOTE (from.*):
+# can be a list of values, separate variants by |
+
+# LOCALIZATION NOTE (from.today):
+# must not be empty!
+from.today = aujourd'hui
+
+from.tomorrow = demain
+# LOCALIZATION NOTE (until.*):
+# can be a list of values, separate variants by |
+until.tomorrow =
+
+# LOCALIZATION NOTE (from.ordinal.date):
+# #1 = matches numbers 1-31 and number.x
+# should not have "#1" as this would match any single number in email to a time
+from.ordinal.date = #1er
+
+# LOCALIZATION NOTE (until.ordinal.date):
+# #1 = matches numbers 1-31 and number.x
+until.ordinal.date =
+
+from.noon = midi
+until.noon =
+
+# LOCALIZATION NOTE (from.hour):
+# #1 = matches numbers 0-23 and number.0-number.23
+# should not have "#1" as this would match any single number in email to a time
+from.hour = à #1 | vers #1 | #1 - | #1 à | de #1
+
+# LOCALIZATION NOTE (until.hour):
+# #1 = matches numbers 0-23 and number.0-number.23
+# should also list how to find end of a timeframe
+until.hour = - #1 | à #1 | jusque #1
+
+# LOCALIZATION NOTE (from.hour.am):
+# #1 = matches numbers 0-23 and number.0-number.23
+from.hour.am = #1 du matin
+
+# LOCALIZATION NOTE (until.hour.am):
+# #1 = matches numbers 0-23 and number.0-number.23
+# should also list how to find end of a timeframe
+until.hour.am =
+
+# LOCALIZATION NOTE (from.hour.pm):
+# #1 = matches numbers 0-23 and number.0-number.23
+from.hour.pm = #1 de l'après-midi
+
+# LOCALIZATION NOTE (until.hour.pm):
+# #1 = matches numbers 0-23 and number.0-number.23
+# should also list how to find end of a timeframe
+until.hour.pm =
+
+# LOCALIZATION NOTE (from.half.hour.before):
+# denotes times 30 minutes before next full hour
+from.half.hour.before = une demi-heure avant #1
+
+# LOCALIZATION NOTE (until.half.hour.before):
+# denotes times 30 minutes before next full hour
+until.half.hour.before =
+
+# LOCALIZATION NOTE (from.half.hour.after):
+# denotes times 30 minutes after last full hour
+from.half.hour.after = #1 et demie
+
+# LOCALIZATION NOTE (until.half.hour.after):
+# denotes times 30 minutes after last full hour
+until.half.hour.after =
+
+# LOCALIZATION NOTE (from.hour.minutes):
+# #1 = matches numbers 0-23
+# #2 = matches numbers 0-59
+from.hour.minutes = #1:#2 | à #1#2
+
+# LOCALIZATION NOTE (until.hour.minutes):
+# #1 = matches numbers 0-23
+# #2 = matches numbers 0-59
+until.hour.minutes =
+
+# LOCALIZATION NOTE (from.hour.minutes.am):
+# #1 = matches numbers 0-23
+# #2 = matches numbers 0-59
+from.hour.minutes.am = #1:#2 du matin
+
+# LOCALIZATION NOTE (until.hour.minutes.am):
+# #1 = matches numbers 0-23
+# #2 = matches numbers 0-59
+until.hour.minutes.am =
+
+# LOCALIZATION NOTE (from.hour.minutes.pm):
+# #1 = matches numbers 0-23
+# #2 = matches numbers 0-59
+from.hour.minutes.pm = #1:#2 de l'après-midi | #1:#2 du soir
+
+# LOCALIZATION NOTE (until.hour.minutes.pm):
+# #1 = matches numbers 0-23
+# #2 = matches numbers 0-59
+until.hour.minutes.pm =
+
+# LOCALIZATION NOTE (from.monthname.day):
+# #1 = matches numbers 1-31 and number.x
+# #2 = matches monthname
+from.monthname.day = #1 #2 | #2 #1 | #1er #2
+
+# LOCALIZATION NOTE (until.monthname.day):
+# #1 = matches numbers 1-31
+# #2 = matches monthname
+until.monthname.day =
+
+# LOCALIZATION NOTE (from.month.day):
+# #1 = matches numbers 1-31
+# #2 = matches numbers 1-12
+from.month.day = #1/#2
+
+# LOCALIZATION NOTE (until.month.day):
+# #1 = matches numbers 1-31 and number.x
+# #2 = matches numbers 1-12
+until.month.day =
+
+# LOCALIZATION NOTE (from.year.month.day):
+# #1 = matches numbers 1-31
+# #2 = matches numbers 1-12
+# #3 = matches 2/4 numbers
+from.year.month.day = #1/#2/#3 | #3-#2-#1
+
+# LOCALIZATION NOTE (until.year.month.day):
+# #1 = matches numbers 1-31
+# #2 = matches numbers 1-12
+# #3 = matches 2/4 numbers
+until.year.month.day =
+
+# LOCALIZATION NOTE (from.year.monthname.day):
+# #1 = matches numbers 1-31
+# #2 = matches monthname
+# #3 = matches 2/4 numbers
+from.year.monthname.day = #1 #2 #3 | #1er #2 #3
+
+# LOCALIZATION NOTE (until.year.monthname.day):
+# #1 = matches numbers 1-31
+# #2 = matches monthname
+# #3 = matches 2/4 numbers
+until.year.monthname.day =
+
+# LOCALIZATION NOTE (duration.*):
+# can be a list of values, separate variants by |
+
+# LOCALIZATION NOTE (duration.minutes):
+# #1 = matches 1/2 numbers and number.0 - and number.31
+duration.minutes = #1 minutes | #1 min | #1 mins
+
+# LOCALIZATION NOTE (duration.hours):
+# #1 = matches 1/2 numbers and number.0 - and number.31
+duration.hours = #1 heures | #1 hrs
+
+# LOCALIZATION NOTE (duration.days):
+# #1 = matches 1/2 numbers and number.0 - and number.31
+duration.days = #1 jours
+
+# LOCALIZATION NOTE (month.*):
+# can be a list of values, separate variants by |
+month.1 = janvier | jan | jan.
+month.2 = février | fév | fév.
+month.3 = mars | mar | mar.
+month.4 = avril | avr | avr.
+month.5 = mai
+month.6 = juin | jun | jun.
+month.7 = juilet | jul | jul. | juil | juil.
+month.8 = août | aout | aou | aou.
+month.9 = septembre | sep | sep. | sept.
+month.10 = octobre | oct | oct.
+month.11 = novembre | nov | nov.
+month.12 = décembre | dec | dec. | déc | déc.
+
+# LOCALIZATION NOTE (from.weekday.*):
+# used to derive start date based on weekdays mentioned
+# can be a list of values, separate variants by |
+# LOCALIZATION NOTE (from.weekday.0):
+# Regardless of what the first day of the week is in your country, 0 is Sunday here.
+from.weekday.0 = dimanche | dimanches
+from.weekday.1 = lundi | lundis
+from.weekday.2 = mardi | mardis
+from.weekday.3 = mercredi | mercredis
+from.weekday.4 = jeudi | jeudis
+from.weekday.5 = vendredi | vendredis
+from.weekday.6 = samedi | samedis
+
+# LOCALIZATION NOTE (until.weekday.*):
+# used to derive end date based on weekdays mentioned
+# can be a list of values, separate variants by |
+# LOCALIZATION NOTE (until.weekday.0):
+# Regardless of what the first day of the week is in your country, 0 is Sunday here.
+until.weekday.0 =
+until.weekday.1 =
+until.weekday.2 =
+until.weekday.3 =
+until.weekday.4 =
+until.weekday.5 =
+until.weekday.6 =
+
+# LOCALIZATION NOTE (number.*):
+# used within other patterns to understand dates where day of month isn't written with digits
+# can be a list of values, separate variants by |
+number.0 = zéro
+number.1 = un | premier
+number.2 = deux
+number.3 = trois
+number.4 = quatre
+number.5 = cinq
+number.6 = six
+number.7 = sept
+number.8 = huit
+number.9 = neuf
+number.10 = dix
+number.11 = onze
+number.12 = douze
+number.13 = treize
+number.14 = quatorze
+number.15 = quinze
+number.16 = seize
+number.17 = dix-sept
+number.18 = dix-huit
+number.19 = dix-neuf
+number.20 = vingt
+number.21 = vingt-et-un
+number.22 = vingt-deux
+number.23 = vingt-trois
+number.24 = vingt-quatre
+number.25 = vingt-cinq
+number.26 = vingt-six
+number.27 = vingt-sept
+number.28 = vingt-huit
+number.29 = vingt-neuf
+number.30 = trente
+number.31 = trente-et-un
+
+# LOCALIZATION NOTE (alphabet):
+# list all lower and uppercase letters if your language has an alphabet
+# otherwise leave it empty
+alphabet = abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/calendar/calendar-invitations-dialog.dtd b/thunderbird-l10n/fr/chrome/fr/locale/fr/calendar/calendar-invitations-dialog.dtd
new file mode 100644
index 0000000000..02c1b60141
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/calendar/calendar-invitations-dialog.dtd
@@ -0,0 +1,19 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/.
+-->
+
+<!-- Calendar Invitations Dialog -->
+<!ENTITY calendar.invitations.dialog.invitations.text "Invitations">
+<!ENTITY calendar.invitations.dialog.statusmessage.updating.text "Mise à jour de la liste des invitations.">
+<!ENTITY calendar.invitations.dialog.statusmessage.noinvitations.text "Aucune invitation non confirmée n’a été trouvée.">
+
+<!-- Calendar Invitations List -->
+<!ENTITY calendar.invitations.list.accept.button.label "Accepter">
+<!ENTITY calendar.invitations.list.decline.button.label "Refuser">
+<!ENTITY calendar.invitations.list.recurrentevent.text "Évènement répétitif">
+<!ENTITY calendar.invitations.list.alldayevent.text "Évènement sur toute la journée">
+<!ENTITY calendar.invitations.list.location.text "Lieu : ">
+<!ENTITY calendar.invitations.list.organizer.text "Organisateur : ">
+<!ENTITY calendar.invitations.list.attendee.text "Participant : ">
+<!ENTITY calendar.invitations.list.none.text "Aucune">
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/calendar/calendar-invitations-dialog.properties b/thunderbird-l10n/fr/chrome/fr/locale/fr/calendar/calendar-invitations-dialog.properties
new file mode 100644
index 0000000000..82ab252a8a
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/calendar/calendar-invitations-dialog.properties
@@ -0,0 +1,10 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+allday-event=Évènement sur toute la journée
+recurrent-event=Évènement récurrent
+location=Lieu : %S
+organizer=Organisateur ou organisatrice : %S
+attendee=Participant ou participante : %S
+none=Aucun
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/calendar/calendar-occurrence-prompt.dtd b/thunderbird-l10n/fr/chrome/fr/locale/fr/calendar/calendar-occurrence-prompt.dtd
new file mode 100644
index 0000000000..88a135595c
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/calendar/calendar-occurrence-prompt.dtd
@@ -0,0 +1,7 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!ENTITY buttons.occurrence.accesskey "t">
+<!ENTITY buttons.allfollowing.accesskey "e">
+<!ENTITY buttons.parent.accesskey "s">
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/calendar/calendar-occurrence-prompt.properties b/thunderbird-l10n/fr/chrome/fr/locale/fr/calendar/calendar-occurrence-prompt.properties
new file mode 100644
index 0000000000..b70d9ee041
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/calendar/calendar-occurrence-prompt.properties
@@ -0,0 +1,53 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+header.isrepeating.event.label=est un évènement récurrent
+header.isrepeating.task.label=est une tâche récurrente
+header.containsrepeating.event.label=contient des évènements récurrents
+header.containsrepeating.task.label=contient des tâches récurrentes
+header.containsrepeating.mixed.label=contient des éléments récurrents de différents types
+
+windowtitle.event.copy=Copier l’évènement récurrent
+windowtitle.task.copy=Copier la tâche récurrente
+windowtitle.mixed.copy=Copier les éléments récurrents
+windowtitle.event.cut=Couper l’évènement récurrent
+windowtitle.task.cut=Couper la tâche récurrente
+windowtitle.mixed.cut=Couper les éléments récurrents
+windowtitle.event.delete=Supprimer l’évènement récurrent
+windowtitle.task.delete=Supprimer la tâche récurrente
+windowtitle.mixed.delete=Supprimer les éléments récurrents
+windowtitle.event.edit=Modifier l’évènement récurrent
+windowtitle.task.edit=Modifier la tâche récurrente
+windowtitle.mixed.edit=Modifier les éléments récurrents
+windowtitle.multipleitems=Éléments sélectionnés
+
+buttons.single.occurrence.copy.label=Copier uniquement cette occurrence
+buttons.single.occurrence.cut.label=Couper uniquement cette occurrence
+buttons.single.occurrence.delete.label=Supprimer uniquement cette occurrence
+buttons.single.occurrence.edit.label=Modifier uniquement cette occurrence
+
+buttons.multiple.occurrence.copy.label=Copier uniquement les occurrences sélectionnées
+buttons.multiple.occurrence.cut.label=Couper uniquement les occurrences sélectionnées
+buttons.multiple.occurrence.delete.label=Supprimer uniquement les occurrences sélectionnées
+buttons.multiple.occurrence.edit.label=Modifier uniquement les occurrences sélectionnées
+
+buttons.single.allfollowing.copy.label=Copier cette occurrence et les suivantes
+buttons.single.allfollowing.cut.label=Couper cette occurrence et les suivantes
+buttons.single.allfollowing.delete.label=Supprimer cette occurrence et les suivantes
+buttons.single.allfollowing.edit.label=Modifier cette occurrence et les suivantes
+
+buttons.multiple.allfollowing.copy.label=Copier l’occurrence sélectionnée et les suivantes
+buttons.multiple.allfollowing.cut.label=Couper l’occurrence sélectionnée et les suivantes
+buttons.multiple.allfollowing.delete.label=Supprimer l’occurrence sélectionnée et les suivantes
+buttons.multiple.allfollowing.edit.label=Modifier l’occurrence sélectionnée et les suivantes
+
+buttons.single.parent.copy.label=Copier toutes les occurrences
+buttons.single.parent.cut.label=Couper toutes les occurrences
+buttons.single.parent.delete.label=Supprimer toutes les occurrences
+buttons.single.parent.edit.label=Modifier toutes les occurrences
+
+buttons.multiple.parent.copy.label=Copier l’ensemble des occurrences pour les éléments sélectionnés
+buttons.multiple.parent.cut.label=Couper l’ensemble des occurrences pour les éléments sélectionnés
+buttons.multiple.parent.delete.label=Supprimer l’ensemble des occurrences pour les éléments sélectionnés
+buttons.multiple.parent.edit.label=Modifier l’ensemble des occurrences pour les éléments sélectionnés
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/calendar/calendar.dtd b/thunderbird-l10n/fr/chrome/fr/locale/fr/calendar/calendar.dtd
new file mode 100644
index 0000000000..7034b7146e
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/calendar/calendar.dtd
@@ -0,0 +1,388 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!-- General -->
+<!ENTITY calendar.calendar.label "Agendas">
+<!ENTITY calendar.calendar.accesskey "A">
+
+<!ENTITY calendar.newevent.button.tooltip "Créer un nouvel évènement" >
+<!ENTITY calendar.newtask.button.tooltip "Créer une nouvelle tâche" >
+
+<!ENTITY calendar.unifinder.showcompletedtodos.label "Afficher les tâches accomplies">
+
+<!ENTITY calendar.today.button.label "Aujourd’hui">
+<!ENTITY calendar.tomorrow.button.label "Demain">
+<!ENTITY calendar.upcoming.button.label "Prochainement">
+
+<!ENTITY calendar.events.filter.all.label "Tous les évènements">
+<!ENTITY calendar.events.filter.today.label "Évènements du jour">
+<!ENTITY calendar.events.filter.future.label "Tous les évènements futurs">
+<!ENTITY calendar.events.filter.current.label "Jour courant">
+<!ENTITY calendar.events.filter.currentview.label "Évènements dans la vue courante">
+<!ENTITY calendar.events.filter.next7Days.label "Évènements des 7 prochains jours">
+<!ENTITY calendar.events.filter.next14Days.label "Évènements des 14 prochains jours">
+<!ENTITY calendar.events.filter.next31Days.label "Évènements des 31 prochains jours">
+<!ENTITY calendar.events.filter.thisCalendarMonth.label "Évènements du mois en cours">
+
+<!-- LOCALIZATION NOTE(calendar.unifinder.tree.done.tooltip)
+ - This label and tooltip is used for the column with the checkbox in the
+ - task tree view. -->
+<!ENTITY calendar.unifinder.tree.done.label "Terminé">
+<!ENTITY calendar.unifinder.tree.done.tooltip2 "Trier par échéance">
+<!ENTITY calendar.unifinder.tree.priority.label "Priorité">
+<!ENTITY calendar.unifinder.tree.priority.tooltip2 "Trier par priorité">
+<!ENTITY calendar.unifinder.tree.title.label "Titre">
+<!ENTITY calendar.unifinder.tree.title.tooltip2 "Trier par titre">
+<!ENTITY calendar.unifinder.tree.percentcomplete.label "Progression">
+<!ENTITY calendar.unifinder.tree.percentcomplete.tooltip2 "Trier par progression">
+<!ENTITY calendar.unifinder.tree.startdate.label "Début">
+<!ENTITY calendar.unifinder.tree.startdate.tooltip2 "Trier par date de début">
+<!ENTITY calendar.unifinder.tree.enddate.label "Fin">
+<!ENTITY calendar.unifinder.tree.enddate.tooltip2 "Trier par date de fin">
+<!ENTITY calendar.unifinder.tree.duedate.label "Prévu">
+<!ENTITY calendar.unifinder.tree.duedate.tooltip2 "Trier par date de fin prévue">
+<!ENTITY calendar.unifinder.tree.completeddate.label "Achevé">
+<!ENTITY calendar.unifinder.tree.completeddate.tooltip2 "Trier par achèvement">
+<!ENTITY calendar.unifinder.tree.categories.label "Catégorie">
+<!ENTITY calendar.unifinder.tree.categories.tooltip2 "Trier par catégorie">
+<!ENTITY calendar.unifinder.tree.location.label "Lieu">
+<!ENTITY calendar.unifinder.tree.location.tooltip2 "Trier par lieu">
+<!ENTITY calendar.unifinder.tree.status.label "État">
+<!ENTITY calendar.unifinder.tree.status.tooltip2 "Trier par état">
+<!ENTITY calendar.unifinder.tree.calendarname.label "Nom de l’agenda">
+<!ENTITY calendar.unifinder.tree.calendarname.tooltip2 "Trier par nom de l’agenda">
+<!ENTITY calendar.unifinder.tree.duration.label "Terminé dans">
+<!ENTITY calendar.unifinder.tree.duration.tooltip2 "Trier par temps restant">
+<!ENTITY calendar.unifinder.close.tooltip "Fermer la liste de recherche d’évènements et la liste des évènements">
+
+<!ENTITY calendar.today.button.tooltip "Revenir à la date d’aujourd’hui" >
+<!ENTITY calendar.todaypane.button.tooltip "Afficher le panneau Aujourd’hui" >
+
+<!ENTITY calendar.day.button.tooltip "Afficher la journée" >
+<!ENTITY calendar.week.button.tooltip "Afficher la semaine" >
+<!ENTITY calendar.month.button.tooltip "Afficher le mois" >
+<!ENTITY calendar.multiweek.button.tooltip "Afficher plusieurs semaines" >
+
+<!ENTITY calendar.nextday.label "Jour suivant" >
+<!ENTITY calendar.prevday.label "Jour précédent" >
+<!ENTITY calendar.nextday.accesskey "J" >
+<!ENTITY calendar.prevday.accesskey "o" >
+<!ENTITY calendar.nextweek.label "Semaine suivante" >
+<!ENTITY calendar.prevweek.label "Semaine précédente" >
+<!ENTITY calendar.nextweek.accesskey "S" >
+<!ENTITY calendar.prevweek.accesskey "e" >
+<!ENTITY calendar.nextmonth.label "Mois suivant" >
+<!ENTITY calendar.prevmonth.label "Mois précédent" >
+<!ENTITY calendar.nextmonth.accesskey "M" >
+<!ENTITY calendar.prevmonth.accesskey "r" >
+
+<!ENTITY calendar.navigation.nextday.tooltip "Jour suivant" >
+<!ENTITY calendar.navigation.prevday.tooltip "Jour précédent" >
+<!ENTITY calendar.navigation.nextweek.tooltip "Semaine suivante" >
+<!ENTITY calendar.navigation.prevweek.tooltip "Semaine précédente" >
+<!ENTITY calendar.navigation.nextmonth.tooltip "Mois suivant" >
+<!ENTITY calendar.navigation.prevmonth.tooltip "Mois précédent" >
+
+<!ENTITY calendar.newevent.button.label "Nouvel évènement" >
+<!ENTITY calendar.newtask.button.label "Nouvelle tâche" >
+
+<!ENTITY calendar.day.button.label "Journée" >
+<!ENTITY calendar.week.button.label "Semaine" >
+<!ENTITY calendar.month.button.label "  Mois  " >
+<!ENTITY calendar.multiweek.button.label "Multisemaine" >
+<!ENTITY calendar.onlyworkday.checkbox.label "Semaine de travail seulement" >
+<!ENTITY calendar.onlyworkday.checkbox.accesskey "a" >
+<!ENTITY calendar.displaytodos.checkbox.label "Afficher les tâches" >
+<!ENTITY calendar.displaytodos.checkbox.accesskey "h" >
+<!ENTITY calendar.completedtasks.checkbox.label "Afficher les tâches accomplies" >
+<!ENTITY calendar.completedtasks.checkbox.accesskey "c" >
+
+<!ENTITY calendar.orientation.label "Rotation" >
+<!ENTITY calendar.orientation.accesskey "R" >
+
+<!ENTITY calendar.search.options.searchfor " contenant">
+
+<!ENTITY calendar.list.header.label "Agendas">
+
+<!ENTITY calendar.task.filter.title.label "Afficher">
+<!ENTITY calendar.task.filter.all.label "Tout">
+<!ENTITY calendar.task.filter.all.accesskey "T">
+<!ENTITY calendar.task.filter.today.label "Aujourd’hui">
+<!ENTITY calendar.task.filter.today.accesskey "A">
+<!ENTITY calendar.task.filter.next7days.label "Les sept prochains jours">
+<!ENTITY calendar.task.filter.next7days.accesskey "L">
+<!ENTITY calendar.task.filter.notstarted.label "Les tâches non commencées">
+<!ENTITY calendar.task.filter.notstarted.accesskey "e">
+<!ENTITY calendar.task.filter.overdue.label "Les tâches dont l’échéance est dépassée">
+<!ENTITY calendar.task.filter.overdue.accesskey "s">
+<!ENTITY calendar.task.filter.completed.label "Les tâches terminées">
+<!ENTITY calendar.task.filter.completed.accesskey "c">
+<!ENTITY calendar.task.filter.open.label "Les tâches inachevées">
+<!ENTITY calendar.task.filter.open.accesskey "n">
+
+<!-- LOCALIZATION NOTE(calendar.task.filter.current.label)
+ "Current Tasks" will show all tasks, except those with a start date set
+ that is after today and after the selected date. If a task repeats, a
+ separate entry will be shown for each of the occurrences that happen on or
+ before today (or the selected date, whichever is later). -->
+<!ENTITY calendar.task.filter.current.label "Les tâches en cours">
+<!ENTITY calendar.task.filter.current.accesskey "u">
+
+<!ENTITY calendar.task-details.title.label "titre">
+<!ENTITY calendar.task-details.organizer.label "émetteur">
+<!ENTITY calendar.task-details.priority.label "priorité">
+<!ENTITY calendar.task-details.priority.low.label "Basse">
+<!ENTITY calendar.task-details.priority.normal.label "Normale">
+<!ENTITY calendar.task-details.priority.high.label "Haute">
+<!ENTITY calendar.task-details.status.label "statut">
+<!ENTITY calendar.task-details.category.label "catégorie">
+<!ENTITY calendar.task-details.repeat.label "répétition :">
+<!ENTITY calendar.task-details.attachments.label "pièces jointes">
+<!ENTITY calendar.task-details.start.label "date de début">
+<!ENTITY calendar.task-details.due.label "fin prévue">
+
+<!ENTITY calendar.task.category.button.tooltip "Catégoriser les tâches">
+<!ENTITY calendar.task.complete.button.tooltip "Marquer les tâches sélectionnées comme terminées">
+<!ENTITY calendar.task.priority.button.tooltip "Changer la priorité">
+
+<!ENTITY calendar.task.text-filter.textbox.emptytext.base1 "Filtrer les tâches #1">
+<!ENTITY calendar.task.text-filter.textbox.emptytext.keylabel.nonmac "&lt;Ctrl+Maj+K&gt;">
+<!ENTITY calendar.task.text-filter.textbox.emptytext.keylabel.mac "&lt;&#x21E7;&#x2318;K&gt;">
+
+<!-- Context Menu -->
+<!ENTITY calendar.context.modifyorviewitem.label "Ouvrir">
+<!ENTITY calendar.context.modifyorviewitem.accesskey "O">
+<!ENTITY calendar.context.modifyorviewtask.label "Ouvrir la tâche…">
+<!ENTITY calendar.context.modifyorviewtask.accesskey "O">
+<!ENTITY calendar.context.newevent.label "Nouvel évènement…">
+<!ENTITY calendar.context.newevent.accesskey "N">
+<!ENTITY calendar.context.newtodo.label "Nouvelle tâche…">
+<!ENTITY calendar.context.newtodo.accesskey "v">
+<!ENTITY calendar.context.deletetask.label "Supprimer la tâche">
+<!ENTITY calendar.context.deletetask.accesskey "S">
+<!ENTITY calendar.context.deleteevent.label "Supprimer l’évènement">
+<!ENTITY calendar.context.deleteevent.accesskey "S">
+<!ENTITY calendar.context.cutevent.label "Couper">
+<!ENTITY calendar.context.cutevent.accesskey "C">
+<!ENTITY calendar.context.copyevent.label "Copier">
+<!ENTITY calendar.context.copyevent.accesskey "p">
+<!ENTITY calendar.context.pasteevent.label "Coller">
+<!ENTITY calendar.context.pasteevent.accesskey "o">
+<!ENTITY calendar.context.button.label "Aujourd’hui">
+<!ENTITY calendar.context.button.accesskey "A">
+
+<!ENTITY calendar.context.attendance.menu.label "Participation">
+<!ENTITY calendar.context.attendance.menu.accesskey "a">
+<!ENTITY calendar.context.attendance.occurrence.label "Cette occurrence">
+<!ENTITY calendar.context.attendance.all2.label "Séries complètes">
+<!ENTITY calendar.context.attendance.send.label "Envoyer une notification maintenant">
+<!ENTITY calendar.context.attendance.send.accesskey "E">
+<!ENTITY calendar.context.attendance.dontsend.label "Ne pas envoyer de notification">
+<!ENTITY calendar.context.attendance.dontsend.accesskey "N">
+
+<!ENTITY calendar.context.attendance.occ.accepted.accesskey "A">
+<!ENTITY calendar.context.attendance.occ.accepted.label "Accepté">
+<!ENTITY calendar.context.attendance.occ.tentative.accesskey "c">
+<!ENTITY calendar.context.attendance.occ.tentative.label "Accepté provisoirement">
+<!ENTITY calendar.context.attendance.occ.declined.accesskey "R">
+<!ENTITY calendar.context.attendance.occ.declined.label "Refusé">
+<!ENTITY calendar.context.attendance.occ.delegated.accesskey "D">
+<!ENTITY calendar.context.attendance.occ.delegated.label "Délégué">
+<!ENTITY calendar.context.attendance.occ.needsaction.accesskey "S">
+<!ENTITY calendar.context.attendance.occ.needsaction.label "Nécessite encore une action">
+<!ENTITY calendar.context.attendance.occ.inprogress.accesskey "E">
+<!ENTITY calendar.context.attendance.occ.inprogress.label "En cours">
+<!ENTITY calendar.context.attendance.occ.completed.accesskey "T">
+<!ENTITY calendar.context.attendance.occ.completed.label "Terminé">
+
+<!ENTITY calendar.context.attendance.all.accepted.accesskey "A">
+<!ENTITY calendar.context.attendance.all.accepted.label "Accepté">
+<!ENTITY calendar.context.attendance.all.tentative.accesskey "c">
+<!ENTITY calendar.context.attendance.all.tentative.label "Accepté provisoirement">
+<!ENTITY calendar.context.attendance.all.declined.accesskey "R">
+<!ENTITY calendar.context.attendance.all.declined.label "Refusé">
+<!ENTITY calendar.context.attendance.all.delegated.accesskey "D">
+<!ENTITY calendar.context.attendance.all.delegated.label "Délégué">
+<!ENTITY calendar.context.attendance.all.needsaction.accesskey "s">
+<!ENTITY calendar.context.attendance.all.needsaction.label "Nécessite encore une action">
+<!ENTITY calendar.context.attendance.all.inprogress.accesskey "E">
+<!ENTITY calendar.context.attendance.all.inprogress.label "En cours">
+<!ENTITY calendar.context.attendance.all.completed.accesskey "T">
+<!ENTITY calendar.context.attendance.all.completed.label "Terminé">
+
+<!-- Task Context Menu -->
+<!ENTITY calendar.context.progress.label "Progression">
+<!ENTITY calendar.context.progress.accesskey "P">
+<!ENTITY calendar.context.priority.label "Priorité">
+<!ENTITY calendar.context.priority.accesskey "r">
+<!ENTITY calendar.context.postpone.label "Reporter la tâche">
+<!ENTITY calendar.context.postpone.accesskey "e">
+
+<!ENTITY percnt "&#38;#37;" ><!--=percent sign-->
+
+<!ENTITY calendar.context.markcompleted.label "Marquer comme terminée">
+<!ENTITY calendar.context.markcompleted.accesskey "M">
+
+<!ENTITY progress.level.0 "Non commencée">
+<!ENTITY progress.level.0.accesskey "N">
+<!ENTITY progress.level.25 "Terminée à 25 &percnt;">
+<!ENTITY progress.level.25.accesskey "2">
+<!ENTITY progress.level.50 "Terminée à 50 &percnt;">
+<!ENTITY progress.level.50.accesskey "5">
+<!ENTITY progress.level.75 "Terminée à 75 &percnt;">
+<!ENTITY progress.level.75.accesskey "7">
+<!ENTITY progress.level.100 "Terminée">
+<!ENTITY progress.level.100.accesskey "T">
+
+<!ENTITY priority.level.none "Non spécifiée">
+<!ENTITY priority.level.none.accesskey "o">
+<!ENTITY priority.level.low "Basse">
+<!ENTITY priority.level.low.accesskey "B">
+<!ENTITY priority.level.normal "Normale">
+<!ENTITY priority.level.normal.accesskey "N">
+<!ENTITY priority.level.high "Haute">
+<!ENTITY priority.level.high.accesskey "H">
+
+<!ENTITY calendar.context.postpone.1hour.label "Une heure">
+<!ENTITY calendar.context.postpone.1hour.accesskey "h">
+<!ENTITY calendar.context.postpone.1day.label "Un jour">
+<!ENTITY calendar.context.postpone.1day.accesskey "U">
+<!ENTITY calendar.context.postpone.1week.label "Une semaine">
+<!ENTITY calendar.context.postpone.1week.accesskey "s">
+
+<!ENTITY calendar.copylink.label "Copier l’adresse du lien">
+<!ENTITY calendar.copylink.accesskey "C">
+
+<!-- Task View -->
+<!-- Note that the above *.context.* strings are currently used for the other
+ task action buttons -->
+<!ENTITY calendar.taskview.delete.label "Supprimer">
+
+<!-- Server Context Menu -->
+<!ENTITY calendar.context.newserver.label "Nouvel agenda…">
+<!ENTITY calendar.context.newserver.accesskey "N">
+<!ENTITY calendar.context.findcalendar.label "Rechercher un agenda…" >
+<!ENTITY calendar.context.findcalendar.accesskey "h" >
+<!ENTITY calendar.context.deleteserver2.label "Supprimer l’agenda…">
+<!ENTITY calendar.context.deleteserver2.accesskey "S">
+
+<!-- LOCALIZATION NOTE (calendar.context.removeserver.label): Removing the
+ calendar is the general action of removing it, while deleting means to
+ clear the data and unsubscribing means just taking it out of the calendar
+ list. -->
+<!ENTITY calendar.context.removeserver.label "Retirer l’agenda…">
+<!ENTITY calendar.context.removeserver.accesskey "R">
+<!ENTITY calendar.context.unsubscribeserver.label "Se désabonner de l’agenda…">
+<!ENTITY calendar.context.unsubscribeserver.accesskey "d">
+<!ENTITY calendar.context.synccalendars.label "Synchroniser les agendas">
+<!ENTITY calendar.context.synccalendars.accesskey "h">
+<!ENTITY calendar.context.publish.label "Publier l’agenda…">
+<!ENTITY calendar.context.publish.accesskey "b">
+<!ENTITY calendar.context.export.label "Exporter l’agenda…">
+<!ENTITY calendar.context.export.accesskey "x">
+<!ENTITY calendar.context.properties.label "Propriétés">
+<!ENTITY calendar.context.properties.accesskey "P">
+
+<!-- LOCALIZATION NOTE (calendar.context.showcalendar.accesskey)
+ This is the access key used for the showCalendar string -->
+<!ENTITY calendar.context.showcalendar.accesskey "f">
+
+<!-- LOCALIZATION NOTE (calendar.context.hidecalendar.accesskey)
+ This is the access key used for the hideCalendar string -->
+<!ENTITY calendar.context.hidecalendar.accesskey "M">
+
+<!-- LOCALIZATION NOTE (calendar.context.showonly.accesskey)
+ This is the access key used for the showOnlyCalendar string -->
+<!ENTITY calendar.context.showonly.accesskey "u">
+<!ENTITY calendar.context.showall.label "Afficher tous les agendas">
+<!ENTITY calendar.context.showall.accesskey "A">
+
+<!ENTITY calendar.context.convertmenu.label "Convertir en">
+<!ENTITY calendar.context.convertmenu.accesskey.mail "C">
+<!ENTITY calendar.context.convertmenu.accesskey.calendar "n">
+<!ENTITY calendar.context.convertmenu.event.label "Évènement…">
+<!ENTITY calendar.context.convertmenu.event.accesskey "v">
+<!ENTITY calendar.context.convertmenu.message.label "Message…">
+<!ENTITY calendar.context.convertmenu.message.accesskey "M">
+<!ENTITY calendar.context.convertmenu.task.label "Tâche…">
+<!ENTITY calendar.context.convertmenu.task.accesskey "T">
+
+<!ENTITY calendar.tasks.view.minimonth.label "Mois réduit">
+<!ENTITY calendar.tasks.view.minimonth.accesskey "M">
+
+<!ENTITY calendar.tasks.view.calendarlist.label "Liste d’agenda">
+<!ENTITY calendar.tasks.view.calendarlist.accesskey "L">
+
+<!ENTITY calendar.tasks.view.filtertasks.label "Filtrer les tâches">
+<!ENTITY calendar.tasks.view.filtertasks.accesskey "F">
+
+<!-- Calendar Alarm Dialog -->
+
+<!ENTITY calendar.alarm.location.label "Emplacement :" >
+<!ENTITY calendar.alarm.details.label "Détails…" >
+
+<!ENTITY calendar.alarm.snoozefor.label "Report d’alarme pendant" >
+<!ENTITY calendar.alarm.snoozeallfor.label "Report de toutes les alarmes pendant" >
+<!ENTITY calendar.alarm.title.label "Alarme d’agenda" >
+<!ENTITY calendar.alarm.dismiss.label "Désactiver" >
+<!ENTITY calendar.alarm.dismissall.label "Tout désactiver" >
+
+<!ENTITY calendar.alarm.snooze.5minutes.label "5 Minutes" >
+<!ENTITY calendar.alarm.snooze.10minutes.label "10 Minutes" >
+<!ENTITY calendar.alarm.snooze.15minutes.label "15 Minutes" >
+<!ENTITY calendar.alarm.snooze.30minutes.label "30 Minutes" >
+<!ENTITY calendar.alarm.snooze.45minutes.label "45 Minutes" >
+<!ENTITY calendar.alarm.snooze.1hour.label "1 heure" >
+<!ENTITY calendar.alarm.snooze.2hours.label "2 heures" >
+<!ENTITY calendar.alarm.snooze.1day.label "1 jour" >
+
+<!-- LOCALIZATION NOTE (calendar.alarm.snooze.cancel)
+ This string is not seen in the UI, it is read by screen readers when the
+ user focuses the "Cancel" button in the "Snooze for..." popup of the alarm
+ dialog. -->
+<!ENTITY calendar.alarm.snooze.cancel "Annuler le report d’alarme">
+
+<!-- Calendar Server Dialog -->
+<!ENTITY calendar.server.dialog.title.edit "Modifier l’agenda">
+<!ENTITY calendar.server.dialog.name.label "Nom de l’agenda :">
+
+<!-- Calendar Properties -->
+<!ENTITY calendarproperties.color.label "Couleur :">
+<!ENTITY calendarproperties.webdav.label "iCalendar (ICS)">
+<!ENTITY calendarproperties.caldav.label "CalDAV">
+<!ENTITY calendarproperties.format.label "Format :">
+<!ENTITY calendarproperties.location.label "Emplacement :">
+<!ENTITY calendarproperties.refreshInterval.label "Actualiser l’agenda :">
+<!ENTITY calendarproperties.refreshInterval.manual.label "Manuellement">
+<!ENTITY calendarproperties.name.label "Nom :">
+<!ENTITY calendarproperties.readonly.label "En lecture seule">
+<!ENTITY calendarproperties.firealarms.label "Afficher les alarmes">
+<!ENTITY calendarproperties.cache3.label "Prise en charge du mode hors connexion">
+<!ENTITY calendarproperties.enabled2.label "Activer cet agenda">
+<!ENTITY calendarproperties.forceDisabled.label "Le fournisseur de cet agenda n’a pas été trouvé. Ceci arrive souvent lors de la désactivation ou de la désinstallation de certains modules complémentaires.">
+<!ENTITY calendarproperties.unsubscribe.label "Se désabonner">
+<!ENTITY calendarproperties.unsubscribe.accesskey "S">
+
+<!-- Calendar Publish Dialog -->
+<!ENTITY calendar.publish.dialog.title "Publier l’agenda">
+<!ENTITY calendar.publish.url.label "URL de publication">
+<!ENTITY calendar.publish.publish.button "Publier">
+<!ENTITY calendar.publish.close.button "Fermer">
+
+<!ENTITY calendar.publish.example.url.description "Quelque chose comme http://www.monserveur.com/webdav/test.ics">
+
+<!-- Select Calendar Dialog -->
+<!ENTITY calendar.select.dialog.title "Sélectionner l’agenda">
+
+<!-- Error reporting -->
+<!ENTITY calendar.error.detail "Détails…">
+<!ENTITY calendar.error.code "Code d’erreur :">
+<!ENTITY calendar.error.description "Description :">
+<!ENTITY calendar.error.title "Une erreur est survenue">
+
+<!-- Extract buttons in message header -->
+<!ENTITY calendar.extract.event.button "Ajouter comme évènement">
+<!ENTITY calendar.extract.task.button "Ajouter comme tâche">
+<!ENTITY calendar.extract.event.button.tooltip "Extraire les informations temporelles du message et les ajouter à votre agenda en tant qu’évènement">
+<!ENTITY calendar.extract.task.button.tooltip "Extraire les informations temporelles du message et les ajouter à votre agenda en tant que tâche">
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/calendar/calendar.properties b/thunderbird-l10n/fr/chrome/fr/locale/fr/calendar/calendar.properties
new file mode 100644
index 0000000000..354c5fff6a
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/calendar/calendar.properties
@@ -0,0 +1,696 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.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 name for new events
+newEvent=Nouvel évènement
+
+# Titles for the event/task dialog
+newEventDialog=Nouvel évènement 
+editEventDialog=Modifier l’évènement 
+newTaskDialog=Nouvelle tâche 
+editTaskDialog=Modifier la tâche 
+
+# Do you want to save changes?
+askSaveTitleEvent=Enregistrer l’évènement
+askSaveTitleTask=Enregistrer la tâche
+askSaveMessageEvent=L’évènement n’a pas été enregistré. Voulez-vous enregistrer l’évènement ?
+askSaveMessageTask=La tâche n’a pas été enregistrée. Voulez-vous enregistrer la tâche ?
+
+# Event Dialog Warnings
+warningEndBeforeStart=La date de fin spécifiée se situe avant la date de début
+warningUntilDateBeforeStart=La date de fin de récurrence se situe avant la date de début
+
+# The name of the calendar provided with the application by default
+homeCalendarName=Mon agenda
+
+# The name given to a calendar if an opened calendar has an empty filename
+untitledCalendarName=Agenda sans nom
+
+# Event status: Tentative, Confirmed, Cancelled
+# ToDo task status: NeedsAction, InProcess, Completed, Cancelled
+statusTentative =Provisoire
+statusConfirmed =Confirmé
+eventStatusCancelled=Annulé
+todoStatusCancelled =Annulé
+statusNeedsAction =Une action est requise
+statusInProcess =En cours
+statusCompleted =Achevé
+
+# Task priority, these should match the priority.level.* labels in calendar.dtd
+highPriority=Haute
+normalPriority=Normale
+lowPriority=Basse
+
+importPrompt=Dans quel agenda voulez-vous importer ces éléments ?
+exportPrompt=Quel agenda souhaitez-vous exporter ?
+pastePrompt=Dans lequel de vos agendas modifiables voulez-vous le coller ?
+publishPrompt=Quel agenda voulez-vous publier ?
+
+# LOCALIZATION NOTE (pasteEventAlso): The users pasting operation includes among
+# others also a meeting invitation - this is used as a affix in
+# pasteNotifyAbout
+pasteEventAlso=Le presse-papiers contient une réunion
+# LOCALIZATION NOTE (pasteEventsAlso): The users pasting operation includes among
+# others also several meeting invitations - this is used as a affix in
+# pasteNotifyAbout
+pasteEventsAlso=Le presse-papiers contient des réunions
+# LOCALIZATION NOTE (pasteTaskAlso): The users pasting operation includes among
+# others also an assigned task - this is used as a affix in pasteNotifyAbout
+pasteTaskAlso=Le presse-papiers contient une tâche attribuée
+# LOCALIZATION NOTE (pasteTasksAlso): The users pasting operation include among
+# others also several assigned tasks - this is used as a affix in
+# pasteNotifyAbout
+pasteTasksAlso=Le presse-papiers contient plusieurs tâches attribuées
+# LOCALIZATION NOTE (pasteItemsAlso): The users pasting operation includes among
+# others also assigned task(s) and meeting invitation(s) - this is used as a affix
+# in pasteNotifyAbout
+pasteItemsAlso=Le presse-papiers contient des réunions et des tâches attribuées
+# LOCALIZATION NOTE (pasteEventOnly): The users is pasting a meeting -
+# this is used as a affix in pasteNotifyAbout
+pasteEventOnly=Vous collez une réunion
+# LOCALIZATION NOTE (pasteEventsOnly): The users is pasting several meetings -
+# this is used as a affix in pasteNotifyAbout
+pasteEventsOnly=Vous collez plusieurs réunions
+# LOCALIZATION NOTE (pasteEventOnly): The users is pasting an assigned task -
+# this is used as a affix in pasteNotifyAbout
+pasteTaskOnly=Vous collez une tâche attribuée
+# LOCALIZATION NOTE (pasteEventsOnly): The users is pasting several assigned
+# tasks - this is used as a affix in pasteNotifyAbout
+pasteTasksOnly=Vous collez plusieurs tâches attribuées
+# LOCALIZATION NOTE (pasteEventsOnly): The users is pasting assigned task(s) and
+# meeting(s) - this is used as a affix in pasteNotifyAbout
+pasteItemsOnly=Vous collez des réunions et des tâches attribuées
+
+# LOCALIZATION NOTE (pasteNotifyAbout): Text displayed if pasting an invitation
+# or assigned task
+# %1$S - pasteEvent* or pasteTask*
+pasteNotifyAbout=%1$S - Souhaitez-vous informer l’ensemble des personnes concernées ?
+
+# LOCALIZATION NOTE (pasteAndNotifyLabel): button label used in calendar prompt
+# of the pasted item has attendees
+pasteAndNotifyLabel=Coller et envoyer immédiatement
+# LOCALIZATION NOTE (pasteDontNotifyLabel): button label used in calendar prompt
+# of the pasted item has attendees
+pasteDontNotifyLabel=Coller sans envoyer
+
+# LOCALIZATION NOTE (importItemsFailed):
+# %1$S will be replaced with number of failed items
+# %2$S will be replaced with last error code / error string
+importItemsFailed=Échec de l’importation de %1$S éléments. La dernière erreur était : %2$S
+# LOCALIZATION NOTE (noItemsInCalendarFile2):
+# %1$S will be replaced with file path
+noItemsInCalendarFile2=Importation impossible depuis %1$S. Ce fichier ne contient aucun élément qui puisse être importé.
+
+#spaces needed at the end of the following lines
+eventDescription=Descriptif :
+
+unableToRead=Impossible de lire le fichier :
+unableToWrite=Impossible d’écrire dans le fichier :
+defaultFileName=Evenements_calendar.ics
+HTMLTitle=Mozilla Calendar
+
+# LOCALIZATION NOTE (timezoneError):
+# used for an error message like 'An unknown and undefined timezone was found while reading c:\Mycalendarfile.ics'
+# %1$S will be replaced with the path to a file
+timezoneError=Un fuseau horaire inconnu et indéfini a été trouvé lors de la lecture de %1$S.
+
+# LOCALIZATION NOTE (duplicateError):
+# %1$S will be replaced with number of duplicate items
+# %2$S will be replaced with a file path pointing to a calendar
+duplicateError=%1$S élément(s) ont été ignorés car ils existent dans l’agenda de destination et dans %2$S.
+
+unableToCreateProvider=Une erreur est survenue en préparant l’agenda situé sur %1$S pour son utilisation. Il ne sera pas disponible.
+
+# Sample: Unknown timezone "USPacific" in "Dentist Appt". Using the 'floating' local timezone instead: 2008/02/28 14:00:00
+unknownTimezoneInItem=Fuseau horaire « %1$S » inconnu dans « %2$S ». Utilisation d’un fuseau horaire « flottant » à la place : %3$S
+TimezoneErrorsAlertTitle=Erreur de fuseau horaire
+TimezoneErrorsSeeConsole=Consulter la console d’erreurs : les fuseaux horaires inconnus sont traités comme des fuseaux horaires « flottants » locaux.
+
+# The following strings are for the prompt to delete/unsubscribe from the calendar
+removeCalendarTitle=Retirer l’agenda
+removeCalendarButtonDelete=Supprimer l’agenda
+removeCalendarButtonUnsubscribe=Se désabonner
+
+# LOCALIZATION NOTE (removeCalendarMessageDeleteOrUnsubscribe): Shown for
+# calendar where both deleting and unsubscribing is possible.
+# %1$S: The name of a calendar
+removeCalendarMessageDeleteOrUnsubscribe=Voulez-vous vraiment retirer l’agenda « %1$S » ? Se désabonner retirera l’agenda de la liste, le supprimer effacera également ses données de façon permanente.
+
+# LOCALIZATION NOTE (removeCalendarMessageDelete): Shown for calendar where
+# deleting is the only option.
+# %1$S: The name of a calendar
+removeCalendarMessageDelete=Voulez-vous vraiment supprimer définitivement l’agenda « %1$S » ?
+
+# LOCALIZATION NOTE (removeCalendarMessageUnsubscribe): Shown for calendar
+# where unsubscribing is the only option.
+# %1$S: The name of a calendar
+removeCalendarMessageUnsubscribe=Voulez-vous vraiment vous désabonner de l’agenda « %1$S » ?
+
+WeekTitle=Semaine %1$S
+None=Aucune
+
+# Error strings
+## @name UID_NOT_FOUND
+## @loc none
+
+# LOCALIZATION NOTE (tooNewSchemaErrorText):
+# %1$S will be replaced with the name of the host application, e.g. 'Thunderbird'
+# %2$S will be replaced with the name of the new copy of the file, e.g. 'local-2020-05-11T21-30-17.sqlite'
+tooNewSchemaErrorText=Les données de votre agenda ne sont pas compatibles avec cette version de %1$S. Les données d’agenda de votre profil ont été mises à jour par une version plus récente de %1$S. Une sauvegarde du fichier de données a été créée, nommée « %2$S ». Nous poursuivons avec un nouveau fichier de données.
+
+# List of events or todos (unifinder)
+eventUntitled=Sans titre
+
+# Tooltips of events or todos
+tooltipTitle=Titre :
+tooltipLocation=Lieu :
+# event date, usually an interval, such as
+# Date: 7:00--8:00 Thu 9 Oct 2011
+# Date: Thu 9 Oct 2000 -- Fri 10 Oct 2000
+tooltipDate=Date :
+# event calendar name
+tooltipCalName=Nom de l’agenda :
+# event status: tentative, confirmed, cancelled
+tooltipStatus=Statut :
+# event organizer
+tooltipOrganizer=Organisateur :
+# task/todo fields
+# start date time, due date time, task priority number, completed date time
+tooltipStart=Début :
+tooltipDue=Fin :
+tooltipPriority=Priorité :
+tooltipPercent=Progression :
+tooltipCompleted=Achevé :
+
+#File commands and dialogs
+New=Nouveau
+Open=Ouvrir
+filepickerTitleImport=Importer
+filepickerTitleExport=Exporter
+
+# Filters for export/import/open file picker. %1$S will be replaced with
+# wildmat used to filter files by extension, such as (*.html; *.htm).
+filterIcs=iCalendar (%1$S)
+filterHtml=Page web (%1$S)
+
+# Remote calendar errors
+genericErrorTitle=Une erreur s’est produite
+httpPutError=Échec de la publication du fichier d’agenda.\nCode d’erreur : %1$S : %2$S
+otherPutError=Échec de la publication du fichier d’agenda.\nCode d’erreur : 0x%1$S
+
+# LOCALIZATION NOTE (readOnlyMode):
+# used for an message like 'There has been an error reading data for calendar: Home. It has been...'
+# %1$S will be replaced with the name of a calendar
+readOnlyMode=Une erreur est survenue lors de la lecture de données de l’agenda : %1$S. Celui-ci a été mis en mode lecture seule car des changements dans cet agenda provoqueraient vraisemblablement une perte de données. Vous pouvez changer ce paramétrage en sélectionnant « Modifier l’agenda ».
+
+# LOCALIZATION NOTE (disabledMode):
+# used for an message like 'There has been an error reading data for calendar: Home. It has been...'
+# %1$S will be replaced with the name of a calendar
+disabledMode=Une erreur est survenue lors de la lecture de données de l’agenda : %1$S. Celui-ci a été désactivé jusqu’à ce que son utilisation soit sûre.
+
+# LOCALIZATION NOTE (minorError):
+# used for an message like 'There has been an error reading data for calendar: Home. However this...'
+# %1$S will be replaced with the name of a calendar
+minorError=Une erreur est survenue lors de la lecture de données de l’agenda : %1$S. Cependant, l’erreur est certainement mineure ; le programme va donc essayer de poursuivre.
+
+# LOCALIZATION NOTE (stillReadOnlyError):
+# used for an message like 'There has been an error reading data for calendar: Home.'
+# %1$S will be replaced with the name of a calendar
+stillReadOnlyError=Une erreur est survenue lors de la lecture de données de l’agenda : %1$S.
+utf8DecodeError=Une erreur est survenue lors du décodage d’un fichier iCalendar (ics) en UTF-8. Vérifiez que le fichier, y compris les symboles et les lettres accentuées, est encodé en UTF-8.
+icsMalformedError=L’analyse d’un fichier (ics) a échoué. Vérifiez que le fichier se conforme à la syntaxe des fichiers iCalendar (ics).
+itemModifiedOnServerTitle=Élément modifié sur le serveur
+itemModifiedOnServer=Cet élément a été récemment modifié sur le serveur.\n
+modifyWillLoseData=L’envoi de vos modifications récentes remplacera les modifications effectuées auparavant sur le serveur.
+deleteWillLoseData=La suppression de cet élément provoquera la perte des modifications effectuées sur le serveur.
+updateFromServer=Annuler mes modifications et actualiser l’agenda
+proceedModify=Envoyer mes modifications quand même
+proceedDelete=Supprimer quand même
+dav_notDav=La ressource sur « %1$S » n’est pas une collection DAV ou n’est pas disponible
+dav_davNotCaldav=La ressource sur « %1$S » est une collection DAV mais n’est pas un agenda CalDAV
+itemPutError=Une erreur est survenue lors du stockage de l’élément sur le serveur.
+itemDeleteError=Une erreur est survenue lors de la suppression de l’élément sur le serveur.
+caldavRequestError=Une erreur est survenue lors de l’envoi de l’invitation.
+caldavResponseError=Une erreur est survenue lors de l’envoi de la réponse.
+caldavRequestStatusCode=État : %1$S
+caldavRequestStatusCodeStringGeneric=La requête ne peut pas être traitée.
+caldavRequestStatusCodeString400=La requête contient une syntaxe incorrecte et ne peut être traitée.
+caldavRequestStatusCodeString403=L’utilisateur n’a pas les permissions nécessaires pour effectuer la requête.
+caldavRequestStatusCodeString404=Ressource introuvable.
+caldavRequestStatusCodeString409=Conflit de ressources.
+caldavRequestStatusCodeString412=Les prérequis ne sont pas atteints.
+caldavRequestStatusCodeString500=Erreur interne du serveur.
+caldavRequestStatusCodeString502=Mauvaise passerelle (Configuration du proxy ?).
+caldavRequestStatusCodeString503=Erreur interne du serveur (Serveur temporairement indisponible ?).
+caldavRedirectTitle=Mettre à jour l’emplacement de l’agenda %1$S ?
+caldavRedirectText=Les requêtes pour %1$S sont redirigées vers un nouvel emplacement. Voulez-vous remplacer l’emplacement par la valeur suivante ?
+caldavRedirectDisableCalendar=Désactiver l’agenda
+
+
+# LOCALIZATION NOTE (likelyTimezone):
+# Translators, please put the most likely timezone(s) where the people using
+# your locale will be. Use the Olson ZoneInfo timezone name *in English*,
+# ie "Europe/Paris", (continent or ocean)/(largest city in timezone).
+# Order does not matter, except if two historically different zones now match,
+# such as America/New_York and America/Toronto, will only find first listed.
+# (Particularly needed to guess the most relevant timezones if there are
+# similar timezones at the same June/December GMT offsets with alphabetically
+# earlier ZoneInfo timezone names. Sample explanations for English below.)
+# for english-US:
+# America/Los_Angeles likelier than America/Dawson
+# America/New_York likelier than America/Detroit (NY for US-EasternTime)
+# for english:
+# Europe/London likelier than Atlantic/Canary
+# Europe/Paris likelier than Africa/Ceuta (for WestEuropeanTime)
+# America/Halifax likelier than America/Glace_Bay (Canada-AtlanticTime)
+# America/Mexico_City likelier than America/Cancun
+# America/Argentina/Buenos_Aires likelier than America/Araguaina
+# America/Sao_Paolo (may not recognize: summer-time dates change every year)
+# Asia/Singapore likelier than Antarctica/Casey
+# Asia/Tokyo likelier than Asia/Dili
+# Africa/Lagos likelier than Africa/Algiers (for WestAfricanTime)
+# Africa/Johannesburg likelier than Africa/Blantyre (for SouthAfricanStdTime)
+# Africa/Nairobi likelier than Africa/Addis_Ababa (for EastAfricanTime)
+# Australia/Brisbane likelier than Antarctica/DumontDUrville
+# Australia/Sydney likelier than Australia/Currie or Australia/Hobart
+# Pacific/Auckland likelier than Antarctica/McMurdo
+likelyTimezone=Europe/Paris, America/Montreal, Africa/Kinshasa, Africa/Bamako, Indian/Antananarivo, Africa/Lubumbashi, Indian/Mauritius, Africa/Casablanca, America/Guadeloupe, America/Martinique, America/Moncton, America/Vancouver, America/Edmonton, Pacific/Tahiti, Pacific/Noumea, America/Cayenne, Asia/Calcutta, Africa/Tunis, Asia/Saigon, Asia/Beirut
+
+# Guessed Timezone errors and warnings.
+# Testing note:
+# * remove preference for calendar.timezone.default in userprofile/prefs.js
+# * repeat
+# - set OS timezone to a city (windows: click right on clock in taskbar)
+# - restart
+# - observe guess in error console and verify whether guessed timezone city
+# makes sense for OS city.
+#
+# 'Warning: Operating system timezone "E. South America Standard Time"
+# no longer matches ZoneInfo timezone "America/Sao_Paulo".'
+# Testing notes:
+# - Brasil DST change dates are set every year by decree, so likely out of sync.
+# - Only appears on OSes from which timezone can be obtained
+# (windows; or TZ env var, /etc/localtime target path, or line in
+# /etc/timezone or /etc/sysconfig/clock contains ZoneInfo timezone id).
+# - Windows: turning off "Automatically adjust clock for daylight saving time"
+# can also trigger this warning.
+WarningOSTZNoMatch=Attention : le fuseau horaire du système « %1$S »\nne correspond plus au fuseau horaire ZoneInfo interne « %2$S ».
+
+# "Skipping Operating System timezone 'Pacific/New_Country'."
+# Testing note: not easily testable. May occur someday if (non-windows)
+# OS uses different version of ZoneInfo database which has a timezone name
+# that is not included in our current ZoneInfo database (or if the mapping
+# mapping from windows to ZoneInfo timezone ids does).
+SkippingOSTimezone=Fuseau horaire « %1$S » du système ignoré.
+
+# "Skipping locale timezone 'America/New_Yawk'."
+# Testing note: Skipping occurs if a likelyTimezone id is unknown or misspelled.
+SkippingLocaleTimezone=Fuseau horaire « %1$S » de la locale ignoré.
+
+# Testing note: "No match" timezones include Bucharest on W2k.
+# Brazil timezones may be "No match" (change every year, so often out of date,
+# and changes are often more than a week different).
+warningUsingFloatingTZNoMatch=Attention : utilisation d’un fuseau horaire « flottant ».\nAucune donnée de fuseau horaire ZoneInfo ne correspond aux données du fuseau horaire système.
+
+# "Warning: Using guessed timezone
+# America/New York (UTC-0500/-0400).
+# [rfc2445 summer daylight saving shift rules for timezone]
+# This ZoneInfo timezone almost matches/seems to match..."
+# This ZoneInfo timezone was chosen based on ... "
+WarningUsingGuessedTZ=Attention : utilisation d’un fuseau horaire supposé\n %1$S (UTC%2$S).\n%3$S\n%4$S
+
+# Testing note: "Almost match" timezones include Cairo on W2k.
+TZAlmostMatchesOSDifferAtMostAWeek=Ce fuseau horaire ZoneInfo correspond presque au fuseau horaire du système.\nPour cette règle, les prochaines transitions entre heure d’été et heure standard\ndiffèrent au plus d’une semaine par rapport aux transitions du fuseau du système.\nIl peut y avoir des incohérences dans les données, comme une date de début différente,\nune règle différente, ou une approximation pour une règle de calendrier non grégorien.
+
+TZSeemsToMatchOS=Ce fuseau horaire ZoneInfo semble correspondre au fuseau horaire du système cette année.
+
+# LOCALIZATION NOTE (TZFromOS):
+# used for a display of a chosen timezone
+# %1$S will be replaced with the name of a timezone
+TZFromOS=Ce fuseau horaire ZoneInfo a été choisi selon l’identifiant du\nfuseau horaire du système « %1$S ».
+
+# Localization note (TZFromLocale): Substitute name of your locale language.
+TZFromLocale=Ce fuseau horaire ZoneInfo a été choisi sur la base d’une correspondance entre\nle fuseau horaire du système et ceux où se trouvent la plupart\ndes internautes francophones.
+
+TZFromKnownTimezones=Ce fuseau horaire ZoneInfo a été choisi sur la base d’une correspondance\nentre le fuseau horaire du système et des fuseaux horaires\nconnus dans l’ordre alphabétique de leur identifiant.
+
+# Print Layout
+tasksWithNoDueDate = Tâches sans date d’échéance
+
+# Providers
+caldavName=CalDAV
+compositeName=Composite
+icsName=iCalendar (ICS)
+memoryName=Temporaire (mémoire)
+storageName=Local (SQLite)
+
+# Used in created html code for export
+htmlPrefixTitle=Titre
+htmlPrefixWhen=Quand
+htmlPrefixLocation=Lieu
+htmlPrefixDescription=Description
+htmlTaskCompleted=%1$S (achevée)
+
+# Categories
+addCategory=Ajouter une catégorie
+multipleCategories=Plusieurs catégories
+
+today=Aujourd’hui
+tomorrow=Demain
+yesterday=Hier
+
+#Today pane
+eventsonly=Évènements
+eventsandtasks=Évènements et tâches
+tasksonly=Tâches
+shortcalendarweek=Sem.
+
+go=Aller à
+
+# Some languages have different conjugations of 'next' and 'last'. If yours
+# does not, simply repeat the value. This will be used with day names, as in
+# 'next Sunday'.
+next1=prochain
+next2=prochain
+last1=dernier
+last2=dernier
+
+# Alarm Dialog
+# LOCALIZATION NOTE (alarmWindowTitle.label): Semi-colon list of plural
+# forms. See: http://developer.mozilla.org/en/Localization_and_Plurals
+alarmWindowTitle.label=#1 rappel;#1 rappels
+
+# LOCALIZATION NOTE (alarmStarts):
+# used for a display the start of an alarm like 'Starts: Thu 2 Oct 2008 13:21'
+# %1$S will be replaced with a date-time
+alarmStarts=Début : %1$S
+
+# LOCALIZATION NOTE (alarmTodayAt):
+# used for a display the date-time of an alarm like 'Today at Thu 2 Oct 2008 13:21'
+# %1$S will be replaced with a date-time
+alarmTodayAt=Aujourd’hui à %1$S
+
+# LOCALIZATION NOTE (alarmTomorrowAt):
+# used for a display the date-time of an alarm like 'Tomorrow at Thu 2 Oct 2008 13:21'
+# %1$S will be replaced with a date-time
+alarmTomorrowAt=Demain à %1$S
+
+# LOCALIZATION NOTE (alarmYesterdayAt):
+# used for a display the date-time of an alarm like 'Yesterday at Thu 2 Oct 2008 13:21'
+# %1$S will be replaced with a date-time
+alarmYesterdayAt=Hier à %1$S
+
+# Alarm interface strings
+# LOCALIZATION NOTE: These strings do not get displayed. They are only visible
+# when exporting an item with i.e a DISPLAY alarm, that doesn't have a
+# description set, or an EMAIL alarm that doesn't have a summary set.
+alarmDefaultDescription=Description par défaut Mozilla
+alarmDefaultSummary=Résumé par défaut Mozilla
+
+# LOCALIZATION NOTE (alarmSnoozeLimitExceeded): Semi-colon list of plural
+# forms.
+alarmSnoozeLimitExceeded=Vous ne pouvez pas reporter une alarme plus d’un mois.;Vous ne pouvez pas reporter une alarme plus de #1 mois.
+
+taskDetailsStatusNeedsAction=Une action est requise
+
+# LOCALIZATION NOTE (taskDetailsStatusInProgress):
+# used for a display of how much of a task is completed '25% Complete'
+# %1$S will be replaced with the number of percentage completed
+taskDetailsStatusInProgress=Achevée à %1$S%%
+taskDetailsStatusCompleted=Achevée
+
+# LOCALIZATION NOTE (taskDetailsStatusCompletedOn):
+# used for a display of completion date like 'Completed on Thu 2 Oct 2008 13:21'
+# %1$S will be replaced with the completion date-time of the task
+taskDetailsStatusCompletedOn=Achevée le %1$S
+taskDetailsStatusCancelled=Annulée
+
+gettingCalendarInfoCommon=Vérification des agendas…
+
+# LOCALIZATION NOTE (gettingCalendarInfoDetail):
+# used for a progress-display of processed like 'Checking Calendar 5 of 10'
+# %1$S will be replaced with the index of the currently processed calendar
+# %2$S will be replaced with the total numbers of calendars
+gettingCalendarInfoDetail=Vérification de l’agenda %1$S sur %2$S
+
+# LOCALIZATION NOTE (errorCode):
+# %1$S will be replaced with the number of an error code
+errorCode=Code d’erreur : %1$S
+
+# LOCALIZATION NOTE (errorDescription):
+# %1$S will be replaced with the description of an error
+errorDescription=Description : %1$S
+
+# LOCALIZATION NOTE (errorWriting):
+# used for an message like 'An error occurred when writing to the calendar Home!'
+# %1$S will be replaced with the name of a calendar
+errorWriting2=Une erreur s’est produite lors de l’écriture dans l’agenda %1$S. Veuillez consulter les informations ci-dessous pour en savoir plus.
+
+# LOCALIZATION NOTE (errorWritingDetails):
+# This will be displayed in the detail section of the error dialog
+errorWritingDetails=Si vous voyez ce message après avoir ignoré ou manqué un rappel et que vous ne souhaitez pas ajouter ou modifier d’évènements pour un agenda, vous pouvez marquer cet agenda comme étant en lecture seule pour éviter une telle expérience à l’avenir. Pour ce faire, accédez aux propriétés de l’agenda en effectuant un clic droit sur cet agenda dans la liste accessible depuis l’onglet de l’agenda ou l’onglet des tâches.
+
+# LOCALIZATION NOTE (tooltipCalendarDisabled):
+# used for an alert-message like 'The calendar Home is momentarily not available'
+# %1$S will be replaced with the name of a calendar
+tooltipCalendarDisabled=L’agenda %1$S est momentanément indisponible
+
+# LOCALIZATION NOTE (tooltipCalendarReadOnly):
+# used for an message like 'The calendar Home is readonly'
+# %1$S will be replaced with the name of a calendar
+tooltipCalendarReadOnly=L’agenda %1$S est en lecture seule
+
+taskEditInstructions=Cliquer ici pour ajouter une nouvelle tâche
+taskEditInstructionsReadonly=Veuillez sélectionner un agenda qui ne soit pas en lecture seule
+taskEditInstructionsCapability=Veuillez sélectionner un agenda qui gère les tâches
+
+eventDetailsStartDate=Début :
+eventDetailsEndDate=Fin :
+
+# LOCALIZATION NOTE (datetimeWithTimezone):
+# used for a display of a date-time with timezone 'Thu 2 Oct 2008 13:21', Europe/Paris
+# %1$S will be replaced with the completion date-time
+# %2$S will be replaced with the name of the timezone
+datetimeWithTimezone=%1$S, %2$S
+
+# LOCALIZATION NOTE (singleLongCalendarWeek):
+# used for display of calendar weeks in short form like 'Calendar Week 43'
+# %1$S will be replaced with the index of the week
+singleLongCalendarWeek=Semaine %1$S
+
+# LOCALIZATION NOTE (severalLongCalendarWeeks):
+# used for display of calendar weeks in short form like 'Calendar Weeks 43 - 45'
+# %1$S will be replaced with the index of the start-week
+# %2$S will be replaced with the index of the end-week
+severalLongCalendarWeeks=Semaines %1$S à %2$S
+
+# LOCALIZATION NOTE (singleShortCalendarWeek):
+# used for display of calendar weeks in short form like 'CW 43'
+# %1$S will be replaced with the index of the week
+singleShortCalendarWeek=Sem. : %1$S
+
+# LOCALIZATION NOTE (severalShortCalendarWeeks):
+# used for display of calendar weeks in short form like 'CWs 43 - 45'
+# %1$S will be replaced with the index of the start-week
+# %2$S will be replaced with the index of the end-week
+severalShortCalendarWeeks=Sem. : %1$S-%2$S
+
+# LOCALIZATION NOTE (multiweekViewWeek):
+# Used for displaying the week number in the first day box of every week
+# in multiweek and month views.
+# It allows to localize the label with the week number in case your locale
+# requires it.
+# Take into account that this label is placed in the same room of the day label
+# inside the day boxes, exactly on left side, hence a possible string shouldn't
+# be too long otherwise it will create confusion between the week number and
+# the day number other than a possible crop when the window is resized.
+#
+# %1$S is a number from 1 to 53 that represents the week number.
+multiweekViewWeek=Sem. %1$S
+
+# Task tree, "Due In" column.
+# LOCALIZATION NOTE (dueInDays, dueInHours): Semi-colon list of plural
+# forms. See: http://developer.mozilla.org/en/Localization_and_Plurals
+dueInDays=#1 jour;#1 jours
+dueInHours=#1 heure;#1 heures
+dueInLessThanOneHour=Moins d’une heure
+
+# LOCALIZATION NOTE (monthInYear):
+# used for display of Month-dates like 'December 2008'
+# %1$S will be replaced with name of the month
+# %2$S will be replaced with the year
+monthInYear=%1$S %2$S
+
+# LOCALIZATION NOTE (monthInYear.monthFormat):
+# If your language requires a different declension, change this to
+# one of the values specified in dateFormat.properties.
+# In any case, DO NOT TRANSLATE.
+monthInYear.monthFormat=nominative
+
+# LOCALIZATION NOTE (formatDateLong):
+# used for display dates in long format like 'Mon 15 Oct 2008' when it's
+# impossible to retrieve the formatatted date from the OS.
+# %1$S will be replaced with name of the day in short format;
+# %2$S will be replaced with the day-index of the month, possibly followed by an ordinal symbol
+# (depending on the string dayOrdinalSymbol in dateFormat.properties);
+# %3$S will be replaced with the name of the month in short format;
+# %4$S will be replaced with the year.
+formatDateLong=%1$S %2$S %3$S %4$S
+
+# LOCALIZATION NOTE (dayHeaderLabel):
+# used for display the labels in the header of the days in day/week views in short
+# or long format. For example: 'Monday 6 Oct.' or 'Mon. 6 Oct.'
+# %1$S will be replaced with name of the day in short or long format
+# %2$S will be replaced with the day-index of the month, possibly followed by an ordinal symbol
+# (depending on the string dayOrdinalSymbol in dateFormat.properties), plus the name
+# of the month in short format (the day/month order depends on the OS settings).
+dayHeaderLabel=%1$S %2$S
+
+# LOCALIZATION NOTE (daysIntervalInMonth):
+# used for display of intervals in the form of 'March 3 - 9, 2008'
+# %1$S will be replaced with name of the month of the start date
+# %2$S will be replaced with the day-index of the start date possibly followed by an ordinal symbol
+# %3$S will be replaced with the day-index of the end date possibly followed by an ordinal symbol
+# %4$S will be replaced with the common year of both dates
+# The presence of the ordinal symbol in the day-indexes depends on the string
+# dayOrdinalSymbol in dateFormat.properties
+daysIntervalInMonth=%2$S – %3$S %1$S %4$S
+
+# LOCALIZATION NOTE (daysIntervalInMonth.monthFormat):
+# If your language requires a different declension, change this to
+# one of the values specified in dateFormat.properties.
+# In any case, DO NOT TRANSLATE.
+daysIntervalInMonth.monthFormat=genitive
+
+# LOCALIZATION NOTE (daysIntervalBetweenMonths):
+# used for display of intervals in the form 'September 29 - October 5, 2008'
+# %1$S will be replaced with name of the month of the start date
+# %2$S will be replaced with the day-index of the start date possibly followed by an ordinal symbol
+# %3$S will be replaced with name of the month of the end date
+# %4$S will be replaced with the day-index of the end date possibly followed by an ordinal symbol
+# %5$S will be replaced with the common year of both dates
+# The presence of the ordinal symbol in the day-indexes depends on the string
+# dayOrdinalSymbol in dateFormat.properties
+daysIntervalBetweenMonths=%2$S %1$S – %4$S %3$S %5$S
+
+# LOCALIZATION NOTE (daysIntervalBetweenMonths.monthFormat):
+# If your language requires a different declension, change this to
+# one of the values specified in dateFormat.properties.
+# In any case, DO NOT TRANSLATE.
+daysIntervalBetweenMonths.monthFormat=genitive
+
+# LOCALIZATION NOTE (daysIntervalBetweenYears):
+# used for display of intervals in the form 'December 29, 2008 - January 4, 2009'
+# %1$S will be replaced with name of the month of the start date
+# %2$S will be replaced with the day-index of the start date possibly followed by an ordinal symbol
+# %3$S will be replaced with the year of the start date
+# %4$S will be replaced with name of the month of the end date
+# %5$S will be replaced with the day-index of the end date possibly followed by an ordinal symbol
+# %6$S will be replaced with the year of the end date
+# The presence of the ordinal symbol in the day-indexes depends on the string
+# dayOrdinalSymbol in dateFormat.properties
+daysIntervalBetweenYears=%2$S %1$S %3$S – %5$S %4$S %6$S
+
+# LOCALIZATION NOTE (daysIntervalBetweenYears.monthFormat):
+# If your language requires a different declension, change this to
+# one of the values specified in dateFormat.properties.
+# In any case, DO NOT TRANSLATE.
+daysIntervalBetweenYears.monthFormat=genitive
+
+# LOCALIZATION NOTE (datetimeIntervalOnSameDateTime):
+# used for intervals where end is equals to start
+# displayed form is '5 Jan 2006 13:00'
+# %1$S will be replaced with the date of the start date
+# %2$S will be replaced with the time of the start date
+datetimeIntervalOnSameDateTime=%1$S %2$S
+
+# LOCALIZATION NOTE (datetimeIntervalOnSameDay):
+# used for intervals where end is on the same day as start, so we can leave out the
+# end date but still include end time
+# displayed form is '5 Jan 2006 13:00 - 17:00'
+# %1$S will be replaced with the date of the start date
+# %2$S will be replaced with the time of the start date
+# %3$S will be replaced with the time of the end date
+datetimeIntervalOnSameDay=%1$S %2$S – %3$S
+
+# LOCALIZATION NOTE (datetimeIntervalOnSeveralDays):
+# used for intervals spanning multiple days by including date and time
+# displayed form is '5 Jan 2006 13:00 - 7 Jan 2006 9:00'
+# %1$S will be replaced with the date of the start date
+# %2$S will be replaced with the time of the start date
+# %3$S will be replaced with the date of the end date
+# %4$S will be replaced with the time of the end date
+datetimeIntervalOnSeveralDays=%1$S %2$S – %3$S %4$S
+
+# LOCALIZATION NOTE (datetimeIntervalTaskWithoutDate):
+# used for task without start and due date
+# (showed only in exported calendar in Html format)
+datetimeIntervalTaskWithoutDate= pas de date de début ou de fin
+# LOCALIZATION NOTE (datetimeIntervalTaskWithoutDueDate):
+# used for intervals in task with only start date
+# displayed form is 'start date 5 Jan 2006 13:00'
+# (showed only in exported calendar in Html format)
+# %1$S will be replaced with the date of the start date
+# %2$S will be replaced with the time of the start date
+datetimeIntervalTaskWithoutDueDate=date de début %1$S %2$S
+# LOCALIZATION NOTE (datetimeIntervalTaskWithoutStartDate):
+# used for intervals in task with only due date
+# displayed form is 'due date 5 Jan 2006 13:00'
+# (showed only in exported calendar in Html format)
+# %1$S will be replaced with the date of the due date
+# %2$S will be replaced with the time of the due date
+datetimeIntervalTaskWithoutStartDate=date de fin %1$S %2$S
+
+# LOCALIZATION NOTE (dragLabelTasksWithOnlyEntryDate
+# dragLabelTasksWithOnlyDueDate)
+# Labels that appear while dragging a task with only
+# entry date OR due date
+dragLabelTasksWithOnlyEntryDate=Date de début
+dragLabelTasksWithOnlyDueDate=Prévu pour
+
+deleteTaskLabel=Supprimer la tâche
+deleteTaskAccesskey=p
+deleteItemLabel=Supprimer
+deleteItemAccesskey=p
+deleteEventLabel=Supprimer l’évènement
+deleteEventAccesskey=p
+
+calendarPropertiesEveryMinute=Chaque minute;Toutes les #1 minutes
+
+# LOCALIZATION NOTE (extractUsing)
+# Used in message header
+# %1$S will be replaced with language name from languageNames.properties
+extractUsing=En %1$S
+
+# LOCALIZATION NOTE (extractUsingRegion)
+# Used in message header
+# %1$S will be replaced with language name from languageNames.properties
+# %2$S will be replaced with region like US in en-US
+extractUsingRegion=En %1$S (%2$S)
+
+# LOCALIZATION NOTE (unit)
+# Used to determine the correct plural form of a unit
+unitMinutes=#1 minute;#1 minutes
+unitHours=#1 heure;#1 heures
+unitDays=#1 jour;#1 jours
+unitWeeks=#1 semaine;#1 semaines
+
+# LOCALIZATION NOTE (showCalendar)
+# Used in calendar list context menu
+# %1$S will be replaced with the calendar name
+# uses the access key calendar.context.togglevisible.accesskey
+showCalendar=Afficher %1$S
+hideCalendar=Masquer %1$S
+# uses the access key calendar.context.showonly.accesskey
+showOnlyCalendar=Afficher uniquement %1$S
+
+# LOCALIZATION NOTE (modifyConflict)
+# Used by the event dialog to resolve item modification conflicts.
+modifyConflictPromptTitle=Conflit de modification de l’élément
+modifyConflictPromptMessage=L’élément en cours de modification dans le dialogue a été modifié depuis son ouverture.
+modifyConflictPromptButton1=Remplacer les autres modifications
+modifyConflictPromptButton2=Annuler les modifications en cours
+
+# Accessible description of a grid calendar with no selected date
+minimonthNoSelectedDate=Aucune date sélectionnée
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/calendar/calendarCreation.dtd b/thunderbird-l10n/fr/chrome/fr/locale/fr/calendar/calendarCreation.dtd
new file mode 100644
index 0000000000..d3652a9e39
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/calendar/calendarCreation.dtd
@@ -0,0 +1,51 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!ENTITY wizard.title "Créer un nouvel agenda" >
+<!ENTITY wizard.label "Créer un nouvel agenda" >
+<!ENTITY wizard.description "Choisissez l’emplacement de votre agenda" >
+
+<!ENTITY initialpage.description "Votre agenda peut être stocké sur votre ordinateur ou sur un serveur afin d’y accéder à distance ou de le partager avec vos amis ou vos collègues de travail." >
+<!ENTITY initialpage.computer.label "Sur mon ordinateur">
+<!ENTITY initialpage.network.label "Sur le réseau">
+
+<!ENTITY locationpage.description "Fournit les informations nécessaires pour accéder à votre agenda distant" >
+<!ENTITY locationpage.login.description "Optionnel : saisissez un nom d’utilisateur et un mot de passe" >
+<!ENTITY locationpage.username.label "Nom d’utilisateur :" >
+<!ENTITY locationpage.password.label "Mot de passe :" >
+
+<!ENTITY custompage.shortdescription "Personnaliser votre agenda" >
+<!ENTITY custompage.longdescription "Vous pouvez donner un nom à votre agenda et affecter des couleurs aux évènements." >
+
+<!ENTITY finishpage.shortdescription "Agenda créé" >
+<!ENTITY finishpage.longdescription "Votre agenda a été créé." >
+
+<!-- Below are new strings for the revised new calendar dialog. The above strings should be
+ removed/renamed later on -->
+
+<!ENTITY sourcetabs.other.label "Autre">
+
+<!ENTITY buttons.create.label "Créer un agenda">
+<!ENTITY buttons.create.accesskey "C">
+
+<!ENTITY buttons.find.label "Rechercher des agendas">
+<!ENTITY buttons.find.accesskey "a">
+
+<!ENTITY buttons.back.label "Retour">
+<!ENTITY buttons.back.accesskey "R">
+
+<!ENTITY buttons.subscribe.label "S’abonner">
+<!ENTITY buttons.subscribe.accesskey "S">
+
+<!ENTITY calendartype.label "Type d’agenda :">
+<!ENTITY location.label "Adresse :">
+<!ENTITY location.placeholder "Adresse web ou nom d’hôte du serveur de l’agenda">
+
+<!ENTITY network.nocredentials.label "Cette adresse ne demande pas d’identifiants de connexion">
+<!ENTITY network.loading.description "Veuillez patienter pendant que vos agendas sont découverts.">
+<!ENTITY network.notfound.description "Aucun agenda à cette adresse. Veuillez vérifier les paramètres.">
+<!ENTITY network.authfail.description "Les identifiants de connexion saisis n’ont pas été acceptés. Veuillez vérifier les paramètres.">
+
+<!ENTITY network.subscribe.single.description "Sélectionnez les agendas auxquels vous souhaitez vous abonner.">
+<!ENTITY network.subscribe.multiple.description "Plusieurs types d’agendas sont disponibles pour cette adresse. Sélectionnez le type d’agenda, puis choisissez les agendas auxquels vous souhaitez vous abonner.">
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/calendar/calendarCreation.properties b/thunderbird-l10n/fr/chrome/fr/locale/fr/calendar/calendarCreation.properties
new file mode 100644
index 0000000000..cd54016e23
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/calendar/calendarCreation.properties
@@ -0,0 +1,6 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+error.invalidUri=Veuillez saisir un emplacement valide.
+error.alreadyExists=Vous vous êtes déjà abonné à l’agenda dans cet emplacement.
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/calendar/categories.properties b/thunderbird-l10n/fr/chrome/fr/locale/fr/calendar/categories.properties
new file mode 100644
index 0000000000..c4ef0f8ae8
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/calendar/categories.properties
@@ -0,0 +1,7 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# default categories
+
+categories2=Anniversaire,Affaire,Appels,Cadeaux,Clients,Compétitions,Congés,Congrès,Consommation,Divers,Fournisseurs,Idées,Jour férié,Personnel,Préférés,Problèmes,Professionnel,Projets,Réunion,Suivis,Voyages
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/calendar/dateFormat.properties b/thunderbird-l10n/fr/chrome/fr/locale/fr/calendar/dateFormat.properties
new file mode 100644
index 0000000000..91211ec55a
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/calendar/dateFormat.properties
@@ -0,0 +1,146 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# In case you are looking for the note about different declensions on date
+# formats, here it is. If your language doesn't use different declensions of
+# month names, you shouldn't have much work. Just leave the *.monthFormat
+# string on "nominative" and the string month.*.name will be filled in.
+#
+# If you need a different form for a string, you can change the
+# *.monthFormat to a different value. Supported values are currently:
+# nominative (default), genitive
+# The modified month name form will then be filled in accordingly. If this
+# system does not suit your needs, please file a bug!
+
+# LOCALIZATION NOTE (month.*.name):
+# Some languages require different declensions of month names.
+# These values will be used if *.monthFormat is set to "nominative" or in places
+# where using a different declension is not yet supported.
+month.1.name=Janvier
+month.2.name=Février
+month.3.name=Mars
+month.4.name=Avril
+month.5.name=Mai
+month.6.name=Juin
+month.7.name=Juillet
+month.8.name=Août
+month.9.name=Septembre
+month.10.name=Octobre
+month.11.name=Novembre
+month.12.name=Décembre
+
+# LOCALIZATION NOTE (month.*.genitive):
+# Some languages require different declensions of month names.
+# These values will be used if *.monthFormat is set to "genitive"
+# If your language doesn't use different declensions, just set the same
+# values as for month.*.name.
+month.1.genitive=janvier
+month.2.genitive=février
+month.3.genitive=mars
+month.4.genitive=avril
+month.5.genitive=mai
+month.6.genitive=juin
+month.7.genitive=juillet
+month.8.genitive=août
+month.9.genitive=septembre
+month.10.genitive=octobre
+month.11.genitive=novembre
+month.12.genitive=décembre
+
+month.1.Mmm=jan
+month.2.Mmm=fév
+month.3.Mmm=mar
+month.4.Mmm=avr
+month.5.Mmm=mai
+month.6.Mmm=jun
+month.7.Mmm=jul
+month.8.Mmm=aoû
+month.9.Mmm=sep
+month.10.Mmm=oct
+month.11.Mmm=nov
+month.12.Mmm=déc
+
+day.1.name=Dimanche
+day.2.name=Lundi
+day.3.name=Mardi
+day.4.name=Mercredi
+day.5.name=Jeudi
+day.6.name=Vendredi
+day.7.name=Samedi
+
+day.1.Mmm=Dim
+day.2.Mmm=Lun
+day.3.Mmm=Mar
+day.4.Mmm=Mer
+day.5.Mmm=Jeu
+day.6.Mmm=Ven
+day.7.Mmm=Sam
+
+# Can someone tell me why we're not counting from zero?
+day.1.short=Di
+day.2.short=Lu
+day.3.short=Ma
+day.4.short=Me
+day.5.short=Je
+day.6.short=Ve
+day.7.short=Sa
+
+# Localizable day's date
+day.1.number=1er
+day.2.number=2
+day.3.number=3
+day.4.number=4
+day.5.number=5
+day.6.number=6
+day.7.number=7
+day.8.number=8
+day.9.number=9
+day.10.number=10
+day.11.number=11
+day.12.number=12
+day.13.number=13
+day.14.number=14
+day.15.number=15
+day.16.number=16
+day.17.number=17
+day.18.number=18
+day.19.number=19
+day.20.number=20
+day.21.number=21
+day.22.number=22
+day.23.number=23
+day.24.number=24
+day.25.number=25
+day.26.number=26
+day.27.number=27
+day.28.number=28
+day.29.number=29
+day.30.number=30
+day.31.number=31
+
+# LOCALIZATION NOTE (dayOrdinalSymbol):
+# Allows to insert a string, a character or a symbol after the number of a
+# monthday in order to give it the meaning of ordinal number e.g. 1 -> 1st etc.
+# It's mainly used when formatting dates with both monthday and month name. It
+# affects the following localizable strings that hence must be localized *without*
+# any ordinal symbol for the monthday number:
+# dayHeaderLabel, monthlyDaysOfNth_day,
+# yearlyNthOn, daysIntervalBetweenYears,
+# daysIntervalBetweenMonths, daysIntervalInMonth.
+# Write only a single string if the ordinal symbol is the same for every monthday, otherwise
+# write a sequence of _31_ strings (one for each monthday) separated with commas.
+# If your language doesn't require that in the mentioned strings, leave it empty.
+# e.g.
+# dayOrdinalSymbol=.
+# -> daysIntervalInMonth: 'March 3. - 9., 2008'
+# dayOrdinalSymbol=st,nd,rd,th,th,th,th,th,th,th,th,th,th,th,th,
+# th,th,th,th,th,st,nd,rd,th,th,th,th,th,th,th,st
+# -> daysIntervalBetweenMonths: 'September 29th - November 1st, 2008'
+dayOrdinalSymbol=
+
+noon=Midi
+midnight=Minuit
+
+AllDay=Toute la journée
+Repeating=(récurrente)
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/calendar/dialogs/calendar-event-dialog-reminder.dtd b/thunderbird-l10n/fr/chrome/fr/locale/fr/calendar/dialogs/calendar-event-dialog-reminder.dtd
new file mode 100644
index 0000000000..6e3fab2d1b
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/calendar/dialogs/calendar-event-dialog-reminder.dtd
@@ -0,0 +1,19 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!ENTITY reminderdialog.title "Définition de rappels">
+<!ENTITY reminder.add.label "Ajouter">
+<!ENTITY reminder.add.accesskey "A">
+<!ENTITY reminder.remove.label "Retirer">
+<!ENTITY reminder.remove.accesskey "R">
+
+<!ENTITY reminder.reminderDetails.label "Détails du rappel">
+<!ENTITY reminder.action.label "Choisir une action de rappel">
+
+<!ENTITY reminder.action.alert.label "Afficher une alerte">
+<!ENTITY reminder.action.email.label "Envoyer un e-mail">
+
+<!ENTITY alarm.units.minutes "minutes" >
+<!ENTITY alarm.units.hours "heures" >
+<!ENTITY alarm.units.days "jours" >
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/calendar/global.dtd b/thunderbird-l10n/fr/chrome/fr/locale/fr/calendar/global.dtd
new file mode 100644
index 0000000000..11011cdca0
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/calendar/global.dtd
@@ -0,0 +1,54 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!ENTITY time.midnight "Minuit" >
+<!ENTITY time.noon "Midi" >
+
+<!-- Day Names -->
+<!-- LOCALIZATION NOTE : Accesskeys for day.1.Ddd to day.7.Ddd are currently
+ only used in Preferences > Views > Workweek groupbox -->
+<!ENTITY day.1.Ddd "Dim" >
+<!ENTITY day.1.Ddd.accesskey "D">
+<!ENTITY day.2.Ddd "Lun" >
+<!ENTITY day.2.Ddd.accesskey "L">
+<!ENTITY day.3.Ddd "Mar" >
+<!ENTITY day.3.Ddd.accesskey "M">
+<!ENTITY day.4.Ddd "Mer" >
+<!ENTITY day.4.Ddd.accesskey "e">
+<!ENTITY day.5.Ddd "Jeu" >
+<!ENTITY day.5.Ddd.accesskey "J">
+<!ENTITY day.6.Ddd "Ven" >
+<!ENTITY day.6.Ddd.accesskey "V">
+<!ENTITY day.7.Ddd "Sam" >
+<!ENTITY day.7.Ddd.accesskey "S">
+
+<!ENTITY day.1.name "Dimanche" >
+<!ENTITY day.2.name "Lundi" >
+<!ENTITY day.3.name "Mardi" >
+<!ENTITY day.4.name "Mercredi" >
+<!ENTITY day.5.name "Jeudi" >
+<!ENTITY day.6.name "Vendredi" >
+<!ENTITY day.7.name "Samedi" >
+
+<!ENTITY month.1.name "Janvier" >
+<!ENTITY month.2.name "Février" >
+<!ENTITY month.3.name "Mars" >
+<!ENTITY month.4.name "Avril" >
+<!ENTITY month.5.name "Mai" >
+<!ENTITY month.6.name "Juin" >
+<!ENTITY month.7.name "Juillet" >
+<!ENTITY month.8.name "Août" >
+<!ENTITY month.9.name "Septembre" >
+<!ENTITY month.10.name "Octobre" >
+<!ENTITY month.11.name "Novembre" >
+<!ENTITY month.12.name "Décembre" >
+
+<!ENTITY onemonthbackward.tooltip "Aller au mois précédent" >
+<!ENTITY onemonthforward.tooltip "Aller au mois suivant" >
+<!ENTITY oneyearbackward.tooltip "Aller à l’année précédente" >
+<!ENTITY oneyearforward.tooltip "Aller à l’année suivante" >
+<!ENTITY showToday.tooltip "Aller à aujourd’hui">
+<!ENTITY onedayforward.tooltip "Aller au jour suivant">
+<!ENTITY onedaybackward.tooltip "Aller au jour précédent">
+<!ENTITY showselectedday.tooltip "Afficher les évènements de la journée sélectionnée">
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/calendar/menuOverlay.dtd b/thunderbird-l10n/fr/chrome/fr/locale/fr/calendar/menuOverlay.dtd
new file mode 100644
index 0000000000..e0fb4c453d
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/calendar/menuOverlay.dtd
@@ -0,0 +1,50 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!-- Event Menu -->
+<!ENTITY event.new.event "Nouvel évènement…">
+<!ENTITY event.new.event.accesskey "N">
+
+<!ENTITY event.new.task "Nouvelle tâche…">
+<!ENTITY event.new.task.accesskey "t">
+
+<!ENTITY calendar.import.label "Importer…">
+<!ENTITY calendar.import.accesskey "i">
+
+<!ENTITY calendar.export.label "Exporter l’agenda…">
+<!ENTITY calendar.export.accesskey "x">
+
+<!ENTITY calendar.publish.label "Publier…">
+<!ENTITY calendar.publish.accesskey "P">
+
+<!ENTITY calendar.deletecalendar.label "Supprimer l’agenda sélectionné…">
+<!ENTITY calendar.deletecalendar.accesskey "S">
+<!ENTITY calendar.unsubscribecalendar.label "Se désabonner de l’agenda sélectionné…">
+<!ENTITY calendar.unsubscribecalendar.accesskey "d">
+
+<!-- LOCALIZATION NOTE (calendar.removecalendar.label): Removing the calendar
+ is the general action of removing it, while deleting means to clear the
+ data and unsubscribing means just taking it out of the calendar list. -->
+<!ENTITY calendar.removecalendar.label "Retirer l’agenda sélectionné…">
+<!ENTITY calendar.removecalendar.accesskey "R">
+
+
+<!ENTITY calendar.menu.customize.label "Personnaliser…">
+<!ENTITY calendar.menu.customize.accesskey "l">
+
+<!ENTITY showUnifinderCmd.label "Recherche d’évènements">
+<!ENTITY showUnifinderCmd.accesskey "c">
+<!ENTITY showUnifinderCmd.tooltip "Afficher/Masquer le panneau de recherche d’évènements">
+
+<!ENTITY calendar.displaytodos.checkbox.label "Afficher les tâches dans l’agenda">
+<!ENTITY calendar.displaytodos.checkbox.accesskey "i">
+
+<!ENTITY goTodayCmd.label "Aujourd’hui">
+<!ENTITY goTodayCmd.accesskey "A">
+
+<!ENTITY showCurrentView.label "Vue courante">
+<!ENTITY showCurrentView.accesskey "V">
+
+<!ENTITY calendar.properties.label "Propriétés de l’agenda…">
+<!ENTITY calendar.properties.accesskey "P">
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/calendar/migration.dtd b/thunderbird-l10n/fr/chrome/fr/locale/fr/calendar/migration.dtd
new file mode 100644
index 0000000000..9451e97a77
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/calendar/migration.dtd
@@ -0,0 +1,9 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!ENTITY migration.title "&brandFullName; : Importation des données">
+<!ENTITY migration.welcome "Bienvenue">
+<!ENTITY migration.importing "Importation">
+<!ENTITY migration.list.description "&brandShortName; peut importer des données provenant de plusieurs applications d’agenda. Des données provenant des applications suivantes ont été découvertes sur votre ordinateur. Veuillez sélectionner celles dont vous voulez importer les données.">
+<!ENTITY migration.progress.description "Importation des données sélectionnées en cours">
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/calendar/migration.properties b/thunderbird-l10n/fr/chrome/fr/locale/fr/calendar/migration.properties
new file mode 100644
index 0000000000..7963c792e0
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/calendar/migration.properties
@@ -0,0 +1,13 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+migratingApp = Migration de %1$S…
+
+# The next two lines are duplicated from migration.dtd until there is branding
+# for lightning
+migrationTitle = %1$S : Importation des données
+migrationDescription=%1$S peut importer des données provenant de plusieurs applications d’agenda. Des données provenant des applications suivantes ont été découvertes sur votre ordinateur. Veuillez sélectionner celles dont vous voulez importer les données.
+finished = Terminé
+disableExtTitle = Extension incompatible détectée
+disableExtText = L’ancienne extension Mozilla Calendar est installée et n’est pas compatible avec Lightning. Elle sera désactivée et %1$S sera redémarré.
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/calendar/provider-uninstall.dtd b/thunderbird-l10n/fr/chrome/fr/locale/fr/calendar/provider-uninstall.dtd
new file mode 100644
index 0000000000..17be93487f
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/calendar/provider-uninstall.dtd
@@ -0,0 +1,12 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!ENTITY providerUninstall.title "Désinstallation d’un fournisseur">
+<!ENTITY providerUninstall.accept.label "Se désabonner du fournisseur sélectionné">
+<!ENTITY providerUninstall.accept.accesskey "S">
+<!ENTITY providerUninstall.cancel.label "Conserver le module complémentaire">
+<!ENTITY providerUninstall.cancel.accesskey "C">
+<!ENTITY providerUninstall.preName.label "Vous avez demandé de désinstaller ou de désactiver :">
+<!ENTITY providerUninstall.postName.label "Ceci provoquera la désactivation des agendas ci-dessous.">
+<!ENTITY providerUninstall.reinstallNote.label "Si vous ne prévoyez pas de réinstaller ce fournisseur, vous pouvez choisir de vous désabonner des agendas de celui-ci.">
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/calendar/timezones.properties b/thunderbird-l10n/fr/chrome/fr/locale/fr/calendar/timezones.properties
new file mode 100644
index 0000000000..bc13ad0174
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/calendar/timezones.properties
@@ -0,0 +1,497 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+pref.timezone.floating=Heure locale
+pref.timezone.UTC=UTC/GMT
+
+# I've derived this list out of timezones.dtd
+# - replaced '_' with ' ' on value side
+# - corrected 'St xyz' to 'St. xyz'
+
+# This list is derived from the IANA timezone database, but was always
+# incomplete. It will not be updated; future revisions will rely on metazones as
+# defined by CLDR, but these remain in place to prevent regressions in
+# localization.
+
+# timezone names:
+pref.timezone.Africa.Abidjan=Afrique/Abidjan
+pref.timezone.Africa.Accra=Afrique/Accra
+pref.timezone.Africa.Addis_Ababa=Afrique/Addis-Abeba
+pref.timezone.Africa.Algiers=Afrique/Alger
+pref.timezone.Africa.Asmara=Afrique/Asmara
+pref.timezone.Africa.Bamako=Afrique/Bamako
+pref.timezone.Africa.Bangui=Afrique/Bangui
+pref.timezone.Africa.Banjul=Afrique/Banjul
+pref.timezone.Africa.Bissau=Afrique/Bissau
+pref.timezone.Africa.Blantyre=Afrique/Blantyre
+pref.timezone.Africa.Brazzaville=Afrique/Brazzaville
+pref.timezone.Africa.Bujumbura=Afrique/Bujumbura
+pref.timezone.Africa.Cairo=Afrique/Caire (Le)
+pref.timezone.Africa.Casablanca=Afrique/Casablanca
+pref.timezone.Africa.Ceuta=Afrique/Ceuta
+pref.timezone.Africa.Conakry=Afrique/Conakry
+pref.timezone.Africa.Dakar=Afrique/Dakar
+pref.timezone.Africa.Dar_es_Salaam=Afrique/Dar es-Salaam
+pref.timezone.Africa.Djibouti=Afrique/Djibouti
+pref.timezone.Africa.Douala=Afrique/Douala
+pref.timezone.Africa.El_Aaiun=Afrique/El Aaiun
+pref.timezone.Africa.Freetown=Afrique/Freetown
+pref.timezone.Africa.Gaborone=Afrique/Gaborone
+pref.timezone.Africa.Harare=Afrique/Harare
+pref.timezone.Africa.Johannesburg=Afrique/Johannesbourg
+pref.timezone.Africa.Kampala=Afrique/Kampala
+pref.timezone.Africa.Khartoum=Afrique/Khartoum
+pref.timezone.Africa.Kigali=Afrique/Kigali
+pref.timezone.Africa.Kinshasa=Afrique/Kinshasa
+pref.timezone.Africa.Lagos=Afrique/Lagos
+pref.timezone.Africa.Libreville=Afrique/Libreville
+pref.timezone.Africa.Lome=Afrique/Lome
+pref.timezone.Africa.Luanda=Afrique/Luanda
+pref.timezone.Africa.Lubumbashi=Afrique/Lubumbashi
+pref.timezone.Africa.Lusaka=Afrique/Lusaka
+pref.timezone.Africa.Malabo=Afrique/Malabo
+pref.timezone.Africa.Maputo=Afrique/Maputo
+pref.timezone.Africa.Maseru=Afrique/Maseru
+pref.timezone.Africa.Mbabane=Afrique/Mbabane
+pref.timezone.Africa.Mogadishu=Afrique/Mogadiscio
+pref.timezone.Africa.Monrovia=Afrique/Monrovia
+pref.timezone.Africa.Nairobi=Afrique/Nairobi
+pref.timezone.Africa.Ndjamena=Afrique/Ndjamena
+pref.timezone.Africa.Niamey=Afrique/Niamey
+pref.timezone.Africa.Nouakchott=Afrique/Nouakchott
+pref.timezone.Africa.Ouagadougou=Afrique/Ouagadougou
+pref.timezone.Africa.Porto-Novo=Afrique/Porto Novo
+pref.timezone.Africa.Sao_Tome=Afrique/Sao Tome
+pref.timezone.Africa.Tripoli=Afrique/Tripoli
+pref.timezone.Africa.Tunis=Afrique/Tunis
+pref.timezone.Africa.Windhoek=Afrique/Windhoek
+pref.timezone.America.Adak=Amériques/Adak
+pref.timezone.America.Anchorage=Amériques/Anchorage
+pref.timezone.America.Anguilla=Amériques/Anguilla
+pref.timezone.America.Antigua=Amériques/Antigua
+pref.timezone.America.Araguaina=Amériques/Araguaina
+pref.timezone.America.Argentina.Buenos_Aires=Amériques/Argentine/Buenos Aires
+pref.timezone.America.Argentina.Catamarca=Amériques/Argentine/Catamarca
+pref.timezone.America.Argentina.Cordoba=Amériques/Argentine/Cordoba
+pref.timezone.America.Argentina.Jujuy=Amériques/Argentine/Jujuy
+pref.timezone.America.Argentina.La_Rioja=Amériques/Argentine/La Rioja
+pref.timezone.America.Argentina.Mendoza=Amériques/Argentine/Mendoza
+pref.timezone.America.Argentina.Rio_Gallegos=Amériques/Argentine/Rio Gallegos
+pref.timezone.America.Argentina.San_Juan=Amériques/Argentine/San Juan
+pref.timezone.America.Argentina.Tucuman=Amériques/Argentine/Tucuman
+pref.timezone.America.Argentina.Ushuaia=Amériques/Argentine/Ushuaia
+pref.timezone.America.Aruba=Amériques/Aruba
+pref.timezone.America.Asuncion=Amériques/Asuncion
+pref.timezone.America.Atikokan=Amériques/Atikokan
+pref.timezone.America.Bahia=Amériques/Bahia
+pref.timezone.America.Barbados=Amériques/Barbade (La)
+pref.timezone.America.Belem=Amériques/Belem
+pref.timezone.America.Belize=Amériques/Belize
+pref.timezone.America.Blanc-Sablon=Amériques/Blanc-Sablon
+pref.timezone.America.Boa_Vista=Amériques/Boa Vista
+pref.timezone.America.Bogota=Amériques/Bogota
+pref.timezone.America.Boise=Amériques/Boise
+pref.timezone.America.Cambridge_Bay=Amériques/Cambridge Bay
+pref.timezone.America.Campo_Grande=Amériques/Campo Grande
+pref.timezone.America.Cancun=Amériques/Cancun
+pref.timezone.America.Caracas=Amériques/Caracas
+pref.timezone.America.Cayenne=Amériques/Cayenne
+pref.timezone.America.Cayman=Amériques/Caïman (îles)
+pref.timezone.America.Chicago=Amériques/Chicago
+pref.timezone.America.Chihuahua=Amériques/Chihuahua
+pref.timezone.America.Costa_Rica=Amériques/Costa Rica
+pref.timezone.America.Cuiaba=Amériques/Cuiaba
+pref.timezone.America.Curacao=Amériques/Curacao
+pref.timezone.America.Danmarkshavn=Amériques/Danmarkshavn
+pref.timezone.America.Dawson=Amériques/Dawson
+pref.timezone.America.Dawson_Creek=Amériques/Dawson Creek
+pref.timezone.America.Denver=Amériques/Denver
+pref.timezone.America.Detroit=Amériques/Detroit
+pref.timezone.America.Dominica=Amériques/Dominique (La)
+pref.timezone.America.Edmonton=Amériques/Edmonton
+pref.timezone.America.Eirunepe=Amériques/Eirunepe
+pref.timezone.America.El_Salvador=Amériques/El Salvador
+pref.timezone.America.Fortaleza=Amériques/Fortaleza
+pref.timezone.America.Glace_Bay=Amériques/Glace Bay
+pref.timezone.America.Godthab=Amériques/Godthab
+pref.timezone.America.Goose_Bay=Amériques/Goose Bay
+pref.timezone.America.Grand_Turk=Amériques/Grand Turk
+pref.timezone.America.Grenada=Amériques/Grenade
+pref.timezone.America.Guadeloupe=Amériques/Guadeloupe
+pref.timezone.America.Guatemala=Amériques/Guatemala
+pref.timezone.America.Guayaquil=Amériques/Guayaquil
+pref.timezone.America.Guyana=Amériques/Guyana
+pref.timezone.America.Halifax=Amériques/Halifax
+pref.timezone.America.Havana=Amériques/Havane (La)
+pref.timezone.America.Hermosillo=Amériques/Hermosillo
+pref.timezone.America.Indiana.Indianapolis=Amériques/Indiana/Indianapolis
+pref.timezone.America.Indiana.Knox=Amériques/Indiana/Knox
+pref.timezone.America.Indiana.Marengo=Amériques/Indiana/Marengo
+pref.timezone.America.Indiana.Petersburg=Amériques/Indiana/Petersburg
+pref.timezone.America.Indiana.Vevay=Amériques/Indiana/Vevay
+pref.timezone.America.Indiana.Vincennes=Amériques/Indiana/Vincennes
+pref.timezone.America.Inuvik=Amériques/Inuvik
+pref.timezone.America.Iqaluit=Amériques/Iqaluit
+pref.timezone.America.Jamaica=Amériques/Jamaïque
+pref.timezone.America.Juneau=Amériques/Juneau
+pref.timezone.America.Kentucky.Louisville=Amériques/Kentucky/Louisville
+pref.timezone.America.Kentucky.Monticello=Amériques/Kentucky/Monticello
+pref.timezone.America.La_Paz=Amériques/La Paz
+pref.timezone.America.Lima=Amériques/Lima
+pref.timezone.America.Los_Angeles=Amériques/Los Angeles
+pref.timezone.America.Maceio=Amériques/Maceio
+pref.timezone.America.Managua=Amériques/Managua
+pref.timezone.America.Manaus=Amériques/Manaus
+pref.timezone.America.Martinique=Amériques/Martinique
+pref.timezone.America.Mazatlan=Amériques/Mazatlan
+pref.timezone.America.Menominee=Amériques/Menominee
+pref.timezone.America.Merida=Amériques/Merida
+pref.timezone.America.Mexico_City=Amériques/Mexico City
+pref.timezone.America.Miquelon=Amériques/Miquelon
+pref.timezone.America.Moncton=Amériques/Moncton
+pref.timezone.America.Monterrey=Amériques/Monterrey
+pref.timezone.America.Montevideo=Amériques/Montevideo
+pref.timezone.America.Montreal=Amériques/Montréal
+pref.timezone.America.Montserrat=Amériques/Montserrat
+pref.timezone.America.Nassau=Amériques/Nassau
+pref.timezone.America.New_York=Amériques/New York
+pref.timezone.America.Nipigon=Amériques/Nipigon
+pref.timezone.America.Nome=Amériques/Nome
+pref.timezone.America.Noronha=Amériques/Noronha
+pref.timezone.America.North_Dakota.Center=Amériques/Dakota du Nord/Center
+pref.timezone.America.North_Dakota.New_Salem=Amériques/Dakota du Nord/New Salem
+pref.timezone.America.Panama=Amériques/Panama
+pref.timezone.America.Pangnirtung=Amériques/Pangnirtung
+pref.timezone.America.Paramaribo=Amériques/Paramaribo
+pref.timezone.America.Phoenix=Amériques/Phoenix
+pref.timezone.America.Port-au-Prince=Amériques/Port-au-Prince
+pref.timezone.America.Port_of_Spain=Amériques/Port of Spain
+pref.timezone.America.Porto_Velho=Amériques/Porto Velho
+pref.timezone.America.Puerto_Rico=Amériques/Puerto Rico
+pref.timezone.America.Rainy_River=Amériques/Rainy River
+pref.timezone.America.Rankin_Inlet=Amériques/Rankin Inlet
+pref.timezone.America.Recife=Amériques/Recife
+pref.timezone.America.Regina=Amériques/Regina
+pref.timezone.America.Rio_Branco=Amériques/Rio Branco
+pref.timezone.America.Santiago=Amériques/Santiago
+pref.timezone.America.Santo_Domingo=Amériques/Saint Domingue
+pref.timezone.America.Sao_Paulo=Amériques/Sao Paulo
+pref.timezone.America.Scoresbysund=Amériques/Scoresbysund
+pref.timezone.America.Shiprock=Amériques/Shiprock
+pref.timezone.America.St_Johns=Amériques/St Johns
+pref.timezone.America.St_Kitts=Amériques/St Kitts
+pref.timezone.America.St_Lucia=Amériques/Sainte Lucie
+pref.timezone.America.St_Thomas=Amériques/St Thomas
+pref.timezone.America.St_Vincent=Amériques/St Vincent
+pref.timezone.America.Swift_Current=Amériques/Swif Current
+pref.timezone.America.Tegucigalpa=Amériques/Tegucigalpa
+pref.timezone.America.Thule=Amériques/Thule
+pref.timezone.America.Thunder_Bay=Amériques/Thunder Bay
+pref.timezone.America.Tijuana=Amériques/Tijuana
+pref.timezone.America.Toronto=Amériques/Toronto
+pref.timezone.America.Tortola=Amériques/Tortola
+pref.timezone.America.Vancouver=Amériques/Vancouver
+pref.timezone.America.Whitehorse=Amériques/Whitehorse
+pref.timezone.America.Winnipeg=Amériques/Winnipeg
+pref.timezone.America.Yakutat=Amériques/Yakutat
+pref.timezone.America.Yellowknife=Amériques/Yellowknife
+pref.timezone.Antarctica.Casey=Antarctique/Casey
+pref.timezone.Antarctica.Davis=Antarctique/Davis
+pref.timezone.Antarctica.DumontDUrville=Antarctique/Dumont d’Urville
+pref.timezone.Antarctica.Mawson=Antarctique/Mawson
+pref.timezone.Antarctica.McMurdo=Antarctique/McMurdo
+pref.timezone.Antarctica.Palmer=Antarctique/Palmer
+pref.timezone.Antarctica.Rothera=Antarctique/Rothera
+pref.timezone.Antarctica.South_Pole=Antarctique/Pôle Sud
+pref.timezone.Antarctica.Syowa=Antarctique/Syowa
+pref.timezone.Antarctica.Vostok=Antarctique/Vostok
+pref.timezone.Arctic.Longyearbyen=Arctique/Longyearbyen
+pref.timezone.Asia.Aden=Asie/Aden
+pref.timezone.Asia.Almaty=Asie/Almaty
+pref.timezone.Asia.Amman=Asie/Amman
+pref.timezone.Asia.Anadyr=Asie/Anadyr
+pref.timezone.Asia.Aqtau=Asie/Aqtau
+pref.timezone.Asia.Aqtobe=Asie/Aqtobe
+pref.timezone.Asia.Ashgabat=Asie/Ashgabat
+pref.timezone.Asia.Baghdad=Asie/Bagdad
+pref.timezone.Asia.Bahrain=Asie/Bahreïn
+pref.timezone.Asia.Baku=Asie/Bakou
+pref.timezone.Asia.Bangkok=Asie/Bangkok
+pref.timezone.Asia.Beirut=Asie/Beyrouth
+pref.timezone.Asia.Bishkek=Asie/Bishkek
+pref.timezone.Asia.Brunei=Asie/Brunei
+pref.timezone.Asia.Choibalsan=Asie/Choibalsan
+pref.timezone.Asia.Chongqing=Asie/Chongqing
+pref.timezone.Asia.Colombo=Asie/Colombo
+pref.timezone.Asia.Damascus=Asie/Damas
+pref.timezone.Asia.Dhaka=Asie/Dhaka
+pref.timezone.Asia.Dili=Asie/Dili
+pref.timezone.Asia.Dubai=Asie/Dubaï
+pref.timezone.Asia.Dushanbe=Asie/Dushanbe
+pref.timezone.Asia.Gaza=Asie/Gaza
+pref.timezone.Asia.Harbin=Asie/Harbin
+pref.timezone.Asia.Hong_Kong=Asie/Hong Kong
+pref.timezone.Asia.Hovd=Asie/Hovd
+pref.timezone.Asia.Irkutsk=Asie/Irkutsk
+pref.timezone.Asia.Istanbul=Asie/Istanboul
+pref.timezone.Asia.Jakarta=Asie/Jakarta
+pref.timezone.Asia.Jayapura=Asie/Jayapura
+pref.timezone.Asia.Jerusalem=Asie/Jerusalem
+pref.timezone.Asia.Kabul=Asie/Kaboul
+pref.timezone.Asia.Kamchatka=Asie/Kamchatka
+pref.timezone.Asia.Karachi=Asie/Karachi
+pref.timezone.Asia.Kashgar=Asie/Kashgar
+pref.timezone.Asia.Kathmandu=Asie/Katmandou
+pref.timezone.Asia.Krasnoyarsk=Asie/Krasnoyarsk
+pref.timezone.Asia.Kuala_Lumpur=Asie/Kuala Lumpur
+pref.timezone.Asia.Kuching=Asie/Kuching
+pref.timezone.Asia.Kuwait=Asie/Koweït
+pref.timezone.Asia.Macau=Asie/Macao
+pref.timezone.Asia.Magadan=Asie/Magadan
+pref.timezone.Asia.Makassar=Asie/Makassar
+pref.timezone.Asia.Manila=Asie/Manille
+pref.timezone.Asia.Muscat=Asie/Muscat
+pref.timezone.Asia.Nicosia=Asie/Nicosie
+pref.timezone.Asia.Novosibirsk=Asie/Novosibirsk
+pref.timezone.Asia.Omsk=Asie/Omsk
+pref.timezone.Asia.Oral=Asie/Oral
+pref.timezone.Asia.Phnom_Penh=Asie/Phnom Penh
+pref.timezone.Asia.Pontianak=Asie/Pontianak
+pref.timezone.Asia.Pyongyang=Asie/Pyongyang
+pref.timezone.Asia.Qatar=Asie/Qatar
+pref.timezone.Asia.Qyzylorda=Asie/Qyzylorda
+pref.timezone.Asia.Rangoon=Asie/Rangoon
+pref.timezone.Asia.Riyadh=Asie/Riyadh
+pref.timezone.Asia.Sakhalin=Asie/Sakhaline
+pref.timezone.Asia.Samarkand=Asie/Samarcande
+pref.timezone.Asia.Seoul=Asie/Séoul
+pref.timezone.Asia.Shanghai=Asie/Shanghaï
+pref.timezone.Asia.Singapore=Asie/Singapour
+pref.timezone.Asia.Taipei=Asie/Taïpei
+pref.timezone.Asia.Tashkent=Asie/Tashkent
+pref.timezone.Asia.Tbilisi=Asie/Tbilisi
+pref.timezone.Asia.Tehran=Asie/Téhéran
+pref.timezone.Asia.Thimphu=Asie/Thimphu
+pref.timezone.Asia.Tokyo=Asie/Tokyo
+pref.timezone.Asia.Ulaanbaatar=Asie/Oulan Bator
+pref.timezone.Asia.Urumqi=Asie/Urumqi
+pref.timezone.Asia.Vientiane=Asie/Vientiane
+pref.timezone.Asia.Vladivostok=Asie/Vladivostok
+pref.timezone.Asia.Yakutsk=Asie/Yakutsk
+pref.timezone.Asia.Yekaterinburg=Asie/Yekaterinburg
+pref.timezone.Asia.Yerevan=Asie/Yerevan
+pref.timezone.Atlantic.Azores=Atlantique/Açores
+pref.timezone.Atlantic.Bermuda=Atlantique/Bermudes
+pref.timezone.Atlantic.Canary=Atlantique/Canaries
+pref.timezone.Atlantic.Cape_Verde=Atlantique/Cap Vert
+pref.timezone.Atlantic.Faroe=Atlantique/Feroe
+pref.timezone.Atlantic.Madeira=Atlantique/Madère
+pref.timezone.Atlantic.Reykjavik=Atlantique/Reykjavik
+pref.timezone.Atlantic.South_Georgia=Atlantique/Géorgie du Sud
+pref.timezone.Atlantic.St_Helena=Atlantique/Sainte Hélène
+pref.timezone.Atlantic.Stanley=Atlantique/Stanley
+pref.timezone.Australia.Adelaide=Australie/Adélaïde
+pref.timezone.Australia.Brisbane=Australie/Brisbane
+pref.timezone.Australia.Broken_Hill=Australie/Broken Hill
+pref.timezone.Australia.Currie=Australie/Currie
+pref.timezone.Australia.Darwin=Australie/Darwin
+pref.timezone.Australia.Eucla=Australie/Eucla
+pref.timezone.Australia.Hobart=Australie/Hobart
+pref.timezone.Australia.Lindeman=Australie/Lindeman
+pref.timezone.Australia.Lord_Howe=Australie/Lord Howe
+pref.timezone.Australia.Melbourne=Australie/Melbourne
+pref.timezone.Australia.Perth=Australie/Perth
+pref.timezone.Australia.Sydney=Australie/Sydney
+pref.timezone.Europe.Amsterdam=Europe/Amsterdam
+pref.timezone.Europe.Andorra=Europe/Andorre
+pref.timezone.Europe.Athens=Europe/Athènes
+pref.timezone.Europe.Belgrade=Europe/Belgrade
+pref.timezone.Europe.Berlin=Europe/Berlin
+pref.timezone.Europe.Bratislava=Europe/Bratislava
+pref.timezone.Europe.Brussels=Europe/Bruxelles
+pref.timezone.Europe.Bucharest=Europe/Bucarest
+pref.timezone.Europe.Budapest=Europe/Budapest
+pref.timezone.Europe.Chisinau=Europe/Chisinau
+pref.timezone.Europe.Copenhagen=Europe/Copenhague
+pref.timezone.Europe.Dublin=Europe/Dublin
+pref.timezone.Europe.Gibraltar=Europe/Gibraltar
+pref.timezone.Europe.Guernsey=Europe/Guernesey
+pref.timezone.Europe.Helsinki=Europe/Helsinki
+pref.timezone.Europe.Isle_of_Man=Europe/Man (île de)
+pref.timezone.Europe.Istanbul=Europe/Istanboul
+pref.timezone.Europe.Jersey=Europe/Jersey
+pref.timezone.Europe.Kaliningrad=Europe/Kaliningrad
+pref.timezone.Europe.Kiev=Europe/Kiev
+pref.timezone.Europe.Lisbon=Europe/Lisbonne
+pref.timezone.Europe.Ljubljana=Europe/Ljubljana
+pref.timezone.Europe.London=Europe/Londres
+pref.timezone.Europe.Luxembourg=Europe/Luxembourg
+pref.timezone.Europe.Madrid=Europe/Madrid
+pref.timezone.Europe.Malta=Europe/Malte
+pref.timezone.Europe.Mariehamn=Europe/Mariehamn
+pref.timezone.Europe.Minsk=Europe/Minsk
+pref.timezone.Europe.Monaco=Europe/Monaco
+pref.timezone.Europe.Moscow=Europe/Moscou
+pref.timezone.Europe.Nicosia=Europe/Nicosie
+pref.timezone.Europe.Oslo=Europe/Oslo
+pref.timezone.Europe.Paris=Europe/Paris
+pref.timezone.Europe.Podgorica=Europe/Podgorica
+pref.timezone.Europe.Prague=Europe/Prague
+pref.timezone.Europe.Riga=Europe/Riga
+pref.timezone.Europe.Rome=Europe/Rome
+pref.timezone.Europe.Samara=Europe/Samara
+pref.timezone.Europe.San_Marino=Europe/San Marin
+pref.timezone.Europe.Sarajevo=Europe/Sarajevo
+pref.timezone.Europe.Simferopol=Europe/Simferopol
+pref.timezone.Europe.Skopje=Europe/Skopje
+pref.timezone.Europe.Sofia=Europe/Sofia
+pref.timezone.Europe.Stockholm=Europe/Stockholm
+pref.timezone.Europe.Tallinn=Europe/Tallinn
+pref.timezone.Europe.Tirane=Europe/Tirane
+pref.timezone.Europe.Uzhgorod=Europe/Uzhgorod
+pref.timezone.Europe.Vaduz=Europe/Vaduz
+pref.timezone.Europe.Vatican=Europe/Vatican
+pref.timezone.Europe.Vienna=Europe/Vienne
+pref.timezone.Europe.Vilnius=Europe/Vilnius
+pref.timezone.Europe.Volgograd=Europe/Volgograd
+pref.timezone.Europe.Warsaw=Europe/Varsovie
+pref.timezone.Europe.Zagreb=Europe/Zagreb
+pref.timezone.Europe.Zaporozhye=Europe/Zaporozhye
+pref.timezone.Europe.Zurich=Europe/Zurich
+pref.timezone.Indian.Antananarivo=Océan Indien/Antananarivo
+pref.timezone.Indian.Chagos=Océan Indien/Chagos
+pref.timezone.Indian.Christmas=Océan Indien/Christmas
+pref.timezone.Indian.Cocos=Océan Indien/Cocos
+pref.timezone.Indian.Comoro=Océan Indien/Comores (Les)
+pref.timezone.Indian.Kerguelen=Océan Indien/Kerguelen
+pref.timezone.Indian.Mahe=Océan Indien/Mahe
+pref.timezone.Indian.Maldives=Océan Indien/Maldives (Les)
+pref.timezone.Indian.Mauritius=Océan Indien/Maurice (île)
+pref.timezone.Indian.Mayotte=Océan Indien/Mayotte
+pref.timezone.Indian.Reunion=Océan Indien/Réunion (La)
+pref.timezone.Pacific.Apia=Pacifique/Apia
+pref.timezone.Pacific.Auckland=Pacifique/Auckland
+pref.timezone.Pacific.Chatham=Pacifique/Chatham
+pref.timezone.Pacific.Easter=Pacifique/Easter
+pref.timezone.Pacific.Efate=Pacifique/Efate
+pref.timezone.Pacific.Enderbury=Pacifique/Enderbury
+pref.timezone.Pacific.Fakaofo=Pacifique/Fakaofo
+pref.timezone.Pacific.Fiji=Pacifique/Fiji
+pref.timezone.Pacific.Funafuti=Pacifique/Funafuti
+pref.timezone.Pacific.Galapagos=Pacifique/Galapagos
+pref.timezone.Pacific.Gambier=Pacifique/Gambier
+pref.timezone.Pacific.Guadalcanal=Pacifique/Guadalcanal
+pref.timezone.Pacific.Guam=Pacifique/Guam
+pref.timezone.Pacific.Honolulu=Pacifique/Honolulu
+pref.timezone.Pacific.Johnston=Pacifique/Johnston
+pref.timezone.Pacific.Kiritimati=Pacifique/Kiritimati
+pref.timezone.Pacific.Kosrae=Pacifique/Kosrae
+pref.timezone.Pacific.Kwajalein=Pacifique/Kwajalein
+pref.timezone.Pacific.Majuro=Pacifique/Majuro
+pref.timezone.Pacific.Marquesas=Pacifique/Marquesas
+pref.timezone.Pacific.Midway=Pacifique/Midway
+pref.timezone.Pacific.Nauru=Pacifique/Nauru
+pref.timezone.Pacific.Niue=Pacifique/Niue
+pref.timezone.Pacific.Norfolk=Pacifique/Norfolk
+pref.timezone.Pacific.Noumea=Pacifique/Noumea
+pref.timezone.Pacific.Pago_Pago=Pacifique/Pago Pago
+pref.timezone.Pacific.Palau=Pacifique/Palau
+pref.timezone.Pacific.Pitcairn=Pacifique/Pitcairn
+pref.timezone.Pacific.Ponape=Pacifique/Ponape
+pref.timezone.Pacific.Port_Moresby=Pacifique/Port Moresby
+pref.timezone.Pacific.Rarotonga=Pacifique/Rarotonga
+pref.timezone.Pacific.Saipan=Pacifique/Saipan
+pref.timezone.Pacific.Tahiti=Pacifique/Tahiti
+pref.timezone.Pacific.Tarawa=Pacifique/Tarawa
+pref.timezone.Pacific.Tongatapu=Pacifique/Tongatapu
+pref.timezone.Pacific.Truk=Pacifique/Truk
+pref.timezone.Pacific.Wake=Pacifique/Wake
+pref.timezone.Pacific.Wallis=Pacifique/Wallis
+
+# the following have been missing
+pref.timezone.America.Indiana.Tell_City=Amériques/Indiana/Tell City
+pref.timezone.America.Indiana.Winamac=Amériques/Indiana/Winamac
+pref.timezone.America.Marigot=Amériques/Marigot
+pref.timezone.America.Resolute=Amériques/Resolute
+pref.timezone.America.St_Barthelemy=Amériques/Saint Barthélémy
+
+# added with 2008d:
+pref.timezone.America.Argentina.San_Luis=Amériques/Argentine/San Luis
+pref.timezone.America.Santarem=Amériques/Santarem
+pref.timezone.Asia.Ho_Chi_Minh=Asie/Hô-Chi-Minh-Ville
+pref.timezone.Asia.Kolkata=Asie/Calcutta
+
+# added with 2008i:
+pref.timezone.America.Argentina.Salta=Amériques/Argentine/Salta
+
+# added with 2010i
+pref.timezone.America.Matamoros=Amériques/Matamoros
+pref.timezone.America.Ojinaga=Amériques/Ojinaga
+pref.timezone.America.Santa_Isabel=Amériques/Santa Isabel
+pref.timezone.Antarctica.Macquarie=Antarctique/Macquarie
+pref.timezone.Asia.Novokuznetsk=Asie/Novokouznetsk
+
+#added with 2011b
+pref.timezone.America.Bahia_Banderas=Amériques/Bahia Banderas
+pref.timezone.America.North_Dakota.Beulah=Amériques/Dakota du Nord/Beulah
+pref.timezone.Pacific.Chuuk=Pacifique/Chuuk
+pref.timezone.Pacific.Pohnpei=Pacifique/Pohnpei
+
+#added with 2011n
+pref.timezone.Africa.Juba=Afrique/Djouba
+pref.timezone.America.Kralendijk=Amériques/Kralendijk
+pref.timezone.America.Lower_Princes=Amériques/Lower Princes
+pref.timezone.America.Metlakatla=Amériques/Metlakatla
+pref.timezone.America.Sitka=Amériques/Sitka
+pref.timezone.Asia.Hebron=Asie/Hébron
+
+#added with 2013a
+pref.timezone.America.Creston=Amériques/Creston
+pref.timezone.Asia.Khandyga=Asie/Khandyga
+pref.timezone.Asia.Ust-Nera=Asie/Ust-Nera
+pref.timezone.Europe.Busingen=Europe/Busingen
+
+#added with 2014b
+pref.timezone.Antarctica.Troll=Antarctique/Troll
+
+#added with 2014j
+pref.timezone.Asia.Chita=Asie/Chita
+pref.timezone.Asia.Srednekolymsk=Asie/Srednekolymsk
+pref.timezone.Pacific.Bougainville=Pacifique/Bougainville
+
+#added with 2.2015g
+pref.timezone.America.Fort_Nelson=Amériques/Fort Nelson
+
+#added with 2.2016b
+pref.timezone.Europe.Ulyanovsk=Europe/Ulyanovsk
+pref.timezone.Europe.Astrakhan=Europe/Astrakhan
+pref.timezone.Asia.Barnaul=Asie/Barnaul
+
+#added with 2.2016i
+pref.timezone.Asia.Yangon=Asie/Yangon
+pref.timezone.Asia.Tomsk=Asie/Tomsk
+pref.timezone.Asia.Famagusta=Asie/Famagusta
+pref.timezone.Europe.Kirov=Europe/Kirov
+
+#added with 2.2016j
+pref.timezone.Europe.Saratov=Europe/Saratov
+pref.timezone.Asia.Atyrau=Asie/Atyrau
+
+#added with 2.2017b
+pref.timezone.America.Punta_Arenas=Amériques/Punta Arenas
+
+#added with 2.2018i
+pref.timezone.Asia.Qostanay=Asie/Kostanaï
+
+#added with 2.2020a
+pref.timezone.America.Nuuk=Amériques/Nuuk
+
+#added with 2.2021c
+pref.timezone.Pacific.Kanton=Pacifique/Canton
+
+#added with 2.2022b
+pref.timezone.Europe.Kyiv=Europe/Kyiv
+
+#added with 2.2023c
+pref.timezone.America.Ciudad_Juarez=Amériques/Ciudad Juarez
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/chat/accounts.dtd b/thunderbird-l10n/fr/chrome/fr/locale/fr/chat/accounts.dtd
new file mode 100644
index 0000000000..286f047b36
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/chat/accounts.dtd
@@ -0,0 +1,41 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!-- Account manager window for Instantbird -->
+<!ENTITY accounts.title "Comptes - &brandShortName;">
+<!ENTITY accountManager.width "450">
+<!-- Instant messaging account status window for Thunderbird -->
+<!ENTITY accountsWindow.title "État de la messagerie instantanée">
+<!ENTITY accountsWindow2.style "width: 41em; height: 27em;">
+
+<!ENTITY accountManager.newAccount.label "Nouveau compte">
+<!ENTITY accountManager.newAccount.accesskey "N">
+<!ENTITY accountManager.close.label "Fermer">
+<!ENTITY accountManager.close.accesskey "F">
+<!-- This should match account.commandkey in instantbird.dtd -->
+<!ENTITY accountManager.close.commandkey "a">
+<!-- This title must be short, displayed with a big font size -->
+<!ENTITY accountManager.noAccount.title "Aucun compte configuré">
+<!ENTITY accountManager.noAccount.description "Cliquer sur le bouton « &accountManager.newAccount.label; » pour laisser &brandShortName; vous guider dans le processus de configuration.">
+<!ENTITY account.autoSignOn.label "S’identifier au démarrage">
+<!ENTITY account.autoSignOn.accesskey "S">
+<!ENTITY account.connect.label "Connecter">
+<!ENTITY account.connect.accesskey "o">
+<!ENTITY account.disconnect.label "Déconnecter">
+<!ENTITY account.disconnect.accesskey "D">
+<!ENTITY account.delete.label "Supprimer">
+<!ENTITY account.delete.accesskey "u">
+<!ENTITY account.edit.label "Propriétés">
+<!ENTITY account.edit.accesskey "P">
+<!ENTITY account.moveup.label "Monter">
+<!ENTITY account.movedown.label "Descendre">
+<!ENTITY account.cancelReconnection.label "Annuler la reconnexion">
+<!ENTITY account.cancelReconnection.accesskey "A">
+<!ENTITY account.copyDebugLog.label "Copier le journal de débogage">
+<!ENTITY account.copyDebugLog.accesskey "C">
+<!ENTITY account.showDebugLog.label "Afficher le journal de débogage">
+<!ENTITY account.showDebugLog.accesskey "h">
+<!ENTITY account.connecting "Connexion en cours…">
+<!ENTITY account.disconnecting "Déconnexion en cours…">
+<!ENTITY account.disconnected "Non connecté">
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/chat/accounts.properties b/thunderbird-l10n/fr/chrome/fr/locale/fr/chat/accounts.properties
new file mode 100644
index 0000000000..775e137c8a
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/chat/accounts.properties
@@ -0,0 +1,9 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE (passwordPromptTitle, passwordPromptText):
+# %S is replaced with the name of the account
+passwordPromptTitle=Mot de passe pour %S
+passwordPromptText=Veuillez saisir votre mot de passe pour le compte %S afin de vous connecter.
+passwordPromptSaveCheckbox=Utiliser le gestionnaire de mots de passe pour se souvenir de ce mot de passe.
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/chat/commands.properties b/thunderbird-l10n/fr/chrome/fr/locale/fr/chat/commands.properties
new file mode 100644
index 0000000000..6b70aa4a2b
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/chat/commands.properties
@@ -0,0 +1,27 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE (commands):
+# %S is a comma separated list of command names.
+commands=Commandes : %S.\nUtiliser /help &lt;commande&gt; pour plus d’informations.
+# LOCALIZATION NOTE (noCommand, noHelp):
+# %S is the command name the user typed.
+noCommand=La commande « %S » n’existe pas.
+noHelp=Désolé, pas de message d’aide pour la commande « %S » !
+
+sayHelpString=say &lt;message&gt; : envoie un message sans traitement de commandes.
+rawHelpString=raw &lt;message&gt; : envoie un message sans échapper les entités HTML.
+helpHelpString=help &lt;name&gt; : affiche un message d’aide à propos de la commande &lt;commande&gt; ou une liste des commandes disponibles si celle-ci n’est pas spécifiée.
+
+# LOCALIZATION NOTE (statusCommand):
+# %1$S is replaced with a status command name
+# (one of "back", "away", "busy", "dnd", or "offline").
+# %2$S is replaced with the localized version of that status type
+# (one of the 5 strings below).
+statusCommand=%1$S &lt;message de staut&gt; : Adopter le statut « %2$S » avec un message de statut facultatif.
+back=disponible
+away=absent·e
+busy=pas disponible
+dnd=ne pas déranger
+offline=hors ligne
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/chat/contacts.properties b/thunderbird-l10n/fr/chrome/fr/locale/fr/chat/contacts.properties
new file mode 100644
index 0000000000..33af79c1d3
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/chat/contacts.properties
@@ -0,0 +1,8 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE (defaultGroup):
+# This is the name of the group that will automatically be created when adding a
+# buddy without specifying a group.
+defaultGroup=Contacts
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/chat/conversations.properties b/thunderbird-l10n/fr/chrome/fr/locale/fr/chat/conversations.properties
new file mode 100644
index 0000000000..34dceb3a0e
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/chat/conversations.properties
@@ -0,0 +1,85 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE (targetChanged):
+# %1$S is the new conversation title (display name of the new target),
+# %2$S is the protocol name used for the new target.
+targetChanged=La conversation va continuer avec %1$S, en utilisant %2$S.
+
+# LOCALIZATION NOTE (statusChanged):
+# %1$S is the display name of the contact.
+# %2$S is the new status type (a value from status.properties).
+statusChanged=%1$S est maintenant %2$S.
+# LOCALIZATION NOTE (statusChangedWithStatusText):
+# %1$S is the display name of the contact.
+# %2$S is the new status type (a value from status.properties).
+# %3$S is the status text (eg. "I'm currently away from the computer").
+statusChangedWithStatusText=%1$S est maintenant %2$S : « %3$S ».
+# LOCALIZATION NOTE (statusChangedFromUnknown[WithStatusText]):
+# special case of the previous 2 strings for when the status was
+# previously unknown. These 2 strings should not mislead the user
+# into thinking the person's status has just changed.
+statusChangedFromUnknown=%1$S est %2$S.
+statusChangedFromUnknownWithStatusText=%1$S est %2$S : « %3$S ».
+# LOCALIZATION NOTE (statusKnown[WithStatusText]):
+# special case of the previous 2 strings for when an account has just
+# been reconnected, so the status is now known. These 2 strings should not
+# mislead the user into thinking the person's status has just changed.
+statusKnown=Votre compte a été reconnecté (%1$S est %2$S).
+statusKnownWithStatusText=Votre compte a été reconnecté (%1$S est %2$S : « %3$S »).
+# LOCALIZATION NOTE (statusUnknown):
+# %S is the display name of the contact.
+statusUnknown=Votre compte est déconnecté (le statut de %S n’est plus connu).
+
+accountDisconnected=Votre compte est déconnecté.
+accountReconnected=Votre compte a été reconnecté.
+
+# LOCALIZATION NOTE (autoReply):
+# %S is replaced by the text of a message that was sent as an automatic reply.
+autoReply=Réponse automatique - %S
+
+# LOCALIZATION NOTE (noTopic):
+# Displayed instead of the topic when no topic is set.
+noTopic=Pas de sujet pour ce salon.
+
+# LOCALIZATION NOTE (topicSet):
+# %1$S is the conversation name, %2$S is the topic.
+topicSet=Le sujet de %1$S est : %2$S.
+# LOCALIZATION NOTE (topicNotSet):
+# %S is the conversation name.
+topicNotSet=Il n’y a aucun sujet pour %S.
+# LOCALIZATION NOTE (topicChanged):
+# %1$S is the user who changed the topic, %2$S is the new topic.
+topicChanged=%1$S a changé le sujet en : %2$S.
+# LOCALIZATION NOTE (topicCleared):
+# %1$S is the user who cleared the topic.
+topicCleared=%1$S a effacé le sujet.
+
+# LOCALIZATION NOTE (nickSet):
+# This is displayed as a system message when a participant changes his/her
+# nickname in a conversation.
+# %1$S is the old nick.
+# %2$S is the new nick.
+nickSet=%1$S s’appelle maintenant %2$S.
+# LOCALIZATION NOTE (nickSet.you):
+# This is displayed as a system message when your nickname is changed.
+# %S is your new nick.
+nickSet.you=Vous êtes maintenant connu sous le pseudo %S.
+
+# LOCALIZATION NOTE (messenger.conversations.selections.ellipsis):
+# ellipsis is used when copying a part of a message to show that the message was cut
+messenger.conversations.selections.ellipsis=[…]
+
+# LOCALIZATION NOTE (messenger.conversations.selections.{system,content,action}MessagesTemplate):
+# These 3 templates are used to format selected messages before copying them.
+# Do not translate the texts between % characters, but feel free to adjust
+# whitespace and separators to make them fit your locale.
+messenger.conversations.selections.systemMessagesTemplate=%time% - %message%
+messenger.conversations.selections.contentMessagesTemplate=%time% - %sender% : %message%
+messenger.conversations.selections.actionMessagesTemplate=%time% * %sender% %message%
+
+# LOCALIZATION NOTE (message.status):
+# This is used as title attribute for the visible lock icon in case a message
+# was sent encrypted through the OTR protocol.
+message.status=Message chiffré
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/chat/facebook.properties b/thunderbird-l10n/fr/chrome/fr/locale/fr/chat/facebook.properties
new file mode 100644
index 0000000000..c21ab343cd
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/chat/facebook.properties
@@ -0,0 +1,6 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+facebook.chat.name=Messagerie instantanée Facebook
+facebook.disabled=La messagerie instantanée Facebook n’est plus prise en charge, car Facebook a désactivé la passerelle XMPP.
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/chat/imtooltip.properties b/thunderbird-l10n/fr/chrome/fr/locale/fr/chat/imtooltip.properties
new file mode 100644
index 0000000000..350094bbfe
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/chat/imtooltip.properties
@@ -0,0 +1,12 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+buddy.username=Nom d’utilisateur
+buddy.account=Compte
+contact.tags=Étiquettes
+
+otr.tag=État OTR
+
+encryption.tag=État du chiffrement
+message.status=Message chiffré
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/chat/irc.properties b/thunderbird-l10n/fr/chrome/fr/locale/fr/chat/irc.properties
new file mode 100644
index 0000000000..0c9d55df35
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/chat/irc.properties
@@ -0,0 +1,209 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE (irc.usernameHint):
+# This is displayed inside the accountUsernameInfoWithDescription
+# string defined in imAccounts.properties when the user is
+# configuring an IRC account.
+irc.usernameHint=pseudo
+
+# LOCALIZATION NOTE (connection.error.*):
+# These will show in the account manager if the account is
+# disconnected because of an error.
+connection.error.lost=Perte de la connexion avec le serveur
+connection.error.timeOut=Délai de connexion dépassé
+connection.error.invalidUsername=%S n’est pas un nom d’utilisateur autorisé
+connection.error.invalidPassword=Mot de passe du serveur incorrect
+connection.error.passwordRequired=Mot de passe requis
+
+# LOCALIZATION NOTE (joinChat.*):
+# These show up on the join chat menu. An underscore is for the access key.
+joinChat.channel=_Canal
+joinChat.password=_Mot de passe
+
+# LOCALIZATION NOTE (options.*):
+# These are the protocol specific options shown in the account manager and
+# account wizard windows.
+options.server=Serveur
+options.port=Port
+options.ssl=Utiliser SSL
+options.encoding=Encodage de caractères
+options.quitMessage=Message de départ
+options.partMessage=Message de départ du canal
+options.showServerTab=Afficher les messages du serveur
+options.alternateNicks=Pseudos alternatifs
+
+# LOCALIZATION NOTE (ctcp.version):
+# %1$S is the nickname of the user whose version was requested.
+# %2$S is the version response from the client.
+ctcp.version=%1$S utilise « %2$S »
+# LOCALIZATION NOTE (ctcp.time):
+# %1$S is the nickname of the user whose time was requested.
+# %2$S is the time response.
+ctcp.time=L’heure pour %1$S est %2$S.
+
+# LOCALZIATION NOTE (command.*):
+# These are the help messages for each command, the %S is the command name
+# Each command first gives the parameter it accepts and then a description of
+# the command.
+command.action=%S &lt;action à réaliser&gt; : Réalise une action.
+command.ban=%S &lt;pseudo!utilisateur@hôte&gt; : Bannir les utilisateurs qui correspondent à la règle d’exclusion définie.
+command.ctcp=%S &lt;pseudo&gt; &lt;message&gt; : Envoie un message CTCP au pseudo.
+command.chanserv=%S &lt;commande&gt; : Envoie une commande à ChanServ.
+command.deop=%S &lt;pseudo1&gt;[,&lt;pseudo2&gt;]* : Retire le statut opérateur à quelqu’un. Vous devez être opérateur pour faire cela.
+command.devoice=%S &lt;pseudo1&gt;[,&lt;pseudo2&gt;]* : Retire le statut voice à quelqu’un, l’empêchant de parler dans le canal si celui-ci est modéré (+m). Vous devez être opérateur pour faire cela.
+command.invite2=%S &lt;pseudo&gt;[ &lt;pseudo&gt;]* [&lt;canal&gt;]: Invite une ou plusieurs personnes à vous rejoindre dans le canal spécifié ou dans le canal en cours.
+command.join=%S &lt;canal1&gt;[ &lt;clé1&gt;][,&lt;canal2&gt;[ &lt;clé2&gt;]]* : Permet d’entrer dans un ou plusieurs canaux en donnant une clé si nécessaire.
+command.kick=%S &lt;pseudo&gt; [&lt;message&gt;] : Expulse quelqu’un d’un canal. Vous devez être opérateur pour faire cela.
+command.list=%S : Affiche une liste des canaux du réseau. Attention, certains serveurs peuvent vous déconnecter si vous faites cela.
+command.memoserv=%S &lt;commande&gt; : Envoie une commande à MemoServ.
+command.modeUser2=%S &lt;pseudo&gt; [(+|-)&lt;mode&gt;] : Lire, attribuer ou retirer un mode pour un utilisateur.
+command.modeChannel2=%S [&lt;canal&gt;] [(+|-)&lt;nouveau mode&gt; [&lt;paramètre&gt;][,&lt;paramètre&gt;]*] : Lire, attribuer ou retirer le mode associé à un canal.
+command.msg=%S &lt;pseudo&gt; &lt;message&gt; : Envoie un message privé à un utilisateur (par opposition à un canal).
+command.nick=%S &lt;nouveau pseudo&gt; : Change votre pseudo.
+command.nickserv=%S &lt;commande&gt; : Envoie une commande à NickServ.
+command.notice=%S &lt;cible&gt; &lt;message&gt; : Envoie une information à un utilisateur ou à un canal.
+command.op=%S &lt;pseudo1&gt;[,&lt;pseudo2&gt;]* : Donne le statut opérateur à quelqu’un. Vous devez être opérateur pour faire cela.
+command.operserv=%S &lt;commande&gt; : Envoie une commande à OperServ.
+command.part=%S [message] : Quitte le canal en cours avec un message optionnel.
+command.ping=%S [&lt;pseudo&gt;] : Demande la latence d’un utilisateur (ou du serveur si aucun utilisateur n’est spécifié).
+command.quit=%S &lt;message&gt; : Déconnecte du serveur avec un message optionnel.
+command.quote=%S &lt;command&gt; : Envoie une commande raw au serveur.
+command.time=%S : Affiche l’heure locale du serveur IRC.
+command.topic=%S [&lt;new topic&gt;] : Définit le sujet du canal.
+command.umode=%S (+|-)&lt;nouveau mode&gt; : Ajoute ou retire un mode pour un utilisateur.
+command.version=%S &lt;pseudo&gt; : Demande la version du client IRC d’un utilisateur.
+command.voice=%S &lt;pseudo1&gt;[,&lt;pseudo2&gt;]* : Donne le statut voice à quelqu’un. Vous devez être opérateur pour faire cela.
+command.whois2=%S [&lt;pseudo&gt;] : Fournit des informations sur un utilisateur.
+
+# LOCALIZATION NOTE (message.*):
+# These are shown as system messages in the conversation.
+# %1$S is the nick and %2$S is the nick and host of the user who joined.
+message.join=%1$S [%2$S] est entré dans le canal.
+message.rejoined=Vous êtes entré dans le canal.
+# %1$S is the nick of who kicked you.
+# %2$S is message.kicked.reason, if a kick message was given.
+message.kicked.you=Vous avez été expulsé par %1$S%2$S.
+# %1$S is the nick that is kicked, %2$S the nick of the person who kicked
+# %1$S. %3$S is message.kicked.reason, if a kick message was given.
+message.kicked=%1$S a été expulsé par %2$S%3$S.
+# %S is the kick message
+message.kicked.reason= : %S
+# %1$S is the new mode, %2$S is the nickname of the user whose mode
+# was changed, and %3$S is who set the mode.
+message.usermode=Mode %1$S pour %2$S donné par %3$S.
+# %1$S is the new channel mode and %2$S is who set the mode.
+message.channelmode=Mode %1$S ajouté au canal par %2$S.
+# %S is the user's mode.
+message.yourmode=Vous possédez le mode %S.
+# Could not change the nickname. %S is the user's nick.
+message.nick.fail=Impossible d’utiliser le pseudo spécifié. Votre pseudo reste %S.
+# The parameter is the message.parted.reason, if a part message is given.
+message.parted.you=Vous avez quitté le canal (Part%1$S).
+# %1$S is the user's nick, %2$S is message.parted.reason, if a part message is given.
+message.parted=%1$S a quitté le canal (Part%2$S).
+# %S is the part message supplied by the user.
+message.parted.reason=: %S
+# %1$S is the user's nick, %2$S is message.quit2 if a quit message is given.
+message.quit=%1$S a quitté le canal (Quit%2$S).
+# The parameter is the quit message given by the user.
+message.quit2= : %S
+# %1$S is the nickname of the user that invited us, %2$S is the conversation
+# name.
+message.inviteReceived=%1$S vous a invité dans %2$S.
+# %1$S is the nickname of the invited user, %2$S is the conversation name
+# they were invited to.
+message.invited=%1$S a été invité avec succès dans %2$S.
+# %1$S is the nickname of the invited user, %2$S is the conversation name
+# they were invited to but are already in
+message.alreadyInChannel=%1$S se trouve déjà dans %2$S.
+# %S is the nickname of the user who was summoned.
+message.summoned=%S a été invoqué.
+# %S is the nickname of the user whose WHOIS information follows this message.
+message.whois=Informations WHOIS pour %S :
+# %1$S is the nickname of the (offline) user whose WHOWAS information follows this message.
+message.whowas=%1$S est hors ligne. Informations WHOWAS pour %1$S :
+# %1$S is the entry description (from tooltip.*), %2$S is its value.
+message.whoisEntry=\ua0\ua0\ua0\ua0%1$S : %2$S
+# %S is the nickname that is not known to the server.
+message.unknownNick=%S est un nom d’utilisateur inconnu.
+# %1$S is the nickname of the user who changed the mode and %2$S is the new
+# channel key (password).
+message.channelKeyAdded=%1$S a modifié le mot de passe du canal en %2$S.
+message.channelKeyRemoved=%S a supprimé le mot de passe du canal.
+# This will be followed by a list of ban masks.
+message.banMasks=Les utilisateurs connectés depuis les lieux suivants ont été bannis de %S :
+message.noBanMasks=Aucun lieu n’a été banni pour %S.
+message.banMaskAdded=Les utilisateurs connectés depuis les lieux correspondants à %1$S ont été bannis par %2$S.
+message.banMaskRemoved=Les utilisateurs connectés depuis les lieux correspondants à %1$S ne sont plus bannis par %2$S.
+# LOCALIZATION NOTE (message.ping): Semi-colon list of plural forms.
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# %1$S is the nickname of the user or the server that was pinged.
+# #2 is the delay (in milliseconds).
+message.ping=Réponse au ping de %1$S en #2 milliseconde.;Réponse au ping de %1$S en #2 millisecondes.
+
+
+# LOCALIZATION NOTE (error.*):
+# These are shown as error messages in the conversation or server tab.
+# %S is the channel name.
+error.noChannel=Il n’existe pas de canal : %S.
+error.tooManyChannels=Vous ne pouvez pas rejoindre le canal %S : vous avez rejoint trop de canaux.
+# %1$S is your new nick, %2$S is the kill message from the server.
+error.nickCollision=Le pseudo est déjà utilisé, pseudo modifié en %1$S [%2$S].
+error.erroneousNickname=%S n’est pas un pseudo autorisé.
+error.banned=Vous avez été banni de ce serveur.
+error.bannedSoon=Vous allez être bientôt banni de ce serveur.
+error.mode.wrongUser=Vous ne pouvez pas changer les modes pour les autres utilisateurs.
+# %S is the nickname or channel name that isn't available.
+error.noSuchNick=%S n’est pas en ligne.
+error.wasNoSuchNick=Ce nom d’utilisateur n’était pas attribué : %S
+error.noSuchChannel=Ce canal n’existe pas : %S.
+error.unavailable=%S est temporairement indisponible.
+# %S is the channel name.
+error.channelBanned=Vous avez été banni de %S.
+error.cannotSendToChannel=Vous ne pouvez pas envoyer de messages à %S.
+error.channelFull=Le salon %S est complet.
+error.inviteOnly=Vous avez été invité à rejoindre %S.
+error.nonUniqueTarget=%S n’est pas un identifiant unique utilisateur@hôte ou raccourci, ou vous avez essayé de rejoindre trop de canaux à la fois.
+error.notChannelOp=Vous n’avez pas les droits d’opérateur sur le canal %S.
+error.notChannelOwner=Vous n’êtes pas le créateur du canal %S.
+error.wrongKey=Impossible de rejoindre %S, mot de passe du canal incorrect.
+error.sendMessageFailed=Une erreur s’est produite lors de l’envoi de votre dernier message. Veuillez réessayer une fois la connexion rétablie.
+# %1$S is the channel the user tried to join, %2$S is the channel
+# he was forwarded to.
+error.channelForward=Vous n’avez pas pu rejoindre %1$S et avez été redirigé vers %2$S.
+# %S is the mode that the user tried to set but was not recognized
+# by the server as a valid mode.
+error.unknownMode=« %S » n’est pas un mode utilisateur valide sur ce serveur.
+
+# LOCALIZATION NOTE (tooltip.*):
+# These are the descriptions given in a tooltip with information received
+# from a whois response.
+# The human readable ("realname") description of the user.
+tooltip.realname=Nom
+tooltip.server=Connecté à
+# The username and hostname that the user connects from (usually based on the
+# reverse DNS of the user's IP, but often mangled by the server to
+# protect users).
+tooltip.connectedFrom=Connecté à
+tooltip.registered=Enregistré
+tooltip.registeredAs=Enregistré en tant que
+tooltip.secure=Utilise une connexion sécurisée
+# The away message of the user
+tooltip.away=Absent
+tooltip.ircOp=Opérateur IRC
+tooltip.bot=Robot
+tooltip.lastActivity=Dernière activité
+# %S is the timespan elapsed since the last activity.
+tooltip.timespan=Il y a %S
+tooltip.channels=Actuellement sur
+
+# %1$S is the server name, %2$S is some generic server information (usually a
+# location or the date the user was last seen).
+tooltip.serverValue=%1$S (%2$S)
+
+# LOCALIZATION NOTE (yes, no):
+# These are used to turn true/false values into a yes/no response.
+yes=Oui
+no=Non
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/chat/logger.properties b/thunderbird-l10n/fr/chrome/fr/locale/fr/chat/logger.properties
new file mode 100644
index 0000000000..7e41137f69
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/chat/logger.properties
@@ -0,0 +1,7 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE (badLogfile):
+# %S is the filename of the log file.
+badLogfile=Fichier journal vide ou corrompu : %S
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/chat/matrix.properties b/thunderbird-l10n/fr/chrome/fr/locale/fr/chat/matrix.properties
new file mode 100644
index 0000000000..dca6f04ede
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/chat/matrix.properties
@@ -0,0 +1,255 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE (matrix.usernameHint):
+# This is displayed inside the accountUsernameInfoWithDescription
+# string defined in imAccounts.properties when the user is
+# configuring a Matrix account.
+matrix.usernameHint=Identifiant Matrix
+
+# LOCALIZATION NOTE (options.*):
+# These are the protocol specific options shown in the account manager and
+# account wizard windows.
+options.saveToken=Enregistrer le jeton d’accès
+options.deviceDisplayName=Nom d’affichage de l’appareil
+options.homeserver=Serveur
+options.backupPassphrase=Phrase de passe pour la sauvegarde de la clé
+
+# LOCALIZATION NOTE (options.encryption.*):
+# These are strings used to build the status information of the encryption
+# storage, shown in the account manager. %S is one of the statuses and the
+# strings are combined with a pipe (|) between.
+options.encryption.enabled=Fonctions cryptographiques : %S
+options.encryption.secretStorage=Stockage secret : %S
+options.encryption.keyBackup=Sauvegarde de la clé de chiffrement : %S
+options.encryption.crossSigning=Signature croisée : %S
+options.encryption.statusOk=ok
+options.encryption.statusNotOk=pas prêt
+options.encryption.needBackupPassphrase=Veuillez entrer votre phrase de passe pour la clé de sauvegarde dans les options de protocole.
+options.encryption.setUpSecretStorage=Pour configurer le stockage secret, veuillez utiliser un autre client, puis saisissez la phrase secrète de la clé de sauvegarde générée dans l’onglet « Général ».
+options.encryption.setUpBackupAndCrossSigning=Pour activer les sauvegardes et la signature croisée de la clé de chiffrement, saisissez la phrase secrète de votre clé de sauvegarde dans l’onglet « Général » ou vérifiez l’identité de l’une des sessions ci-dessous.
+# %1$S is the session ID, %2$S is the session display name
+options.encryption.session=%1$S (%2$S)
+
+# LOCALIZATION NOTE (connection.*):
+# These will be displayed in the account manager in order to show the progress
+# of the connection.
+# (These will be displayed in account.connection.progress from
+# accounts.properties, which adds … at the end, so do not include
+# periods at the end of these messages.)
+connection.requestAuth=En attente de votre autorisation
+connection.requestAccess=Finalisation de l’authentification
+
+# LOCALIZATION NOTE (connection.error.*):
+# These will show in the account manager if an error occurs during the
+# connection attempt.
+connection.error.noSupportedFlow=Le serveur n’offre pas de flux de connexion compatible.
+connection.error.authCancelled=Vous avez annulé le processus d’autorisation.
+connection.error.sessionEnded=La session a été déconnectée.
+connection.error.serverNotFound=Impossible d’identifier le serveur Matrix pour le compte Matrix donné.
+
+# LOCALIZATION NOTE (chatRoomField.*):
+# These are the name of fields displayed in the 'Join Chat' dialog
+# for Matrix accounts.
+# The _ character won't be displayed; it indicates the next
+# character of the string should be used as the access key for this
+# field.
+chatRoomField.room=_Salle
+
+# LOCALIZATION NOTE (tooltip.*):
+# These are the descriptions given in a tooltip with information received
+# from the "User" object.
+# The human readable name of the user.
+tooltip.displayName=Nom à afficher
+# %S is the timespan elapsed since the last activity.
+tooltip.timespan=Il y a %S
+tooltip.lastActive=Dernière activité
+
+# LOCALIZATION NOTE (powerLevel.*):
+# These are the string representations of different standard power levels and strings.
+# %S are one of the power levels, Default/Moderator/Admin/Restricted/Custom.
+powerLevel.default=Par défaut
+powerLevel.moderator=Modération
+powerLevel.admin=Admin
+powerLevel.restricted=Limité
+powerLevel.custom=Personnalisé
+# %1$S is the power level name
+# %2$S is the power level number
+powerLevel.detailed=%1$S (%2$S)
+powerLevel.defaultRole=Rôle par défaut : %S
+powerLevel.inviteUser=Inviter des utilisateurs : %S
+powerLevel.kickUsers=Expulser des utilisateurs : %S
+powerLevel.ban=Bannir des utilisateurs : %S
+powerLevel.roomAvatar=Changer l’avatar du salon : %S
+powerLevel.mainAddress=Modifier l’adresse principale du salon : %S
+powerLevel.history=Changer la visibilité de l’historique : %S
+powerLevel.roomName=Changer le nom du salon : %S
+powerLevel.changePermissions=Modifier les permissions : %S
+powerLevel.server_acl=Envoyer des évènements m.room.server_acl : %S
+powerLevel.upgradeRoom=Mettre à niveau le salon : %S
+powerLevel.remove=Supprimer des messages : %S
+powerLevel.events_default=Évènements par défaut : %S
+powerLevel.state_default=Modifier le paramètre : %S
+powerLevel.encryption=Activer le chiffrement du salon : %S
+powerLevel.topic=Définir le sujet du salon : %S
+
+# LOCALIZATION NOTE (detail.*):
+# These are the string representations of different matrix properties.
+# %S will typically be strings with the actual values.
+# Example placeholder: "Foo bar"
+detail.name=Nom : %S
+# Example placeholder: "My first room"
+detail.topic=Sujet : %S
+# Example placeholder: "5"
+detail.version=Version du salon : %S
+# Example placeholder: "#thunderbird:mozilla.org"
+detail.roomId=RoomID : %S
+# %S are all admin users. Example: "@foo:example.com, @bar:example.com"
+detail.admin=Admin : %S
+# %S are all moderators. Example: "@lorem:mozilla.org, @ipsum:mozilla.org"
+detail.moderator=Modération : %S
+# Example placeholder: "#thunderbird:matrix.org"
+detail.alias=Alias : %S
+# Example placeholder: "can_join"
+detail.guest=Accès invités : %S
+# This is a heading, followed by the powerLevel.* strings
+detail.power=Niveaux :
+
+# LOCALIZATION NOTE (command.*):
+# These are the help messages for each command, the %S is the command name
+# Each command first gives the parameter it accepts and then a description of
+# the command.
+command.ban=%S &lt;userId&gt; [&lt;raison&gt;] : bannir l’utilisateur avec l’identifiant userId du salon avec un message facultatif en donnant la raison. Nécessite l’autorisation de bannir des utilisateurs.
+command.invite=%S &lt;userId&gt; : inviter l’utilisateur à rejoindre le salon.
+command.kick=%S &lt;userId&gt; [&lt;raison&gt;] : expulser l’utilisateur avec l’identifiant userId du canal avec un message facultatif en donnant la raison. Nécessite l’autorisation d’expulser des utilisateurs.
+command.nick=%S &lt;nouveau_nom&gt; : change votre nom d’affichage.
+command.op=%S &lt;userId&gt ; [&lt;niveau&gt;] : définit le niveau d’autorisation de l’utilisateur. Saisissez une valeur entière, avec les niveaux Utilisateur : 0, Modérateur : 50 et Admin : 100. La valeur par défaut sera de 50 si aucun argument n’est fourni. Nécessite l’autorisation de changer les niveaux de pouvoir des membres. Ne fonctionne pas sur les administrateurs autres que vous-même.
+command.deop=%S &lt;userId&gt; : réinitialise le niveau de l’utilisateur à 0 (Utilisateur). Nécessite l’autorisation de changer les niveaux de pouvoir des membres. Ne fonctionne pas sur les administrateurs autres que vous-même.
+command.leave=%S : quitte le salon courant.
+command.topic=%S &lt;sujet&gt; : définit un sujet pour le salon. Nécessite l’autorisation de changer le sujet du salon.
+command.unban=%S &lt;userId&gt; : annule le bannissement d’un utilisateur du salon. Nécessite l’autorisation de bannissement.
+command.visibility=%S [&lt;visibilité&gt;] : définit la visibilité du salon courant dans le répertoire du serveur d’accueil courant. Saisissez une valeur entière, parmi Privée : 0 et Publique : 1. La valeur par défaut sera Privée (0) si aucun argument n’est fourni. Nécessite la permission de changer la visibilité du salon.
+command.guest=%S &lt;accès invité&gt; &lt;visibilité de l’historique&gt; : définit l’accès et la visibilité de l’historique du salon courant pour les utilisateurs invités. Saisissez deux valeurs entières, la première pour l’accès invité (non autorisé : 0 et autorisé : 1) et la deuxième pour la visibilité de l’historique (non visible : 0 et visible : 1). Nécessite l’autorisation de changer la visibilité de l’historique.
+command.roomname=%S &lt;name&gt; : définit le nom du salon. Nécessite l’autorisation de changer le nom du salon.
+command.detail=%S : affiche les détails du salon.
+command.addalias=%S &lt;alias&gt; : crée un alias pour le salon. La forme du nom attendue est « #nomlocal:domaine ». Nécessite l’autorisation d’ajouter des alias.
+command.removealias=%S &lt;alias&gt; : supprime l’alias du salon. La forme du nom attendue est « #nomlocal:domaine ». Nécessite l’autorisation de supprimer des alias.
+command.upgraderoom=%S &lt;nouvelleVersion&gt; : met à jour le salon vers la version donnée. Nécessite l’autorisation de mettre à niveau le salon.
+command.me=%S &lt;action&gt; : exécute une action.
+command.msg=%S &lt;userId&gt; &lt;message&gt; : envoie un message direct à l’utilisateur donné.
+command.join=%S &lt;roomId&gt; : rejoint le salon donné.
+
+# LOCALIZATION NOTE (message.*):
+# These are shown as system messages in the conversation.
+# %1$S is the name of the user who banned.
+# %2$S is the name of the user who got banned.
+message.banned=%1$S a banni %2$S.
+# Same as message.banned but with a reason.
+# %3$S is the reason the user was banned.
+message.bannedWithReason=%1$S a banni %2$S. Raison : %3$S
+# %1$S is the name of the user who accepted the invitation.
+# %2$S is the name of the user who sent the invitation.
+message.acceptedInviteFor=%1$S a accepté l’invitation de %2$S.
+# %S is the name of the user who accepted an invitation.
+message.acceptedInvite=$S a accepté une invitation.
+# %1$S is the name of the user who invited.
+# %2$S is the name of the user who got invited.
+message.invited=%1$S a invité %2$S.
+# %1$S is the name of the user who changed their display name.
+# %2$S is the old display name.
+# %3$S is the new display name.
+message.displayName.changed=%1$S a changé son nom d’affichage de %2$S à %3$S.
+# %1$S is the name of the user who set their display name.
+# %2$S is the newly set display name.
+message.displayName.set=%1$S a défini son nom d’affichage à %2$S.
+# %1$S is the name of the user who removed their display name.
+# %2$S is the old display name which has been removed.
+message.displayName.remove=%1$S a supprimé son nom d’affichage %2$S.
+# %S is the name of the user who has joined the room.
+message.joined=%S a rejoint le salon.
+# %S is the name of the user who has rejected the invitation.
+message.rejectedInvite=%S a refusé l’invitation.
+# %S is the name of the user who has left the room.
+message.left=%1$S a quitté le salon.
+# %1$S is the name of the user who unbanned.
+# %2$S is the name of the user who got unbanned.
+message.unbanned=%1$S a levé le bannissement de %2$S.
+# %1$S is the name of the user who kicked.
+# %2$S is the name of the user who got kicked.
+message.kicked=%1$S a expulsé %2$S.
+# Same as message.kicked but with a third parameter for the reason.
+# %3$S is the reason for the kick.
+message.kickedWithReason=%1$S a expulsé %2$S. Raison : %3$S
+# %1$S is the name of the user who withdrew invitation.
+# %2$S is the name of the user whose invitation has been withdrawn.
+message.withdrewInvite=%1$S a retiré l’invitation de %2$S.
+# Same as message.withdrewInvite but with a third parameter for the reason.
+# %3$S is the reason the invite was withdrawn.
+message.withdrewInviteWithReason=%1$S a retiré l’invitation de %2$S. Raison : %3$S
+# %S is the name of the user who has removed the room name.
+message.roomName.remove=%S a supprimé le nom du salon.
+# %1$S is the name of the user who changed the room name.
+# %2$S is the new room name.
+message.roomName.changed=%1$S a changé le nom du salon en %2$S.
+# %1$S is the name of the user who changed the power level.
+# %2$S is a list of "message.powerLevel.fromTo" strings representing power level changes separated by commas
+# power level changes, separated by commas if there are multiple changes.
+message.powerLevel.changed=%1$S a modifié le niveau d’autorisation de %2$S.
+# %1$S is the name of the target user whose power level has been changed.
+# %2$S is the old power level.
+# %2$S is the new power level.
+message.powerLevel.fromTo=%1$S de %2$S à %3$S
+# %S is the name of the user who has allowed guests to join the room.
+message.guest.allowed=%S a autorisé les invités à rejoindre le salon.
+# %S is the name of the user who has prevented guests to join the room.
+message.guest.prevented=%S a interdit aux invités de rejoindre le salon.
+# %S is the name of the user who has made future room history visible to anyone.
+message.history.anyone=%S a rendu visible l’historique futur du salon pour tout le monde.
+# %S is the name of the user who has made future room history visible to all room members.
+message.history.shared=%S a rendu visible l’historique futur du salon à tous les membres du salon.
+# %S is the name of the user who has made future room history visible to all room members, from the point they are invited.
+message.history.invited=%S a rendu visible l’historique futur du salon à tous ses membres, à partir du moment où ils sont invités.
+# %S is the name of the user who has made future room history visible to all room members, from the point they joined.
+message.history.joined=%S a rendu visible l’historique futur du salon à tous ses membres, à partir du moment où ils ont rejoint celui-ci.
+# %1$S is the name of the user who changed the address.
+# %2$S is the old address.
+# %3$S is the new address.
+message.alias.main=%1$S a changé l’adresse principale de ce salon de %2$S à %3$S.
+# %1$S is the name of the user who added the address.
+# %2$S is a comma delimited list of added addresses.
+message.alias.added=%1$S a ajouté %2$S comme adresse alternative pour ce salon.
+# %1$S is the name of the user who removed the address.
+# %2$S is a comma delimited list of removed addresses.
+message.alias.removed=%1$S a supprimé %2$S comme adresse alternative pour ce salon.
+# %1$S is the name of the user that edited the alias addresses.
+# %2$S is a comma delimited list of removed addresses.
+# %3$S is a comma delmited list of added addresses.
+message.alias.removedAndAdded=%1$S a supprimé %2$S et ajouté %3$S comme adresse pour ce salon.
+message.spaceNotSupported=Ce salon est un espace, ce qui n’est pas pris en charge.
+message.encryptionStart=Les messages de cette conversation sont désormais chiffrés de bout en bout.
+# %1$S is the name of the user who sent the verification request.
+# %2$S is the name of the user that is receiving the verification request.
+message.verification.request2=%1$S veut vérifier %2$S.
+# %1$S is the name of the user who cancelled the verification request.
+# %2$S is the reason given why the verification was cancelled.
+message.verification.cancel2=%1$S a annulé la vérification avec la raison : %2$S
+message.verification.done=Vérification terminée.
+message.decryptionError=Impossible de déchiffrer le contenu de ce message. Pour demander des clés de chiffrement à partir de vos autres appareils, faites un clic droit sur ce message.
+message.decrypting=Déchiffrement…
+message.redacted=Message effacé.
+# %1$S is the username of the user that reacted.
+# %2$S is the username of the user that sent the message the reaction was added to.
+# %3$S is the content (typically an emoji) of the reaction.
+message.reaction=%1$S a réagi à %2$S avec %3$S.
+
+# Label in the message context menu
+message.action.requestKey=Redemander les clés
+message.action.redact=Effacer
+message.action.report=Signaler le message
+message.action.retry=Réessayer l’envoi
+message.action.cancel=Annuler le message
+
+# LOCALIZATION NOTE (error.*)
+# These are strings shown as system messages when an action the user took fails.
+error.sendMessageFailed=Une erreur s’est produite lors de l’envoi de votre message « %1$S ».
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/chat/status.properties b/thunderbird-l10n/fr/chrome/fr/locale/fr/chat/status.properties
new file mode 100644
index 0000000000..682421ce4d
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/chat/status.properties
@@ -0,0 +1,23 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+availableStatusType=Disponible
+awayStatusType=Absent
+unavailableStatusType=Occupé
+offlineStatusType=Déconnecté
+invisibleStatusType=Invisible
+idleStatusType=Inactif
+mobileStatusType=Mobile
+# LOCALIZATION NOTE (unknownStatusType):
+# the status of a buddy is unknown when it's in the list of a disconnected account
+unknownStatusType=Inconnu
+
+# LOCALIZATION NOTE (statusWithStatusMessage):
+# Used to display the status of a buddy together with its status message.
+# %1$S is the status type, %2$S is the status message text.
+statusWithStatusMessage=%1$S - %2$S
+
+# LOCALIZATION NOTE (messenger.status.defaultIdleAwayMessage):
+# This will be the away message put automatically when the user is idle.
+messenger.status.defaultIdleAwayMessage=Je suis absent pour le moment.
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/chat/twitter.properties b/thunderbird-l10n/fr/chrome/fr/locale/fr/chat/twitter.properties
new file mode 100644
index 0000000000..a4c8dc6628
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/chat/twitter.properties
@@ -0,0 +1,122 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE (twitter.protocolName)
+# This name is used whenever the name of the protocol is shown.
+twitter.protocolName=Twitter
+
+# LOCALIZATION NOTE (error.*):
+# These are errors that will be shown to the user in conversation.
+error.tooLong=Le statut contient plus de 140 caractères.
+# LOCALIZATION NOTE (error.general, error.retweet, error.delete):
+# %1$S will be either the error string returned by the twitter server,
+# in English, inside parenthesis, or the empty string if we have no specific
+# message for the error.
+# %2$S is the message that caused the error.
+error.general=Une erreur %1$S s’est produite en envoyant : %2$S
+error.retweet=Une erreur %1$S s’est produite en retweetant : %2$S
+error.delete=Une erreur %1$S s’est produite en supprimant : %2$S
+error.like=Une erreur %1$S s’est produite lors de l’ajout du « j’aime » : %2$S
+error.unlike=Une erreur %1$S s’est produite lors du retrait du « j’aime » : %2$S
+# LOCALIZATION NOTE (error.descriptionTooLong)
+# %S is the truncated string that was sent to the server.
+error.descriptionTooLong=La description dépasse la longueur maximale (160 caractères), elle a été automatiquement tronquée en : %S.
+
+# LOCALIZATION NOTE (timeline):
+# This is the title of the conversation tab, %S will be replaced by
+# @<username>.
+timeline=Fil pour %S
+
+# LOCALIZATION NOTE (action.*):
+# This will be an action in the context menu of displayed tweets.
+action.copyLink=Copier l’adresse du tweet
+action.retweet=Retweeter
+action.reply=Répondre
+action.delete=Supprimer
+# LOCALIZATION NOTE (action.follow, action.stopFollowing):
+# %S will be replaced by the screen name of a twitter user.
+action.follow=Suivre %S
+action.stopFollowing=Ne plus suivre %S
+action.like=Aimer
+action.unlike=Ne plus aimer
+
+# LOCALIZATION NOTE (event.follow, event.unfollow, event.followed):
+# This will be displayed in system messages inside the timeline conversation.
+# %S will be replaced by the screen name of a twitter user.
+event.follow=Vous suivez maintenant %S.
+event.unfollow=Vous ne suivez plus %S.
+event.followed=%S vous suit désormais.
+# LOCALIZATION NOTE (event.deleted):
+# %S will be replaced by the text of the deleted tweet.
+event.deleted=Vous avez supprimé ce tweet : « %S ».
+
+# LOCALIZATION NOTE (replyingToStatusText):
+# This will be visible in the status bar of the conversation window
+# while the user is typing a reply to a tweet.
+# %S will be replaced by the text of the tweet the user is replying to.
+replyingToStatusText=Réponse à : %S
+
+# LOCALIZATION NOTE (connection.*):
+# These will be displayed in the account manager in order to show the progress
+# of the connection.
+# (These will be displayed in account.connection.progress from
+# accounts.properties, which adds … at the end, so do not include
+# periods at the end of these messages.)
+connection.initAuth=Démarrage du processus d’authentification
+connection.requestAuth=En attente de votre autorisation
+connection.requestAccess=Finalisation de l’authentification
+connection.requestTimelines=Demande de l’historique des utilisateurs
+# LOCALIZATION NOTE (connection.error.*):
+# These will show in the account manager if an error occurs during the
+# connection attempt.
+connection.error.userMismatch=Nom d’utilisateur incorrect.
+connection.error.failedToken=Impossible d’obtenir un jeton de requête.
+connection.error.authCancelled=Vous avez annulé le processus d’autorisation.
+connection.error.authFailed=Impossible d’obtenir l’autorisation.
+connection.error.noNetwork=Pas de connexion réseau disponible.
+
+# LOCALIZATION NOTE (authPrompt):
+# This is the prompt in the browser window that pops up to authorize us
+# to use a Twitter account. It is shown in the title bar of the authorization
+# window.
+authPrompt=Donnez votre autorisation d’utilisation de votre compte Twitter
+
+# LOCALIZATION NOTE (options.*):
+# These are the protocol specific options shown in the account manager and
+# account wizard windows.
+options.track=Mots-clés suivis
+
+# LOCALIZATION NOTE (tooltip.*):
+# These are the Twitter information that will appear in the tooltip
+# for each participant on the home timeline.
+# LOCALIZATION NOTE (tooltip.created_at): the date the user joined.
+tooltip.created_at=Inscrit depuis
+tooltip.location=Localisation
+tooltip.lang=Langue
+tooltip.time_zone=Fuseau horaire
+tooltip.url=Page web
+# LOCALIZATION NOTE (tooltip.protected):
+# whether the user's tweets are publicly visible.
+tooltip.protected=Tweets protégés
+# LOCALIZATION NOTE (tooltip.following):
+# whether you are subscribed to the user's tweets.
+tooltip.following=Abonné
+tooltip.name=Nom
+tooltip.description=Description
+# LOCALIZATION NOTE (tooltip.*_count):
+# Please see the right side of the official Twitter website UI.
+tooltip.friends_count=Abonnements
+tooltip.statuses_count=Tweets
+tooltip.followers_count=Abonnés
+tooltip.listed_count=Listé
+
+# LOCALIZATION NOTE (yes, no):
+# These are used to turn true/false values into a yes/no response.
+yes=Oui
+no=Non
+
+command.follow=%S &lt;nom d’utilisateur&gt;[ &lt;nom d’utilisateur&gt;]*: Suivre un ou plusieurs utilisateurs.
+command.unfollow=%S &lt;nom d’utilisateur&gt;[ &lt;nom d’utilisateur&gt;]*: Arrêter de suivre un ou plusieurs utilisateurs.
+
+twitter.disabled=Twitter n’est plus pris en charge en raison de la désactivation de son protocole de streaming par Twitter.
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/chat/xmpp.properties b/thunderbird-l10n/fr/chrome/fr/locale/fr/chat/xmpp.properties
new file mode 100644
index 0000000000..cba2faf902
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/chat/xmpp.properties
@@ -0,0 +1,274 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE (connection.*)
+# These will be displayed in the account manager in order to show the progress
+# of the connection.
+# (These will be displayed in account.connection.progress from
+# accounts.properties, which adds … at the end, so do not include
+# periods at the end of these messages.)
+connection.initializingStream=Initialisation du flux
+connection.initializingEncryption=Initialisation du chiffrement
+connection.authenticating=Authentification
+connection.gettingResource=Obtention des ressources
+connection.downloadingRoster=Téléchargement de la liste des contacts
+connection.srvLookup=Recherche de l’enregistrement SRV
+
+# LOCALIZATION NOTE (connection.error.*)
+# These will show in the account manager if an error occurs during the
+# connection attempt.
+connection.error.invalidUsername=Nom d’utilisateur invalide (Votre nom d’utilisateur doit contenir le caractère « @ »)
+connection.error.failedToCreateASocket=Échec de création de socket (Êtes-vous déconnecté ?)
+connection.error.serverClosedConnection=Le serveur a fermé la connexion
+connection.error.resetByPeer=Connexion réinitialisée par le serveur
+connection.error.timedOut=Délai de connexion dépassé
+connection.error.receivedUnexpectedData=Réception de données inattendues
+connection.error.incorrectResponse=Réception d’une réponse incorrecte
+connection.error.startTLSRequired=Le serveur nécessite un chiffrement mais vous l’avez désactivé
+connection.error.startTLSNotSupported=Le serveur ne gère pas le chiffrement mais votre configuration le nécessite
+connection.error.failedToStartTLS=Échec du démarrage du chiffrement
+connection.error.noAuthMec=Aucun mécanisme d’authentification n’est proposé par le serveur
+connection.error.noCompatibleAuthMec=Aucun des mécanismes d’authentification proposés par le serveur n’est géré
+connection.error.notSendingPasswordInClear=Le serveur ne gère l’authentification que par l’envoi de mot de passe en clair
+connection.error.authenticationFailure=Échec d’authentification
+connection.error.notAuthorized=Refusé (Avez-vous saisi le bon mot de passe ?)
+connection.error.failedToGetAResource=Échec de l’obtention d’une ressource
+connection.error.failedMaxResourceLimit=Ce compte est connecté depuis trop d’endroits à la fois.
+connection.error.failedResourceNotValid=La ressource est invalide.
+connection.error.XMPPNotSupported=Ce serveur ne prend pas en charge XMPP
+
+# LOCALIZATION NOTE (conversation.error.notDelivered):
+# This is displayed in a conversation as an error message when a message
+# the user has sent wasn't delivered.
+# %S is replaced by the text of the message that wasn't delivered.
+conversation.error.notDelivered=Ce message n’a pas pu être remis : %S
+# This is displayed in a conversation as an error message when joining a MUC
+# fails.
+# %S is the name of the MUC.
+conversation.error.joinFailed=Impossible de rejoindre : %S
+# This is displayed in a conversation as an error message when the user is
+# banned from a room.
+# %S is the name of the MUC room.
+conversation.error.joinForbidden=Impossible de rejoindre %S car vous avez été banni du canal.
+conversation.error.joinFailedNotAuthorized=Enregistrement nécessaire : vous ne pouvez pas rejoindre ce canal.
+conversation.error.creationFailedNotAllowed=Accès interdit : vous ne pouvez pas créer de canaux.
+# This is displayed in a conversation as an error message when remote server
+# is not found.
+# %S is the name of MUC room.
+conversation.error.joinFailedRemoteServerNotFound=Impossible de rejoindre le canal %S car le serveur sur lequel est hébergé le canal est injoignable.
+conversation.error.changeTopicFailedNotAuthorized=Vous n’êtes pas autorisé à modifier le sujet de ce canal.
+# This is displayed in a conversation as an error message when the user sends
+# a message to a room that he is not in.
+# %1$S is the name of MUC room.
+# %2$S is the text of the message that wasn't delivered.
+conversation.error.sendFailedAsNotInRoom=Le message n’a pas pu être envoyé à %1$S car vous ne vous trouvez plus dans le canal : %2$S
+# This is displayed in a conversation as an error message when the user sends
+# a message to a room that the recipient is not in.
+# %1$S is the jid of the recipient.
+# %2$S is the text of the message that wasn't delivered.
+conversation.error.sendFailedAsRecipientNotInRoom=Le message n’a pas pu être envoyé à %1$S car le destinataire ne se trouve plus dans le canal : %2$S
+# These are displayed in a conversation as a system error message.
+conversation.error.remoteServerNotFound=Impossible de contacter le serveur du destinataire.
+conversation.error.unknownSendError=Une erreur inconnue s’est produite lors de l’envoi de ce message.
+# %S is the name of the message recipient.
+conversation.error.sendServiceUnavailable=L’envoi de messages à %S est impossible pour le moment.
+# %S is the nick of participant that is not in room.
+conversation.error.nickNotInRoom=%S ne se trouve pas dans le canal.
+conversation.error.banCommandAnonymousRoom=Vous ne pouvez pas bannir de participants dans des canaux anonymes. Essayez /kick à la place.
+conversation.error.banKickCommandNotAllowed=Vous ne disposez pas des privilèges nécessaires pour éjecter ce participant du canal.
+conversation.error.banKickCommandConflict=Vous ne pouvez pas vous éjecter vous-même du canal.
+conversation.error.changeNickFailedConflict=Impossible de changer votre pseudo en %S car ce pseudo est déjà en cours d’utilisation.
+conversation.error.changeNickFailedNotAcceptable=Impossible de changer votre pseudo en %S car les pseudos sont verrouillés dans ce canal.
+conversation.error.inviteFailedForbidden=Vous ne disposez pas des privilèges nécessaires pour inviter des utilisateurs dans ce canal.
+# %S is the jid of user that is invited.
+conversation.error.failedJIDNotFound=Impossible de joindre %S.
+# %S is the jid that is invalid.
+conversation.error.invalidJID=%S est un jid invalide (les identifiants Jabber doivent être du format utilisateur@domaine).
+conversation.error.commandFailedNotInRoom=Vous devez rejoindre le canal pour pouvoir utiliser cette commande.
+# %S is the name of the recipient.
+conversation.error.resourceNotAvailable=Vous devez engager la conversation car %S peut être connecté depuis plusieurs clients.
+
+# LOCALIZATION NOTE (conversation.error.version.*):
+# %S is the name of the recipient.
+conversation.error.version.unknown=Le client utilisé par %S n’accepte pas de fournir des informations sur sa version logicielle.
+
+# LOCALIZATION NOTE (tooltip.*):
+# These are the titles of lines of information that will appear in
+# the tooltip showing details about a contact or conversation.
+# LOCALIZATION NOTE (tooltip.status):
+# %S will be replaced by the XMPP resource identifier
+tooltip.status=Statut (%S)
+tooltip.statusNoResource=Statut
+tooltip.subscription=Abonnement
+tooltip.fullName=Nom complet
+tooltip.nickname=Pseudo
+tooltip.email=Adresse e-mail
+tooltip.birthday=Anniversaire
+tooltip.userName=Nom d’utilisateur
+tooltip.title=Titre
+tooltip.organization=Entreprise
+tooltip.locality=Localité
+tooltip.country=Pays
+tooltip.telephone=Numéro de téléphone
+
+# LOCALIZATION NOTE (chatRoomField.*):
+# These are the name of fields displayed in the 'Join Chat' dialog
+# for XMPP accounts.
+# The _ character won't be displayed; it indicates the next
+# character of the string should be used as the access key for this
+# field.
+chatRoomField.room=_Salon
+chatRoomField.server=_Serveur
+chatRoomField.nick=_Pseudo
+chatRoomField.password=_Mot de passe
+
+# LOCALIZATION NOTE (conversation.muc.*):
+# These are displayed as a system message when a chatroom invitation is
+# received.
+# %1$S is the inviter.
+# %2$S is the room.
+# %3$S is the reason which is a message provided by the person sending the
+# invitation.
+conversation.muc.invitationWithReason2=%1$S vous a invité à rejoindre %2$S : %3$S
+# %3$S is the password of the room.
+# %4$S is the reason which is a message provided by the person sending the
+# invitation.
+conversation.muc.invitationWithReason2.password=%1$S vous a invité à rejoindre %2$S avec le mot de passe %3$S : %4$S
+conversation.muc.invitationWithoutReason=%1$S vous a invité à rejoindre %2$S
+# %3$S is the password of the room.
+conversation.muc.invitationWithoutReason.password=%1$S vous a invité à rejoindre %2$S avec le mot de passe %3$S
+
+# LOCALIZATION NOTE (conversation.muc.join):
+# This is displayed as a system message when a participant joins room.
+# %S is the nick of the participant.
+conversation.message.join=%S a rejoint le canal.
+
+# LOCALIZATION NOTE (conversation.muc.rejoined):
+# This is displayed as a system message when a participant rejoins room after
+# parting it.
+conversation.message.rejoined=Vous avez rejoint le canal.
+
+# LOCALIZATION NOTE (conversation.message.parted.*):
+# These are displayed as a system message when a participant parts a room.
+# %S is the part message supplied by the user.
+conversation.message.parted.you=Vous avez quitté le canal.
+conversation.message.parted.you.reason=Vous avez quitté le canal : %S
+# %1$S is the participant that is leaving.
+# %2$S is the part message supplied by the participant.
+conversation.message.parted=%1$S a quitté le canal.
+conversation.message.parted.reason=%1$S a quitté le canal : %2$S
+
+# LOCALIZATION NOTE (conversation.message.invitationDeclined*):
+# %1$S is the invitee that declined the invitation.
+# %2$S is the decline message supplied by the invitee.
+conversation.message.invitationDeclined=%1$S a décliné votre invitation.
+conversation.message.invitationDeclined.reason=%1$S a décliné votre invitation : %2$S
+
+# LOCALIZATION NOTE (conversation.message.banned.*):
+# These are displayed as a system message when a participant is banned from
+# a room.
+# %1$S is the participant that is banned.
+# %2$S is the reason.
+# %3$S is the person who is banning.
+conversation.message.banned=%1$S a été banni du canal.
+conversation.message.banned.reason=%1$S a été banni du canal : %2$S
+# %1$S is the person who is banning.
+# %2$S is the participant that is banned.
+# %3$S is the reason.
+conversation.message.banned.actor=%1$S a banni %2$S du canal.
+conversation.message.banned.actor.reason=%1$S a banni %2$S du canal : %3$S
+conversation.message.banned.you=Vous avez été banni du canal.
+# %1$S is the reason.
+conversation.message.banned.you.reason=Vous avez été banni du canal : %1$S
+# %1$S is the person who is banning.
+# %2$S is the reason.
+conversation.message.banned.you.actor=%1$S vous a banni du canal.
+conversation.message.banned.you.actor.reason=%1$S vous a banni du canal : %2$S
+
+# LOCALIZATION NOTE (conversation.message.kicked.*):
+# These are displayed as a system message when a participant is kicked from
+# a room.
+# %1$S is the participant that is kicked.
+# %2$S is the reason.
+conversation.message.kicked=%1$S a été éjecté du canal.
+conversation.message.kicked.reason=%1$S a été éjecté du canal : %2$S
+# %1$S is the person who is kicking.
+# %2$S is the participant that is kicked.
+# %3$S is the reason.
+conversation.message.kicked.actor=%1$S a éjecté %2$S du canal.
+conversation.message.kicked.actor.reason=%1$S a éjecté %2$S du canal : %3$S
+conversation.message.kicked.you=Vous avez été éjecté du canal.
+# %1$S is the reason.
+conversation.message.kicked.you.reason=Vous avez été éjecté du canal: %1$S
+# %1$S is the person who is kicking.
+# %2$S is the reason.
+conversation.message.kicked.you.actor=%1$S vous a éjecté du canal.
+conversation.message.kicked.you.actor.reason=%1$S vous a éjecté du canal : %2$S
+
+# LOCALIZATION NOTE (conversation.message.removedNonMember.*):
+# These are displayed as a system message when a participant is removed from
+# a room because the room has been changed to members-only.
+# %1$S is the participant that is removed.
+# %2$S is the person who changed the room configuration.
+conversation.message.removedNonMember=%1$S a été éjecté du canal car sa configuration a été changée en « membres uniquement ».
+conversation.message.removedNonMember.actor=%1$S a été éjecté du canal car %2$S a changé la configuration en « membres uniquement ».
+conversation.message.removedNonMember.you=Vous avez été éjecté du canal car sa configuration a été changée en « membres uniquement ».
+# %1$S is the person who changed the room configuration.
+conversation.message.removedNonMember.you.actor=Vous avez été éjecté du canal car %1$S a changé la configuration en « membres uniquement ».
+
+# LOCALIZATION NOTE (conversation.message.MUCShutdown):
+# These are displayed as a system message when a participant is removed from
+# a room because of a system shutdown.
+conversation.message.mucShutdown=Vous avez été éjecté du canal à cause d’une interruption système.
+
+# LOCALIZATION NOTE (conversation.message.version*):
+# %1$S is the name of the user whose version was requested.
+# %2$S is the client name response from the client.
+# %3$S is the client version response from the client.
+# %4$S is the operating system(OS) response from the client.
+conversation.message.version=%1$S utilise « %2$S %3$S ».
+conversation.message.versionWithOS=%1$S utilise « %2$S %3$S » sur %4$S.
+
+# LOCALIZATION NOTE (options.*):
+# These are the protocol specific options shown in the account manager and
+# account wizard windows.
+options.resource=Ressource
+options.priority=Priorité
+options.connectionSecurity=Sécurité de la connexion
+options.connectionSecurity.requireEncryption=Nécessite un chiffrement
+options.connectionSecurity.opportunisticTLS=Utiliser un chiffrement si disponible
+options.connectionSecurity.allowUnencryptedAuth=Autoriser l’envoi de mot de passe non chiffré
+options.connectServer=Serveur
+options.connectPort=Port
+options.domain=Domaine
+
+# LOCALIZATION NOTE (*.protocolName)
+# This name is used whenever the name of the protocol is shown.
+gtalk.protocolName=Google Talk
+odnoklassniki.protocolName=Odnoklassniki
+
+# LOCALIZATION NOTE (gtalk.disabled):
+# Google Talk was disabled on June 16, 2022. The message below is a localized
+# error message to be displayed to users with Google Talk accounts.
+gtalk.disabled=Google Talk n’est plus pris en charge, car Google a désactivé la passerelle XMPP.
+
+# LOCALIZATION NOTE (odnoklassniki.usernameHint):
+# This is displayed inside the accountUsernameInfoWithDescription
+# string defined in imAccounts.properties when the user is
+# configuring a Odnoklassniki account.
+odnoklassniki.usernameHint=identifiant du profil
+
+# LOCALZIATION NOTE (command.*):
+# These are the help messages for each command.
+command.join3=%S [&lt;canal&gt;[@&lt;serveur&gt;][/&lt;pseudo&gt;]] [&lt;mot de passe&gt;] : Rejoindre un canal, en fournissant si besoin un pseudo différent ou le mot de passe du canal.
+command.part2=%S [&lt;message&gt;] : Quitter le canal actuel avec un message facultatif.
+command.topic=%S [&lt;nouveau sujet&gt;] : Définir le sujet du canal.
+command.ban=%S &lt;pseudo&gt;[&lt;message&gt;] : Bannir quelqu’un du canal. Vous devez être administrateur du canal pour effectuer cette action.
+command.kick=%S &lt;pseudo&gt;[&lt;message&gt;] : Éjecter quelqu’un du canal. Vous devez être administrateur du canal pour effectuer cette action.
+command.invite=%S &lt;jid&gt;[&lt;message&gt;] : Inviter un utilisateur à rejoindre le canal actuel avec un message facultatif.
+command.inviteto=%S &lt;jid canal&gt;[&lt;mot de passe&gt;] : Inviter votre correspondant à rejoindre un canal, en précisant le mot de passe si nécessaire.
+command.me=%S &lt;action à réaliser&gt; : Réaliser une action.
+command.nick=%S &lt;nouveau pseudo&gt; : Changer votre pseudo.
+command.msg=%S &lt;pseudo&gt; &lt;message&gt; : Envoyer un message privé à un participant du canal.
+command.version=%S : Demander des informations sur le client utilisé par votre correspondant.
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/chat/yahoo.properties b/thunderbird-l10n/fr/chrome/fr/locale/fr/chat/yahoo.properties
new file mode 100644
index 0000000000..22bc92c468
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/chat/yahoo.properties
@@ -0,0 +1,5 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+yahoo.disabled=Yahoo Messenger n’est plus pris en charge, car Yahoo a désactivé l’ancien protocole.
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/communicator/utilityOverlay.dtd b/thunderbird-l10n/fr/chrome/fr/locale/fr/communicator/utilityOverlay.dtd
new file mode 100644
index 0000000000..2203fb6845
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/communicator/utilityOverlay.dtd
@@ -0,0 +1,43 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!-- LOCALIZATION NOTE : FILE This file contains the global menu items -->
+
+<!ENTITY fileMenu.label "Fichier">
+<!ENTITY fileMenu.accesskey "F">
+<!ENTITY newMenu.label "Nouveau">
+<!ENTITY newMenu.accesskey "e">
+
+<!ENTITY editMenu.label "Édition">
+<!ENTITY editMenu.accesskey "n">
+<!ENTITY undoCmd.label "Annuler">
+<!ENTITY undoCmd.accesskey "u">
+<!ENTITY redoCmd.label "Rétablir">
+<!ENTITY redoCmd.accesskey "R">
+<!ENTITY deleteCmd.label "Supprimer">
+<!ENTITY deleteCmd.accesskey "E">
+
+<!ENTITY customizeCmd.label "Personnaliser">
+<!ENTITY customizeCmd.accesskey "P">
+
+<!ENTITY viewMenu.label "Affichage">
+<!ENTITY viewMenu.accesskey "A">
+<!ENTITY viewToolbarsMenu.label "Barres d’outils">
+<!ENTITY viewToolbarsMenu.accesskey "t">
+<!ENTITY showTaskbarCmd.label "Barre d’état">
+<!ENTITY showTaskbarCmd.accesskey "B">
+
+<!ENTITY closeCmd.label "Fermer">
+<!ENTITY closeCmd.key "W">
+<!ENTITY closeCmd.accesskey "F">
+
+<!ENTITY quitApplicationCmd.label "Quitter">
+<!ENTITY quitApplicationCmd.key "Q">
+<!ENTITY quitApplicationCmd.accesskey "Q">
+
+<!ENTITY quitApplicationCmdUnix.label "Quitter">
+<!ENTITY quitApplicationCmdUnix.accesskey "Q">
+
+<!ENTITY quitApplicationCmdMac.label "Quitter &brandShortName;">
+<!ENTITY quitApplicationCmdMac.accesskey "Q">
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/devtools/client/accessibility.properties b/thunderbird-l10n/fr/chrome/fr/locale/fr/devtools/client/accessibility.properties
new file mode 100644
index 0000000000..03f796bdbc
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/devtools/client/accessibility.properties
@@ -0,0 +1,314 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE These strings are used inside the Accessibility panel
+# which is available from the Web Developer sub-menu -> 'Accessibility'.
+# The correct localization of this file might be to keep it in
+# English, or another language commonly spoken among web developers.
+# You want to make that choice consistent across the developer tools.
+# A good criteria is the language in which you'd find the best
+# documentation on web development on the web.
+
+# LOCALIZATION NOTE These strings are used inside the Accessibility panel
+# which is in the Developer Tools, available in the
+# Browser Tools sub-menu -> 'Web Developer Tools'
+#
+# The correct localization of this file might be to keep it in
+# English, or another language commonly spoken among web developers.
+# You want to make that choice consistent across the developer tools.
+# A good criteria is the language in which you'd find the best
+# documentation on web development on the web.
+
+# LOCALIZATION NOTE (accessibility.role): A title text used for Accessibility
+# tree header column that represents accessible element role.
+accessibility.role=Rôle
+
+# LOCALIZATION NOTE (accessibility.name): A title text used for Accessibility
+# tree header column that represents accessible element name.
+accessibility.name=Nom
+
+# LOCALIZATION NOTE (accessibility.logo): A title text used for Accessibility
+# logo used on the accessibility panel landing page.
+accessibility.logo=Logo d’accessibilité
+
+# LOCALIZATION NOTE (accessibility.properties): A title text used for header
+# for Accessibility details sidebar.
+accessibility.properties=Propriétés
+
+# LOCALIZATION NOTE (accessibility.treeName): A title text used for
+# Accessibility tree (that represents accessible element name) container.
+accessibility.treeName=Arborescence d’accessibilité
+
+# LOCALIZATION NOTE (accessibility.accessible.selectElement.title): A title text
+# displayed on buttons next to accessible elements in the `relations` section, allowing the
+# user to select the element in the accessibility tree.
+accessibility.accessible.selectElement.title=Cliquer pour sélectionner le nœud dans l’arborescence d’accessibilité
+
+# LOCALIZATION NOTE (accessibility.accessible.selectNodeInInspector.title): A title text
+# displayed on buttons next to nodes in the sidebar, allowing the user to select the node
+# in the Inspector panel.
+accessibility.accessible.selectNodeInInspector.title=Cliquer pour sélectionner le nœud dans l’inspecteur
+
+# LOCALIZATION NOTE (accessibility.accessible.notAvailable): A title text
+# displayed when accessible sidebar panel does not have an accessible object to
+# display.
+accessibility.accessible.notAvailable=Informations d’accessibilité indisponibles
+
+# LOCALIZATION NOTE (accessibility.enable): A title text for Enable
+# accessibility button used to enable accessibility service.
+accessibility.enable=Activer les fonctionnalités d’accessibilité
+
+# LOCALIZATION NOTE (accessibility.enabling): A title text for Enable
+# accessibility button used when accessibility service is being enabled.
+accessibility.enabling=Activation des fonctionnalités d’accessibilité…
+
+# LOCALIZATION NOTE (accessibility.disable): A title text for Disable
+# accessibility button used to disable accessibility service.
+accessibility.disable=Désactiver les fonctionnalités d’accessibilité
+
+# LOCALIZATION NOTE (accessibility.disabling): A title text for Disable
+# accessibility button used when accessibility service is being
+# disabled.
+accessibility.disabling=Désactivation des fonctionnalités d’accessibilité…
+
+# LOCALIZATION NOTE (accessibility.pick): A title text for Picker button
+# button used to pick accessible objects from the page.
+accessibility.pick=Sélectionner un objet accessible de la page
+
+# LOCALIZATION NOTE (accessibility.disable.disabledTitle): A title text used for
+# a tooltip for Disable accessibility button when accessibility service can not
+# be disabled. It is the case when a user is using a 3rd party accessibility
+# tool such as screen reader.
+accessibility.disable.disabledTitle=Le service d’accessibilité ne peut pas être désactivé. Il est utilisé en dehors des outils de développement.
+
+# LOCALIZATION NOTE (accessibility.disable.enabledTitle): A title text used for
+# a tooltip for Disable accessibility button when accessibility service can be
+# disabled.
+accessibility.disable.enabledTitle=Le service d’accessibilité sera désactivé pour tous les onglets et toutes les fenêtres.
+
+# LOCALIZATION NOTE (accessibility.enable.disabledTitle): A title text used for
+# a tooltip for Enabled accessibility button when accessibility service can not
+# be enabled.
+accessibility.enable.disabledTitle=Le service d’accessibilité ne peut pas être activé. Il est désactivé via la préférence de vie privée pour les services d’accessibilité.
+
+# LOCALIZATION NOTE (accessibility.enable.enabledTitle): A title text used for
+# a tooltip for Enabled accessibility button when accessibility service can be
+# enabled.
+accessibility.enable.enabledTitle=Le service d’accessibilité sera activé pour tous les onglets et toutes les fenêtres.
+
+# LOCALIZATION NOTE (accessibility.learnMore): A text that is used as is or as textual
+# description in places that link to accessibility inspector documentation.
+accessibility.learnMore=Pour en savoir plus
+
+# LOCALIZATION NOTE (accessibility.description.general.p1): A title text for the first
+# paragraph, used when accessibility service description is provided before accessibility
+# inspector is enabled. %S in the content will be replaced by a link at run time
+# with the accessibility.learnMore string.
+accessibility.description.general.p1=L’inspecteur d’accessibilité permet d’examiner l’arborescence d’accessibilité de la page courante, qui est utilisée par les lecteurs d’écran et d’autres technologies d’assistance. %S
+
+# LOCALIZATION NOTE (accessibility.description.general.p2): A title text for the second
+# paragraph, used when accessibility service description is provided before accessibility
+# inspector is enabled.
+accessibility.description.general.p2=Les fonctionnalités d’accessibilité peuvent affecter les performances des autres panneaux des outils de développement ; il est recommandé de les désactiver lorsqu’elles ne sont pas utilisées.
+
+# LOCALIZATION NOTE (accessibility.tree.menu.printToJSON): A title text used when a
+# context menu item for printing an accessible tree to JSON is rendered after triggering a
+# context menu for an accessible tree row.
+accessibility.tree.menu.printToJSON=Afficher en JSON
+
+# LOCALIZATION NOTE (accessibility.checks): A title text used for header for checks
+# section in Accessibility details sidebar.
+accessibility.checks=Vérifications
+
+# LOCALIZATION NOTE (accessibility.checks.empty2): A title text used for indicating that
+# accessibility checks for a node yielded no results and another node should be
+# selected.
+accessibility.checks.empty2=Aucune vérification pour ce nœud.
+
+# LOCALIZATION NOTE (accessibility.contrast.header): A title text used for header for
+# checks related to color and contrast.
+accessibility.contrast.header=Couleur et contraste
+
+# LOCALIZATION NOTE (accessibility.contrast.error): A title text for the color
+# contrast ratio, used when the tool is unable to calculate the contrast ratio value.
+accessibility.contrast.error=Calcul impossible
+
+# LOCALIZATION NOTE (accessibility.contrast.large.text): A title text for the color
+# contrast ratio label indicating that the color contrast criteria used is if for large
+# text. This is lower case because it's used as a label for a tree item in accessibility
+# tree.
+accessibility.contrast.large.text=texte de grande taille
+
+# LOCALIZATION NOTE (accessibility.contrast.large.title): A title text for the tooltip
+# used for the large text label (see accessibility.contrast.large.text).
+accessibility.contrast.large.title=Texte de 14 points ou plus et gras, ou 18 points ou plus.
+
+# LOCALIZATION NOTE (accessibility.contrast.annotation.AA): A title text for the paragraph
+# describing that the given colour contrast satisfies AA standard from Web Content
+# Accessibility Guidelines. %S in the content will be replaced by a link at run time
+# with the accessibility.learnMore string.
+accessibility.contrast.annotation.AA=Conforme aux WCAG de niveau AA pour l’accessibilité des textes. %S
+
+# LOCALIZATION NOTE (accessibility.contrast.annotation.AAA): A title text for the
+# paragraph describing that the given colour contrast satisfies AAA standard from Web
+# Content Accessibility Guidelines. %S in the content will be replaced by a link at run
+# time with the accessibility.learnMore string.
+accessibility.contrast.annotation.AAA=Conforme aux WCAG de niveau AAA pour l’accessibilité des textes. %S
+
+# LOCALIZATION NOTE (accessibility.contrast.annotation.FAIL): A title text for the
+# paragraph describing that the given colour contrast fails to meet the minimum level from
+# Web Content Accessibility Guidelines. %S in the content will be replaced by a link at
+# run time with the accessibility.learnMore string.
+accessibility.contrast.annotation.FAIL=Non conforme aux normes WCAG pour l’accessibilité des textes. %S
+
+# LOCALIZATION NOTE (accessibility.contrast.annotation.transparent.error): A title text for the
+# paragraph suggesting a fix for error in color contrast calculation for text nodes with zero alpha.
+accessibility.contrast.annotation.transparent.error=Choisissez une couleur qui n’est pas transparente.
+
+# LOCALIZATION NOTE (accessibility.badges): A title text for the group of badges
+# that are rendered for each accessible row within the accessibility tree when
+# one or more accessibility checks fail.
+accessibility.badges=Contrôles d’accessibilité
+
+# LOCALIZATION NOTE (accessibility.filter.none): A title text for the filter
+# that is rendered within the accessibility panel toolbar for a menu item that
+# resets all filtering in tree, and for the simulation menu item that resets
+# applied color matrices to the default matrix.
+accessibility.filter.none=Aucun
+
+# LOCALIZATION NOTE (accessibility.filter.all2): A title text for the filter
+# that is rendered within the accessibility panel toolbar for a menu item that
+# filters the tree based on all accessibility failures within it.
+accessibility.filter.all2=Tous les problèmes
+
+# LOCALIZATION NOTE (accessibility.filter.contrast): A title text for the filter
+# that is rendered within the accessibility panel toolbar for a menu item that
+# filters the tree based on contrast accessibility failures within it.
+accessibility.filter.contrast=Contraste
+
+# LOCALIZATION NOTE (accessibility.filter.textLabel): A title text for the filter
+# that is rendered within the accessibility panel toolbar for a menu item that
+# filters the tree based on text label and name accessibility failures within it.
+accessibility.filter.textLabel=Étiquettes de texte
+
+# LOCALIZATION NOTE (accessibility.filter.keyboard): A title text for the filter
+# that is rendered within the accessibility panel toolbar for a menu item that
+# filters the tree based on keyboard accessibility failures within it.
+accessibility.filter.keyboard=Clavier
+
+# LOCALIZATION NOTE (accessibility.badge.contrast): A title text for the badge
+# that is rendered within the accessible row in the accessibility tree for a
+# given accessible object that does not satisfy the WCAG guideline for colour
+# contrast.
+accessibility.badge.contrast=contraste
+
+# LOCALIZATION NOTE (accessibility.badge.contrast.warning): A label for the
+# badge and attached warning icon that is rendered within the accessible row in
+# the accessibility tree for a given accessible object that does not satisfy the
+# WCAG guideline for colour contrast.
+accessibility.badge.contrast.warning=avertissement à propos du contraste
+
+# LOCALIZATION NOTE (accessibility.badge.keyboard): A title text for the
+# badge that is rendered within the accessible row in the accessibility tree for
+# a given accessible object that does not satisfy the WCAG guideline for
+# keyboard accessibility.
+accessibility.badge.keyboard=clavier
+
+# LOCALIZATION NOTE (accessibility.badge.textLabel): A title text for the
+# badge that is rendered within the accessible row in the accessibility tree for
+# a given accessible object that does not satisfy the WCAG guideline for text
+# alternative.
+accessibility.badge.textLabel=étiquette de texte
+
+# LOCALIZATION NOTE (accessibility.badge.contrast.tooltip): A title text for the
+# badge tooltip that is rendered on mouse hover over the badge in the accessible
+# row in the accessibility tree for a given accessible object that does not
+# satisfy the WCAG guideline for colour contrast.
+accessibility.badge.contrast.tooltip=Non conforme aux WCAG pour l’accessibilité des textes.
+
+# LOCALIZATION NOTE (accessibility.badge.keyboard.tooltip): A title text
+# for the badge tooltip that is rendered on mouse hover over the badge in the
+# accessible row in the accessibility tree for a given accessible object that
+# does not satisfy the WCAG guideline for keyboard accessibility.
+accessibility.badge.keyboard.tooltip=Non conforme aux normes WCAG pour l’accessibilité au clavier.
+
+# LOCALIZATION NOTE (accessibility.badge.textLabel.tooltip): A title text
+# for the badge tooltip that is rendered on mouse hover over the badge in the
+# accessible row in the accessibility tree for a given accessible object that
+# does not satisfy the WCAG guideline for text alternative.
+accessibility.badge.textLabel.tooltip=Non conforme aux standards WCAG pour le texte alternatif.
+
+# LOCALIZATION NOTE (accessibility.tree.filters): A title text for the toolbar
+# within the main accessibility panel that contains a list of filters to be for
+# accessibility audit.
+accessibility.tree.filters=Recherche de problèmes pour :
+
+# LOCALIZATION NOTE (accessibility.tree.filters.prefs): A title text for the
+# preferences button tooltip that contains preferences for accessibility audit.
+accessibility.tree.filters.prefs=Configurer les préférences
+
+# LOCALIZATION NOTE (accessibility.progress.initializing): A title text for the
+# accessibility panel overlay shown when accessibility audit is starting up.
+accessibility.progress.initializing=Initialisation…
+
+# LOCALIZATION NOTE (accessibility.progress.initializing): A title text for the
+# accessibility panel overlay shown when accessibility audit is running showing
+# the number of nodes being audited. Semi-colon list of plural forms. See:
+# http://developer.mozilla.org/en/docs/Localization_and_Plurals
+accessibility.progress.progressbar=Vérification d’un nœud;Vérification de #1 nœuds
+
+# LOCALIZATION NOTE (accessibility.progress.finishing): A title text for the
+# accessibility panel overlay shown when accessibility audit is finishing up.
+accessibility.progress.finishing=Dernière étape en cours…
+
+# LOCALIZATION NOTE (accessibility.pref.scroll.into.view.title): A title
+# text for the tooltip for the checkbox pref in the accessibility panel that
+# sets node auto scroll.
+accessibility.pref.scroll.into.view.title=Faire défiler automatiquement la vue jusqu’au nœud sélectionné
+
+# LOCALIZATION NOTE (accessibility.pref.scroll.into.view.label): A title
+# text for the checkbox pref in the accessibility panel that sets node auto
+# scroll.
+accessibility.pref.scroll.into.view.label=Faire défiler la vue jusqu’au nœud
+
+# LOCALIZATION NOTE (accessibility.documentation.label): This is the label for
+# the Documentation menu item.
+accessibility.documentation.label=Documentation…
+
+# LOCALIZATION NOTE (accessibility.simulation): A title text for the toolbar
+# within the main accessibility panel that contains a list of simulations for
+# vision deficiencies.
+accessibility.simulation=Simuler :
+
+# LOCALIZATION NOTE (accessibility.simulation.protanopia): This label is shown
+# in the "Simulate" menu in the accessibility panel and represent the protanopia simulation option.
+accessibility.simulation.protanopia=Protanopie (pas de rouge)
+
+# LOCALIZATION NOTE (accessibility.simulation.deuteranopia): This label is shown
+# in the "Simulate" menu in the accessibility panel and represent the deuteranopia simulation option.
+accessibility.simulation.deuteranopia=Deutéranopie (pas de vert)
+
+# LOCALIZATION NOTE (accessibility.simulation.tritanopia): This label is shown
+# in the "Simulate" menu in the accessibility panel and represent the tritanopia simulation option.
+accessibility.simulation.tritanopia=Tritanopie (pas de bleu)
+
+# LOCALIZATION NOTE (accessibility.simulation.contrastLoss): This label is shown
+# in the "Simulate" menu in the accessibility panel and represent the contrast loss simulation option.
+# It is also shown in the simulation menu button in the accessibility panel and represent the
+# contrast loss simulation option currently selected.
+accessibility.simulation.contrastLoss=Perte de contraste
+
+# LOCALIZATION NOTE (accessibility.simulation.achromatopsia): This label is shown
+# in the "Simulate" menu in the accessibility panel and represent the achromatopsia simulation option.
+accessibility.simulation.achromatopsia=Achromatopsie (aucune couleur)
+
+# LOCALIZATION NOTE (accessibility.toolbar.displayTabbingOrder.label): A title text for a checkbox label
+# in the accessibility panel toolbar that turns on/off the overlay of focusable elements in their
+# tabbing order.
+accessibility.toolbar.displayTabbingOrder.label=Afficher l’ordre de tabulation
+
+# LOCALIZATION NOTE (accessibility.toolbar.displayTabbingOrder.tooltip): A title text for a checkbox
+# tooltip in the accessibility panel toolbar that turns on/off the overlay of focusable elements in
+# their tabbing order.
+accessibility.toolbar.displayTabbingOrder.tooltip=Afficher l’ordre et l’index de tabulation des éléments.
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/devtools/client/animationinspector.properties b/thunderbird-l10n/fr/chrome/fr/locale/fr/devtools/client/animationinspector.properties
new file mode 100644
index 0000000000..50f473fcad
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/devtools/client/animationinspector.properties
@@ -0,0 +1,183 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE These strings are used inside the Animation inspector
+# which is available as a sidebar panel in the Inspector.
+# The correct localization of this file might be to keep it in
+# English, or another language commonly spoken among web developers.
+# You want to make that choice consistent across the developer tools.
+# A good criteria is the language in which you'd find the best
+# documentation on web development on the web.
+
+# LOCALIZATION NOTE (panel.noAnimation):
+# This is the label shown in the panel when there are no displayable animations.
+# (e.g. In case of user selected a non-element node or a node that is not animated).
+panel.noAnimation=Aucune animation trouvée pour l’élément actuel.\nSélectionnez un autre élément de la page.
+
+# LOCALIZATION NOTE (player.animationDurationLabel):
+# This string is displayed in each animation player widget. It is the label
+# displayed before the animation duration.
+player.animationDurationLabel=Durée :
+
+# LOCALIZATION NOTE (player.infiniteDurationText):
+# This string is displayed in a tooltip on animation player widget, in case the
+# duration of the animation is infinite.
+player.infiniteDurationText=∞
+
+# LOCALIZATION NOTE (player.animationDelayLabel):
+# This string is displayed in each animation player widget. It is the label
+# displayed before the animation delay.
+player.animationDelayLabel=Délai :
+
+# LOCALIZATION NOTE (player.animationEndDelayLabel):
+# This string is displayed in each animation player widget. It is the label
+# displayed before the animation endDelay.
+player.animationEndDelayLabel=Délai final :
+
+# LOCALIZATION NOTE (player.animationRateLabel):
+# This string is displayed in each animation player widget. It is the label
+# displayed before the animation playback rate.
+player.animationRateLabel=Vitesse de lecture :
+
+# LOCALIZATION NOTE (player.animationIterationCountLabel):
+# This string is displayed in each animation player widget. It is the label
+# displayed before the number of times the animation is set to repeat.
+player.animationIterationCountLabel=Répétitions :
+
+# LOCALIZATION NOTE (player.infiniteIterationCount):
+# In case the animation repeats infinitely, this string is displayed next to the
+# player.animationIterationCountLabel string, instead of a number.
+player.infiniteIterationCount=&#8734;
+
+# LOCALIZATION NOTE (player.infiniteIterationCountText):
+# See player.infiniteIterationCount for a description of what this is.
+# Unlike player.infiniteIterationCount, this string isn't used in HTML, but in
+# a tooltip.
+player.infiniteIterationCountText=∞
+
+# LOCALIZATION NOTE (player.animationIterationStartLabel2):
+# This string is displayed in a tooltip that appears when hovering over
+# animations in the timeline. It is the label displayed before the animation
+# iterationStart value.
+# %1$S will be replaced by the original iteration start value
+# %2$S will be replaced by the actual time of iteration start without time unit
+# e.g.
+# If iterationStart of animation is 0.5 and duration is 1 sec, the string will be
+# "Iteration start: 0.5 (0.5s)"
+player.animationIterationStartLabel2=Début de l’itération : %1$S (%2$S)
+
+# LOCALIZATION NOTE (player.animationOverallEasingLabel):
+# This string is displayed in a tooltip that appears when hovering over
+# animations in the timeline. It is the label displayed before the easing
+# that applies to a whole iteration of an animation as opposed to the
+# easing that applies between animation keyframes.
+player.animationOverallEasingLabel=Accélération globale :
+
+# LOCALIZATION NOTE (player.animationTimingFunctionLabel):
+# This string is displayed in a tooltip that appears when hovering over
+# animations in the timeline. It is the label displayed before the
+# animation-timing-function for CSS Animations.
+player.animationTimingFunctionLabel=Fonction du rythme de l’animation :
+
+# LOCALIZATION NOTE (player.animationFillLabel):
+# This string is displayed in a tooltip that appears when hovering over
+# animations in the timeline. It is the label displayed before the animation
+# fill mode value.
+player.animationFillLabel=Remplissage :
+
+# LOCALIZATION NOTE (player.animationDirectionLabel):
+# This string is displayed in a tooltip that appears when hovering over
+# animations in the timeline. It is the label displayed before the animation
+# direction value.
+player.animationDirectionLabel=Direction :
+
+# LOCALIZATION NOTE (player.timeLabel):
+# This string is displayed in each animation player widget, to indicate either
+# how long (in seconds) the animation lasts, or what is the animation's current
+# time (in seconds too);
+player.timeLabel=%S s
+
+# LOCALIZATION NOTE (player.infiniteDurationText):
+# This string is displayed in animation player widget, in case the duration of the
+# animation is infinite.
+player.infiniteTimeLabel=∞
+
+# LOCALIZATION NOTE (player.playbackRateLabel):
+# This string is displayed in each animation player widget, as the label of
+# drop-down list items that can be used to change the rate at which the
+# animation runs (1× being the default, 2× being twice as fast).
+player.playbackRateLabel=×%S
+
+# LOCALIZATION NOTE (player.runningOnCompositorTooltip):
+# This string is displayed as a tooltip for the icon that indicates that the
+# animation is running on the compositor thread.
+player.runningOnCompositorTooltip=Cette animation utilise le fil d’exécution du compositeur
+
+# LOCALIZATION NOTE (player.allPropertiesOnCompositorTooltip):
+# This string is displayed as a tooltip for the icon that indicates that
+# all of animation is running on the compositor thread.
+player.allPropertiesOnCompositorTooltip=Toutes les propriétés de l’animation sont optimisées
+
+# LOCALIZATION NOTE (player.somePropertiesOnCompositorTooltip):
+# This string is displayed as a tooltip for the icon that indicates that
+# all of animation is not running on the compositor thread.
+player.somePropertiesOnCompositorTooltip=Certaines propriétés de l’animation sont optimisées
+
+# LOCALIZATION NOTE (timeline.pausedButtonTooltip):
+# This string is displayed in the timeline toolbar, as the tooltip of the
+# pause/resume button that can be used to pause or resume the animations
+timeline.pausedButtonTooltip=Reprendre la lecture des animations
+
+# LOCALIZATION NOTE (timeline.resumedButtonTooltip):
+# This string is displayed in the timeline toolbar, as the tooltip of the
+# pause/resume button that can be used to pause or resume the animations
+timeline.resumedButtonTooltip=Mettre en pause les animations
+
+# LOCALIZATION NOTE (timeline.rewindButtonTooltip):
+# This string is displayed in the timeline toolbar, as the tooltip of the
+# rewind button that can be used to rewind the animations
+timeline.rewindButtonTooltip=Rembobiner les animations
+
+# LOCALIZATION NOTE (timeline.timeGraduationLabel):
+# This string is displayed at the top of the animation panel, next to each time
+# graduation, to indicate what duration (in milliseconds) this graduation
+# corresponds to.
+timeline.timeGraduationLabel=%S ms
+
+# LOCALIZATION NOTE (timeline.cssanimation.nameLabel):
+# This string is displayed in a tooltip of the animation panel that is shown
+# when hovering over the name of a CSS Animation in the timeline UI.
+# %S will be replaced by the name of the animation at run-time.
+timeline.cssanimation.nameLabel=%S - Animation CSS
+
+# LOCALIZATION NOTE (timeline.csstransition.nameLabel):
+# This string is displayed in a tooltip of the animation panel that is shown
+# when hovering over the name of a CSS Transition in the timeline UI.
+# %S will be replaced by the name of the transition at run-time.
+timeline.csstransition.nameLabel=%S - Transition CSS
+
+# LOCALIZATION NOTE (timeline.scriptanimation.nameLabel):
+# This string is displayed in a tooltip of the animation panel that is shown
+# when hovering over the name of a script-generated animation in the timeline UI.
+# %S will be replaced by the name of the animation at run-time.
+timeline.scriptanimation.nameLabel=%S - Animation générée par un script
+
+# LOCALIZATION NOTE (timeline.scriptanimation.unnamedLabel):
+# This string is displayed in a tooltip of the animation panel that is shown
+# when hovering over an unnamed script-generated animation in the timeline UI.
+timeline.scriptanimation.unnamedLabel=Animation générée par un script
+
+# LOCALIZATION NOTE (timeline.unknown.nameLabel):
+# This string is displayed in a tooltip of the animation panel that is shown
+# when hovering over the name of an unknown animation type in the timeline UI.
+# This can happen if devtools couldn't figure out the type of the animation.
+# %S will be replaced by the name of the transition at run-time.
+timeline.unknown.nameLabel=%S
+
+# LOCALIZATION NOTE (detail.propertiesHeader.percentage):
+# This string is displayed on header label in .animated-properties-header.
+# %S represents the value in percentage with two decimal points, localized.
+# there are two "%" after %S to escape and display "%"
+detail.propertiesHeader.percentage=%S %%
+
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/devtools/client/boxmodel.properties b/thunderbird-l10n/fr/chrome/fr/locale/fr/devtools/client/boxmodel.properties
new file mode 100644
index 0000000000..0ac5e5f926
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/devtools/client/boxmodel.properties
@@ -0,0 +1,48 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE : FILE This file contains the Layout View strings.
+# The Layout View is a panel displayed in the computed view tab of the Inspector sidebar.
+
+# LOCALIZATION NOTE : FILE The correct localization of this file might be to
+# keep it in English, or another language commonly spoken among web developers.
+# You want to make that choice consistent across the developer tools.
+# A good criteria is the language in which you'd find the best
+# documentation on web development on the web.
+
+# LOCALIZATION NOTE (boxmodel.title) This is the title of the box model panel and is
+# displayed as a label.
+boxmodel.title=Modèle de boîte
+
+# LOCALIZATION NOTE: (boxmodel.geometryButton.tooltip) This label is displayed as a
+# tooltip that appears when hovering over the button that allows users to edit the
+# position of an element in the page.
+boxmodel.geometryButton.tooltip=Modifier la position
+
+# LOCALIZATION NOTE: (boxmodel.propertiesLabel) This label is displayed as the header
+# for showing and collapsing the properties underneath the box model in the layout view
+boxmodel.propertiesLabel=Propriétés du modèle de boîte
+
+# LOCALIZATION NOTE (boxmodel.propertiesHideLabel):
+# This is the spoken label for the twisty.
+# If the properties are currently showing, it will say "Hide".
+boxmodel.propertiesHideLabel=Masquer
+
+# LOCALIZATION NOTE (boxmodel.propertiesShowLabel):
+# This is the spoken label for the twisty.
+# If the properties are currently hidden, it will say "Show".
+boxmodel.propertiesShowLabel=Afficher
+
+# LOCALIZATION NOTE: (boxmodel.offsetParent) This label is displayed inside the list of
+# properties, below the box model, in the layout view. It is displayed next to the
+# position property, when position is absolute, relative, sticky. This label tells users
+# what the DOM node previewed next to it is: an offset parent for the position element.
+boxmodel.offsetParent=décalage
+
+# LOCALIZATION NOTE: (boxmodel.offsetParent.title) This label is displayed as a
+# tooltip that appears when hovering over the offset label, inside the list of properties,
+# below the box model, in the layout view. This label tells users
+# what the DOM node previewed next to it is: an offset parent for the position element.
+boxmodel.offsetParent.title=Plus proche parent positionné conteneur de l’élément sélectionné
+
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/devtools/client/changes.properties b/thunderbird-l10n/fr/chrome/fr/locale/fr/devtools/client/changes.properties
new file mode 100644
index 0000000000..7d9185e4f2
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/devtools/client/changes.properties
@@ -0,0 +1,64 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE This file contains the strings for the Changes panel accessible from
+# the Inspector sidebar.
+
+# LOCALIZATION NOTE (changes.noChanges): This text is shown when no changes are available.
+changes.noChanges=Aucune modification détectée.
+
+# LOCALIZATION NOTE (changes.noChangesDescription): This text is shown when no changes are
+# available and provides additional context for the purpose of the Changes panel.
+changes.noChangesDescription=Les modifications apportées aux CSS dans l’inspecteur apparaîtront ici.
+
+# LOCALIZATION NOTE (changes.inlineStyleSheetLabel): This label appears in the Changes
+# panel above changes done to inline stylesheets. The variable will be replaced with the
+# index of the stylesheet within its document like so: Inline #1
+changes.inlineStyleSheetLabel=Feuille de style intégrée %S
+
+# LOCALIZATION NOTE (changes.elementStyleLabel): This label appears in the Changes
+# panel above changes done to element styles.
+changes.elementStyleLabel=Élément
+
+# LOCALIZATION NOTE (changes.iframeLabel): This label appears next to URLs of stylesheets
+# and element inline styles hosted by iframes. Lowercase intentional.
+changes.iframeLabel=iframe
+
+# LOCALIZATION NOTE (changes.contextmenu.copy): Label for "Copy" option in Changes panel
+# context menu
+changes.contextmenu.copy=Copier
+
+# LOCALIZATION NOTE (changes.contextmenu.copy.accessKey): Access key for "Copy"
+# option in the Changes panel.
+changes.contextmenu.copy.accessKey=C
+
+# LOCALIZATION NOTE (changes.contextmenu.copyAllChanges): Label for "Copy All Changes"
+# option in Changes panel context menu which copies all changed CSS declarations from a
+# stylesheet
+changes.contextmenu.copyAllChanges=Copier toutes les modifications
+
+# LOCALIZATION NOTE (changes.contextmenu.copyAllChangesDescription): Detailed explanation
+# for "Copy All Changes" option in Changes panel. Used as title attribute on "Copy All
+# Changes" button
+changes.contextmenu.copyAllChangesDescription=Copier la liste de toutes les modifications apportées aux CSS dans le presse-papiers.
+
+# LOCALIZATION NOTE (changes.contextmenu.copyDeclaration): Label for "Copy Declaration"
+# option in Changes panel context menu which copies the target CSS declaration.
+changes.contextmenu.copyDeclaration=Copier la déclaration
+
+# LOCALIZATION NOTE (changes.contextmenu.copyRule): Label for "Copy Rule" option in
+# Changes panel context menu which copies the complete contents of a CSS rule.
+changes.contextmenu.copyRule=Copier la règle
+
+# LOCALIZATION NOTE (changes.contextmenu.copyRuleDescription): Detailed explanation for
+# "Copy Rule" option in Changes panel. Used as title attribute on "Copy Rule" button.
+changes.contextmenu.copyRuleDescription=Copier tout le contenu de cette règle CSS dans le presse-papiers.
+
+# LOCALIZATION NOTE (changes.contextmenu.selectAll): Label for "Select All" option in the
+# Changes panel context menu to select all text content.
+changes.contextmenu.selectAll=Tout sélectionner
+
+# LOCALIZATION NOTE (changes.contextmenu.selectAll.accessKey): Access key for "Select All"
+# option in the Changes panel.
+changes.contextmenu.selectAll.accessKey=T
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/devtools/client/components.properties b/thunderbird-l10n/fr/chrome/fr/locale/fr/devtools/client/components.properties
new file mode 100644
index 0000000000..637b2bbab7
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/devtools/client/components.properties
@@ -0,0 +1,61 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE These strings are used in the shared React components,
+# so files in `devtools/client/shared/components/*`.
+
+# LOCALIZATION NOTE (frame.unknownSource): When we do not know the source filename of
+# a frame, we use this string instead.
+frame.unknownSource=(source inconnue)
+
+# LOCALIZATION NOTE (frame.viewsourceindebugger): The label for the tooltip when hovering over
+# a source link that links to the debugger.
+# %S represents the URL to match in the debugger.
+frame.viewsourceindebugger=Afficher la source dans le débogueur → %S
+
+# LOCALIZATION NOTE (frame.viewsourceinstyleeditor): The label for the tooltip when hovering over
+# a source link that links to the Style Editor.
+# %S represents the URL to match in the style editor.
+frame.viewsourceinstyleeditor=Afficher la source dans l’éditeur de style → %S
+
+# LOCALIZATION NOTE (notificationBox.closeTooltip): The content of a tooltip that
+# appears when hovering over the close button in a notification box.
+notificationBox.closeTooltip=Fermer ce message
+
+# LOCALIZATION NOTE (appErrorBoundary.description): This is the information displayed
+# once the panel errors.
+# %S represents the name of panel which has the crash.
+appErrorBoundary.description=Le panneau %S a planté.
+
+# LOCALIZATION NOTE (appErrorBoundary.fileBugButton): This is the text that appears in
+# the button to visit the bug filing link.
+appErrorBoundary.fileBugButton=Envoyer un rapport de bug
+
+# LOCALIZATION NOTE (appErrorBoundary.reloadPanelInfo): This is the text that appears
+# after the panel errors to instruct the user to reload the panel.
+appErrorBoundary.reloadPanelInfo=Fermez puis rouvrez la boîte à outils pour effacer cette erreur.
+
+# LOCALIZATION NOTE(searchModifier.regExpModifier): A search option
+# when searching text in a file
+searchModifier.regExpModifier=Utiliser une expression régulière
+
+# LOCALIZATION NOTE(searchModifier.caseSensitiveModifier): A search option
+# when searching text in a file
+searchModifier.caseSensitiveModifier=Respecter la casse
+
+# LOCALIZATION NOTE(searchModifier.wholeWordModifier): A search option
+# when searching text in a file
+searchModifier.wholeWordModifier=Mot entier
+
+# LOCALIZATION NOTE (searchBox.clearButtonTitle): The title of the SearchBox clear input
+# button, which is displayed when the input is not empty.
+searchBox.clearButtonTitle=Supprimer le filtre
+
+# LOCALIZATION NOTE treeNode.collapseButtonTitle): The title of the Tree node toggle
+# button when the node is expanded.
+treeNode.collapseButtonTitle=Réduire
+
+# LOCALIZATION NOTE treeNode.expandButtonTitle): The title of the Tree node toggle
+# button when the node is collapsed.
+treeNode.expandButtonTitle=Développer
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/devtools/client/debugger.properties b/thunderbird-l10n/fr/chrome/fr/locale/fr/devtools/client/debugger.properties
new file mode 100644
index 0000000000..cad2007994
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/devtools/client/debugger.properties
@@ -0,0 +1,1132 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE These strings are used inside the Debugger
+# which is available from the Browser Tools sub-menu -> 'Debugger'.
+# The correct localization of this file might be to keep it in
+# English, or another language commonly spoken among web developers.
+# You want to make that choice consistent across the developer tools.
+# A good criteria is the language in which you'd find the best
+# documentation on web development on the web.
+
+# LOCALIZATION NOTE (collapseSources): This is the tooltip for the button
+# that collapses the Sources and Outlines panes in the debugger UI.
+collapseSources=Réduire les panneaux Sources et Structure
+
+# LOCALIZATION NOTE (collapseBreakpoints): This is the tooltip for the button
+# that collapses the Breakpoints panes in the debugger UI.
+collapseBreakpoints=Réduire le panneau Points d’arrêt
+
+# LOCALIZATION NOTE (copyToClipboard.label): This is the text that appears in the
+# context menu to copy the text that the user selected.
+copyToClipboard.label=Copier dans le presse-papiers
+copyToClipboard.accesskey=o
+
+# LOCALIZATION NOTE (copySource.label): This is the text that appears in the
+# context menu to copy all of the text in the open file.
+copySource.label=Copier la source
+copySource.accesskey=C
+
+# LOCALIZATION NOTE (copySourceUri2): This is the text that appears in the
+# context menu to copy the source URI of file open.
+copySourceUri2=Copier l’URI de la source
+copySourceUri2.accesskey=U
+
+# LOCALIZATION NOTE (collapseAll.label): This is the text that appears in the
+# context menu to collapse a directory and all of its subdirectories.
+collapseAll.label=Tout réduire
+
+# LOCALIZATION NOTE (expandAll.label): This is the text that appears in the
+# context menu to expand a directory and all of its subdirectories.
+expandAll.label=Tout développer
+
+# LOCALIZATION NOTE (setDirectoryRoot.label): This is the text that appears in the
+# context menu to set a directory as root directory
+setDirectoryRoot.label=Définir comme répertoire racine
+setDirectoryRoot.accesskey=r
+
+# LOCALIZATION NOTE (removeDirectoryRoot.label): This is the text that appears in the
+# context menu to remove a directory as root directory
+removeDirectoryRoot.label=Supprimer le répertoire racine
+
+# LOCALIZATION NOTE (ignoreAll.label): Text associated with the ignore context menu item
+ignoreAll.label=Ignorer
+
+# LOCALIZATION NOTE (ignoreAllInGroup.label): This is the text that appears in the
+# context submenu to ignore all files inside of the selected group
+ignoreAllInGroup.label=Ignorer les fichiers de ce groupe
+
+# LOCALIZATION NOTE (unignoreAllInGroup.label): This is the text that appears in the
+# context submenu to unignore all files inside of the selected group
+unignoreAllInGroup.label=Ne plus ignorer les fichiers de ce groupe
+
+# LOCALIZATION NOTE (ignoreAllOutsideGroup.label): This is the text that appears in the
+# context submenu to ignore all files outside of the selected group
+ignoreAllOutsideGroup.label=Ignorer les fichiers en dehors de ce groupe
+
+# LOCALIZATION NOTE (unignoreAllOutsideGroup.label): This is the text that appears in the
+# context submenu to unignore all files outside of the selected group
+unignoreAllOutsideGroup.label=Ne plus ignorer les fichiers en dehors de ce groupe
+
+# LOCALIZATION NOTE (ignoreAllInDir.label): This is the text that appears in the
+# context submenu to ignore all files inside of the selected directory
+ignoreAllInDir.label=Ignorer les fichiers de ce répertoire
+
+# LOCALIZATION NOTE (unignoreAllInDir.label): This is the text that appears in the
+# context submenu to unignore all files inside of the selected directory
+unignoreAllInDir.label=Ne plus ignorer les fichiers de ce répertoire
+
+# LOCALIZATION NOTE (ignoreAllOutsideDir.label): This is the text that appears in the
+# context submenu to ignore all files outside of the selected directory
+ignoreAllOutsideDir.label=Ignorer les fichiers en dehors de ce répertoire
+
+# LOCALIZATION NOTE (unignoreAllOutsideDir.label: This is the text that appears in the
+# context submenu to unignore all files outside of the selected directory
+unignoreAllOutsideDir.label=Ne plus ignorer les fichiers en dehors de ce répertoire
+
+# LOCALIZATION NOTE (copyFunction.label): This is the text that appears in the
+# context menu to copy the function the user selected
+copyFunction.label=Copier la fonction
+copyFunction.accesskey=f
+
+# LOCALIZATION NOTE (copyStackTrace): This is the text that appears in the
+# context menu to copy the stack trace methods, file names and row number.
+copyStackTrace=Copier la trace de la pile
+copyStackTrace.accesskey=C
+
+# LOCALIZATION NOTE (restartFrame): This is the text that appears in the
+# context menu to restart a frame.
+restartFrame=Redémarrer le frame de pile
+restartFrame.accesskey=r
+
+# LOCALIZATION NOTE (expandSources): This is the tooltip for the button
+# that expands the Sources and Outlines panes in the debugger UI.
+expandSources=Développer les panneaux Sources et Structure
+
+# LOCALIZATION NOTE (expandBreakpoints): This is the tooltip for the button
+# that expands the Breakpoints panes in the debugger UI.
+expandBreakpoints=Développer le panneau Points d’arrêt
+
+# LOCALIZATION NOTE (evaluateInConsole.label): Editor right-click menu item
+# to execute selected text in browser console.
+evaluateInConsole.label=Évaluer dans la console
+
+# LOCALIZATION NOTE (pauseButtonTooltip): The tooltip that is displayed for the pause
+# button when the debugger is in a running state.
+pauseButtonTooltip=Mettre en pause (%S)
+
+# LOCALIZATION NOTE (pausePendingButtonTooltip): The tooltip that is displayed for
+# the pause button after it's been clicked but before the next JavaScript to run.
+pausePendingButtonTooltip=En attente de la prochaine exécution
+
+# LOCALIZATION NOTE (startTraceButtonTooltip): The label that is displayed on the trace
+# button in the top of the debugger right sidebar. %S is for the log output location (webconsole or stdout).
+startTraceButtonTooltip=Tracer tous les cadres JavaScript vers %S.\nClic droit pour changer de sortie.
+
+# LOCALIZATION NOTE (stopTraceButtonTooltip): The label that is displayed on the trace
+# button in the top of the debugger right sidebar. This label is only displayed when we are current tracing
+# JavaScript.
+stopTraceButtonTooltip=Arrêter le traçage des cadres JavaScript.
+
+# LOCALIZATION NOTE (startTraceButtonTooltip): The label that is displayed on the trace
+# button in the top of the debugger right sidebar.
+# %1$S is for the key shortcut
+# %2$S is for the log output location (webconsole or stdout).
+startTraceButtonTooltip2=Tracer tous les cadres JavaScript vers %2$S. (%1$S)\nClic droit pour changer de sortie.
+
+# LOCALIZATION NOTE (stopTraceButtonTooltip): The label that is displayed on the trace
+# button in the top of the debugger right sidebar. This label is only displayed when we are current tracing
+# JavaScript.
+# %S is for the key shortcut
+stopTraceButtonTooltip2=Arrêter le traçage des cadres JavaScript. (%S)
+
+# LOCALIZATION NOTE (traceInWebConsole): The label that is displayed in the context menu
+# of the trace button, which is in the top of the debugger right sidebar.
+# This is used to force logging JavaScript traces in the Web Console.
+traceInWebConsole=Tracer dans la console web
+
+# LOCALIZATION NOTE (traceInWebConsole): The label that is displayed in the context menu
+# of the trace button, which is in the top of the debugger right sidebar.
+# This is used to force logging JavaScript traces in the stdout.
+traceInStdout=Tracer dans la sortie standard
+
+# LOCALIZATION NOTE (resumeButtonTooltip): The label that is displayed on the pause
+# button when the debugger is in a paused state.
+resumeButtonTooltip=Reprendre (%S)
+
+# LOCALIZATION NOTE (stepOverTooltip): The label that is displayed on the
+# button that steps over a function call.
+stepOverTooltip=Passer la fonction (%S)
+
+# LOCALIZATION NOTE (stepInTooltip): The label that is displayed on the
+# button that steps into a function call.
+stepInTooltip=Entrer dans la fonction (%S)
+
+# LOCALIZATION NOTE (stepOutTooltip): The label that is displayed on the
+# button that steps out of a function call.
+stepOutTooltip=Sortir de la fonction (%S)
+
+# LOCALIZATION NOTE (skipPausingTooltip.label): The tooltip text for disabling all
+# breakpoints and pausing triggers
+skipPausingTooltip.label=Désactiver les points d’arrêt
+
+# LOCALIZATION NOTE (undoSkipPausingTooltip.label): The tooltip text for enabling all
+# breakpoints and pausing triggers
+undoSkipPausingTooltip.label=Activer les points d’arrêt
+
+# LOCALIZATION NOTE (pauseOnDebuggerStatement): The pause on debugger statement checkbox label
+pauseOnDebuggerStatement=Pause sur une instruction « debugger »
+
+# LOCALIZATION NOTE (pauseOnExceptionsItem2): The pause on exceptions checkbox description
+# when the debugger will pause on all exceptions.
+pauseOnExceptionsItem2=Pause sur les exceptions
+
+# LOCALIZATION NOTE (pauseOnCaughtExceptionsItem): The pause on exceptions checkbox description
+# when the debugger should pause on caught exceptions
+pauseOnCaughtExceptionsItem=Pause sur les exceptions interceptées
+
+# LOCALIZATION NOTE (threadsHeader): The text to describe the threads header
+threadsHeader=Fils d’exécution
+
+# LOCALIZATION NOTE (mainThread): The text to describe the thread of the
+# program as opposed to worker threads.
+mainThread=Fil d’exécution principal
+
+# LOCALIZATION NOTE (pausedThread): The text to describe the status of paused threads
+pausedThread=en pause
+
+# LOCALIZATION NOTE (noSourcesText): The text to display in the sources list
+# when there are no sources.
+noSourcesText=Cette page ne possède aucune source.
+
+# LOCALIZATION NOTE (ignoredSourcesHidden): Notification message displayed in the
+# sources list footer when ignored sources are hidden.
+ignoredSourcesHidden=Les sources ignorées sont masquées.
+
+# LOCALIZATION NOTE (showIgnoredSources): Notification button displayed in the
+# source next to the "ignored sources are hidden" string. Clicking on this link
+# shows all the ignored sources which are currently hidden.
+showIgnoredSources=Afficher toutes les sources
+
+# LOCALIZATION NOTE (showIgnoredSources.tooltip.label): Message displayed in the tooltip of the notification
+# link displayed in the sources list footer when ignored sources are hidden.
+showIgnoredSources.tooltip.label=Cette option affichera toutes les sources ignorées (qui sont actuellement masquées) dans l’arbre.
+
+# LOCALIZATION NOTE (eventListenersHeader1): The text to display in the events
+# header.
+eventListenersHeader1=Points d’arrêt des écouteurs d’évènement
+
+# LOCALIZATION NOTE (noDomMutationBreakpoints): The text to
+# display in the DOM Mutation Breakpoints pane when there are no events.
+# %S will be replaced by an active link using inspectorTool as text
+noDomMutationBreakpoints=Faites un clic droit sur un élément dans l’%S et sélectionnez « Point d’arrêt sur… » pour ajouter un point d’arrêt
+
+# LOCALIZATION NOTE (inspectorTool): The text to describe the the Inspector tool
+inspectorTool=Inspecteur
+
+# LOCALIZATION NOTE (eventListenersHeader1.placeholder): The placeholder text in
+# the event search input bar
+eventListenersHeader1.placeholder=Filtrer par type d’évènement
+
+# LOCALIZATION NOTE (domMutationHeader): The text to display in the
+# DOM Mutation Breakpoints header
+domMutationHeader=Points d’arrêt de mutations DOM
+
+# LOCALIZATION NOTE (domMutationTypes.attribute): The text to display in the
+# DOM Mutation Breakpoints panel for an attribute change
+domMutationTypes.attribute=Modification d’attribut
+
+# LOCALIZATION NOTE (domMutationTypes.removal): The text to display in the
+# DOM Mutation Breakpoints panel for a DOM node removal
+domMutationTypes.removal=Élimination de nœud
+
+# LOCALIZATION NOTE (domMutationTypes.subtree): The text to display in the
+# DOM Mutation Breakpoints panel for a DOM subtree change
+domMutationTypes.subtree=Modification de sous-arbre
+
+# LOCALIZATION NOTE (sources.search.key2): Key shortcut to open the search for
+# searching all the source files the debugger has seen.
+# Do not localize "CmdOrCtrl+P", or change the format of the string. These are
+# key identifiers, not messages displayed to the user.
+sources.search.key2=CmdOrCtrl+P
+
+# LOCALIZATION NOTE (sources.search.alt.key): A second key shortcut to open the
+# search for searching all the source files the debugger has seen.
+# Do not localize "CmdOrCtrl+O", or change the format of the string. These are
+# key identifiers, not messages displayed to the user.
+sources.search.alt.key=CmdOrCtrl+O
+
+# LOCALIZATION NOTE (projectTextSearch.key): A key shortcut to open the
+# full project text search for searching all the files the debugger has seen.
+# Do not localize "CmdOrCtrl+Shift+F", or change the format of the string. These are
+# key identifiers, not messages displayed to the user.
+projectTextSearch.key=CmdOrCtrl+Shift+F
+
+# LOCALIZATION NOTE (allShortcut.key): A key shortcut to open the
+# modal of full shortcuts list.
+# Do not localize "CmdOrCtrl+/", or change the format of the string. These are
+# key identifiers, not messages displayed to the user.
+allShortcut.key=CmdOrCtrl+/
+
+# LOCALIZATION NOTE (functionSearch.key): A key shortcut to open the
+# modal for searching functions in a file.
+# Do not localize "CmdOrCtrl+Shift+O", or change the format of the string. These are
+# key identifiers, not messages displayed to the user.
+functionSearch.key=CmdOrCtrl+Shift+O
+
+# LOCALIZATION NOTE (toggleBreakpoint.key): A key shortcut to toggle
+# breakpoints.
+# Do not localize "CmdOrCtrl+B", or change the format of the string. These are
+# key identifiers, not messages displayed to the user.
+toggleBreakpoint.key=CmdOrCtrl+B
+
+# LOCALIZATION NOTE (toggleCondPanel.breakpoint.key): A key shortcut to toggle
+# the conditional panel for breakpoints.
+# Do not localize "CmdOrCtrl+Shift+B", or change the format of the string. These are
+# key identifiers, not messages displayed to the user.
+toggleCondPanel.breakpoint.key=CmdOrCtrl+Shift+B
+
+# LOCALIZATION NOTE (toggleCondPanel.logPoint.key): A key shortcut to toggle
+# the conditional panel for log points.
+# Do not localize "CmdOrCtrl+Shift+Y", or change the format of the string. These are
+# key identifiers, not messages displayed to the user.
+toggleCondPanel.logPoint.key=CmdOrCtrl+Shift+Y
+
+# LOCALIZATION NOTE (stepOut.key): A key shortcut to
+# step out.
+stepOut.key=Shift+F11
+
+# LOCALIZATION NOTE (shortcuts.header.editor): Sections header in
+# the shortcuts modal for keyboard shortcuts related to editing.
+shortcuts.header.editor=Éditeur
+
+# LOCALIZATION NOTE (shortcuts.header.stepping): Sections header in
+# the shortcuts modal for keyboard shortcuts related to stepping.
+shortcuts.header.stepping=Pas-à-pas
+
+# LOCALIZATION NOTE (shortcuts.header.search): Sections header in
+# the shortcuts modal for keyboard shortcuts related to search.
+shortcuts.header.search=Rechercher
+
+# LOCALIZATION NOTE (projectTextSearch.placeholder): A placeholder shown
+# when searching across all of the files in a project.
+projectTextSearch.placeholder=Rechercher dans les fichiers…
+
+# LOCALIZATION NOTE (projectTextSearch.excludePatterns.label): A label shown
+# above the exclude patterns field when searching across all of the files in a project.
+projectTextSearch.excludePatterns.label=fichiers à exclure
+
+# LOCALIZATION NOTE (projectTextSearch.excludePatterns.placeholder): A placeholder shown
+# for the exclude patterns field when searching across all of the files in a project.
+projectTextSearch.excludePatterns.placeholder=Par exemple : **/node_modules/**, app.js
+
+# LOCALIZATION NOTE (projectTextSearch.noResults): The center pane Text Search
+# message when the query did not match any text of all files in a project.
+projectTextSearch.noResults=Aucun résultat trouvé
+
+# LOCALIZATION NOTE (projectTextSearch.pageNavigated): Tooltip shown on the refresh
+# button, only when it is highlighted because the page navigated to a new document
+# and the results might be obsolete.
+projectTextSearch.refreshButtonTooltip=Cliquer pour actualiser les résultats de recherche
+
+# LOCALIZATION NOTE (projectTextSearch.pageNavigated): Tooltip shown on the refresh
+# button, only when it is highlighted because the page navigated to a new document
+# and the results might be obsolete.
+projectTextSearch.refreshButtonTooltipOnNavigation=La page a navigué vers un nouveau document. Cliquez pour actualiser les résultats de recherche
+
+# LOCALIZATION NOTE (projectTextSearch.sourceNoLongerAvailable): Tooltip message shown
+# on Text Search results when the related source no longer exists.
+# This typically happens after navigating or reloading the page and search results are obsolete.
+projectTextSearch.sourceNoLongerAvailable=Cette source n’est plus disponible.\nActualisez la recherche pour obtenir les sources les plus récentes.
+
+# LOCALIZATION NOTE (sourceSearch.search.key2): Key shortcut to open the search
+# for searching within a the currently opened files in the editor
+# Do not localize "CmdOrCtrl+F", or change the format of the string. These are
+# key identifiers, not messages displayed to the user.
+sourceSearch.search.key2=CmdOrCtrl+F
+
+# LOCALIZATION NOTE (sourceSearch.search.placeholder): placeholder text in
+# the source search input bar
+sourceSearch.search.placeholder=Rechercher dans le fichier…
+
+# LOCALIZATION NOTE (sourceSearch.search.placeholder2): placeholder text in
+# the source search input bar
+sourceSearch.search.placeholder2=Rechercher dans le fichier…
+
+# LOCALIZATION NOTE (sourceSearch.resultsSummary2): Semi-colon list of plural forms.
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# Shows a summary of the number of matches for autocomplete
+sourceSearch.resultsSummary2=#1 résultat;#1 résultats
+
+# LOCALIZATION NOTE (breakpointHeadingMenuItem.*): The text for all the elements
+# that are displayed in the breakpoint headings menu item popup.
+breakpointHeadingsMenuItem.enableInSource.label=Activer les points d’arrêt
+breakpointHeadingsMenuItem.enableInSource.accesskey=A
+breakpointHeadingsMenuItem.disableInSource.label=Désactiver les points d’arrêt
+breakpointHeadingsMenuItem.disableInSource.accesskey=D
+breakpointHeadingsMenuItem.removeInSource.label=Supprimer les points d’arrêt
+breakpointHeadingsMenuItem.removeInSource.accesskey=S
+
+# LOCALIZATION NOTE (breakpointMenuItem): The text for all the elements that
+# are displayed in the breakpoints menu item popup.
+breakpointMenuItem.enableSelf2.label=Activer
+breakpointMenuItem.enableSelf2.accesskey=v
+breakpointMenuItem.disableSelf2.label=Désactiver
+breakpointMenuItem.disableSelf2.accesskey=v
+breakpointMenuItem.deleteSelf2.label=Supprimer
+breakpointMenuItem.deleteSelf2.accesskey=S
+breakpointMenuItem.disabledbg.label=Ne jamais faire une pause ici
+breakpointMenuItem.enabledbg.label=Pause ici
+breakpointMenuItem.enableOthers2.label=Activer les autres
+breakpointMenuItem.enableOthers2.accesskey=c
+breakpointMenuItem.disableOthers2.label=Désactiver les autres
+breakpointMenuItem.disableOthers2.accesskey=D
+breakpointMenuItem.deleteOthers2.label=Supprimer les autres
+breakpointMenuItem.deleteOthers2.accesskey=S
+breakpointMenuItem.enableAll2.label=Tout activer
+breakpointMenuItem.enableAll2.accesskey=o
+breakpointMenuItem.disableAll2.label=Tout désactiver
+breakpointMenuItem.disableAll2.accesskey=T
+breakpointMenuItem.deleteAll2.label=Tout supprimer
+breakpointMenuItem.deleteAll2.accesskey=e
+breakpointMenuItem.removeCondition2.label=Supprimer la condition
+breakpointMenuItem.removeCondition2.accesskey=c
+breakpointMenuItem.addCondition2.label=Ajouter une condition
+breakpointMenuItem.addCondition2.accesskey=A
+breakpointMenuItem.editCondition2.label=Modifier la condition
+breakpointMenuItem.editCondition2.accesskey=M
+breakpointMenuItem.enableSelf=Activer le point d’arrêt
+breakpointMenuItem.disableSelf=Désactiver le point d’arrêt
+breakpointMenuItem.deleteSelf=Supprimer le point d’arrêt
+breakpointMenuItem.enableOthers=Activer les autres
+breakpointMenuItem.disableOthers=Désactiver les autres
+breakpointMenuItem.deleteOthers=Supprimer les autres
+breakpointMenuItem.enableAll=Activer tous les points d’arrêt
+breakpointMenuItem.disableAll=Désactiver tous les points d’arrêt
+breakpointMenuItem.deleteAll=Supprimer tous les points d’arrêt
+breakpointMenuItem.disableAllAtLine.label=Désactiver les points d’arrêt de la ligne
+breakpointMenuItem.disableAllAtLine.accesskey=D
+breakpointMenuItem.enableAllAtLine.label=Activer les points d’arrêt de la ligne
+breakpointMenuItem.enableAllAtLine.accesskey=A
+breakpointMenuItem.removeAllAtLine.label=Supprimer les points d’arrêt de la ligne
+breakpointMenuItem.removeAllAtLine.accesskey=S
+
+# LOCALIZATION NOTE (breakpoints.header): Breakpoints right sidebar pane header.
+breakpoints.header=Points d’arrêt
+
+# LOCALIZATION NOTE (breakpoints.removeBreakpointTooltip): The tooltip that is displayed
+# for remove breakpoint button in right sidebar
+breakpoints.removeBreakpointTooltip=Supprimer le point d’arrêt
+
+# LOCALIZATION NOTE (callStack.header): Call Stack right sidebar pane header.
+callStack.header=Pile d’exécution
+
+# LOCALIZATION NOTE (callStack.notPaused): Call Stack right sidebar pane
+# message when not paused.
+callStack.notPaused=L’exécution est en cours
+
+# LOCALIZATION NOTE (callStack.collapse): Call Stack right sidebar pane
+# message to hide some of the frames that are shown.
+callStack.collapse=Réduire les lignes
+
+# LOCALIZATION NOTE (callStack.expand): Call Stack right sidebar pane
+# message to show more of the frames.
+callStack.expand=Développer les lignes
+
+# LOCALIZATION NOTE (callStack.group.expandTooltip): The text that will appear
+# when hovering a collapsed Group of frames in the callStack panel. `frames` is
+# always plural since a group can only exist if it contain more that 1 frame.
+# %S is replaced by the name of the library of the frames in the group.
+# example: `Show React frames`.
+callStack.group.expandTooltip=Afficher les cadres %S
+
+# LOCALIZATION NOTE (callStack.group.collapseTooltip): The text that will appear
+# when hovering an expanded Group of frames in the callStack panel. `frames` is
+# always plural since a group can only exist if it contain more that 1 frame.
+# %S is replaced by the name of the library of the frames in the group.
+# example: `Collapse React frames`.
+callStack.group.collapseTooltip=Réduire les cadres %S
+
+# LOCALIZATION NOTE (editor.searchResults1): Semi-colon list of plural forms.
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# Editor Search bar message to summarize the selected search result. e.g. 5 of 10 results.
+editor.searchResults1=Résultat %d sur #1;Résultat %d sur #1
+
+# LOCALIZATION NOTE (editor.noResultsFound): Editor Search bar message
+# for when no results found.
+editor.noResultsFound=Aucun résultat trouvé
+
+# LOCALIZATION NOTE (editor.searchResults.nextResult): Editor Search bar
+# tooltip for traversing to the Next Result
+editor.searchResults.nextResult=Résultat suivant
+
+# LOCALIZATION NOTE (editor.searchResults.prevResult): Editor Search bar
+# tooltip for traversing to the Previous Result
+editor.searchResults.prevResult=Résultat précédent
+
+# LOCALIZATION NOTE (editor.continueToHere.label): Editor gutter context
+# menu item for jumping to a new paused location
+editor.continueToHere.label=Poursuivre à cet endroit
+editor.continueToHere.accesskey=P
+
+# LOCALIZATION NOTE (editor.addBreakpoint): Editor gutter context menu item
+# for adding a breakpoint on a line.
+editor.addBreakpoint=Ajouter un point d’arrêt
+
+# LOCALIZATION NOTE (editor.disableBreakpoint): Editor gutter context menu item
+# for disabling a breakpoint on a line.
+editor.disableBreakpoint=Désactiver le point d’arrêt
+editor.disableBreakpoint.accesskey=D
+
+# LOCALIZATION NOTE (editor.enableBreakpoint): Editor gutter context menu item
+# for enabling a breakpoint on a line.
+editor.enableBreakpoint=Activer le point d’arrêt
+
+# LOCALIZATION NOTE (editor.removeBreakpoint): Editor gutter context menu item
+# for removing a breakpoint on a line.
+editor.removeBreakpoint=Supprimer le point d’arrêt
+
+# LOCALIZATION NOTE (editor.addConditionBreakpoint): Editor gutter context
+# menu item for adding a breakpoint condition on a line.
+editor.addConditionBreakpoint=Ajouter une condition
+editor.addConditionBreakpoint.accesskey=c
+
+# LOCALIZATION NOTE (editor.editConditionBreakpoint): Editor gutter context menu item
+# for setting a breakpoint condition on a line.
+editor.editConditionBreakpoint=Modifier la condition
+
+# LOCALIZATION NOTE (editor.addLogPoint): Editor gutter context
+# menu item for adding a log point on a line.
+editor.addLogPoint=Ajouter une sortie console
+editor.addLogPoint.accesskey=s
+
+# LOCALIZATION NOTE (editor.editLogPoint): Editor gutter context menu item
+# for editing a log point already set on a line.
+editor.editLogPoint=Modifier la sortie console
+editor.editLogPoint.accesskey=c
+
+# LOCALIZATION NOTE (editor.removeLogPoint): Context menu item for removing
+# a log point on a line.
+editor.removeLogPoint.label=Supprimer la sortie console
+editor.removeLogPoint.accesskey=c
+
+# LOCALIZATION NOTE (editor.conditionalPanel.placeholder2): Placeholder text for
+# input element inside ConditionalPanel component
+editor.conditionalPanel.placeholder2=Condition du point d’arrêt, par exemple items.length > 0
+
+# LOCALIZATION NOTE (editor.conditionalPanel.logPoint.placeholder2): Placeholder text for
+# input element inside ConditionalPanel component when a log point is set
+editor.conditionalPanel.logPoint.placeholder2=Message de la console, par exemple displayName
+
+# LOCALIZATION NOTE (editor.jumpToMappedLocation1): Context menu item
+# for navigating to a source mapped location
+editor.jumpToMappedLocation1=Aller à l’emplacement %S
+editor.jumpToMappedLocation1.accesskey=m
+
+# LOCALIZATION NOTE (downloadFile.label): Context menu item
+# for downloading a source's content
+downloadFile.label=Télécharger le fichier
+downloadFile.accesskey=t
+
+# LOCALIZATION NOTE (inlinePreview.show.label): Context menu item
+# for showing the inline preview blocks
+inlinePreview.show.label=Afficher l’aperçu en ligne
+
+# LOCALIZATION NOTE (inlinePreview.hide.label): Context menu item
+# for hiding the inline preview block
+inlinePreview.hide.label=Masquer l’aperçu en ligne
+
+# LOCALIZATION NOTE (inlinePreview.toggle.label): Context menu item
+# that will toggle display of inline preview
+inlinePreview.toggle.label=Aperçu de variable en ligne
+
+# LOCALIZATION NOTE (inlinePreview.toggle.tooltip): Context menu item
+# tooltip that will describe toggling inline preview
+inlinePreview.toggle.tooltip=Afficher l’aperçu en ligne dans l’éditeur de débogage
+
+# LOCALIZATION NOTE (editorWrapping.show.label): Context menu item
+# for showing the wrap lines block
+editorWrapping.show.label=Retour à la ligne automatique
+
+# LOCALIZATION NOTE (editorWrapping.hide.label): Context menu item
+# for showing the wrap lines block
+editorWrapping.hide.label=Pas de retour à la ligne automatique
+
+# LOCALIZATION NOTE (editorWrapping.toggle.label): Context menu item
+# label for toggling the lines wrapping feature
+editorWrapping.toggle.label=Retour à la ligne automatique
+
+# LOCALIZATION NOTE (editorWrapping.toggle.tooltip): Context menu item
+# tooltip for toggling the lines wrapping feature
+editorWrapping.toggle.tooltip=Retour à la ligne automatique dans l’éditeur du débogueur
+
+# LOCALIZATION NOTE (settings.button.label): Label for Settings button
+settings.button.label=Paramètres du débogueur
+
+# LOCALIZATION NOTE (settings.disableJavaScript.label): Context menu item
+# label for disabling JavaScript
+settings.disableJavaScript.label=Désactiver JavaScript
+
+# LOCALIZATION NOTE (settings.disableJavaScript.tooltip): Context menu item
+# tooltip for disabling JavaScript
+settings.disableJavaScript.tooltip=Désactive JavaScript (nécessite un redémarrage)
+
+# LOCALIZATION NOTE (settings.toggleSourceMaps.tooltip): Context menu item
+# tooltip for toggling the source maps feature
+settings.toggleSourceMaps.tooltip=Activer la cartographie de code source pour permettre aux outils de développement de charger vos sources originales en plus de celles générées
+
+# LOCALIZATION NOTE (settings.toggleSourceMaps.label): Context menu item
+# label for toggling the source maps feature
+settings.toggleSourceMaps.label=Cartographies de code source
+
+# LOCALIZATION NOTE (settings.hideIgnoredSources.tooltip): Context menu item
+# tooltip for hiding and showing all the ignored sources
+settings.hideIgnoredSources.tooltip=Masque toutes les sources ignorées dans le panneau Sources
+
+# LOCALIZATION NOTE (settings.hideIgnoredSources.label): Context menu item
+# label for hiding all ignored sources when enabled (indicated by the check mark)
+# Ignored sources will be shown when disabled (no check mark).
+settings.hideIgnoredSources.label=Masquer les sources ignorées
+
+# LOCALIZATION NOTE (settings.enableSourceMapIgnoreList.tooltip): Context menu item
+# tooltip for ignoring all sources on the sourcemaps ignore list.
+# Note: x_google_ignoreList should not be translated.
+settings.enableSourceMapIgnoreList.tooltip=Ignore toutes les sources dans le champ x_google_ignoreList de la source liée.
+
+# LOCALIZATION NOTE (settings.enableSourceMapIgnoreList.label): Context menu item
+# label for ignoring all sources on the sourcemaps ignore list when enabled
+# (indicated by the check mark). The sources on the ignore list are un-ignored
+# when disabled (no check mark).
+# Note: Make sure to also keep 'sourceFooter.ignoreList' in sync when this changes
+settings.enableSourceMapIgnoreList.label=Ignorer les scripts tiers connus
+
+# LOCALIZATION NOTE (preview.noProperties): Label shown in the preview
+# popup when there are no properties to show.
+preview.noProperties=Aucune propriété
+
+# LOCALIZATION NOTE (framework.disableGrouping): This is the text that appears in the
+# context menu to disable framework grouping.
+framework.disableGrouping=Désactiver le regroupement de frameworks
+framework.disableGrouping.accesskey=w
+
+# LOCALIZATION NOTE (framework.enableGrouping): This is the text that appears in the
+# context menu to enable framework grouping.
+framework.enableGrouping=Activer le regroupement de frameworks
+framework.enableGrouping.accesskey=k
+
+# LOCALIZATION NOTE (generated): Source Map term for a server source location
+generated=généré
+
+# LOCALIZATION NOTE (original): Source Map term for a debugger UI source location
+original=original
+
+# LOCALIZATION NOTE (expressions.placeholder): Placeholder text for expression
+# input element
+expressions.placeholder=Ajouter une expression espionne
+
+# LOCALIZATION NOTE (expressions.noOriginalScopes): Expressions right sidebar pane message
+# for when the`map variable names`is off and the debugger is paused in an original source
+expressions.noOriginalScopes=Le mappage des noms originaux des variables est désactivé. Les valeurs des expressions peuvent ne pas être exactes.
+
+# LOCALIZATION NOTE (expressions.errorMsg): Error text for expression
+# input element
+expressions.errorMsg=Expression non valide…
+expressions.label=Ajouter une expression espionne
+expressions.accesskey=x
+expressions.remove.tooltip=Supprimer l’expression espionne
+
+# LOCALIZATION NOTE (xhrBreakpoints.header): The pause on any XHR breakpoints headings
+xhrBreakpoints.header=Points d’arrêt XHR
+xhrBreakpoints.placeholder=Arrêt lorsque l’URL contient
+xhrBreakpoints.label=Ajouter un point d’arrêt XHR
+
+# LOCALIZATION NOTE (xhrBreakpoints.removeAll.tooltip): For the `Remove all XHR breakpoints' button in the header of the XHR breakpoints panel
+xhrBreakpoints.removeAll.tooltip=Supprimer tous les points d’arrêt XHR
+
+
+# LOCALIZATION NOTE (xhrBreakpoints.item.label): message displayed when reaching a breakpoint for XHR requests. %S is replaced by the path provided as condition for the breakpoint.
+xhrBreakpoints.item.label=L’URL contient « %S »
+
+# LOCALIZATION NOTE (pauseOnAnyXHR): The pause on any XHR checkbox description
+# when the debugger will pause on any XHR requests.
+pauseOnAnyXHR=Arrêt à chaque URL
+
+# LOCALIZATION NOTE (watchpoints.submenu): This is the text for the watchpoints sub-menu.
+watchpoints.submenu=Point d’arrêt sur…
+
+# LOCALIZATION NOTE (watchpoints.getWatchpoint): This is the text that appears in the
+# watchpoints sub-menu to add a "get" watchpoint on an object property.
+watchpoints.getWatchpoint=Lire une propriété
+
+# LOCALIZATION NOTE (watchpoints.setWatchpoint): This is the text that appears in the
+# watchpoints submenu to add a "set" watchpoint on an object property.
+watchpoints.setWatchpoint=Définir une propriété
+
+# LOCALIZATION NOTE (watchpoints.getOrSetWatchpoint): This is the text that appears in the
+# watchpoints submenu to add a "set" watchpoint on an object property.
+watchpoints.getOrSetWatchpoint=Propriété consultée ou définie
+
+# LOCALIZATION NOTE (watchpoints.removeWatchpoint): This is the text that appears in the
+# context menu to delete a watchpoint on an object property.
+watchpoints.removeWatchpoint=Supprimer le point d’arrêt
+
+# LOCALIZATION NOTE (watchpoints.removeWatchpointTooltip): This is the text that appears in the
+# tooltip to delete a watchpoint on an object property.
+watchpoints.removeWatchpointTooltip=Supprimer le point d’arrêt
+
+# LOCALIZATION NOTE (sourceTabs.closeTab): Editor source tab context menu item
+# for closing the selected tab below the mouse.
+sourceTabs.closeTab=Fermer l’onglet
+sourceTabs.closeTab.accesskey=o
+sourceTabs.closeTab.key=CmdOrCtrl+W
+
+# LOCALIZATION NOTE (sourceTabs.closeOtherTabs): Editor source tab context menu item
+# for closing the other tabs.
+sourceTabs.closeOtherTabs=Fermer les autres onglets
+sourceTabs.closeOtherTabs.accesskey=a
+
+# LOCALIZATION NOTE (sourceTabs.closeTabsToEnd): Editor source tab context menu item
+# for closing the tabs to the end (the right for LTR languages) of the selected tab.
+sourceTabs.closeTabsToEnd=Fermer les onglets sur la droite
+sourceTabs.closeTabsToEnd.accesskey=d
+
+# LOCALIZATION NOTE (sourceTabs.closeAllTabs): Editor source tab context menu item
+# for closing all tabs.
+sourceTabs.closeAllTabs=Fermer tous les onglets
+sourceTabs.closeAllTabs.accesskey=t
+
+# LOCALIZATION NOTE (sourceTabs.revealInTree): Editor source tab context menu item
+# for revealing source in tree.
+sourceTabs.revealInTree=Afficher dans l’arbre
+sourceTabs.revealInTree.accesskey=r
+
+# LOCALIZATION NOTE (sourceTabs.prettyPrint): Editor source tab context menu item
+# for pretty printing the source.
+sourceTabs.prettyPrint=Formater et indenter la source
+sourceTabs.prettyPrint.accesskey=F
+
+# LOCALIZATION NOTE (sourceFooter.prettyPrint.isPrettyPrintedMessage): Tooltip text for the disabled
+# pretty print button in editor footer. This displays when the file is already pretty printed.
+sourceFooter.prettyPrint.isPrettyPrintedMessage=Impossible de formater le fichier, il est déjà formaté
+
+# LOCALIZATION NOTE (sourceFooter.prettyPrint.isOriginalMessage): Tooltip text for the disabled
+# pretty print button in editor footer. This displays when the file is an original source.
+sourceFooter.prettyPrint.isOriginalMessage=Impossible de formater les sources originales, le fichier est déjà lisible
+
+# LOCALIZATION NOTE (sourceFooter.prettyPrint.hasSourceMapMessage): Tooltip text for the disabled
+# pretty print button in editor footer. This displays when the file has a valid sourcemap with original sources.
+sourceFooter.prettyPrint.hasSourceMapMessage=Impossible de formater les sources générées avec des sourcemaps valides. Veuillez utiliser les sources originales.
+
+# LOCALIZATION NOTE (sourceFooter.prettyPrint.noContentMessage): Tooltip text for the disabled
+# pretty print button in editor footer. This displays when the file has no content.
+sourceFooter.prettyPrint.noContentMessage=Impossible de formater le fichier, il n’a aucun contenu
+
+# LOCALIZATION NOTE (sourceFooter.prettyPrint.isNotJavascriptMessage): Tooltip text for the disabled
+# pretty print button in editor footer. This displays when the file is not JavaScript code.
+sourceFooter.prettyPrint.isNotJavascriptMessage=Impossible de formater le fichier, ce n’est pas du JavaScript
+
+# LOCALIZATION NOTE (sourceFooter.ignores): Tooltip text associated
+# with the ignores button
+sourceFooter.ignore=Ignorer la source
+
+# LOCALIZATION NOTE (sourceFooter.unignore): Tooltip text associated
+# with the ignore button
+sourceFooter.unignore=Ne plus ignorer la source
+
+# LOCALIZATION NOTE (sourceFooter.ignoreList): Tooltip text associated
+# with the ignore source button when the selected source is on the ignore list
+sourceFooter.ignoreList=Cette source est répertoriée comme à ignorer. Veuillez désactiver l’option « Ignorer les scripts tiers connus » pour l’autoriser.
+
+# LOCALIZATION NOTE (editorNotificationFooter.noOriginalScopes): The notification message displayed in the editor notification footer
+# when paused in an original file and original variable mapping is turned off
+# %S is text from the label for checkbox to show original scopes
+editorNotificationFooter.noOriginalScopes=Le mappage des noms originaux des variables est désactivé, tous les aperçus en ligne ou en infobulle sont donc désactivés. Cliquez sur la case à cocher « %S » dans le panneau des portées pour les activer.
+
+# LOCALIZATION NOTE (ignoreContextItem.ignore): Text associated
+# with the ignore context menu item
+ignoreContextItem.ignore=Ignorer la source
+ignoreContextItem.ignore.accesskey=I
+
+# LOCALIZATION NOTE (ignoreContextItem.unignore): Text associated
+# with the unignore context menu item
+ignoreContextItem.unignore=Ne plus ignorer la source
+ignoreContextItem.unignore.accesskey=u
+
+# LOCALIZATION NOTE (overridesContextItem.override): Text associated
+# with the add overrides context menu item
+overridesContextItem.override=Ajouter un remplacement du script
+overridesContextItem.override.accesskey=r
+
+# LOCALIZATION NOTE (overridesContextItem.removeOverride): Text associated
+# with the remove override context menu item
+overridesContextItem.removeOverride=Supprimer le remplacement du script
+overridesContextItem.removeOverride.accesskey=r
+
+# LOCALIZATION NOTE (ignoreContextItem.ignoreLine): Text associated
+# with the ignore line context menu item
+ignoreContextItem.ignoreLine=Ignorer la ligne
+ignoreContextItem.ignoreLine.accesskey=I
+
+# LOCALIZATION NOTE (ignoreContextItem.unignoreLine): Text associated
+# with the unignore line context menu item
+ignoreContextItem.unignoreLine=Ne plus ignorer la ligne
+ignoreContextItem.unignoreLine.accesskey=n
+
+# LOCALIZATION NOTE (ignoreContextItem.ignoreLines): Text associated
+# with the ignore lines context menu item
+ignoreContextItem.ignoreLines=Ignorer les lignes
+ignoreContextItem.ignoreLines.accesskey=i
+
+# LOCALIZATION NOTE (ignoreContextItem.unignoreLines): Text associated
+# with the unignore lines context menu item
+ignoreContextItem.unignoreLines=Ne plus ignorer les lignes
+ignoreContextItem.unignoreLines.accesskey=N
+
+# LOCALIZATION NOTE (sourceFooter.mappedSource): Text associated
+# with a mapped source. %S is replaced by the source map origin.
+sourceFooter.mappedSource=(Depuis %S)
+
+# LOCALIZATION NOTE (sourceFooter.mappedSourceTooltip): Tooltip text associated
+# with a mapped source. %S is replaced by the source map origin.
+sourceFooter.mappedSourceTooltip=(Source liée depuis %S)
+
+# LOCALIZATION NOTE (sourceFooter.mappedSuffix): Text associated
+# with a mapped source. Displays next to URLs in tree and tabs.
+sourceFooter.mappedSuffix=(liée)
+
+# LOCALIZATION NOTE (sourceFooter.currentCursorPosition): Text associated
+# with the current cursor line and column
+sourceFooter.currentCursorPosition=(%1$S, %2$S)
+
+# LOCALIZATION NOTE (sourceFooter.currentCursorPosition.tooltip): Text associated
+# with the current cursor line and column
+sourceFooter.currentCursorPosition.tooltip=(ligne %1$S, colonne %2$S)
+
+# LOCALIZATION NOTE (sourceTabs.closeTabButtonTooltip): The tooltip that is displayed
+# for close tab button in source tabs.
+sourceTabs.closeTabButtonTooltip=Fermer l’onglet
+
+# LOCALIZATION NOTE (scopes.header): Scopes right sidebar pane header.
+scopes.header=Portées
+
+# LOCALIZATION NOTE (scopes.notAvailable): Scopes right sidebar pane message
+# for when the debugger is paused, but there isn't pause data.
+scopes.notAvailable=Portées non disponibles
+
+# LOCALIZATION NOTE (scopes.noOriginalScopes): Scopes right sidebar pane message
+# for when original variable mapping is disabled. This is only displayed when paused in an original source.
+# %S is text from the label for checkbox to show original scopes
+scopes.noOriginalScopes=Le mappage des noms originaux des variables est désactivé. Les portées ne peuvent pas être affichées. Cliquez sur la case à cocher « %S » ci-dessus pour l’activer.
+
+# LOCALIZATION NOTE (scopes.loadingOriginalScopes): Scopes right sidebar pane message
+# for when the debugger is still loading the original variable mapping information.
+scopes.loadingOriginalScopes=Chargement des variables de la source originale…
+
+# LOCALIZATION NOTE (scopes.notPaused): Scopes right sidebar pane message
+# for when the debugger is not paused.
+scopes.notPaused=L’exécution est en cours
+
+# LOCALIZATION NOTE (scopes.mapping.label): Scopes right sidebar pane
+# tooltip for checkbox and label
+scopes.mapping.label=Mapper les noms des variables d’origine
+
+# LOCALIZATION NOTE (eventlisteners.log.label): Event listeners tooltip for
+# checkbox and label
+eventlisteners.log.label=Enregistrer les évènements dans la console
+
+# LOCALIZATION NOTE (eventlisteners.log): Checkbox label for logging events
+eventlisteners.log=Enregistrer dans le journal
+
+# LOCALIZATION NOTE (scopes.helpTooltip.label): Scopes right sidebar pane
+# icon tooltip for link to MDN
+scopes.helpTooltip.label=En savoir plus sur les étendues de mappage
+
+# LOCALIZATION NOTE (scopes.map.label): Checkbox label to map scopes
+scopes.map.label=Carte
+
+# LOCALIZATION NOTE (scopes.showOriginalScopesHelpTooltip): Scopes right sidebar pane
+# icon tooltip for link to MDN
+scopes.showOriginalScopesHelpTooltip=En savoir plus sur le mappage des variables et l’affichage de leur portée originale
+
+# LOCALIZATION NOTE (scopes.showOriginalScopesTooltip): Scopes right sidebar pane
+# tooltip for checkbox and label
+scopes.showOriginalScopesTooltip=Afficher les portées avec les noms de variables mappés pour la source d’origine.
+
+# LOCALIZATION NOTE (scopes.showOriginalScopes): Checkbox label to show original scopes
+scopes.showOriginalScopes=Afficher les variables originales
+
+# LOCALIZATION NOTE (scopes.block): Refers to a block of code in
+# the scopes pane when the debugger is paused.
+scopes.block=Bloc
+
+# LOCALIZATION NOTE (sources.header): Sources left sidebar header
+sources.header=Sources
+
+# LOCALIZATION NOTE (outline.header): Outline left sidebar header
+outline.header=Structure
+
+# LOCALIZATION NOTE (search.header): Search left sidebar header
+search.header=Rechercher
+
+# LOCALIZATION NOTE (outline.placeholder): Placeholder text for the filter input
+# element
+outline.placeholder=Filtrer les fonctions
+
+# LOCALIZATION NOTE (outline.sortLabel): Label for the sort button
+outline.sortLabel=Trier par nom
+
+# LOCALIZATION NOTE (outline.noFunctions): Outline text when there are no functions to display
+outline.noFunctions=Aucune fonction
+
+# LOCALIZATION NOTE (outline.noFileSelected): Outline text when there are no files selected
+outline.noFileSelected=Aucun fichier sélectionné
+
+# LOCALIZATION NOTE (sources.search): Sources left sidebar prompt
+# e.g. Cmd+P to search. On a mac, we use the command unicode character.
+# On windows, it's ctrl.
+sources.search=%S pour rechercher
+
+# LOCALIZATION NOTE (watchExpressions.header): Watch Expressions right sidebar
+# pane header.
+watchExpressions.header=Expressions espionnes
+
+# LOCALIZATION NOTE (watchExpressions.refreshButton): Watch Expressions header
+# button for refreshing the expressions.
+watchExpressions.refreshButton=Actualiser
+
+# LOCALIZATION NOTE (welcome.search): The center pane welcome panel's
+# search prompt. e.g. cmd+p to search for files. On windows, it's ctrl, on
+# a mac we use the unicode character.
+welcome.search=%S pour rechercher des fichiers
+
+# LOCALIZATION NOTE (welcome.search2): The center pane welcome panel's
+# search prompt. e.g. cmd+p to search for files. On windows, it's ctrl, on
+# a mac we use the unicode character.
+welcome.search2=%S Aller au fichier
+
+# LOCALIZATION NOTE (welcome.findInFiles): The center pane welcome panel's
+# search prompt. e.g. cmd+f to search for files. On windows, it's ctrl+shift+f, on
+# a mac we use the unicode character.
+welcome.findInFiles=%S pour rechercher dans les fichiers
+
+# LOCALIZATION NOTE (welcome.findInFiles2): The center pane welcome panel's
+# search prompt. e.g. cmd+f to search for files. On windows, it's ctrl+shift+f, on
+# a mac we use the unicode character.
+welcome.findInFiles2=%S Rechercher dans des fichiers
+
+# LOCALIZATION NOTE (welcome.allShortcuts): The label to open the modal of
+# shortcuts, displayed in the welcome panel.
+welcome.allShortcuts=Afficher tous les raccourcis
+
+# LOCALIZATION NOTE (sourceSearch.search): The center pane Source Search
+# prompt for searching for files.
+sourceSearch.search=Rechercher…
+
+# LOCALIZATION NOTE (sourceSearch.search2): The center pane Source Search
+# prompt for searching for files.
+sourceSearch.search2=Aller au fichier…
+
+# LOCALIZATION NOTE (pauseOnExceptions): The pause on exceptions button tooltip
+# when the debugger will pause on all exceptions.
+pauseOnExceptions=Exécution mise en pause pour toutes les exceptions. Cliquer pour ignorer toutes les exceptions.
+
+# LOCALIZATION NOTE (loadingText): The text that is displayed in the script
+# editor when the loading process has started but there is no file to display
+# yet.
+loadingText=Chargement…
+
+# LOCALIZATION NOTE (wasmIsNotAvailable): The text that is displayed in the
+# script editor when the WebAssembly source is not available.
+wasmIsNotAvailable=Veuillez actualiser pour déboguer ce module
+
+# LOCALIZATION NOTE (errorLoadingText3): The text that is displayed in the debugger
+# viewer when there is an error loading a file
+errorLoadingText3=Erreur lors du chargement de cet URI : %S
+
+# LOCALIZATION NOTE(gotoLineModal.placeholder): The placeholder
+# text displayed when the user searches for specific lines in a file
+gotoLineModal.placeholder=Aller à la ligne…
+
+# LOCALIZATION NOTE(gotoLineModal.title): The message shown to users
+# to open the go to line modal
+gotoLineModal.title=Se rendre à un numéro de ligne dans un fichier
+
+# LOCALIZATION NOTE(gotoLineModal.key3): The shortcut for opening the
+# go to line modal
+# Do not localize "Ctrl+G", or change the format of the string. These are
+# key identifiers, not messages displayed to the user.
+gotoLineModal.key3=Ctrl+G
+
+# LOCALIZATION NOTE(symbolSearch.search.functionsPlaceholder): The placeholder
+# text displayed when the user searches for functions in a file
+symbolSearch.search.functionsPlaceholder=Rechercher des fonctions…
+symbolSearch.search.functionsPlaceholder.title=Rechercher une fonction dans un fichier
+
+# LOCALIZATION NOTE(symbolSearch.search.variablesPlaceholder): The placeholder
+# text displayed when the user searches for variables in a file
+symbolSearch.search.variablesPlaceholder=Rechercher des variables…
+symbolSearch.search.variablesPlaceholder.title=Rechercher une variable dans un fichier
+
+# LOCALIZATION NOTE(symbolSearch.search.key2): The Key Shortcut for
+# searching for a function or variable
+# Do not localize "CmdOrCtrl+Shift+O", or change the format of the string. These are
+# key identifiers, not messages displayed to the user.
+symbolSearch.search.key2=CmdOrCtrl+Shift+O
+
+experimental=Ceci est une fonctionnalité expérimentale
+
+# LOCALIZATION NOTE (ctrl): The text that is used for documenting
+# keyboard shortcuts that use the control key
+ctrl=Ctrl
+
+# LOCALIZATION NOTE (anonymousFunction): this string is used to display
+# JavaScript functions that have no given name - they are said to be
+# anonymous.
+anonymousFunction=<anonyme>
+
+# LOCALIZATION NOTE (stacktrace.asyncStack): this string is used to
+# indicate that a given stack frame has an async parent.
+# %S is the "Async Cause" of the frame.
+stacktrace.asyncStack=(Asynchrone : %S)
+
+# LOCALIZATION NOTE (shortcuts.toggleBreakpoint): text describing
+# keyboard shortcut action for toggling breakpoint
+shortcuts.toggleBreakpoint=Activer/Désactiver le point d’arrêt
+shortcuts.toggleBreakpoint.accesskey=p
+
+# LOCALIZATION NOTE (shortcuts.toggleCondPanel.breakpoint): text describing
+# keyboard shortcut action for toggling conditional panel for breakpoints
+shortcuts.toggleCondPanel.breakpoint=Modifier le point d’arrêt conditionnel
+
+# LOCALIZATION NOTE (shortcuts.toggleCondPanel.logPoint): text describing
+# keyboard shortcut action for toggling conditional panel for log points
+shortcuts.toggleCondPanel.logPoint=Modifier la sortie console
+
+# LOCALIZATION NOTE (shortcuts.pauseOrResume): text describing
+# keyboard shortcut action for pause of resume
+shortcuts.pauseOrResume=Mettre en pause/Reprendre
+
+# LOCALIZATION NOTE (shortcuts.stepOver): text describing
+# keyboard shortcut action for stepping over
+shortcuts.stepOver=Passer
+
+# LOCALIZATION NOTE (shortcuts.stepIn): text describing
+# keyboard shortcut action for stepping in
+shortcuts.stepIn=Rentrer
+
+# LOCALIZATION NOTE (shortcuts.stepOut): text describing
+# keyboard shortcut action for stepping out
+shortcuts.stepOut=Sortir
+
+# LOCALIZATION NOTE (shortcuts.fileSearch): text describing
+# keyboard shortcut action for source file search
+shortcuts.fileSearch=Rechercher dans les fichiers sources
+
+# LOCALIZATION NOTE (shortcuts.fileSearch2): text describing
+# keyboard shortcut action for source file search
+shortcuts.fileSearch2=Aller au fichier
+
+# LOCALIZATION NOTE (shortcuts.gotoLine): text describing
+# keyboard shortcut for jumping to a specific line
+shortcuts.gotoLine=Aller à la ligne
+
+# LOCALIZATION NOTE (shortcuts.projectSearch): text describing
+# keyboard shortcut action for full project search
+shortcuts.projectSearch=Rechercher dans tout le projet
+
+# LOCALIZATION NOTE (shortcuts.projectSearch2): text describing
+# keyboard shortcut action for full project search
+shortcuts.projectSearch2=Rechercher dans les fichiers
+
+# LOCALIZATION NOTE (shortcuts.functionSearch): text describing
+# keyboard shortcut action for function search
+shortcuts.functionSearch=Rechercher une fonction
+
+# LOCALIZATION NOTE (shortcuts.functionSearch2): text describing
+# keyboard shortcut action for function search
+shortcuts.functionSearch2=Rechercher la fonction
+
+# LOCALIZATION NOTE (shortcuts.buttonName): text describing
+# keyboard shortcut button text
+shortcuts.buttonName=Raccourcis clavier
+
+# LOCALIZATION NOTE (variablesSeparatorLabel): The text that is displayed
+# in the variables list as a separator between the name and value.
+variablesSeparatorLabel= :
+variablesViewOptimizedOut=(optimisée)
+variablesViewUninitialized=(non initialisée)
+variablesViewMissingArgs=(indisponible)
+
+# LOCALIZATION NOTE (variablesDomNodeValueTooltip): The text that is displayed
+# in a tooltip on the "open in inspector" button in the the variables list for a
+# DOMNode item.
+variablesDomNodeValueTooltip=Cliquer pour sélectionner le nœud dans l’inspecteur
+
+# LOCALIZATION NOTE (variablesEditButtonTooltip): The text that is displayed
+# in the variables list on a getter or setter which can be edited.
+variablesEditButtonTooltip=Cliquer pour définir la valeur
+
+# LOCALIZATION NOTE (variablesViewErrorStacktrace): This is the text that is
+# shown before the stack trace in an error.
+variablesViewErrorStacktrace=Trace de la pile :
+
+# LOCALIZATION NOTE (variablesViewMoreObjects): the text that is displayed
+# when you have an object preview that does not show all of the elements. At the end of the list
+# you see "N more..." in the web console output.
+# This is a semi-colon list of plural forms.
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# #1 number of remaining items in the object
+# example: 3 more…
+variablesViewMoreObjects=#1 de plus…;#1 de plus…
+
+# LOCALIZATION NOTE (variablesEditableNameTooltip): The text that is displayed
+# in the variables list on an item with an editable name.
+variablesEditableNameTooltip=Double-cliquer pour modifier
+
+# LOCALIZATION NOTE (variablesEditableValueTooltip): The text that is displayed
+# in the variables list on an item with an editable value.
+variablesEditableValueTooltip=Cliquer pour modifier la valeur
+
+# LOCALIZATION NOTE (variablesCloseButtonTooltip): The text that is displayed
+# in the variables list on an item which can be removed.
+variablesCloseButtonTooltip=Cliquer pour supprimer
+
+# LOCALIZATION NOTE (configurable|...|Tooltip): The text that is displayed
+# in the variables list on certain variables or properties as tooltips.
+# Explanations of what these represent can be found at the following links:
+# https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object/defineProperty
+# https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object/isExtensible
+# https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object/isFrozen
+# https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object/isSealed
+# It's probably best to keep these in English.
+configurableTooltip=configurable
+enumerableTooltip=énumérable
+writableTooltip=modifiable
+frozenTooltip=gelée
+sealedTooltip=scellée
+extensibleTooltip=extensible
+overriddenTooltip=surchargée
+WebIDLTooltip=WebIDL
+
+# LOCALIZATION NOTE (serviceWorkerInfo.parsed): State displayed for a service
+# worker that has been parsed.
+serviceWorkerInfo.parsed=analysé
+# LOCALIZATION NOTE (serviceWorkerInfo.installing): State displayed for a
+# service worker that is being installed.
+serviceWorkerInfo.installing=installation en cours
+# LOCALIZATION NOTE (serviceWorkerInfo.installed): State displayed for a
+# service worker that has finished being installed.
+serviceWorkerInfo.installed=installé
+# LOCALIZATION NOTE (serviceWorkerInfo.activating): State displayed for a
+# service worker that is being activated.
+serviceWorkerInfo.activating=activation en cours
+# LOCALIZATION NOTE (serviceWorkerInfo.activated): State displayed for a
+# service worker that has finished being activated.
+serviceWorkerInfo.activated=activé
+# LOCALIZATION NOTE (serviceWorkerInfo.redundant): State displayed for a
+# service worker that is redundant.
+serviceWorkerInfo.redundant=redondant
+# LOCALIZATION NOTE (serviceWorkerInfo.unknown): State displayed for a
+# service worker that is in an unknown state.
+serviceWorkerInfo.unknown=inconnu
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/devtools/client/device.properties b/thunderbird-l10n/fr/chrome/fr/locale/fr/devtools/client/device.properties
new file mode 100644
index 0000000000..832801a42d
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/devtools/client/device.properties
@@ -0,0 +1,21 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE These strings are used inside Device Emulation developer
+# tools. The correct localization of this file might be to keep it in English,
+# or another language commonly spoken among web developers. You want to make
+# that choice consistent across the developer tools. A good criteria is the
+# language in which you'd find the best documentation on web development on the
+# web.
+
+# LOCALIZATION NOTE:
+# These strings are category names in a list of devices that a user can choose
+# to simulate (e.g. "ZTE Open C", "VIA Vixen", "720p HD Television", etc).
+device.phones=Téléphones
+device.tablets=Tablettes
+device.laptops=Ordinateurs portables
+device.televisions=Téléviseurs
+device.consoles=Consoles de jeux
+device.watches=Montres
+device.custom=Personnalisé
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/devtools/client/dom.properties b/thunderbird-l10n/fr/chrome/fr/locale/fr/devtools/client/dom.properties
new file mode 100644
index 0000000000..5bf3da04c9
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/devtools/client/dom.properties
@@ -0,0 +1,27 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE These strings are used inside the DOM panel
+# which is available from the Web Developer sub-menu -> 'DOM'.
+# The correct localization of this file might be to keep it in
+# English, or another language commonly spoken among web developers.
+# You want to make that choice consistent across the developer tools.
+# A good criteria is the language in which you'd find the best
+# documentation on web development on the web.
+
+# LOCALIZATION NOTE These strings are used inside the DOM panel
+# which is available from the Browser Tools sub-menu -> 'DOM'.
+# The correct localization of this file might be to keep it in
+# English, or another language commonly spoken among web developers.
+# You want to make that choice consistent across the developer tools.
+# A good criteria is the language in which you'd find the best
+# documentation on web development on the web.
+
+# LOCALIZATION NOTE (dom.filterDOMPanel): A placeholder text used for
+# DOM panel search box.
+dom.filterDOMPanel=Filtrer le panneau DOM
+
+# LOCALIZATION NOTE (dom.refresh): A label for Refresh button in
+# DOM panel toolbar
+dom.refresh=Actualiser
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/devtools/client/filterwidget.properties b/thunderbird-l10n/fr/chrome/fr/locale/fr/devtools/client/filterwidget.properties
new file mode 100644
index 0000000000..59537b0c13
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/devtools/client/filterwidget.properties
@@ -0,0 +1,61 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE These strings are used in the CSS Filter Editor Widget
+# which can be found in a tooltip that appears in the Rule View when clicking
+# on a filter swatch displayed next to CSS declarations like 'filter: blur(2px)'.
+
+# LOCALIZATION NOTE (emptyFilterList):
+# This string is displayed when filter's list is empty
+# (no filter specified / all removed)
+emptyFilterList=Aucun filtre spécifié
+
+# LOCALIZATION NOTE (emptyPresetList):
+# This string is displayed when preset's list is empty
+emptyPresetList=Vous n’avez enregistré aucun préréglage. \
+Vous pouvez ajouter des préréglages de filtres en choisissant un nom puis en les enregistrant. \
+Les préréglages sont facilement accessibles et réutilisables.
+
+# LOCALIZATION NOTE (addUsingList):
+# This string is displayed under [emptyFilterList] when filter's
+# list is empty, guiding user to add a filter using the list below it
+addUsingList=Ajoutez un filtre à partir de la liste ci-dessous
+
+# LOCALIZATION NOTE (dropShadowPlaceholder):
+# This string is used as a placeholder for drop-shadow's input
+# in the filter list (shown when <input> is empty)
+dropShadowPlaceholder=x y rayon couleur
+
+# LOCALIZATION NOTE (dragHandleTooltipText):
+# This string is used as a tooltip text (shown on mouse hover) on the
+# drag handles of filters which are used to re-order filters
+dragHandleTooltipText=Faire glisser les filtres vers le haut ou le bas pour les classer
+
+# LOCALIZATION NOTE (labelDragTooltipText):
+# This string is used as a tooltip text (shown on mouse hover) on the
+# filters' labels which can be dragged left/right to increase/decrease
+# the filter's value (like photoshop)
+labelDragTooltipText=Déplacer le curseur vers la gauche ou la droite pour augmenter ou réduire la valeur
+
+# LOCALIZATION NOTE (filterListSelectPlaceholder):
+# This string is used as a preview option in the list of possible filters
+# <select>
+filterListSelectPlaceholder=Sélectionner un filtre
+
+# LOCALIZATION NOTE (addNewFilterButton):
+# This string is displayed on a button used to add new filters
+addNewFilterButton=Ajouter
+
+# LOCALIZATION NOTE (newPresetPlaceholder):
+# This string is used as a placeholder in the list of presets which is used to
+# save a new preset
+newPresetPlaceholder=Nom du préréglage
+
+# LOCALIZATION NOTE (savePresetButton):
+# This string is displayed on a button used to save a new preset
+savePresetButton=Enregistrer
+
+# LOCALIZATION NOTE(presetsToggleButton):
+# This string is used in a button which toggles the presets list
+presetsToggleButton=Préréglage
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/devtools/client/font-inspector.properties b/thunderbird-l10n/fr/chrome/fr/locale/fr/devtools/client/font-inspector.properties
new file mode 100644
index 0000000000..91466b18d4
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/devtools/client/font-inspector.properties
@@ -0,0 +1,69 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE This file contains the Font Inspector strings.
+# The Font Inspector is a panel accessible in the Inspector sidebar.
+
+# LOCALIZATION NOTE (fontinspector.system) This label indicates that the font is a local
+# system font.
+fontinspector.system=système
+
+# LOCALIZATION NOTE (fontinspector.noFontsUsedOnCurrentElement): This label is shown when
+# no fonts were used on the selected element.
+fontinspector.noFontsUsedOnCurrentElement=Pas de police utilisée sur l’élément sélectionné.
+
+# LOCALIZATION NOTE (fontinspector.copyURL): This is the text that appears in a tooltip
+# displayed when the user hovers over the copy icon next to the font URL.
+# Clicking the copy icon copies the full font URL to the user's clipboard
+fontinspector.copyURL=Copier l’URL
+
+# LOCALIZATION NOTE (fontinspector.customInstanceName): Think of instances as presets
+# (groups of settings that apply in bulk to a thing). Instances have names. When the user
+# creates a new instance, it doesn't have a name. This is the text that appears as the
+# default name for a new instance. It shows up in a dropdown from which users can select
+# between predefined instances and this custom instance.
+fontinspector.customInstanceName=Personnalisée
+
+# LOCALIZATION NOTE (fontinspector.fontInstanceLabel): This label is shown next to the UI
+# in the font editor which allows a user to select a font instance option from a
+# dropdown. An instance is like a preset. A "font instance" is the term used by the font
+# authors to mean a group of predefined font settings.
+fontinspector.fontInstanceLabel=Instance
+
+# LOCALIZATION NOTE (fontinspector.fontSizeLabel): This label is shown next to the UI
+# in the font editor which allows the user to change the font size.
+fontinspector.fontSizeLabel=Taille
+
+# LOCALIZATION NOTE (fontinspector.fontWeightLabel): This label is shown next to the UI
+# in the font editor which allows the user to change the font weight.
+fontinspector.fontWeightLabel=Graisse
+
+# LOCALIZATION NOTE (fontinspector.fontItalicLabel): This label is shown next to the UI
+# in the font editor which allows the user to change the style of the font to italic.
+fontinspector.fontItalicLabel=Italique
+
+# LOCALIZATION NOTE (fontinspector.showMore): Label for a collapsed list of fonts.
+fontinspector.showMore=Afficher plus
+
+# LOCALIZATION NOTE (fontinspector.showLess): Label for an expanded list of fonts.
+fontinspector.showLess=Afficher moins
+
+# LOCALIZATION NOTE (fontinspector.letterSpacingLabel): Label for the UI to change the
+# letter spacing in the font editor.
+fontinspector.letterSpacingLabel=Espacement
+
+# LOCALIZATION NOTE (fontinspector.lineHeightLabelCapitalized): Label for the UI to change the line height in the font editor.
+fontinspector.lineHeightLabelCapitalized=Hauteur de ligne
+
+# LOCALIZATION NOTE (fontinspector.allFontsOnPageHeader): Header for the section listing
+# all the fonts on the current page.
+fontinspector.allFontsOnPageHeader=Toutes les polices sur la page
+
+# LOCALIZATION NOTE (fontinspector.fontsUsedLabel): Label for the Font Editor section
+# which shows the fonts used on the selected element.
+fontinspector.fontsUsedLabel=Polices utilisées
+
+# LOCALIZATION NOTE (fontinspector.previewTextPlaceholder): Placeholder for the input
+# where the user can type text to get a preview of it using a font.
+fontinspector.previewTextPlaceholder=Texte d’aperçu de la police
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/devtools/client/har.properties b/thunderbird-l10n/fr/chrome/fr/locale/fr/devtools/client/har.properties
new file mode 100644
index 0000000000..67574d5de0
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/devtools/client/har.properties
@@ -0,0 +1,30 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE These strings are used inside the Network Monitor
+# which is available from the Web Developer sub-menu -> 'Network Monitor'.
+# The correct localization of this file might be to keep it in
+# English, or another language commonly spoken among web developers.
+# You want to make that choice consistent across the developer tools.
+# A good criteria is the language in which you'd find the best
+# documentation on web development on the web.
+
+# LOCALIZATION NOTE These strings are used inside the Network Monitor
+# which is available from the Browser Tools sub-menu -> 'Network Monitor'.
+# The correct localization of this file might be to keep it in
+# English, or another language commonly spoken among web developers.
+# You want to make that choice consistent across the developer tools.
+# A good criteria is the language in which you'd find the best
+# documentation on web development on the web.
+
+# LOCALIZATION NOTE (har.responseBodyNotIncluded): A label used within
+# HAR file explaining that HTTP response bodies are not includes
+# in exported data.
+har.responseBodyNotIncluded=Les corps des réponses ne sont pas inclus.
+
+# LOCALIZATION NOTE (har.responseBodyNotIncluded): A label used within
+# HAR file explaining that HTTP request bodies are not includes
+# in exported data.
+har.requestBodyNotIncluded=Les corps des requêtes ne sont pas inclus.
+
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/devtools/client/inspector.properties b/thunderbird-l10n/fr/chrome/fr/locale/fr/devtools/client/inspector.properties
new file mode 100644
index 0000000000..f4f3788af8
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/devtools/client/inspector.properties
@@ -0,0 +1,602 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE These strings are used inside the Inspector
+# which is available from the Browser Tools sub-menu -> 'Inspect'.
+#
+# The correct localization of this file might be to keep it in
+# English, or another language commonly spoken among web developers.
+# You want to make that choice consistent across the developer tools.
+# A good criteria is the language in which you'd find the best
+# documentation on web development on the web.
+
+inspector.panelLabel.markupView=Visualisation du code
+
+# LOCALIZATION NOTE (markupView.more.showing)
+# When there are too many nodes to load at once, we will offer to
+# show all the nodes.
+markupView.more.showing=Certains nœuds ont été masqués.
+
+# LOCALIZATION NOTE (markupView.more.showAll2): Semi-colon list of plural forms.
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+markupView.more.showAll2=Afficher un nœud de plus;Afficher les #1 nœuds
+
+# LOCALIZATION NOTE (markupView.whitespaceOnly.label)
+# Used in the badge that appears when whitespace-only text nodes are displayed in the
+# inspector.
+markupView.whitespaceOnly.label=espaces
+
+# LOCALIZATION NOTE (markupView.unavailableChildren.label)
+# Used in the badge that appears when the Browser Toolbox is in "parent-process"
+# mode and the markup view cannot display the children from a content browser.
+markupView.unavailableChildren.label=indisponible
+
+# LOCALIZATION NOTE (markupView.unavailableChildren.title)
+# Title for the badge that appears when the Browser Toolbox is in "parent-process"
+# mode and the markup view cannot display the children from a content browser.
+markupView.unavailableChildren.title=Les descendants de cet élément ne sont pas disponibles dans le mode actuel de la boîte à outils du navigateur
+
+# LOCALIZATION NOTE (markupView.whitespaceOnly)
+# Used in a tooltip that appears when the user hovers over whitespace-only text nodes in
+# the inspector. %S in the content will be replaced by the whitespace characters used in
+# the text node.
+markupView.whitespaceOnly=Nœud texte ne contenant que des espaces : %S
+
+# LOCALIZATION NOTE (markupView.display.flex.tooltiptext2)
+# Used in a tooltip that appears when the user hovers over the display type button in
+# the markup view.
+markupView.display.flex.tooltiptext2=Cet élément se comporte comme un élément bloc (« block ») et met en page son contenu en suivant le modèle flexbox. Cliquez pour activer/désactiver la mise en évidence de l’élément flexbox.
+
+# LOCALIZATION NOTE (markupView.display.inlineFlex.tooltiptext2)
+# Used in a tooltip that appears when the user hovers over the display type button in
+# the markup view.
+markupView.display.inlineFlex.tooltiptext2=Cet élément se comporte comme un élément inline et met en page son contenu en suivant le modèle flexbox. Cliquez pour activer/désactiver la mise en évidence de l’élément flexbox.
+
+# LOCALIZATION NOTE (markupView.display.grid.tooltiptext2)
+# Used in a tooltip that appears when the user hovers over the display type button in
+# the markup view.
+markupView.display.grid.tooltiptext2=Cet élément se comporte comme un élément bloc (« block ») et met en page son contenu en suivant le modèle de la grille. Cliquez pour activer/désactiver la superposition de grille pour cet élément.
+
+# LOCALIZATION NOTE (markupView.display.inlineGrid.tooltiptext2)
+# Used in a tooltip that appears when the user hovers over the display type button in
+# the markup view.
+markupView.display.inlineGrid.tooltiptext2=Cet élément se comporte comme un élément inline et met en page son contenu en suivant le modèle de la grille. Cliquez pour activer/désactiver la superposition de grille pour cet élément.
+
+# LOCALIZATION NOTE (markupView.display.subgrid.tooltiptext)
+# Used in a tooltip that appears when the user hovers over the display type button in
+# the markup view.
+markupView.display.subgrid.tooltiptiptext=Cet élément affiche son contenu d’après le modèle de la grille, mais renvoie la définition de ses lignes et/ou de ses colonnes au conteneur de la grille parent.
+
+# LOCALIZATION NOTE (markupView.display.flowRoot.tooltiptext)
+# Used in a tooltip that appears when the user hovers over the display type button in
+# the markup view.
+markupView.display.flowRoot.tooltiptext=Cet élément génère une boîte de type block qui établit un nouveau contexte pour le formatage du bloc.
+
+# LOCALIZATION NOTE (markupView.display.contents.tooltiptext2)
+# Used in a tooltip that appears when the user hovers over the display type button in
+# the markup view.
+markupView.display.contents.tooltiptext2=Cet élément ne génère pas lui-même de boîte, mais génère le rendu de son contenu.
+
+# LOCALIZATION NOTE (markupView.event.tooltiptext)
+# Used in a tooltip that appears when the user hovers over 'event' badge in
+# the markup view.
+markupView.event.tooltiptext=Écouteur d’évènements
+
+# LOCALIZATION NOTE (markupView.event.tooltiptext)
+# Used in a tooltip that appears when the user hovers over 'event' badge in
+# the markup view.
+markupView.event.tooltiptext2=Cliquez pour afficher les écouteurs d’évènement de cet élément
+
+# LOCALIZATION NOTE (markupView.custom.tooltiptext)
+# Used in a tooltip that appears when the user hovers over 'custom' badge in
+# the markup view. Only displayed on custom elements with a shadow root attached.
+markupView.custom.tooltiptext=Afficher la définition de l’élément personnalisé
+
+# LOCALIZATION NOTE (markupView.newAttribute.label)
+# This is used to speak the New Attribute button when editing a tag
+# and a screen reader user tabs to it. This string is not visible onscreen.
+markupView.newAttribute.label=Nouvel attribut
+
+# LOCALIZATION NOTE (markupView.revealLink.tooltip)
+# Used as a tooltip for an icon in the markup view when displaying elements inserted in
+# <slot> nodes in a custom component. When clicking on the icon, the corresponding
+# non-slotted container will be selected
+markupView.revealLink.tooltip=Afficher
+
+#LOCALIZATION NOTE: Used in the image preview tooltip when the image could not be loaded
+previewTooltip.image.brokenImage=Impossible de charger l’image
+
+# LOCALIZATION NOTE: Used in color picker tooltip when the eyedropper is disabled for
+# non-HTML documents
+eyedropper.disabled.title=Non disponible dans les documents non HTML
+
+#LOCALIZATION NOTE: Used in the event tooltip to allow the debugger to be opened
+eventsTooltip.openInDebugger=Ouvrir dans le débogueur
+
+# LOCALIZATION NOTE: Used in the event tooltip for the toggle button.
+# Parameter is the event type (e.g. "click")
+eventsTooltip.toggleButton.label=Code de l’écouteur d’évènement « %S »
+
+#LOCALIZATION NOTE: Used in the event tooltip to allow the debugger to be opened
+eventsTooltip.openInDebugger2=Ouvrir « %S » dans le débogueur
+
+#LOCALIZATION NOTE: Used in the event tooltip when a script's filename cannot be detected
+eventsTooltip.unknownLocation=Emplacement inconnu
+
+#LOCALIZATION NOTE: Used in the mouseover tooltip when hovering "Unknown location."
+eventsTooltip.unknownLocationExplanation=L’emplacement d’origine de cet écouteur n’a pas pu être détecté. Le code a peut-être été transcompilé (transpiled) par un outil comme Babel.
+
+# LOCALIZATION NOTE: Label for the checkbox in the event tooltip that toggles event listeners
+# Parameter is the event type (e.g. "click")
+eventsTooltip.toggleListenerLabel=Activer l’écouteur d’évènement « %S »
+
+#LOCALIZATION NOTE: Used in the tooltip for Bubbling
+eventsTooltip.Bubbling=Propagation
+
+#LOCALIZATION NOTE: Used in the tooltip for Capturing
+eventsTooltip.Capturing=Capture
+
+# LOCALIZATION NOTE: Title of the iframe we use in the event tooltip to display the code of
+# the event listener. Parameter is the event type (e.g. "click")
+eventsTooltip.codeIframeTitle=Code de l’écouteur d’évènement « %S »
+
+# LOCALIZATION NOTE (allTabsMenuButton.tooltip): The tooltip that gets
+# displayed when hovering over the tabs overflow button.
+allTabsMenuButton.tooltip=Afficher tous les onglets
+
+# LOCALIZATION NOTE (inspector.showThreePaneMode): This is the tooltip for the button
+# that toggles on the 3 pane inspector mode.
+inspector.showThreePaneMode=Activer l’inspecteur à 3 panneaux
+
+# LOCALIZATION NOTE (inspector.hideThreePaneMode): This is the tooltip for the button
+# that toggles off the 3 pane inspector mode.
+inspector.hideThreePaneMode=Désactiver l’inspecteur à 3 panneaux
+
+# LOCALIZATION NOTE (inspector.searchResultsCount2): This is the label that
+# will show up next to the inspector search box. %1$S is the current result
+# index and %2$S is the total number of search results. For example: "3 of 9".
+# This won't be visible until the search box is updated in Bug 835896.
+inspector.searchResultsCount2=%1$S sur %2$S
+
+# LOCALIZATION NOTE (inspector.searchResultsNone): This is the label that
+# will show up next to the inspector search box when no matches were found
+# for the given string.
+# This won't be visible until the search box is updated in Bug 835896.
+inspector.searchResultsNone=Aucune correspondance
+
+# LOCALIZATION NOTE (inspector.menu.openUrlInNewTab.label): This is the label of
+# a menu item in the inspector contextual-menu that appears when the user right-
+# clicks on the attribute of a node in the inspector that is a URL, and that
+# allows to open that URL in a new tab.
+inspector.menu.openUrlInNewTab.label=Ouvrir le lien dans un nouvel onglet
+
+# LOCALIZATION NOTE (inspector.menu.copyUrlToClipboard.label): This is the label
+# of a menu item in the inspector contextual-menu that appears when the user
+# right-clicks on the attribute of a node in the inspector that is a URL, and
+# that allows to copy that URL in the clipboard.
+inspector.menu.copyUrlToClipboard.label=Copier l’adresse du lien
+
+# LOCALIZATION NOTE (inspector.menu.selectElement.label): This is the label of a
+# menu item in the inspector contextual-menu that appears when the user right-
+# clicks on the attribute of a node in the inspector that is the ID of another
+# element in the DOM (like with <label for="input-id">), and that allows to
+# select that element in the inspector.
+inspector.menu.selectElement.label=Sélectionner l’élément #%S
+
+# LOCALIZATION NOTE (inspectorEditAttribute.label): This is the label of a
+# sub-menu "Attribute" in the inspector contextual-menu that appears
+# when the user right-clicks on the node in the inspector, and that allows
+# to edit an attribute on this node.
+inspectorEditAttribute.label=Modifier l’attribut %S
+inspectorEditAttribute.accesskey=M
+
+# LOCALIZATION NOTE (inspectorRemoveAttribute.label): This is the label of a
+# sub-menu "Attribute" in the inspector contextual-menu that appears
+# when the user right-clicks on the attribute of a node in the inspector,
+# and that allows to remove this attribute.
+inspectorRemoveAttribute.label=Supprimer l’attribut %S
+inspectorRemoveAttribute.accesskey=R
+
+# LOCALIZATION NOTE (inspectorCopyAttributeValue.label): This is the label of a
+# sub-menu "Attribute" in the inspector contextual-menu that appears
+# when the user right-clicks on the attribute of a node in the inspector,
+# and that allows to copy the attribute value to clipboard.
+inspectorCopyAttributeValue.label=Copier la valeur de l’attribut %S
+inspectorCopyAttributeValue.accesskey=v
+
+# LOCALIZATION NOTE (inspector.nodePreview.highlightNodeLabel):
+# This string is displayed in a tooltip that is shown when hovering over a the
+# inspector icon displayed next to a DOM node preview (e.g. next to something
+# like "div#foo.bar").
+# DOM node previews can be displayed in places like the animation-inspector, the
+# console or the object inspector.
+# The tooltip invites the user to click on the icon in order to highlight the
+# node in the page.
+inspector.nodePreview.highlightNodeLabel=Cliquer pour afficher ce nœud en surbrillance dans la page
+
+# LOCALIZATION NOTE (inspectorHTMLEdit.label): This is the label shown
+# in the inspector contextual-menu for the item that lets users edit the
+# (outer) HTML of the current node
+inspectorXMLEdit.label=Modifier comme XML
+inspectorHTMLEdit.label=Modifier comme HTML
+inspectorSVGEdit.label=Modifier comme SVG
+inspectorMathMLEdit.label=Modifier comme MathML
+inspectorHTMLEdit.accesskey=M
+
+# LOCALIZATION NOTE (inspectorCopyInnerHTML.label): This is the label shown
+# in the inspector contextual-menu for the item that lets users copy the
+# inner HTML of the current node
+inspectorCopyInnerHTML.label=L’intérieur du HTML
+inspectorCopyInnerHTML.accesskey=i
+
+# LOCALIZATION NOTE (inspectorCopyOuterHTML.label): This is the label shown
+# in the inspector contextual-menu for the item that lets users copy the
+# outer HTML of the current node
+inspectorCopyOuterHTML.label=L’extérieur du HTML
+inspectorCopyOuterHTML.accesskey=e
+
+# LOCALIZATION NOTE (inspectorCopyCSSSelector.label): This is the label
+# shown in the inspector contextual-menu for the item that lets users copy
+# the CSS Selector of the current node
+inspectorCopyCSSSelector.label=Le sélecteur CSS
+inspectorCopyCSSSelector.accesskey=s
+
+# LOCALIZATION NOTE (inspectorCopyCSSPath.label): This is the label
+# shown in the inspector contextual-menu for the item that lets users copy
+# the full CSS path of the current node
+inspectorCopyCSSPath.label=Le chemin CSS
+inspectorCopyCSSPath.accesskey=c
+
+# LOCALIZATION NOTE (inspectorCopyXPath.label): This is the label
+# shown in the inspector contextual-menu for the item that lets users copy
+# the XPath of the current node
+inspectorCopyXPath.label=XPath
+inspectorCopyXPath.accesskey=X
+
+# LOCALIZATION NOTE (inspectorPasteOuterHTML.label): This is the label shown
+# in the inspector contextual-menu for the item that lets users paste outer
+# HTML in the current node
+inspectorPasteOuterHTML.label=À l’extérieur du HTML
+inspectorPasteOuterHTML.accesskey=e
+
+# LOCALIZATION NOTE (inspectorPasteInnerHTML.label): This is the label shown
+# in the inspector contextual-menu for the item that lets users paste inner
+# HTML in the current node
+inspectorPasteInnerHTML.label=À l’intérieur du HTML
+inspectorPasteInnerHTML.accesskey=i
+
+# LOCALIZATION NOTE (inspectorHTMLPasteBefore.label): This is the label shown
+# in the inspector contextual-menu for the item that lets users paste
+# the HTML before the current node
+inspectorHTMLPasteBefore.label=Avant
+inspectorHTMLPasteBefore.accesskey=v
+
+# LOCALIZATION NOTE (inspectorHTMLPasteAfter.label): This is the label shown
+# in the inspector contextual-menu for the item that lets users paste
+# the HTML after the current node
+inspectorHTMLPasteAfter.label=Après
+inspectorHTMLPasteAfter.accesskey=s
+
+# LOCALIZATION NOTE (inspectorHTMLPasteFirstChild.label): This is the label
+# shown in the inspector contextual-menu for the item that lets users paste
+# the HTML as the first child the current node
+inspectorHTMLPasteFirstChild.label=Comme premier nœud enfant
+inspectorHTMLPasteFirstChild.accesskey=p
+
+# LOCALIZATION NOTE (inspectorHTMLPasteLastChild.label): This is the label
+# shown in the inspector contextual-menu for the item that lets users paste
+# the HTML as the last child the current node
+inspectorHTMLPasteLastChild.label=Comme dernier nœud enfant
+inspectorHTMLPasteLastChild.accesskey=d
+
+# LOCALIZATION NOTE (inspectorScrollNodeIntoView.label): This is the label
+# shown in the inspector contextual-menu for the item that lets users scroll
+# the current node into view
+inspectorScrollNodeIntoView.label=Faire défiler la vue jusqu’au nœud
+inspectorScrollNodeIntoView.accesskey=d
+
+# LOCALIZATION NOTE (inspectorHTMLDelete.label): This is the label shown in
+# the inspector contextual-menu for the item that lets users delete the
+# current node
+inspectorHTMLDelete.label=Supprimer le nœud
+inspectorHTMLDelete.accesskey=S
+
+# LOCALIZATION NOTE (inspectorAttributesSubmenu.label): This is the label
+# shown in the inspector contextual-menu for the sub-menu of the other
+# attribute items, which allow to:
+# - add new attribute
+# - edit attribute
+# - remove attribute
+inspectorAttributesSubmenu.label=Attributs
+inspectorAttributesSubmenu.accesskey=A
+
+# LOCALIZATION NOTE (inspectorAddAttribute.label): This is the label shown in
+# the inspector contextual-menu for the item that lets users add attribute
+# to current node
+inspectorAddAttribute.label=Ajouter un attribut
+inspectorAddAttribute.accesskey=A
+
+# LOCALIZATION NOTE (inspectorPseudoClassSubmenu.label): This is the label
+# shown in the inspector contextual-menu for the sub-menu of the pseudo-classes.
+inspectorPseudoClassSubmenu.label=Changer de pseudo-classe
+
+# LOCALIZATION NOTE (inspectorBreakpointSubmenu.label): This is the label
+# shown in the inspector contextual-menu for the sub-menu of the DOM breakpoints.
+inspectorBreakpointSubmenu.label=Point d’arrêt sur…
+
+# LOCALIZATION NOTE (inspectorSubtreeModification.label): This is the label shown
+# in the inspector contextual-menu for the item that lets users add a DOM breakpoint
+# for subtree modification.
+inspectorSubtreeModification.label=Une modification du sous-arbre
+
+# LOCALIZATION NOTE (inspectorAttributeModification.label): This is the label shown
+# in the inspector contextual-menu for the item that lets users add a DOM breakpoint
+# for attribute modification.
+inspectorAttributeModification.label=Une modification d’attribut
+
+# LOCALIZATION NOTE (inspectorNodeRemoval.label): This is the label shown
+# in the inspector contextual-menu for the item that lets users add a DOM breakpoint
+# for node removal.
+inspectorNodeRemoval.label=Une élimination de nœud
+
+# LOCALIZATION NOTE (inspectorSearchHTML.label3): This is the label that is
+# shown as the placeholder for the markup view search in the inspector.
+inspectorSearchHTML.label3=Rechercher dans le HTML
+
+# LOCALIZATION NOTE (inspectorImageDataUri.label): This is the label
+# shown in the inspector contextual-menu for the item that lets users copy
+# the URL embedding the image data encoded in Base 64 (what we name
+# here Image Data URL). For more information:
+# https://developer.mozilla.org/en-US/docs/Web/HTTP/data_URIs
+inspectorImageDataUri.label=L’image en tant que Data-URL
+
+# LOCALIZATION NOTE (inspectorShowDOMProperties.label): This is the label
+# shown in the inspector contextual-menu for the item that lets users see
+# the DOM properties of the current node. When triggered, this item
+# opens the split Console and displays the properties in its side panel.
+inspectorShowDOMProperties.label=Afficher les propriétés DOM
+
+# LOCALIZATION NOTE (inspectorShowAccessibilityProperties.label): This is the
+# label shown in the inspector contextual-menu for the item that lets users see
+# the accessibility tree and accessibility properties of the current node.
+# When triggered, this item opens accessibility panel and selects an accessible
+# object for the given node.
+inspectorShowAccessibilityProperties.label=Afficher les propriétés d’accessibilité
+
+# LOCALIZATION NOTE (inspectorUseInConsole.label): This is the label
+# shown in the inspector contextual-menu for the item that outputs a
+# variable for the current node to the console. When triggered,
+# this item opens the split Console.
+inspectorUseInConsole.label=Ouvrir dans la console
+
+# LOCALIZATION NOTE (inspectorExpandNode.label): This is the label
+# shown in the inspector contextual-menu for recursively expanding
+# mark-up elements
+inspectorExpandNode.label=Tout développer
+
+# LOCALIZATION NOTE (inspectorCollapseAll.label): This is the label
+# shown in the inspector contextual-menu for recursively collapsing
+# mark-up elements
+inspectorCollapseAll.label=Tout réduire
+
+# LOCALIZATION NOTE (inspectorScreenshotNode.label): This is the label
+# shown in the inspector contextual-menu for the item that lets users take
+# a screenshot of the currently selected node.
+inspectorScreenshotNode.label=Prendre une capture du nœud
+
+# LOCALIZATION NOTE (inspectorDuplicateNode.label): This is the label
+# shown in the inspector contextual-menu for the item that lets users
+# duplicate the currently selected node.
+inspectorDuplicateNode.label=Dupliquer le nœud
+
+# LOCALIZATION NOTE (inspectorAddNode.label): This is the label shown in
+# the inspector toolbar for the button that lets users add elements to the
+# DOM (as children of the currently selected element).
+inspectorAddNode.label=Créer un nouveau nœud
+inspectorAddNode.accesskey=C
+
+# LOCALIZATION NOTE (inspectorCopyHTMLSubmenu.label): This is the label
+# shown in the inspector contextual-menu for the sub-menu of the other
+# copy items, which allow to:
+# - Copy Inner HTML
+# - Copy Outer HTML
+# - Copy Unique selector
+# - Copy Image data URI
+inspectorCopyHTMLSubmenu.label=Copier
+
+# LOCALIZATION NOTE (inspectorPasteHTMLSubmenu.label): This is the label
+# shown in the inspector contextual-menu for the sub-menu of the other
+# paste items, which allow to:
+# - Paste Inner HTML
+# - Paste Outer HTML
+# - Before
+# - After
+# - As First Child
+# - As Last Child
+inspectorPasteHTMLSubmenu.label=Coller
+
+# LOCALIZATION NOTE (inspectorCustomElementDefinition.label): This is the label
+# shown in the inspector contextual-menu for custom elements to which a shadow root has
+# been attached. Clicking on the menu item will open the Debugger on the custom element
+# definition location.
+inspectorCustomElementDefinition.label=Afficher l’élément personnalisé
+
+# LOCALIZATION NOTE (inspector.searchHTML.key):
+# Key shortcut used to focus the DOM element search box on top-right corner of
+# the markup view
+inspector.searchHTML.key=CmdOrCtrl+F
+
+# LOCALIZATION NOTE (markupView.hide.key):
+# Key shortcut used to hide the selected node in the markup view.
+markupView.hide.key=h
+
+# LOCALIZATION NOTE (markupView.edit.key):
+# Key shortcut used to hide the selected node in the markup view.
+markupView.edit.key=F2
+
+# LOCALIZATION NOTE (markupView.scrollInto.key):
+# Key shortcut used to scroll the webpage in order to ensure the selected node
+# is visible
+markupView.scrollInto.key=s
+
+# LOCALIZATION NOTE (inspector.sidebar.fontInspectorTitle):
+# This is the title shown in a tab in the side panel of the Inspector panel
+# that corresponds to the tool displaying the list of fonts used in the page.
+inspector.sidebar.fontInspectorTitle=Polices
+
+# LOCALIZATION NOTE (inspector.sidebar.changesViewTitle):
+# Title of the Changes sidebar tab shown in the Inspector panel. The Changes panel shows
+# style changes made using DevTools.
+inspector.sidebar.changesViewTitle=Modifications
+
+# LOCALIZATION NOTE (inspector.sidebar.ruleViewTitle):
+# This is the title shown in a tab in the side panel of the Inspector panel
+# that corresponds to the tool displaying the list of CSS rules used
+# in the page.
+inspector.sidebar.ruleViewTitle=Règles
+
+# LOCALIZATION NOTE (inspector.sidebar.computedViewTitle):
+# This is the title shown in a tab in the side panel of the Inspector panel
+# that corresponds to the tool displaying the list of computed CSS values
+# used in the page.
+inspector.sidebar.computedViewTitle=Calculé
+
+# LOCALIZATION NOTE (inspector.sidebar.layoutViewTitle2):
+# This is the title shown in a tab in the side panel of the Inspector panel
+# that corresponds to the tool displaying layout information defined in the page.
+inspector.sidebar.layoutViewTitle2=Mise en page
+
+# LOCALIZATION NOTE (inspector.sidebar.animationInspectorTitle):
+# This is the title shown in a tab in the side panel of the Inspector panel
+# that corresponds to the tool displaying animations defined in the page.
+inspector.sidebar.animationInspectorTitle=Animations
+
+# LOCALIZATION NOTE (inspector.sidebar.compatibilityViewTitle):
+# This is the title shown in a tab in the side panel of the Inspector panel
+# that corresponds to the tool displaying web compatibility information about the page.
+inspector.sidebar.compatibilityViewTitle=Compatibilité
+
+# LOCALIZATION NOTE (inspector.eyedropper.label): A string displayed as the tooltip of
+# a button in the inspector which toggles the Eyedropper tool
+inspector.eyedropper.label=Sélectionner une couleur depuis la page
+
+# LOCALIZATION NOTE (inspector.breadcrumbs.label): A string visible only to a screen reader and
+# is used to label (using aria-label attribute) a container for inspector breadcrumbs
+inspector.breadcrumbs.label=Fil d’Ariane
+
+# LOCALIZATION NOTE (inspector.browserStyles.label): This is the label for the checkbox
+# that specifies whether the styles that are not from the user's stylesheet should be
+# displayed or not.
+inspector.browserStyles.label=Styles navigateur
+
+# LOCALIZATION NOTE (inspector.filterStyles.label): This is the label for the search box
+inspector.filterStyles.label=Filtrer les styles
+
+# LOCALIZATION NOTE (inspector.filterStyles.placeholder): This is the placeholder that
+# goes in the search box when no search term has been entered.
+inspector.filterStyles.placeholder=Filtrer les styles
+
+# LOCALIZATION NOTE (inspector.filterStylesClearButton.title): This is the title
+# for the search box clear button displayed when the input is not empty.
+inspector.filterStylesClearButton.title = Supprimer le filtre
+
+# LOCALIZATION NOTE (inspector.addRule.tooltip): This is the tooltip shown when
+# hovering the `Add new rule` button in the rules view toolbar. This should
+# match ruleView.contextmenu.addNewRule in styleinspector.properties
+inspector.addRule.tooltip=Ajouter une règle
+
+# LOCALIZATION NOTE (inspector.togglePseudo.tooltip): This is the tooltip
+# shown when hovering over the `Toggle Pseudo Class Panel` button in the
+# rule view toolbar.
+inspector.togglePseudo.tooltip=Activer les pseudo-classes
+
+# LOCALIZATION NOTE (inspector.classPanel.toggleClass.tooltip): This is the tooltip
+# shown when hovering over the `Toggle Class Panel` button in the
+# rule view toolbar.
+inspector.classPanel.toggleClass.tooltip=Activer les classes
+
+# LOCALIZATION NOTE (inspector.classPanel.newClass.placeholder): This is the placeholder
+# shown inside the text field used to add a new class in the rule-view.
+inspector.classPanel.newClass.placeholder=Ajouter une classe
+
+# LOCALIZATION NOTE (inspector.classPanel.noClasses): This is the text displayed in the
+# class panel when the current element has no classes applied.
+inspector.classPanel.noClasses=Aucune classe sur cet élément
+
+# LOCALIZATION NOTE (inspector.noProperties): In the case where there are no CSS
+# properties to display e.g. due to search criteria this message is
+# displayed.
+inspector.noProperties=Aucune propriété CSS n’a été trouvée.
+
+# LOCALIZATION NOTE (inspector.printSimulation.tooltip):
+# This is the tooltip of the print simulation button in the Rule View toolbar
+# that toggles print simulation.
+inspector.printSimulation.tooltip = Activer/Désactiver la simulation des règles media pour l’impression de la page
+
+# LOCALIZATION NOTE (inspector.colorSchemeSimulationLight.tooltip):
+# This is the tooltip of the light color scheme simulation button in the Rule View
+# toolbar that toggles light color scheme simulation.
+inspector.colorSchemeSimulationLight.tooltip=Activer/désactiver la simulation du jeu de couleurs claires pour la page
+
+# LOCALIZATION NOTE (inspector.colorSchemeSimulationDark.tooltip):
+# This is the tooltip of the dark color scheme simulation button in the Rule View
+# toolbar that toggles dark color scheme simulation.
+inspector.colorSchemeSimulationDark.tooltip=Activer/désactiver la simulation du jeu de couleurs sombres pour la page
+
+# LOCALIZATION NOTE (markupView.scrollableBadge.label): This is the text displayed inside a
+# badge, in the inspector, next to nodes that are scrollable in the page.
+markupView.scrollableBadge.label=défilable
+
+# LOCALIZATION NOTE (markupView.scrollableBadge.tooltip): This is the tooltip that is displayed
+# when hovering over badges next to scrollable elements in the inspector.
+markupView.scrollableBadge.tooltip=Il est possible de faire défiler la partie qui déborde de cet élément.
+
+# LOCALIZATION NOTE (markupView.scrollableBadge.interactive.tooltip): This is the tooltip that is displayed
+# when hovering over interactive badges next to scrollable elements in the inspector.
+markupView.scrollableBadge.interactive.tooltip=Cet élément a un débordement défilable. Cliquez pour révéler les éléments à l’origine du débordement.
+
+# LOCALIZATION NOTE (markupView.overflowBadge.label): This is the text displayed inside a
+# badge, in the inspector, next to nodes that are causing overflow in other elements.
+markupView.overflowBadge.label=débordement
+
+# LOCALIZATION NOTE (markupView.overflowBadge.tooltip): This is the tooltip that is displayed
+# when hovering over badges next to overflow causing elements in the inspector.
+markupView.overflowBadge.tooltip=Cet élément provoque le débordement d’un autre élément.
+
+# LOCALIZATION NOTE (rulePreviewTooltip.noAssociatedRule): This is the text displayed inside
+# the RulePreviewTooltip when a rule cannot be found for a CSS property declaration.
+rulePreviewTooltip.noAssociatedRule=Pas de règle associée
+
+# LOCALIZATION NOTE (colorPickerTooltip.contrastAgainstBgTitle): A title text for the
+# contrast ratio value description that labels the background the color contrast ratio is calculated
+# against, used together with the actual background color. %S in the content will be replaced by a
+# span (containing bg color swatch) and textNode (containing bg color hex string) at run time
+colorPickerTooltip.contrastAgainstBgTitle=Calculé par rapport à l’arrière-plan : %S
+
+# LOCALIZATION NOTE (colorPickerTooltip.spectrumDraggerTitle): A title text for the
+# spectrum dragger panel in the color picker tooltip.
+colorPickerTooltip.spectrumDraggerTitle=Spectre
+
+# LOCALIZATION NOTE (colorPickerTooltip.eyedropperTitle): A title text for the
+# eyedropper in the color picker tooltip.
+colorPickerTooltip.eyedropperTitle=Sélectionner une couleur sur la page
+
+# LOCALIZATION NOTE (colorPickerTooltip.colorNameTitle): A title text for the
+# closest color name shown in the color picker tooltip, used together with the actual color.
+# %S in the content will be replaced by the color name the current color is closest to.
+colorPickerTooltip.colorNameTitle=Couleur la plus proche : %S
+
+# LOCALIZATION NOTE (colorPickerTooltip.hueSliderTitle): A title text for the
+# hue slider in the color picker tooltip.
+colorPickerTooltip.hueSliderTitle=Teinte
+
+# LOCALIZATION NOTE (colorPickerTooltip.alphaSliderTitle): A title text for the
+# alpha slider in the color picker tooltip.
+colorPickerTooltip.alphaSliderTitle=Opacité
+
+# LOCALIZATION NOTE (colorPickerTooltip.contrast.large.title): A title text for the color
+# contrast ratio description in the color picker tooltip, used together with the specification
+# that the color contrast criteria used is for large text. %S in the content will be replaced by a
+# large text indicator span at run time.
+colorPickerTooltip.contrast.large.title=Contraste %S :
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/devtools/client/jsonview.properties b/thunderbird-l10n/fr/chrome/fr/locale/fr/devtools/client/jsonview.properties
new file mode 100644
index 0000000000..c351189f08
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/devtools/client/jsonview.properties
@@ -0,0 +1,47 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE These strings are used in the JSON View tool
+# that is used to inspect application/json document types loaded
+# in the browser.
+
+# LOCALIZATION NOTE The correct localization of this file might be to keep it
+# in English, or another language commonly spoken among web developers.
+# You want to make that choice consistent across the developer tools.
+# A good criteria is the language in which you'd find the best documentation
+# on web development on the web.
+
+# LOCALIZATION NOTE (jsonViewer.tab.JSON, jsonViewer.tab.RawData,
+# jsonViewer.tab.Headers): Label for a panel tab.
+jsonViewer.tab.JSON=JSON
+jsonViewer.tab.RawData=Données brutes
+jsonViewer.tab.Headers=En-têtes
+
+# LOCALIZATION NOTE (jsonViewer.responseHeaders, jsonViewer.requestHeaders):
+# Label for header groups within the 'Headers' panel.
+jsonViewer.responseHeaders=En-têtes de réponse
+jsonViewer.requestHeaders=En-têtes de requête
+
+# LOCALIZATION NOTE (jsonViewer.Save): Label for save command
+jsonViewer.Save=Enregistrer
+
+# LOCALIZATION NOTE (jsonViewer.Copy): Label for clipboard copy command
+jsonViewer.Copy=Copier
+
+# LOCALIZATION NOTE (jsonViewer.ExpandAll): Label for expanding all nodes
+jsonViewer.ExpandAll=Tout développer
+
+jsonViewer.ExpandAllSlow=Tout développer (lent)
+
+# LOCALIZATION NOTE (jsonViewer.CollapseAll): Label for collapsing all nodes
+jsonViewer.CollapseAll=Tout réduire
+
+# LOCALIZATION NOTE (jsonViewer.PrettyPrint): Label for JSON
+# pretty print action button.
+jsonViewer.PrettyPrint=Formater et indenter
+
+# LOCALIZATION NOTE (jsonViewer.filterJSON): Label used in search box
+# at the top right cornder of the JSON Viewer.
+jsonViewer.filterJSON=Filtrer le JSON
+
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/devtools/client/layout.properties b/thunderbird-l10n/fr/chrome/fr/locale/fr/devtools/client/layout.properties
new file mode 100644
index 0000000000..eab3fe95be
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/devtools/client/layout.properties
@@ -0,0 +1,138 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE This file contains the Layout Inspector strings.
+# The Layout Inspector is a panel accessible in the Inspector sidebar.
+
+# LOCALIZATION NOTE (flexbox.header): The accordion header for the Flexbox panel when
+# no flex container or item is selected.
+flexbox.header=Flexbox
+
+# LOCALIZATION NOTE (flexbox.backButtonLabel): The spoken label for the button
+# that returns from the display of a flex item to the flex item list.
+# This label is spoken by screen readers, not displayed on screen.
+flexbox.backButtonLabel=Retourner au conteneur Flex
+
+# LOCALIZATION (flexbox.flexContainer): The accordion header for the Flexbox panel
+# when a flex container is selected.
+flexbox.flexContainer=Conteneur flex
+
+# LOCALIZATION NOTE) (flexbox.flexItemOf): The accordion header for the Flexbox panel
+# when a flex item is selected. %s represents the flex container selector.
+flexbox.flexItemOf=Élément flex de %S
+
+# LOCALIZATION NOTE (flexbox.noFlexboxeOnThisPage): In the case where there are no CSS
+# flex containers to display.
+flexbox.noFlexboxeOnThisPage=Sélectionnez un conteneur flexible ou un élément flex pour continuer.
+
+# LOCALIZATION NOTE (flexbox.flexItems): Header label displayed for the flex item list.
+flexbox.flexItems=Éléments flex
+
+# LOCALIZATION NOTE (flexbox.noFlexItems): Label shown in the flex items list section if
+# there are no flex items for the flex container to display.
+flexbox.noFlexItems=Aucun élément flex
+
+# LOCALIZATION NOTE (flexbox.itemSizing.baseSizeSectionHeader): Header label displayed
+# at the start of the flex item sizing Base Size section.
+flexbox.itemSizing.baseSizeSectionHeader=Taille initiale
+
+# LOCALIZATION NOTE (flexbox.itemSizing.flexibilitySectionHeader): Header label displayed
+# at the start of the flex item sizing Flexibility section.
+flexbox.itemSizing.flexibilitySectionHeader=Flexibilité
+
+# LOCALIZATION NOTE (flexbox.itemSizing.minSizeSectionHeader): Header label displayed
+# at the start of the flex item sizing Minimum Size section.
+flexbox.itemSizing.minSizeSectionHeader=Taille minimale
+
+# LOCALIZATION NOTE (flexbox.itemSizing.maxSizeSectionHeader): Header label displayed at
+# the start of the flex item sizing Maximum Size section.
+flexbox.itemSizing.maxSizeSectionHeader=Taille maximale
+
+# LOCALIZATION NOTE (flexbox.itemSizing.finalSizeSectionHeader): Header label displayed at
+# the start of the flex item sizing Final Size section.
+flexbox.itemSizing.finalSizeSectionHeader=Taille finale
+
+# LOCALIZATION NOTE (flexbox.itemSizing.itemContentSize): Label shown in the flex item
+# sizing panel. It tells users that a given item’s base size was calculated from its
+# content size when unconstrained.
+flexbox.itemSizing.itemContentSize=Taille du contenu
+
+# LOCALIZATION NOTE (flexbox.itemSizing.clampedToMax): Label shown in the flexbox item
+# sizing panel. It tells users that a given item attempted to grow but ended up being
+# clamped to a smaller max size.
+# (Note that clamp is a common word in flexbox terminology. It refers to constraining an
+# item's size to some defined min/max-width/height set on the element, even though there
+# might have been room for it to grow, or reason for it to shrink more).
+flexbox.itemSizing.clampedToMax=L’élément a été contraint à sa taille maximale.
+
+# LOCALIZATION NOTE (flexbox.itemSizing.clampedToMin): Label shown in the flexbox item
+# sizing panel. It tells users that a given item attempted to grow but ended up being
+# clamped to a larger min size.
+# (Note that clamp is a common word in flexbox terminology. It refers to constraining an
+# item's size to some defined min/max-width/height set on the element, even though there
+# might have been room for it to grow, or reason for it to shrink more).
+flexbox.itemSizing.clampedToMin=L’élément a été contraint à sa taille minimale.
+
+# LOCALIZATION NOTE (flexbox.itemSizing.setToGrow): Label shown in the flex item sizing
+# panel. It tells users that a given item was set to grow.
+flexbox.itemSizing.setToGrow=L’élément est configuré pour s’agrandir.
+
+# LOCALIZATION NOTE (flexbox.itemSizing.setToShrink): Label shown in the flexbox item
+# sizing panel. It tells users that a given item was set to shrink.
+flexbox.itemSizing.setToShrink=L’élément est configuré pour rétrécir.
+
+# LOCALIZATION NOTE (flexbox.itemSizing.notSetToGrow): Label shown in the
+# flexbox item sizing panel. It tells users that a given item was not set to grow, even
+# though there might have been space on the flex line for it to grow.
+flexbox.itemSizing.notSetToGrow=L’élément n’est pas configuré pour s’agrandir.
+
+# LOCALIZATION NOTE (flexbox.itemSizing.notSetToShrink): Label shown in the
+# flexbox item sizing panel. It tells users that a given item did not shrink even though
+# there might not have been enough space on the flex line for all items to fit.
+flexbox.itemSizing.notSetToShrink=L’élément n’est pas configuré pour rétrécir.
+
+# LOCALIZATION NOTE (flexbox.togglesFlexboxHighlighter2): The tooltip text for the Flexbox
+# toggle button.
+flexbox.togglesFlexboxHighlighter2=Activer/Désactiver la mise en évidence d’éléments flexbox
+
+# LOCALIZATION NOTE (layout.overlayCheckbox.label): Label used for checkboxes in the grid
+# sections of the layout panel that control the display of the grid highlighter.
+layout.toggleGridHighlighter=Activer/Désactiver la mise en évidence des grilles
+
+# LOCALIZATION NOTE (layout.cannotShowGridOutline, layout.cannotSHowGridOutline.title):
+# In the case where the grid outline cannot be effectively displayed.
+layout.cannotShowGridOutline=Impossible d’afficher la structure de cette grille
+layout.cannotShowGridOutline.title=La structure de la grille sélectionnée est trop grande pour être utilisée dans le panneau Disposition.
+
+# LOCALIZATION NOTE (layout.displayAreaNames): Label of the display area names setting
+# option in the CSS Grid panel.
+layout.displayAreaNames=Afficher le nom des zones
+
+# LOCALIZATION NOTE (layout.displayLineNumbers): Label of the display line numbers
+# setting option in the CSS Grid panel.
+layout.displayLineNumbers=Afficher le numéro des lignes
+
+# LOCALIZATION NOTE (layout.extendLinesInfinitely): Label of the extend lines
+# infinitely setting option in the CSS Grid panel.
+layout.extendLinesInfinitely=Prolonger les lignes à l’infini
+
+# LOCALIZATION NOTE (layout.header): The accordion header for the CSS Grid panel.
+layout.header=Grilles
+
+# LOCALIZATION NOTE (layout.gridDisplaySettings): The header for the grid display
+# settings container in the CSS Grid panel.
+layout.gridDisplaySettings=Paramètres d’affichage des grilles
+
+# LOCALIZATION NOTE (layout.noGridsOnThisPage): In the case where there are no CSS grid
+# containers to display.
+layout.noGridsOnThisPage=Aucune grille CSS utilisée sur la page
+
+# LOCALIZATION NOTE (layout.overlayGrid): Alternate header for the list of grid container
+# elements if only one item can be selected.
+layout.overlayGrid=Superposer une grille
+
+# LOCALIZATION NOTE (layout.colorSwatch.tooltip): Text displayed in a tooltip
+# when the mouse is over a color swatch in the layout panel (for flexbox/grid highlighter color).
+# %s represents the current selected color in hex format (e.g. #FF0000).
+layout.colorSwatch.tooltip=Échantillon de couleur : %S. Cliquez pour ouvrir le sélecteur de couleurs
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/devtools/client/memory.properties b/thunderbird-l10n/fr/chrome/fr/locale/fr/devtools/client/memory.properties
new file mode 100644
index 0000000000..e30d3865d7
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/devtools/client/memory.properties
@@ -0,0 +1,434 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE These strings are used inside the Memory Tools
+# which is available from the Web Developer sub-menu -> 'Memory'.
+# The correct localization of this file might be to keep it in
+# English, or another language commonly spoken among web developers.
+# You want to make that choice consistent across the developer tools.
+# A good criteria is the language in which you'd find the best
+# documentation on web development on the web.
+
+# LOCALIZATION NOTE These strings are used inside the Memory Tools
+# which is available from the Browser Tools sub-menu -> 'Memory'.
+# The correct localization of this file might be to keep it in
+# English, or another language commonly spoken among web developers.
+# You want to make that choice consistent across the developer tools.
+# A good criteria is the language in which you'd find the best
+# documentation on web development on the web.
+
+# LOCALIZATION NOTE (snapshot.io.save): The label for the link that saves a
+# snapshot to disk.
+snapshot.io.save=Enregistrer
+
+# LOCALIZATION NOTE (snapshot.io.delete): The label for the link that deletes
+# a snapshot
+snapshot.io.delete=Supprimer
+
+# LOCALIZATION NOTE (snapshot.io.save.window): The title for the window
+# displayed when saving a snapshot to disk.
+snapshot.io.save.window=Enregistrer l’instantané du tas
+
+# LOCALIZATION NOTE (snapshot.io.import.window): The title for the window
+# displayed when importing a snapshot form disk.
+snapshot.io.import.window=Importer un instantané de tas
+
+# LOCALIZATION NOTE (snapshot.io.filter): The title for the filter used to
+# filter file types (*.fxsnapshot)
+snapshot.io.filter=Instantanés du tas de Firefox
+
+# LOCALIZATION NOTE (aggregate.mb): The label annotating the number of bytes (in
+# megabytes) in a snapshot. %S represents the value, rounded to 2 decimal
+# points.
+aggregate.mb=%S Mo
+
+# LOCALIZATION NOTE (snapshot-title.loading): The title for a snapshot before
+# it has a creation time to display.
+snapshot-title.loading=Traitement…
+
+# LOCALIZATION NOTE (checkbox.recordAllocationStacks): The label describing the
+# boolean checkbox whether or not to record call stacks.
+checkbox.recordAllocationStacks=Enregistrer les piles d’allocations
+
+# LOCALIZATION NOTE (checkbox.recordAllocationStacks.tooltip): The tooltip for
+# the label describing the boolean checkbox whether or not to record call
+# stacks.
+checkbox.recordAllocationStacks.tooltip=Activer/Désactiver l’enregistrement des piles d’allocations. Les prochains instantanés de tas pourront nommer et regrouper par pile d’allocations les objets créés (lorsque l’enregistrement des piles d’allocations est actif). L’enregistrement des piles d’allocations a un impact négatif sur les performances.
+
+# LOCALIZATION NOTE (toolbar.displayBy): The label describing the select menu
+# options of the display options.
+toolbar.displayBy=Regrouper selon :
+
+# LOCALIZATION NOTE (toolbar.displayBy.tooltip): The tooltip for the label
+# describing the select menu options of the display options.
+toolbar.displayBy.tooltip=Changer la façon dont les objets sont regroupés
+
+# LOCALIZATION NOTE (toolbar.pop-view): The text in the button to go back to the
+# previous view.
+toolbar.pop-view=←
+
+# LOCALIZATION NOTE (toolbar.pop-view.label): The text for the label for the
+# button to go back to the previous view.
+toolbar.pop-view.label=Retour aux agrégats
+
+# LOCALIZATION NOTE (toolbar.viewing-individuals): The text letting the user
+# know that they are viewing individual nodes from a census group.
+toolbar.viewing-individuals=⁂ Afficher les nœuds individuels du groupe
+
+# LOCALIZATION NOTE (censusDisplays.coarseType.tooltip): The tooltip for the
+# "coarse type" display option.
+censusDisplays.coarseType.tooltip=Regrouper les éléments par type
+
+# LOCALIZATION NOTE (censusDisplays.allocationStack.tooltip): The tooltip for
+# the "call stack" display option.
+censusDisplays.allocationStack.tooltip=Regrouper les éléments selon la pile JavaScript enregistrée lors de l’allocation de l’objet
+
+# LOCALIZATION NOTE (censusDisplays.invertedAllocationStack.tooltip): The
+# tooltip for the "inverted call stack" display option.
+censusDisplays.invertedAllocationStack.tooltip=Regrouper les éléments selon la pile d’appels JavaScript inversée enregistrée lors de l’allocation de l’objet
+
+# LOCALIZATION NOTE (toolbar.labelBy): The label describing the select menu
+# options of the label options.
+toolbar.labelBy=Nommer selon :
+
+# LOCALIZATION NOTE (toolbar.labelBy.tooltip): The tooltip for the label describing the
+# select menu options of the label options.
+toolbar.labelBy.tooltip=Changer la façon de nommer les objets
+
+# LOCALIZATION NOTE (dominatorTreeDisplays.coarseType.tooltip): The tooltip for
+# the "coarse type" dominator tree display option.
+dominatorTreeDisplays.coarseType.tooltip=Regrouper les éléments selon les grandes catégories auxquelles ils appartiennent
+
+# LOCALIZATION NOTE (dominatorTreeDisplays.allocationStack.tooltip): The
+# tooltip for the "call stack" dominator tree display option.
+dominatorTreeDisplays.allocationStack.tooltip=Nommer les objets selon la pile JavaScript enregistrée lors de leur allocation
+
+# LOCALIZATION NOTE (treeMapDisplays.coarseType.tooltip): The tooltip for
+# the "coarse type" tree map display option.
+treeMapDisplays.coarseType.tooltip=Regrouper les éléments selon les grandes catégories auxquelles ils appartiennent
+
+# LOCALIZATION NOTE (toolbar.view): The label for the view selector in the
+# toolbar.
+toolbar.view=Afficher :
+
+# LOCALIZATION NOTE (toolbar.view.tooltip): The tooltip for the label for the
+# view selector in the toolbar.
+toolbar.view.tooltip=Modifier l’affichage de l’instantané du tas
+
+# LOCALIZATION NOTE (toolbar.view.census): The label for the census view option
+# in the toolbar.
+toolbar.view.census=Agrégats
+
+# LOCALIZATION NOTE (toolbar.view.census.tooltip): The tooltip for the label for
+# the census view option in the toolbar.
+toolbar.view.census.tooltip=Afficher un résumé du contenu de l’instantané du tas en regroupant les objets
+
+# LOCALIZATION NOTE (toolbar.view.dominators): The label for the dominators view
+# option in the toolbar.
+toolbar.view.dominators=Dominants
+
+# LOCALIZATION NOTE (toolbar.view.dominators.tooltip): The tooltip for the label
+# for the dominators view option in the toolbar.
+toolbar.view.dominators.tooltip=Afficher l’arbre des dominants et faire ressortir les structures les plus importantes de l’instantané du tas
+
+# LOCALIZATION NOTE (toolbar.view.treemap): The label for the tree map option
+# in the toolbar.
+toolbar.view.treemap=Carte proportionnelle
+
+# LOCALIZATION NOTE (toolbar.view.treemap.tooltip): The tooltip for the label for
+# the tree map view option in the toolbar.
+toolbar.view.treemap.tooltip=Visualiser la consommation mémoire : les blocs les plus grands représentent un pourcentage de consommation plus élevé
+
+# LOCALIZATION NOTE (take-snapshot): The label describing the button that
+# initiates taking a snapshot, either as the main label, or a tooltip.
+take-snapshot=Capturer un instantané
+
+# LOCALIZATION NOTE (import-snapshot): The label describing the button that
+# initiates importing a snapshot.
+import-snapshot=Importer…
+
+# LOCALIZATION NOTE (clear-snapshots.tooltip): The tooltip for the button that
+# deletes existing snapshot.
+clear-snapshots.tooltip=Supprimer tous les instantanés
+
+# LOCALIZATION NOTE (diff-snapshots.tooltip): The tooltip for the button that
+# initiates selecting two snapshots to diff with each other.
+diff-snapshots.tooltip=Comparer les captures
+
+# LOCALIZATION NOTE (filter.placeholder): The placeholder text used for the
+# memory tool's filter search box.
+filter.placeholder=Filtrer
+
+# LOCALIZATION NOTE (filter.tooltip): The tooltip text used for the memory
+# tool's filter search box.
+filter.tooltip=Filtrer le contenu de la capture du tas
+
+# LOCALIZATION NOTE (tree-item.view-individuals.tooltip): The tooltip for the
+# button to view individuals in this group.
+tree-item.view-individuals.tooltip=Afficher les nœuds individuels de ce groupe et leurs chemins de rétention
+
+# LOCALIZATION NOTE (tree-item.load-more): The label for the links to fetch the
+# lazily loaded sub trees in the dominator tree view.
+tree-item.load-more=Afficher davantage…
+
+# LOCALIZATION NOTE (tree-item.rootlist): The label for the root of the
+# dominator tree.
+tree-item.rootlist=Racines GC
+
+# LOCALIZATION NOTE (tree-item.nostack): The label describing the row in the heap tree
+# that represents a row broken down by call stack when no stack was available.
+tree-item.nostack=(aucune pile disponible)
+
+# LOCALIZATION NOTE (tree-item.nofilename): The label describing the row in the
+# heap tree that represents a row broken down by filename when no filename was
+# available.
+tree-item.nofilename=(aucun nom de fichier disponible)
+
+# LOCALIZATION NOTE (tree-item.root): The label describing the row in the heap tree
+# that represents the root of the tree when inverted.
+tree-item.root=(racine)
+
+# LOCALIZATION NOTE (tree-item.percent2): A percent of bytes or count displayed in the tree view.
+# there are two "%" after %S to escape and display "%"
+tree-item.percent2=%S %%
+
+# LOCALIZATION NOTE (diffing.baseline): The name of the baseline snapshot in a
+# diffing comparison.
+diffing.baseline=Capture de référence
+
+# LOCALIZATION NOTE (diffing.comparison): The name of the snapshot being
+# compared to the baseline in a diffing comparison.
+diffing.comparison=Comparaison
+
+# LOCALIZATION NOTE (diffing.prompt.selectBaseline): The prompt to select the
+# first snapshot when doing a diffing comparison.
+diffing.prompt.selectBaseline=Sélectionnez la capture de référence
+
+# LOCALIZATION NOTE (diffing.prompt.selectComparison): The prompt to select the
+# second snapshot when doing a diffing comparison.
+diffing.prompt.selectComparison=Sélectionnez la capture à comparer avec la capture de référence
+
+# LOCALIZATION NOTE (diffing.state.error): The label describing the diffing
+# state ERROR, used in the snapshot list when an error occurs while diffing two
+# snapshots.
+diffing.state.error=Erreur
+
+# LOCALIZATION NOTE (diffing.state.error.full): The text describing the diffing
+# state ERROR, used in the main view when an error occurs while diffing two
+# snapshots.
+diffing.state.error.full=Une erreur s’est produite lors de la comparaison des captures
+
+# LOCALIZATION NOTE (diffing.state.taking-diff): The label describing the diffin
+# state TAKING_DIFF, used in the snapshots list when computing the difference
+# between two snapshots.
+diffing.state.taking-diff=Calcul des différences…
+
+# LOCALIZATION NOTE (diffing.state.taking-diff.full): The label describing the
+# diffing state TAKING_DIFF, used in the main view when computing the difference
+# between two snapshots.
+diffing.state.taking-diff.full=Calcul des différences…
+
+# LOCALIZATION NOTE (diffing.state.selecting): The label describing the diffing
+# state SELECTING.
+diffing.state.selecting=Sélectionnez deux captures à comparer
+
+# LOCALIZATION NOTE (diffing.state.selecting.full): The label describing the
+# diffing state SELECTING, used in the main view when selecting snapshots to
+# diff.
+diffing.state.selecting.full=Sélectionnez deux captures à comparer
+
+# LOCALIZATION NOTE (dominatorTree.state.computing): The label describing the
+# dominator tree state COMPUTING.
+dominatorTree.state.computing=Calcul des dominants…
+
+# LOCALIZATION NOTE (dominatorTree.state.computing.full): The label describing the
+# dominator tree state COMPUTING, used in the dominator tree view.
+dominatorTree.state.computing.full=Calcul de l’arbre des dominants…
+
+# LOCALIZATION NOTE (dominatorTree.state.fetching): The label describing the
+# dominator tree state FETCHING.
+dominatorTree.state.fetching=Calcul des tailles…
+
+# LOCALIZATION NOTE (dominatorTree.state.fetching.full): The label describing the
+# dominator tree state FETCHING, used in the dominator tree view.
+dominatorTree.state.fetching.full=Calcul des tailles retenues…
+
+# LOCALIZATION NOTE (dominatorTree.state.incrementalFetching): The label
+# describing the dominator tree state INCREMENTAL_FETCHING.
+dominatorTree.state.incrementalFetching=Récupération…
+
+# LOCALIZATION NOTE (dominatorTree.state.incrementalFetching.full): The label describing the
+# dominator tree state INCREMENTAL_FETCHING, used in the dominator tree view.
+dominatorTree.state.incrementalFetching.full=Récupération du sous-arbre…
+
+# LOCALIZATION NOTE (dominatorTree.state.error): The label describing the
+# dominator tree state ERROR.
+dominatorTree.state.error=Erreur
+
+# LOCALIZATION NOTE (dominatorTree.state.error.full): The label describing the
+# dominator tree state ERROR, used in the dominator tree view.
+dominatorTree.state.error.full=Une erreur s’est produite lors du traitement de l’arbre des dominants
+
+# LOCALIZATION NOTE (snapshot.state.saving.full): The label describing the
+# snapshot state SAVING, used in the main heap view.
+snapshot.state.saving.full=Capture de l’instantané…
+
+# LOCALIZATION NOTE (snapshot.state.reading.full): The label describing the
+# snapshot state READING, and SAVED, due to these states being combined
+# visually, used in the main heap view.
+snapshot.state.reading.full=Lecture de l’instantané…
+
+# LOCALIZATION NOTE (snapshot.state.saving-census.full): The label describing
+# the snapshot state SAVING, used in the main heap view.
+snapshot.state.saving-census.full=Enregistrement du recensement…
+
+# LOCALIZATION NOTE (snapshot.state.saving-tree-map.full): The label describing
+# the snapshot state SAVING, used in the main heap view.
+snapshot.state.saving-tree-map.full=Enregistrement de la carte proportionnelle…
+
+# LOCALIZATION NOTE (snapshot.state.error.full): The label describing the
+# snapshot state ERROR, used in the main heap view.
+snapshot.state.error.full=Une erreur s’est produite lors de l’analyse de cet instantané.
+
+# LOCALIZATION NOTE (individuals.state.error): The short message displayed when
+# there is an error fetching individuals from a group.
+individuals.state.error=Erreur
+
+# LOCALIZATION NOTE (individuals.state.error.full): The longer message displayed
+# when there is an error fetching individuals from a group.
+individuals.state.error.full=Une erreur s’est produite lors de la récupération des nœuds individuels du groupe
+
+# LOCALIZATION NOTE (individuals.state.fetching): The short message displayed
+# while fetching individuals.
+individuals.state.fetching=Récupération…
+
+# LOCALIZATION NOTE (individuals.state.fetching.full): The longer message
+# displayed while fetching individuals.
+individuals.state.fetching.full=Récupération des nœuds individuels du groupe…
+
+# LOCALIZATION NOTE (individuals.field.node): The header label for an individual
+# node.
+individuals.field.node=Nœud
+
+# LOCALIZATION NOTE (individuals.field.node.tooltip): The tooltip for the header
+# label for an individual node.
+individuals.field.node.tooltip=Le nœud individuel de l’instantané
+
+# LOCALIZATION NOTE (snapshot.state.saving): The label describing the snapshot
+# state SAVING, used in the snapshot list view
+snapshot.state.saving=Enregistrement de l’instantané…
+
+# LOCALIZATION NOTE (snapshot.state.importing): The label describing the
+# snapshot state IMPORTING, used in the snapshot list view
+snapshot.state.importing=Importation de l’instantané…
+
+# LOCALIZATION NOTE (snapshot.state.reading): The label describing the snapshot
+# state READING, and SAVED, due to these states being combined visually, used in
+# the snapshot list view.
+snapshot.state.reading=Lecture de l’instantané…
+
+# LOCALIZATION NOTE (snapshot.state.saving-census): The label describing the
+# snapshot state SAVING, used in snapshot list view.
+snapshot.state.saving-census=Enregistrement du recensement…
+
+# LOCALIZATION NOTE (snapshot.state.saving-census): The label describing the
+# snapshot state SAVING, used in snapshot list view.
+snapshot.state.saving-tree-map=Enregistrement carte proportionnelle…
+
+# LOCALIZATION NOTE (snapshot.state.error): The label describing the snapshot
+# state ERROR, used in the snapshot list view.
+snapshot.state.error=Erreur
+
+# LOCALIZATION NOTE (heapview.no-difference): Message displayed when there is no
+# difference between two snapshots.
+heapview.no-difference=Aucune différence entre les deux captures.
+
+# LOCALIZATION NOTE (heapview.none-match): Message displayed when there are no
+# matches when filtering.
+heapview.none-match=Aucune correspondance.
+
+# LOCALIZATION NOTE (heapview.none-match): Message displayed when there report
+# is empty.
+heapview.empty=Rien à afficher.
+
+# LOCALIZATION NOTE (heapview.noAllocationStacks): The message displayed to
+# users when selecting a display by "call stack" but no call stacks
+# were recorded in the heap snapshot.
+heapview.noAllocationStacks=Aucune pile d’allocations trouvée. Enregistrez des piles d’allocations avant de capturer un instantané du tas.
+
+# LOCALIZATION NOTE (heapview.field.retainedSize): The name of the column in the
+# dominator tree view for retained byte sizes.
+heapview.field.retainedSize=Taille retenue (octets)
+
+# LOCALIZATION NOTE (heapview.field.retainedSize.tooltip): The tooltip for the
+# column header in the dominator tree view for retained byte sizes.
+heapview.field.retainedSize.tooltip=La somme de la taille de l’objet et de la taille de tous les objets qu’il garde en vie
+
+# LOCALIZATION NOTE (heapview.field.shallowSize): The name of the column in the
+# dominator tree view for shallow byte sizes.
+heapview.field.shallowSize=Taille de l’objet (octets)
+
+# LOCALIZATION NOTE (heapview.field.shallowSize.tooltip): The tooltip for the
+# column header in the dominator tree view for shallow byte sizes.
+heapview.field.shallowSize.tooltip=La taille de l’objet en question
+
+# LOCALIZATION NOTE (dominatortree.field.label): The name of the column in the
+# dominator tree for an object's label.
+dominatortree.field.label=Nom
+
+# LOCALIZATION NOTE (dominatortree.field.label.tooltip): The tooltip for the column
+# header in the dominator tree view for an object's label.
+dominatortree.field.label.tooltip=Le nom d’un objet du tas
+
+# LOCALIZATION NOTE (heapview.field.bytes): The name of the column in the heap
+# view for bytes.
+heapview.field.bytes=Octets
+
+# LOCALIZATION NOTE (heapview.field.bytes.tooltip): The tooltip for the column
+# header in the heap view for bytes.
+heapview.field.bytes.tooltip=Le nombre d’octets consommés par ce groupe, en excluant les sous-groupes
+
+# LOCALIZATION NOTE (heapview.field.count): The name of the column in the heap
+# view for count.
+heapview.field.count=Somme
+
+# LOCALIZATION NOTE (heapview.field.count.tooltip): The tooltip for the column
+# header in the heap view for count.
+heapview.field.count.tooltip=Le nombre d’objets dans le groupe, en excluant les sous-groupes
+
+# LOCALIZATION NOTE (heapview.field.totalbytes): The name of the column in the
+# heap view for total bytes.
+heapview.field.totalbytes=Total octets
+
+# LOCALIZATION NOTE (heapview.field.totalbytes.tooltip): The tooltip for the
+# column header in the heap view for total bytes.
+heapview.field.totalbytes.tooltip=Le nombre d’octets consommés par ce groupe, en incluant les sous-groupes
+
+# LOCALIZATION NOTE (heapview.field.totalcount): The name of the column in the
+# heap view for total count.
+heapview.field.totalcount=Somme totale
+
+# LOCALIZATION NOTE (heapview.field.totalcount.tooltip): The tooltip for the
+# column header in the heap view for total count.
+heapview.field.totalcount.tooltip=Le nombre d’objets dans le groupe, en incluant les sous-groupes
+
+# LOCALIZATION NOTE (heapview.field.name): The name of the column in the heap
+# view for name.
+heapview.field.name=Nom
+
+# LOCALIZATION NOTE (heapview.field.name.tooltip): The tooltip for the column
+# header in the heap view for name.
+heapview.field.name.tooltip=Le nom du groupe
+
+# LOCALIZATION NOTE (shortest-paths.header): The header label for the shortest
+# paths pane.
+shortest-paths.header=Chemins de rétention des racines GC
+
+# LOCALIZATION NOTE (shortest-paths.select-node): The message displayed in the
+# shortest paths pane when a node is not yet selected.
+shortest-paths.select-node=Sélectionnez un nœud pour afficher ses chemins de rétention
+
+# LOCALIZATION NOTE (tree-map.node-count): The label for the count value of a
+# node in the tree map
+tree-map.node-count=éléments
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/devtools/client/menus.properties b/thunderbird-l10n/fr/chrome/fr/locale/fr/devtools/client/menus.properties
new file mode 100644
index 0000000000..f0d30bda95
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/devtools/client/menus.properties
@@ -0,0 +1,29 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE (devtoolsRemoteDebugging.label): This is the label for the menu item
+# in Tools > Web Developer. Clicking on this menu item will open about:debugging which
+# acts as a hub for debugging remote devices.
+devtoolsRemoteDebugging.label = Débogage distant
+devtoolsRemoteDebugging.accesskey = D
+
+browserConsoleCmd.label = Console du navigateur
+browserConsoleCmd.accesskey = n
+
+responsiveDesignMode.label = Vue adaptative
+responsiveDesignMode.accesskey = V
+
+eyedropper.label = Pipette
+eyedropper.accesskey = e
+
+# LOCALIZATION NOTE (browserToolboxMenu.label): This is the label for the
+# application menu item that opens the browser toolbox UI in the Tools menu.
+browserToolboxMenu.label = Boîte à outils du navigateur
+browserToolboxMenu.accesskey = e
+
+webDeveloperToolsMenu.label = Outils de développement web
+webDeveloperToolsMenu.accesskey = O
+
+extensionsForDevelopersCmd.label = Extensions de développement
+extensionsForDevelopersCmd.accesskey = x
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/devtools/client/netmonitor.properties b/thunderbird-l10n/fr/chrome/fr/locale/fr/devtools/client/netmonitor.properties
new file mode 100644
index 0000000000..814b7a52ee
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/devtools/client/netmonitor.properties
@@ -0,0 +1,1679 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE These strings are used inside the Network Monitor
+# which is available from the Browser Tools sub-menu -> 'Network Monitor'.
+# The correct localization of this file might be to keep it in
+# English, or another language commonly spoken among web developers.
+# You want to make that choice consistent across the developer tools.
+# A good criteria is the language in which you'd find the best
+# documentation on web development on the web.
+
+# LOCALIZATION NOTE (netmonitor.security.state.secure)
+# This string is used as an tooltip for request that was performed over secure
+# channel i.e. the connection was encrypted.
+netmonitor.security.state.secure=La connexion utilisée pour récupérer cette ressource était sécurisée.
+
+# LOCALIZATION NOTE (netmonitor.security.state.insecure)
+# This string is used as an tooltip for request that was performed over insecure
+# channel i.e. the connection was not https
+netmonitor.security.state.insecure=La connexion utilisée pour récupérer cette ressource n’était pas chiffrée.
+
+# LOCALIZATION NOTE (netmonitor.security.state.broken)
+# This string is used as an tooltip for request that failed due to security
+# issues.
+netmonitor.security.state.broken=Une erreur de sécurité a empêché le chargement de la ressource.
+
+# LOCALIZATION NOTE (netmonitor.security.state.weak)
+# This string is used as an tooltip for request that had minor security issues
+netmonitor.security.state.weak=Cette ressource a été transférée via une connexion possédant un faible niveau de chiffrement.
+
+# LOCALIZATION NOTE (netmonitor.security.enabled):
+# This string is used to indicate that a specific security feature is used by
+# a connection in the security details tab.
+# For example: "HTTP Strict Transport Security: Enabled"
+netmonitor.security.enabled=Activé
+
+# LOCALIZATION NOTE (netmonitor.security.disabled):
+# This string is used to indicate that a specific security feature is not used by
+# a connection in the security details tab.
+# For example: "HTTP Strict Transport Security: Disabled"
+netmonitor.security.disabled=Désactivé
+
+# LOCALIZATION NOTE (netmonitor.security.hostHeader):
+# This string is used as a header for section containing security information
+# related to the remote host. %S is replaced with the domain name of the remote
+# host. For example: Host example.com
+netmonitor.security.hostHeader=Hôte %S :
+
+# LOCALIZATION NOTE (netmonitor.security.notAvailable):
+# This string is used to indicate that a certain piece of information is not
+# available to be displayed. For example a certificate that has no organization
+# defined:
+# Organization: <Not Available>
+netmonitor.security.notAvailable=<Non disponible>
+
+# LOCALIZATION NOTE (collapseDetailsPane): This is the tooltip for the button
+# that collapses the network details pane in the UI.
+collapseDetailsPane=Masquer les détails de la requête
+
+# LOCALIZATION NOTE (collapseActionPane): This is the tooltip for the button
+# that collapses the network action pane in the UI.
+collapseActionPane=Masquer l’action du réseau
+
+# LOCALIZATION NOTE (allTabsMenuButton.tooltip): The tooltip that gets
+# displayed when hovering over the tabs overflow button.
+allTabsMenuButton.tooltip=Afficher tous les onglets
+
+# LOCALIZATION NOTE (headersEmptyText): This is the text displayed in the
+# headers tab of the network details pane when there are no headers available.
+headersEmptyText=Aucun en-tête pour cette requête
+
+# LOCALIZATION NOTE (headersFilterText): This is the text displayed in the
+# headers tab of the network details pane for the filtering input.
+headersFilterText=Filtrer les en-têtes
+
+# LOCALIZATION NOTE (messagesEmptyText): This is the text displayed in the
+# WebSockets tab of the network details pane when there are no frames available.
+messagesEmptyText=Aucun message pour cette requête
+
+# LOCALIZATION NOTE (cookiesEmptyText): This is the text displayed in the
+# cookies tab of the network details pane when there are no cookies available.
+cookiesEmptyText=Aucun cookie pour cette requête
+
+# LOCALIZATION NOTE (cookiesFilterText): This is the text displayed in the
+# cookies tab of the network details pane for the filtering input.
+cookiesFilterText=Filtrer les cookies
+
+# LOCALIZATION NOTE (responseEmptyText): This is the text displayed in the
+# response tab of the network details pane when the response is empty or not
+# available for shown.
+responseEmptyText=Aucune donnée disponible en réponse à cette requête
+
+# LOCALIZATION NOTE (paramsNoPayloadText): This is the text displayed in the
+# request tab of the network details pane when there are no params available.
+paramsNoPayloadText=Aucun paramètre pour cette requête
+
+# LOCALIZATION NOTE (paramsFilterText): This is the text displayed in the
+# request tab of the network details pane for the filtering input.
+paramsFilterText=Filtrer les paramètres de la requête
+
+# LOCALIZATION NOTE (paramsQueryString): This is the label displayed
+# in the network details request tab identifying the query string.
+paramsQueryString=Chaîne de requête
+
+# LOCALIZATION NOTE (paramsFormData): This is the label displayed
+# in the network details request tab identifying the form data.
+paramsFormData=Données de formulaire
+
+# LOCALIZATION NOTE (paramsPostPayload): This is the label displayed
+# in the network details request tab identifying the request payload.
+paramsPostPayload=Transmission de la requête
+
+# LOCALIZATION NOTE (netmonitor.request.raw): This is the label displayed
+# on the button in the network details request tab that toggles the
+# view of the network request between the raw data and the formatted display.
+netmonitor.request.raw=Texte brut
+
+# LOCALIZATION NOTE (requestHeaders): This is the label displayed
+# in the network details headers tab identifying the request headers.
+requestHeaders=En-têtes de la requête
+
+# LOCALIZATION NOTE (requestHeadersFromUpload): This is the label displayed
+# in the network details headers tab identifying the request headers from
+# the upload stream of a POST request's body.
+requestHeadersFromUpload=En-têtes de la requête du flux de téléchargement
+
+# LOCALIZATION NOTE (responseHeaders): This is the label displayed
+# in the network details headers tab identifying the response headers.
+responseHeaders=En-têtes de la réponse
+
+# LOCALIZATION NOTE (requestCookies): This is the label displayed
+# in the network details request tab identifying the request cookies.
+requestCookies=Cookies de la requête
+
+# LOCALIZATION NOTE (responseCookies): This is the label displayed
+# in the network details request tab identifying the response cookies.
+responseCookies=Cookies de la réponse
+
+# LOCALIZATION NOTE (responsePayload): This is the label displayed
+# in the network details response tab identifying the response payload.
+responsePayload=Charge utile de la réponse
+
+# LOCALIZATION NOTE (netmonitor.response.raw): This is the label displayed
+# on the button in the network details response tab that toggles the
+# view of the network response between the raw data and the formatted display.
+netmonitor.response.raw=Brut
+
+# LOCALIZATION NOTE (netmonitor.response.html): This is the text displayed
+# in the response tab of the network details pane for an HTML preview.
+netmonitor.response.html=HTML
+
+# LOCALIZATION NOTE (jsonFilterText): This is the text displayed
+# in the response tab of the network details pane for the JSON filtering input.
+jsonFilterText=Filtrer les propriétés
+
+# LOCALIZATION NOTE (jsonScopeName): This is the text displayed
+# in the response tab of the network details pane for a JSON scope.
+jsonScopeName=JSON
+
+# LOCALIZATION NOTE (jsonpScopeName): This is the text displayed
+# in the response tab of the network details pane for a JSONP scope.
+jsonpScopeName=JSONP → callback %S()
+
+# LOCALIZATION NOTE (jsonXssiStripped): This is the text displayed
+# in a notification in the response tab of the network details pane
+# when a JSON payload had XSSI escape characters which were removed
+jsonXssiStripped=La chaîne « %S » a été supprimée du début du contenu JSON ci-dessous
+
+# LOCALIZATION NOTE (responseTruncated): This is the text displayed
+# in the response tab of the network details pane when the response is over
+# the truncation limit and thus was truncated.
+responseTruncated=La réponse a été tronquée
+
+# LOCALIZATION NOTE (requestTruncated): This is the text displayed
+# in the request tab of the network details pane when the request is over
+# the truncation limit and thus was truncated.
+requestTruncated=La requête a été tronquée
+
+# LOCALIZATION NOTE (networkMenu.raced): This is the label displayed
+# in the network menu specifying the transfer or a request is
+# raced. %S refers to the current transfer size.
+networkMenu.raced=%S (en compétition)
+
+# LOCALIZATION NOTE (networkMenu.sortedAsc): This is the tooltip displayed
+# in the network table toolbar, for any column that is sorted ascending.
+networkMenu.sortedAsc=Trié par ordre croissant
+
+# LOCALIZATION NOTE (networkMenu.sortedDesc): This is the tooltip displayed
+# in the network table toolbar, for any column that is sorted descending.
+networkMenu.sortedDesc=Trié par ordre décroissant
+
+# LOCALIZATION NOTE (networkMenu.summary.tooltip.perf): A tooltip explaining
+# what the perf button does
+networkMenu.summary.tooltip.perf=Lancer l’analyse des performances
+
+# LOCALIZATION NOTE (networkMenu.summary.tooltip.domContentLoaded): A tooltip explaining
+# what the DOMContentLoaded label displays
+networkMenu.summary.tooltip.domContentLoaded=Durée au bout de laquelle l’événement « DOMContentLoad » s’est produit
+
+# LOCALIZATION NOTE (networkMenu.summary.tooltip.load): A tooltip explaining
+# what the load label displays
+networkMenu.summary.tooltip.load=Durée au bout de laquelle l’évènement « load » s’est produit
+
+# LOCALIZATION NOTE (networkMenu.summary.requestsCount2): This label is displayed
+# in the network table footer providing the number of requests
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+networkMenu.summary.requestsCount2=1 requête;#1 requêtes
+
+# LOCALIZATION NOTE (networkMenu.summary.requestsCountEmpty): This label is displayed
+# in the network table footer when there are no requests
+networkMenu.summary.requestsCountEmpty=Aucune requête
+
+# LOCALIZATION NOTE (networkMenu.summary.tooltip.requestsCount): A tooltip explaining
+# what the requestsCount label displays
+networkMenu.summary.tooltip.requestsCount=Nombre de requêtes
+
+# LOCALIZATION NOTE (networkMenu.summary.transferred): This label is displayed
+# in the network table footer providing the transferred size.
+networkMenu.summary.transferred=%S / %S transférés
+
+# LOCALIZATION NOTE (networkMenu.summary.tooltip.transferred): A tooltip explaining
+# what the transferred label displays
+networkMenu.summary.tooltip.transferred=Taille et taille transférée pour l’ensemble des requêtes
+
+# LOCALIZATION NOTE (networkMenu.summary.finish): This label is displayed
+# in the network table footer providing the transfer time.
+networkMenu.summary.finish=Terminé en : %S
+
+# LOCALIZATION NOTE (networkMenu.summary.tooltip.finish): A tooltip explaining
+# what the finish label displays
+networkMenu.summary.tooltip.finish=Temps total nécessaire pour charger toutes les requêtes
+
+# LOCALIZATION NOTE (networkMenu.ws.summary.framesCount2): This label is displayed
+# in the messages table footer providing the number of frames
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+networkMenu.ws.summary.framesCount2=1 message;#1 messages
+
+# LOCALIZATION NOTE (networkMenu.ws.summary.framesCountEmpty): This label is displayed
+# in the messages table footer when there are no frames
+networkMenu.ws.summary.framesCountEmpty=Aucun message
+
+# LOCALIZATION NOTE (networkMenu.ws.summary.tooltip.framesCount): A tooltip explaining
+# what the framesCount label displays
+networkMenu.ws.summary.tooltip.framesCount=Nombre de messages
+
+# LOCALIZATION NOTE (networkMenu.ws.summary.tooltip.framesTotalSize): A tooltip explaining
+# what the framesTotalSize label displays
+networkMenu.ws.summary.tooltip.framesTotalSize=Taille totale des messages affichés
+
+# LOCALIZATION NOTE (networkMenu.ws.summary.label.framesTranferredSize): A label showing
+# summary size info related to the current list of WS messages
+# %1$S is the total size of the transferred data, %2$S is the size of sent data, %3$S is the size of received data.
+networkMenu.ws.summary.label.framesTranferredSize=%1$S au total, %2$S envoyés, %3$S reçus
+
+# LOCALIZATION NOTE (networkMenu.ws.summary.tooltip.framesTotalTime): A tooltip explaining
+# what framesTotalTime displays
+networkMenu.ws.summary.tooltip.framesTotalTime=Temps total écoulé entre le premier et le dernier message affiché
+
+# LOCALIZATION NOTE (networkMenu.sizeB): This is the label displayed
+# in the network menu specifying the size of a request (in bytes).
+networkMenu.sizeB=%S o
+
+# LOCALIZATION NOTE (networkMenu.size.kB): This is the label displayed
+# in the network menu specifying the size of a request (in kilobytes).
+networkMenu.size.kB=%S Ko
+
+# LOCALIZATION NOTE (networkMenu.sizeMB): This is the label displayed
+# in the network menu specifying the size of a request (in megabytes).
+networkMenu.sizeMB=%S Mo
+
+# LOCALIZATION NOTE (networkMenu.sizeGB): This is the label displayed
+# in the network menu specifying the size of a request (in gigabytes).
+networkMenu.sizeGB=%S Go
+
+# LOCALIZATION NOTE (networkMenu.sizeUnavailable): This is the label displayed
+# in the network menu specifying the transferred size of a request is
+# unavailable.
+networkMenu.sizeUnavailable=—
+
+# LOCALIZATION NOTE (networkMenu.sizeUnavailable.title): This is the tooltip
+# displayed in the network menu specifying that the transferred size of a
+# request is unavailable.
+networkMenu.sizeUnavailable.title=La taille du transfert n’est pas disponible
+
+# LOCALIZATION NOTE (networkMenu.sizeCached): This is the label displayed
+# in the network menu and the headers panel specifying the transfer or a request is
+# cached.
+networkMenu.sizeCached=mis en cache
+
+# LOCALIZATION NOTE (networkMenu.sizeServiceWorker): This is the label displayed
+# in the network menu and the headers panel specifying the transferred of a request
+# computed by a service worker.
+networkMenu.sizeServiceWorker=service worker
+
+# LOCALIZATION NOTE (networkMenu.blocked2): This is a generic message for a
+# URL that has been blocked for an unknown reason
+networkMenu.blocked2=Bloquée
+
+# LOCALIZATION NOTE (networkMenu.blockedby): This is a generic message for a
+# URL that has been blocked by an extension
+# %S is the extension name.
+networkMenu.blockedby=Bloquée par %S
+
+# LOCALIZATION NOTE (networkMenu.blockedTooltip): This is a the text displayed
+# as a tooltip for the blocked icon in the request list
+networkMenu.blockedTooltip=Bloquée
+
+# LOCALIZATION NOTE (networkMenu.totalMS2): This is the label displayed
+# in the network menu specifying the time for a request to finish (in milliseconds).
+networkMenu.totalMS2=%S ms
+
+# This string is used to concatenate tooltips (netmonitor.waterfall.tooltip.*)
+# in the requests waterfall for total time (in milliseconds). \\u0020 represents
+# a whitespace. You can replace this with a different character, e.g. an hyphen
+# or a period, if a comma doesn't work for your language.
+netmonitor.waterfall.tooltip.separator=,\u0020
+
+# LOCALIZATION NOTE (netmonitor.waterfall.tooltip.total): This is part of the tooltip
+# displayed in the requests waterfall for total time (in milliseconds).
+netmonitor.waterfall.tooltip.total=Total %S ms
+
+# LOCALIZATION NOTE (netmonitor.waterfall.tooltip.blocked): This is part of the tooltip
+# displayed in the requests waterfall for blocked time (in milliseconds).
+netmonitor.waterfall.tooltip.blocked=Bloqué %S ms
+
+# LOCALIZATION NOTE (netmonitor.waterfall.tooltip.dns): This is part of the tooltip
+# displayed in the requests waterfall for dns time (in milliseconds).
+netmonitor.waterfall.tooltip.dns=Résolution DNS %S ms
+
+# LOCALIZATION NOTE (netmonitor.waterfall.tooltip.ssl): This is part of the tooltip
+# displayed in the requests waterfall for tls setup time (in milliseconds).
+netmonitor.waterfall.tooltip.ssl=TLS %S ms
+
+# LOCALIZATION NOTE (netmonitor.waterfall.tooltip.connect): This is part of the tooltip
+# displayed in the requests waterfall for connect time (in milliseconds).
+netmonitor.waterfall.tooltip.connect=Connexion %S ms
+
+# LOCALIZATION NOTE (netmonitor.waterfall.tooltip.send): This is part of the tooltip
+# displayed in the requests waterfall for send time (in milliseconds).
+netmonitor.waterfall.tooltip.send=Envoi %S ms
+
+# LOCALIZATION NOTE (netmonitor.waterfall.tooltip.wait): This is part of the tooltip
+# displayed in the requests waterfall for wait time (in milliseconds).
+netmonitor.waterfall.tooltip.wait=Attente %S ms
+
+# LOCALIZATION NOTE (netmonitor.waterfall.tooltip.receive): This is part of the tooltip
+# displayed in the requests waterfall for receive time (in milliseiconds).
+netmonitor.waterfall.tooltip.receive=Réception %S ms
+
+# LOCALIZATION NOTE (netmonitor.timings.requestTiming): This is the title of the existing
+# section in Timings side panel. This section contains request timings.
+netmonitor.timings.requestTiming=Minutage des requêtes
+
+# LOCALIZATION NOTE (netmonitor.timings.serverTiming): This is the title of a new section
+# in Timings side panel. This section contains server timings transferred from the server
+# through the "Server-Timing" header.
+netmonitor.timings.serverTiming=Minutage serveur
+
+# LOCALIZATION NOTE (netmonitor.timings.queuedAt): This is relative queued time to the
+# first request. %S is time expressed in milliseconds or minutes.
+netmonitor.timings.queuedAt=En attente : %S
+
+# LOCALIZATION NOTE (netmonitor.timings.startedAt): Relative to the first request,
+# when the request actually started. %S is time expressed in milliseconds or minutes.
+netmonitor.timings.startedAt=Démarrée : %S
+
+# LOCALIZATION NOTE (netmonitor.timings.downloadedAt): Relative to first request,
+# when the request actually finished downloading.
+# %S is time expressed in milliseconds or minutes.
+netmonitor.timings.downloadedAt=Téléchargée : %S
+
+# LOCALIZATION NOTE (netmonitor.timings.noTimings): Message that displays in the
+# timings pane when thea request has been blocked
+netmonitor.timings.noTimings=Pas de minutage pour cette requête
+
+# LOCALIZATION NOTE (networkMenu.millisecond): This is the label displayed
+# in the network menu specifying timing interval divisions (in milliseconds).
+networkMenu.millisecond=%S ms
+
+# LOCALIZATION NOTE (networkMenu.second): This is the label displayed
+# in the network menu specifying timing interval divisions (in seconds).
+networkMenu.second=%S s
+
+# LOCALIZATION NOTE (networkMenu.minute): This is the label displayed
+# in the network menu specifying timing interval divisions (in minutes).
+networkMenu.minute=%S min
+
+# LOCALIZATION NOTE (pieChart.loading): This is the label displayed
+# for pie charts (e.g., in the performance analysis view) when there is
+# no data available yet.
+pieChart.loading=Chargement
+
+# LOCALIZATION NOTE (pieChart.unavailable): This is the label displayed
+# for pie charts (e.g., in the performance analysis view) when there is
+# no data available, even after loading it.
+pieChart.unavailable=Vide
+
+# LOCALIZATION NOTE (pieChart.ariaLabel): This is the text used for the aria-label attribute
+# for SVG pie charts (e.g., in the performance analysis view).
+pieChart.ariaLabel=Diagramme circulaire représentant la taille de chaque type de requête en proportion les uns par rapport aux autres
+
+# LOCALIZATION NOTE (pieChart.sliceAriaLabel): This is the text used for the aria-label attribute
+# for SVG pie charts slices (e.g., in the performance analysis view).
+# %1$S is the slice label (e.g. "html")
+# %2$S is the percentage (e.g. "33.23%").
+pieChart.sliceAriaLabel=%1$S : %2$S
+
+# LOCALIZATION NOTE (tableChart.loading): This is the label displayed
+# for table charts (e.g., in the performance analysis view) when there is
+# no data available yet.
+tableChart.loading=Veuillez patienter…
+
+# LOCALIZATION NOTE (tableChart.unavailable): This is the label displayed
+# for table charts (e.g., in the performance analysis view) when there is
+# no data available, even after loading it.
+tableChart.unavailable=Aucune donnée disponible
+
+# LOCALIZATION NOTE (charts.size.kB): This is the label displayed
+# in pie or table charts specifying the size of a request (in kilobytes).
+charts.size.kB=%S Ko
+
+# LOCALIZATION NOTE (charts.transferredSize.kB): This is the label displayed
+# in pie or table charts specifying the size of a transferred request (in kilobytes).
+charts.transferredSize.kB=%S Ko
+
+# LOCALIZATION NOTE (charts.totalS): This is the label displayed
+# in pie or table charts specifying the time for a request to finish (in seconds).
+charts.totalS=%S s
+
+# LOCALIZATION NOTE (charts.totalTransferredSize.kB): This is the label displayed
+# in the performance analysis view for total transferred size, in kilobytes.
+charts.totalTransferredSize.kB=Taille du transfert : %S Ko
+
+# LOCALIZATION NOTE (charts.cacheEnabled): This is the label displayed
+# in the performance analysis view for "cache enabled" charts.
+charts.cacheEnabled=Avec mise en cache
+
+# LOCALIZATION NOTE (charts.cacheDisabled): This is the label displayed
+# in the performance analysis view for "cache disabled" charts.
+charts.cacheDisabled=Sans mise en cache
+
+# LOCALIZATION NOTE (charts.learnMore): This is the label displayed
+# in the performance analysis view, with a link to external documentation.
+charts.learnMore=En savoir plus sur l’analyse des performances
+
+# LOCALIZATION NOTE (charts.totalSize.kB): This is the label displayed
+# in the performance analysis view for total requests size, in kilobytes.
+charts.totalSize.kB=Taille : %S Ko
+
+# LOCALIZATION NOTE (charts.totalSeconds): Semi-colon list of plural forms.
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# This is the label displayed in the performance analysis view for the
+# total requests time, in seconds.
+charts.totalSeconds=Durée : #1 seconde;Durée : #1 secondes
+
+# LOCALIZATION NOTE (charts.totalSecondsNonBlocking): Semi-colon list of plural forms.
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# This is the label displayed in the performance analysis view for the
+# total requests time (non-blocking), in seconds.
+charts.totalSecondsNonBlocking=Durée non bloquante : #1 seconde;Durée non bloquante : #1 secondes
+
+# LOCALIZATION NOTE (charts.totalCached): This is the label displayed
+# in the performance analysis view for total cached responses.
+charts.totalCached=Réponses mises en cache : %S
+
+# LOCALIZATION NOTE (charts.totalCount): This is the label displayed
+# in the performance analysis view for total requests.
+charts.totalCount=Nombre de requêtes : %S
+
+# LOCALIZATION NOTE (charts.requestsNumber): This is the label for the header column in
+# the performance analysis view for the number of requests. The label is not visible on screen,
+# but is set in the DOM for accessibility sake.
+charts.requestsNumber=Nombre de requêtes
+
+# LOCALIZATION NOTE (charts.size): This is the label displayed
+# in the header column in the performance analysis view for size of the request.
+charts.size=Taille
+
+# LOCALIZATION NOTE (charts.type): This is the label displayed
+# in the header column in the performance analysis view for type of request.
+charts.type=Type
+
+# LOCALIZATION NOTE (charts.transferred): This is the label displayed
+# in the header column in the performance analysis view for transferred
+# size of the request.
+charts.transferred=Transfert
+
+# LOCALIZATION NOTE (charts.time): This is the label displayed
+# in the header column in the performance analysis view for time of request.
+charts.time=Durée
+
+# LOCALIZATION NOTE (charts.nonBlockingTime): This is the label displayed
+# in the header column in the performance analysis view for non blocking
+# time of request.
+charts.nonBlockingTime=Durée non bloquante
+
+# LOCALIZATION NOTE (netRequest.originalFileURL.tooltip): This is the tooltip
+# displayed for the file's original URL value displayed in the file column of
+# a request.
+netRequest.originalFileURL.tooltip=Originale : %S
+
+# LOCALIZATION NOTE (netRequest.decodedFileURL.tooltip): This is the tooltip
+# displayed for the file's decoded URL value displayed in the file column of
+# a request.
+netRequest.decodedFileURL.tooltip=Décodée : %S
+
+# LOCALIZATION NOTE (certmgr.subjectinfo.label):
+# A label used for a certificate section in security tab.
+# This section displays Name and organization who has been assigned the fingerprints
+certmgr.subjectinfo.label=Émis à
+
+# LOCALIZATION NOTE (certmgr.certdetail.cn):
+# A label used for Issued To and Issued By sub-section in security tab
+certmgr.certdetail.cn=Nom commun (CN) :
+
+# LOCALIZATION NOTE (certmgr.certdetail.o):
+# A label used for Issued To and Issued By sub-section in security tab
+certmgr.certdetail.o=Organisation (O) :
+
+# LOCALIZATION NOTE (certmgr.certdetail.ou):
+# A label used for Issued To and Issued By sub-section in security tab
+certmgr.certdetail.ou=Unité d’organisation (OU) :
+
+# LOCALIZATION NOTE (certmgr.issuerinfo.label):
+# A label used for a certificate section in security tab
+# This section displays Name and organization who issued the fingerprints
+certmgr.issuerinfo.label=Émis par
+
+# LOCALIZATION NOTE (certmgr.periodofvalidity.label):
+# A label used for a certificate section in security tab
+# This section displays the valid period of this fingerprints
+certmgr.periodofvalidity.label=Période de validité
+
+# LOCALIZATION NOTE (certmgr.begins):
+# A label used for Period of Validity sub-section in security tab
+certmgr.begins=Débute le :
+
+# LOCALIZATION NOTE (certmgr.expires):
+# A label used for Period of Validity sub-section in security tab
+certmgr.expires=Expire le :
+
+# LOCALIZATION NOTE (certmgr.fingerprints.label):
+# A label used for a certificate section in security tab
+# This section displays the valid period of this fingerprints
+certmgr.fingerprints.label=Empreintes numériques
+
+# LOCALIZATION NOTE (certmgr.certdetail.sha256fingerprint):
+# A label used for Fingerprints sub-section in security tab
+certmgr.certdetail.sha256fingerprint=Empreintes numériques SHA-256 :
+
+# LOCALIZATION NOTE (certmgr.certdetail.sha1fingerprint):
+# A label used for Fingerprints sub-section in security tab
+certmgr.certdetail.sha1fingerprint=Empreintes numériques SHA1 :
+
+# LOCALIZATION NOTE (certmgr.certificateTransparency.label):
+# This string is used as a label in the security tab.
+certmgr.certificateTransparency.label=Transparence :
+
+# LOCALIZATION NOTE (certmgr.certificateTransparency.status.ok):
+# This string is used to indicate that there are valid signed certificate
+# timestamps. This is a property for the 'Transparency'
+# field in the security tab.
+certmgr.certificateTransparency.status.ok=Enregistrements SCT valides
+
+# LOCALIZATION NOTE (certmgr.certificateTransparency.status.notEnoughSCTS):
+# This string is used to indicate that there are not enough valid signed
+# certificate timestamps. This is a property for the 'Transparency'
+# field in the security tab.
+certmgr.certificateTransparency.status.notEnoughSCTS=SCT insuffisants
+
+# LOCALIZATION NOTE (certmgr.certificateTransparency.status.notDiverseSCTS):
+# This string is used to indicate that there ar not enough diverse signed
+# certificate timestamps. This is a property for the 'Transparency'
+# field in the security tab.
+certmgr.certificateTransparency.status.notDiverseSCTS=SCT pas assez diversifiés
+
+# LOCALIZATION NOTE (netmonitor.perfNotice1/2/3): These are the labels displayed
+# in the network table when empty to start performance analysis.
+netmonitor.perfNotice1=• Cliquez sur le bouton
+netmonitor.perfNotice2=pour lancer l’analyse des performances.
+netmonitor.perfNotice3=Analyser
+
+# LOCALIZATION NOTE (netmonitor.reload1/2/3): These are the labels displayed
+# in the network table when empty to start logging network requests.
+netmonitor.reloadNotice1=• Effectuez une requête ou
+netmonitor.reloadNotice2=Rechargez
+netmonitor.reloadNotice3=la page pour voir des informations détaillées concernant l’activité réseau.
+netmonitor.emptyBrowserToolbox=Effectuez une requête pour voir des informations détaillées concernant l’activité réseau.
+
+# LOCALIZATION NOTE (netmonitor.toolbar.status3): This is the label displayed
+# in the network table toolbar, above the "status" column.
+netmonitor.toolbar.status3=État
+
+# LOCALIZATION NOTE (netmonitor.toolbar.method): This is the label displayed
+# in the network table toolbar, above the "method" column.
+netmonitor.toolbar.method=Méthode
+
+# LOCALIZATION NOTE (netmonitor.toolbar.priority): This is the label displayed
+# in the network table toolbar, above the "priority" column.
+netmonitor.toolbar.priority=Priorité
+
+# LOCALIZATION NOTE (netmonitor.toolbar.file): This is the label displayed
+# in the network table toolbar, above the "file" column.
+netmonitor.toolbar.file=Fichier
+
+# LOCALIZATION NOTE (netmonitor.toolbar.url): This is the label displayed
+# in the network table toolbar, above the "url" column.
+netmonitor.toolbar.url=URL
+
+# LOCALIZATION NOTE (netmonitor.toolbar.protocol): This is the label displayed
+# in the network table toolbar, above the "protocol" column.
+netmonitor.toolbar.protocol=Protocole
+
+# LOCALIZATION NOTE (netmonitor.toolbar.domain): This is the label displayed
+# in the network table toolbar, above the "domain" column.
+netmonitor.toolbar.domain=Domaine
+
+# LOCALIZATION NOTE (netmonitor.toolbar.remoteip): This is the label displayed
+# in the network table toolbar, above the "remoteip" column.
+netmonitor.toolbar.remoteip=IP distante
+
+# LOCALIZATION NOTE (netmonitor.toolbar.initiator): This is the label displayed
+# in the network table toolbar, above the "initiator" column.
+netmonitor.toolbar.initiator=Initiateur
+
+# LOCALIZATION NOTE (netmonitor.toolbar.type): This is the label displayed
+# in the network table toolbar, above the "type" column.
+netmonitor.toolbar.type=Type
+
+# LOCALIZATION NOTE (netmonitor.toolbar.cookies): This is the label displayed
+# in the network table toolbar, above the "cookies" column.
+netmonitor.toolbar.cookies=Cookies
+
+# LOCALIZATION NOTE (netmonitor.toolbar.setCookies): This is the label displayed
+# in the network table toolbar, above the "set cookies" column.
+# Set-Cookie is a HTTP response header. This string is the plural form of it.
+# See https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Set-Cookie
+netmonitor.toolbar.setCookies=Set-Cookies
+
+# LOCALIZATION NOTE (netmonitor.toolbar.scheme): This is the label displayed
+# in the network table toolbar, above the "scheme" column.
+netmonitor.toolbar.scheme=Schéma
+
+# LOCALIZATION NOTE (netmonitor.toolbar.startTime): This is the label displayed
+# in the network table toolbar, above the "start time" column, which is the time
+# from start of 1st request until the start of this request.
+netmonitor.toolbar.startTime=Début
+
+# LOCALIZATION NOTE (netmonitor.toolbar.endTime): This is the label displayed
+# in the network table toolbar, above the "end time" column, which is the time
+# from start of 1st request until the end of this response.
+netmonitor.toolbar.endTime=Fin
+
+# LOCALIZATION NOTE (netmonitor.toolbar.responseTime): This is the label displayed
+# in the network table toolbar, above the "response time" column, which is the time
+# from start of 1st request until the beginning of download of this response.
+netmonitor.toolbar.responseTime=Temps de réponse
+
+# LOCALIZATION NOTE (netmonitor.toolbar.duration): This is the label displayed
+# in the network table toolbar, above the "duration" column, which is the time
+# from start of this request until the end of this response.
+netmonitor.toolbar.duration=Durée
+
+# LOCALIZATION NOTE (netmonitor.toolbar.latency): This is the label displayed
+# in the network table toolbar, above the "latency" column, which is the time
+# from end of this request until the beginning of download of this response.
+netmonitor.toolbar.latency=Latence
+
+# LOCALIZATION NOTE (netmonitor.toolbar.transferred): This is the label displayed
+# in the network table toolbar, above the "transferred" column and in general
+# section of the headers panel, which is the compressed / encoded size.
+netmonitor.toolbar.transferred=Transfert
+
+# LOCALIZATION NOTE (netmonitor.toolbar.contentSize): This is the label displayed
+# in the network table toolbar, above the "size" column, which is the
+# uncompressed / decoded size.
+netmonitor.toolbar.contentSize=Taille
+
+# LOCALIZATION NOTE (netmonitor.toolbar.waterfall): This is the label displayed
+# in the network table toolbar, above the "waterfall" column.
+netmonitor.toolbar.waterfall=Chronologie
+
+# LOCALIZATION NOTE (netmonitor.ws.toolbar.size): This is the label displayed
+# in the messages table header, above the "size" column.
+netmonitor.ws.toolbar.size=Taille
+
+# LOCALIZATION NOTE (netmonitor.ws.toolbar.data): This is the label displayed
+# in the messages table header, above the "data" column.
+netmonitor.ws.toolbar.data=Données
+
+# LOCALIZATION NOTE (netmonitor.ws.toolbar.opCode): This is the label displayed
+# in the messages table header, above the "opCode" column.
+netmonitor.ws.toolbar.opCode=OpCode
+
+# LOCALIZATION NOTE (netmonitor.ws.toolbar.maskBit): This is the label displayed
+# in the messages table header, above the "maskBit" column.
+netmonitor.ws.toolbar.maskBit=MaskBit
+
+# LOCALIZATION NOTE (netmonitor.ws.toolbar.finBit): This is the label displayed
+# in the messages table header, above the "finBit" column.
+netmonitor.ws.toolbar.finBit=FinBit
+
+# LOCALIZATION NOTE (netmonitor.ws.toolbar.time): This is the label displayed
+# in the messages table header, above the "time" column.
+netmonitor.ws.toolbar.time=Heure
+
+# LOCALIZATION NOTE (netmonitor.ws.toolbar.eventName): This is the label displayed
+# in the messages table header, above the "eventName" column.
+netmonitor.ws.toolbar.eventName=Nom de l’évènement
+
+# LOCALIZATION NOTE (netmonitor.ws.toolbar.retry): This is the label displayed
+# in the messages table header, above the "retry" column.
+netmonitor.ws.toolbar.retry=Réessayer
+
+# LOCALIZATION NOTE (netmonitor.ws.toolbar.lastEventId): This is the label displayed
+# in the messages table header, above the "lastEventId" column.
+netmonitor.ws.toolbar.lastEventId=ID du dernier évènement
+
+# LOCALIZATION NOTE (netmonitor.ws.toolbar.clear): This is the label displayed
+# in the messages panel toolbar for the "Clear" button.
+netmonitor.ws.toolbar.clear=Vider
+
+# LOCALIZATION NOTE (netmonitor.ws.toolbar.filterFreetext.label): This is the label
+# displayed in the messages panel toolbar for the frames filtering textbox.
+netmonitor.ws.toolbar.filterFreetext.label=Filtrer les messages
+
+# LOCALIZATION NOTE (netmonitor.ws.toolbar.filterFreetext.key): This is the
+# shortcut key to focus on the messages panel toolbar messages filtering textbox
+netmonitor.ws.toolbar.filterFreetext.key=CmdOrCtrl+E
+
+# LOCALIZATION NOTE (netmonitor.ws.toolbar.resetColumns): This is the label
+# displayed in the messages panel table header context menu.
+netmonitor.ws.toolbar.resetColumns=Réinitialiser les colonnes
+
+# LOCALIZATION NOTE (netmonitor.ws.context.all): This is the label displayed
+# on the context menu that shows "All" WebSocket frames.
+netmonitor.ws.context.all=Tous
+
+# LOCALIZATION NOTE (netmonitor.ws.context.all.accesskey): This is the access key
+# for the "All" menu item displayed in the context menu in the websocket toolbar.
+netmonitor.ws.context.all.accesskey=T
+
+# LOCALIZATION NOTE (netmonitor.ws.context.sent): This is the label displayed
+# on the context menu that shows "Sent" WebSocket frames.
+netmonitor.ws.context.sent=Envoyés
+
+# LOCALIZATION NOTE (netmonitor.ws.context.sent.accesskey): This is the access key
+# for the "Sent" menu item displayed in the context menu in the websocket toolbar.
+netmonitor.ws.context.sent.accesskey=E
+
+# LOCALIZATION NOTE (netmonitor.ws.context.received): This is the label displayed
+# on the context menu that shows "Received" WebSocket frames.
+netmonitor.ws.context.received=Reçus
+
+# LOCALIZATION NOTE (netmonitor.ws.context.received.accesskey): This is the access key
+# for the "Received" menu item displayed in the context menu in the websocket toolbar.
+netmonitor.ws.context.received.accesskey=R
+
+# LOCALIZATION NOTE (netmonitor.ws.context.controlFrames): This is the label displayed
+# on the context menu that shows "Control Frames" WebSocket frames.
+netmonitor.ws.context.controlFrames=Contrôle
+
+# LOCALIZATION NOTE (netmonitor.ws.context.controlFrames.accesskey): This is the access key
+# for the "Control Frames" menu item displayed in the context menu in the websocket toolbar.
+netmonitor.ws.context.controlFrames.accesskey=o
+
+# LOCALIZATION NOTE (netmonitor.ws.context.copyFrame): This is the label displayed
+# on the context menu that shows "Copy Message".
+netmonitor.ws.context.copyFrame=Copier le message
+
+# LOCALIZATION NOTE (netmonitor.ws.context.copyFrame.accesskey): This is the access key
+# for the "Copy Message" menu item displayed in the context menu of a WebSocket frame.
+netmonitor.ws.context.copyFrame.accesskey=C
+
+# LOCALIZATION NOTE (netmonitor.ws.context.copyFrameAsBase64): This is the label displayed
+# on the context menu that shows "Copy as Base64" displayed in the context menu of a binary WebSocket frame.
+netmonitor.ws.context.copyFrameAsBase64=Copier en Base64
+
+# LOCALIZATION NOTE (netmonitor.ws.context.copyFrameAsBase64.accesskey): This is the access key
+# for the "Copy as Base64" menu item displayed in the context menu of a binary WebSocket frame.
+netmonitor.ws.context.copyFrameAsBase64.accesskey=B
+
+# LOCALIZATION NOTE (netmonitor.ws.context.copyFrameAsHex): This is the label displayed
+# on the context menu that shows "Copy as Hex" displayed in the context menu of a binary WebSocket frame.
+netmonitor.ws.context.copyFrameAsHex=Copier en hexadécimal
+
+# LOCALIZATION NOTE (netmonitor.ws.context.copyFrameAsHex.accesskey): This is the access key
+# for the "Copy as Hex" menu item displayed in the context menu of a binary WebSocket frame.
+netmonitor.ws.context.copyFrameAsHex.accesskey=h
+
+# LOCALIZATION NOTE (netmonitor.ws.context.copyFrameAsText): This is the label displayed
+# on the context menu that shows "Copy as Text" displayed in the context menu of a binary WebSocket frame.
+netmonitor.ws.context.copyFrameAsText=Copier en tant que texte
+
+# LOCALIZATION NOTE (netmonitor.ws.context.copyFrameAsText.accesskey): This is the access key
+# for the "Copy as Text" menu item displayed in the context menu of a binary WebSocket frame.
+netmonitor.ws.context.copyFrameAsText.accesskey=t
+
+# LOCALIZATION NOTE (netmonitor.ws.connection.closed): This is the text displayed in the
+# websocket messages panel when the connection is closed
+netmonitor.ws.connection.closed=Connexion fermée
+
+# LOCALIZATION NOTE (netmonitor.ws.type.sent): This is the label used as
+# accessible text for the "sent" type icon in the websocket table's "data" column.
+netmonitor.ws.type.sent=Envoyés
+
+# LOCALIZATION NOTE (netmonitor.ws.type.received): This is the label used as
+# accessible text for the "received" type icon in the websocket table's "data" column.
+netmonitor.ws.type.received=Reçus
+
+# LOCALIZATION NOTE (netmonitor.ws.rawData.header): This is the label displayed
+# in the messages panel identifying the raw data.
+netmonitor.ws.rawData.header=Données brutes (%S)
+
+# LOCALIZATION NOTE (netmonitor.search.toolbar.inputPlaceholder): This is the label
+# displayed in the search toolbar for the search input as the placeholder.
+netmonitor.search.toolbar.inputPlaceholder=Rechercher des ressources…
+
+# LOCALIZATION NOTE (netmonitor.search.toolbar.close): This is the label
+# displayed in the search toolbar to close the search panel.
+netmonitor.search.toolbar.close=Fermer le panneau de recherche
+
+# LOCALIZATION NOTE (netmonitor.search.toolbar.clear): This is the label
+# displayed in the search toolbar to clear the search panel.
+netmonitor.search.toolbar.clear=Effacer les résultats de recherche
+
+# LOCALIZATION NOTE (netmonitor.search.toolbar.caseSensitive): This is the label
+# displayed in the search toolbar to do a case sensitive search.
+netmonitor.search.toolbar.caseSensitive=Sensible à la casse
+
+# LOCALIZATION NOTE (netmonitor.search.status.labels.fetching): This is the label
+# displayed in the search results status bar when status is set to fetching.
+netmonitor.search.status.labels.fetching=Recherche…
+
+# LOCALIZATION NOTE (netmonitor.search.status.labels.canceled): This is the label
+# displayed in the search results status bar when status is set to cancelled.
+netmonitor.search.status.labels.canceled=Recherche annulée.
+
+# LOCALIZATION NOTE (netmonitor.search.status.labels.done): This is the label
+# displayed in the search results status bar when status is set to done.
+# %1$S is the number of matching lines in search results (netmonitor.search.status.labels.matchingLines)
+# %2$S is the number of files in which matching lines were found (netmonitor.search.status.labels.fileCount)
+netmonitor.search.status.labels.done=Recherche terminée. %1$S %2$S.
+
+# LOCALIZATION NOTE (netmonitor.search.status.labels.matchingLines): Semi-colon list of plural forms.
+# This is the label displayed in the search results status bar showing matching lines found.
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# #1 is the number of matching lines found
+netmonitor.search.status.labels.matchingLines=#1 ligne correspondante trouvée;#1 lignes correspondantes trouvées
+
+# LOCALIZATION NOTE (netmonitor.search.status.labels.fileCount): Semi-colon list of plural forms.
+# This is the label displayed in the search results status bar showing file count
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# #1 is the number of files in which matching lines were found
+netmonitor.search.status.labels.fileCount=dans #1 fichier;dans #1 fichiers
+
+# LOCALIZATION NOTE (netmonitor.search.status.labels.error): This is the label
+# displayed in the search results status bar when status is set to error.
+netmonitor.search.status.labels.error=Erreur de recherche.
+
+# LOCALIZATION NOTE (netmonitor.toolbar.requestBlocking): This is the tooltip displayed
+# over the toolbar's Request Blocking button
+netmonitor.toolbar.requestBlocking=Blocage de requêtes
+
+# LOCALIZATION NOTE (netmonitor.actionbar.requestBlocking2): This is the label displayed
+# in the action bar's request blocking tab
+netmonitor.actionbar.requestBlocking2=Bloqués
+
+# LOCALIZATION NOTE (netmonitor.actionbar.enableBlocking): This is the label displayed
+# in request blocking tab to represent if requests blocking should be enabled
+netmonitor.actionbar.enableBlocking=Activer le blocage de requêtes
+
+# LOCALIZATION NOTE (netmonitor.actionbar.blockSearchPlaceholder): This is the
+# placeholder text for the request addition form
+netmonitor.actionbar.blockSearchPlaceholder=Bloquer la ressource lorsque l’URL contient
+
+# LOCALIZATION NOTE (netmonitor.actionbar.removeBlockedUrl): This is the
+# tooltip shown over the remove button for blocked URL item
+netmonitor.actionbar.removeBlockedUrl=Supprimer le critère
+
+# LOCALIZATION NOTE (netmonitor.actionbar.requestBlockingUsageNotice): This is the
+# usage notice displayed when network blocking list is empty
+netmonitor.actionbar.requestBlockingUsageNotice=Ajoutez des modèles d’URL ici pour bloquer les requêtes correspondantes.
+
+# LOCALIZATION NOTE (netmonitor.actionbar.requestBlockingAddNotice): This is the
+# add notice that explains ways to add blocking pattern that is displayed when
+# network blocking list is empty
+netmonitor.actionbar.requestBlockingAddNotice=Commencez par ajouter un modèle ou faites glisser une ligne depuis le tableau réseau.
+
+# LOCALIZATION NOTE (netmonitor.requestBlockingMenu.removeAllBlockedUrls): This is the
+# context menu item for removing all blocked URLs
+netmonitor.requestBlockingMenu.removeAllBlockedUrls=Tout supprimer
+
+# LOCALIZATION NOTE (netmonitor.requestBlockingMenu.enableAllBlockedUrls): This is the
+# context menu item for enabling all blocked URLs
+netmonitor.requestBlockingMenu.enableAllBlockedUrls=Tout activer
+
+# LOCALIZATION NOTE (netmonitor.requestBlockingMenu.disableAllBlockedUrls): This is the
+# context menu item for disabling all blocked URLs
+netmonitor.requestBlockingMenu.disableAllBlockedUrls=Tout désactiver
+
+# LOCALIZATION NOTE (netmonitor.actionbar.search): This is the label displayed
+# in the action bar's search tab
+netmonitor.actionbar.search=Rechercher
+
+# LOCALIZATION NOTE (netmonitor.actionbar.HTTPCustomRequest): This is the label displayed
+# in the action bar's edit and resend tab
+netmonitor.actionbar.HTTPCustomRequest=Nouvelle requête
+
+# LOCALIZATION NOTE (messagesTruncated): This is the text displayed
+# in the messages panel when the number of messages is over the
+# truncation limit.
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+netmonitor.ws.truncated-messages.warning=Un message a été tronqué pour économiser de la mémoire;#1 messages ont été tronqués pour économiser de la mémoire
+
+# LOCALIZATION NOTE (disableMessagesTruncation): This is the text displayed
+# in the messages panel checkbox label for toggling message truncation.
+toggleMessagesTruncation=Conserver tous les futurs messages
+
+# LOCALIZATION NOTE (toggleMessagesTruncation.title): This is the title used
+# to describe the checkbox used to toggle message truncation.
+toggleMessagesTruncation.title=Conserver tous les messages à venir ou continuer à afficher des messages tronqués
+
+# LOCALIZATION NOTE (messageDataTruncated): This is the text displayed
+# to describe to describe data truncation in the messages panel.
+messageDataTruncated=Les données ont été tronquées
+
+# LOCALIZATION NOTE (netmonitor.tab.headers): This is the label displayed
+# in the network details pane identifying the headers tab.
+netmonitor.tab.headers=En-têtes
+
+# LOCALIZATION NOTE (netmonitor.tab.messages): This is the label displayed
+# in the network details pane identifying the messages tab.
+netmonitor.tab.messages=Messages
+
+# LOCALIZATION NOTE (netmonitor.tab.cookies): This is the label displayed
+# in the network details pane identifying the cookies tab.
+netmonitor.tab.cookies=Cookies
+
+# LOCALIZATION NOTE (netmonitor.tab.cache): This is the label displayed
+# in the network details pane identifying the cache tab.
+netmonitor.tab.cache=Cache
+
+# LOCALIZATION NOTE (netmonitor.tab.params): This is the label displayed
+# in the network details pane identifying the params tab.
+netmonitor.tab.params=Paramètres
+
+# LOCALIZATION NOTE (netmonitor.tab.request): This is the label displayed
+# in the network details pane identifying the request tab.
+netmonitor.tab.request=Requête
+
+# LOCALIZATION NOTE (netmonitor.tab.response): This is the label displayed
+# in the network details pane identifying the response tab.
+netmonitor.tab.response=Réponse
+
+# LOCALIZATION NOTE (netmonitor.tab.timings): This is the label displayed
+# in the network details pane identifying the timings tab.
+netmonitor.tab.timings=Délais
+
+# LOCALIZATION NOTE (netmonitor.tab.stackTrace): This is the label displayed
+# in the network details pane identifying the stack-trace tab.
+netmonitor.tab.stackTrace=Trace de la pile
+
+# LOCALIZATION NOTE (netmonitor.tab.security): This is the label displayed
+# in the network details pane identifying the security tab.
+netmonitor.tab.security=Sécurité
+
+# LOCALIZATION NOTE (netmonitor.toolbar.filter.all): This is the label displayed
+# in the network toolbar for the "All" filtering button.
+netmonitor.toolbar.filter.all=Tout
+
+# LOCALIZATION NOTE (netmonitor.toolbar.filter.html): This is the label displayed
+# in the network toolbar for the "HTML" filtering button.
+netmonitor.toolbar.filter.html=HTML
+
+# LOCALIZATION NOTE (netmonitor.toolbar.filter.css): This is the label displayed
+# in the network toolbar for the "CSS" filtering button.
+netmonitor.toolbar.filter.css=CSS
+
+# LOCALIZATION NOTE (netmonitor.toolbar.filter.js): This is the label displayed
+# in the network toolbar for the "JS" filtering button.
+netmonitor.toolbar.filter.js=JS
+
+# LOCALIZATION NOTE (netmonitor.toolbar.filter.xhr): This is the label displayed
+# in the network toolbar for the "XHR" filtering button.
+netmonitor.toolbar.filter.xhr=XHR
+
+# LOCALIZATION NOTE (netmonitor.toolbar.filter.fonts): This is the label displayed
+# in the network toolbar for the "Fonts" filtering button.
+netmonitor.toolbar.filter.fonts=Polices
+
+# LOCALIZATION NOTE (netmonitor.toolbar.filter.images): This is the label displayed
+# in the network toolbar for the "Images" filtering button.
+netmonitor.toolbar.filter.images=Images
+
+# LOCALIZATION NOTE (netmonitor.toolbar.filter.media): This is the label displayed
+# in the network toolbar for the "Media" filtering button.
+netmonitor.toolbar.filter.media=Médias
+
+# LOCALIZATION NOTE (netmonitor.toolbar.filter.flash): This is the label displayed
+# in the network toolbar for the "Flash" filtering button.
+netmonitor.toolbar.filter.flash=Flash
+
+# LOCALIZATION NOTE (netmonitor.toolbar.filter.ws): This is the label displayed
+# in the network toolbar for the "WS" filtering button.
+netmonitor.toolbar.filter.ws=WS
+
+# LOCALIZATION NOTE (netmonitor.toolbar.filter.other): This is the label displayed
+# in the network toolbar for the "Other" filtering button.
+netmonitor.toolbar.filter.other=Autre
+
+# LOCALIZATION NOTE (netmonitor.toolbar.filterFreetext.label): This is the label
+# displayed in the network toolbar for the url filtering textbox.
+netmonitor.toolbar.filterFreetext.label=Filtrer les URL
+
+# LOCALIZATION NOTE (netmonitor.toolbar.filterFreetext.key): This is the
+# shortcut key to focus on the toolbar url filtering textbox
+netmonitor.toolbar.filterFreetext.key=CmdOrCtrl+F
+
+# LOCALIZATION NOTE (netmonitor.toolbar.search.key): This is the
+# shortcut key to toggle the search panel
+netmonitor.toolbar.search.key=CmdOrCtrl+Shift+F
+
+# LOCALIZATION NOTE (netmonitor.toolbar.copy.key): This is the
+# shortcut key to copy a selected request url from the network table
+netmonitor.toolbar.copy.key=CmdOrCtrl+C
+
+# LOCALIZATION NOTE (netmonitor.toolbar.filterFreetext.learnMore): This is
+# the title used for MDN icon in filtering textbox
+netmonitor.toolbar.filterFreetext.learnMore=En savoir plus sur le filtrage
+
+# LOCALIZATION NOTE (netmonitor.toolbar.enablePersistentLogs.label): This is the label
+# displayed for the checkbox for enabling persistent logs.
+netmonitor.toolbar.enablePersistentLogs.label=Conserver les journaux
+
+# LOCALIZATION NOTE (netmonitor.toolbar.enablePersistentLogs.tooltip): This is the tooltip
+# displayed for the checkbox for enabling persistent logs.
+netmonitor.toolbar.enablePersistentLogs.tooltip=Si vous activez cette option, la liste des requêtes ne sera pas effacée lorsque vous naviguez sur une nouvelle page
+
+# LOCALIZATION NOTE (netmonitor.toolbar.disableCache.label): This is the label
+# displayed for the checkbox for disabling browser cache.
+netmonitor.toolbar.disableCache.label=Désactiver le cache
+
+# LOCALIZATION NOTE (netmonitor.toolbar.disableCache.tooltip): This is the tooltip
+# displayed for the checkbox for disabling browser cache.
+netmonitor.toolbar.disableCache.tooltip=Désactiver le cache HTTP
+
+# LOCALIZATION NOTE (netmonitor.toolbar.clear): This is the label displayed
+# in the network toolbar for the "Clear" button.
+netmonitor.toolbar.clear=Effacer
+
+# LOCALIZATION NOTE (netmonitor.toolbar.toggleRecording): This is the label displayed
+# in the network toolbar for the toggle recording button.
+netmonitor.toolbar.toggleRecording=Interrompre/Reprendre l’enregistrement des journaux réseau
+
+# LOCALIZATION NOTE (netmonitor.toolbar.search): This is the tooltip label displayed
+# in the network toolbar for the search button.
+netmonitor.toolbar.search=Rechercher
+
+# LOCALIZATION NOTE (netmonitor.toolbar.HTTPCustomRequest): This is the tooltip label displayed
+# in the network toolbar for the new HTTP Custom Request button.
+netmonitor.toolbar.HTTPCustomRequest=Nouvelle requête
+
+# LOCALIZATION NOTE (netmonitor.toolbar.resetColumns): This is the label
+# displayed in the network table header context menu.
+netmonitor.toolbar.resetColumns=Réinitialiser les colonnes
+
+# LOCALIZATION NOTE (netmonitor.toolbar.resetSorting): This is the label
+# displayed in the network table header context menu to reset sorting
+netmonitor.toolbar.resetSorting=Réinitialiser le tri
+
+# LOCALIZATION NOTE (netmonitor.toolbar.resizeColumnToFitContent): This is the label
+# displayed in the network table header context menu to resize a column to fit its content
+netmonitor.toolbar.resizeColumnToFitContent=Redimensionner la colonne pour l’adapter au contenu
+
+# LOCALIZATION NOTE (netmonitor.toolbar.resizeColumnToFitContent.title): This is the title
+# tooltip displayed when draggable resizer in network table headers is hovered
+netmonitor.toolbar.resizeColumnToFitContent.title=Double-cliquer pour adapter la colonne au contenu
+
+# LOCALIZATION NOTE (netmonitor.toolbar.timings): This is the label
+# displayed in the network table header context menu for the timing submenu
+netmonitor.toolbar.timings=Délais
+
+# LOCALIZATION NOTE (netmonitor.toolbar.responseHeaders): This is the
+# label displayed in the network table header context menu for the
+# response headers submenu.
+netmonitor.toolbar.responseHeaders=En-têtes de réponse
+
+# LOCALIZATION NOTE (netmonitor.headers.toolbar.block): This is the
+# label displayed in the network details headers tab identifying the
+# block url toolbar button.
+netmonitor.headers.toolbar.block=Bloquer
+
+# LOCALIZATION NOTE (netmonitor.headers.address): This is the label displayed
+# in the network details headers tab identifying the remote address.
+netmonitor.headers.address=Adresse
+
+# LOCALIZATION NOTE (netmonitor.headers.proxyAddress): This is the label displayed
+# in the network details headers tab identifying the proxy address.
+netmonitor.headers.proxyAddress=Adresse du proxy
+
+# LOCALIZATION NOTE (netmonitor.headers.status): This is the label displayed
+# in the network details headers tab identifying the status code.
+netmonitor.headers.status=État
+
+# LOCALIZATION NOTE (netmonitor.headers.proxyStatus): This is the label displayed
+# in the network details headers tab identifying the status code for the proxy.
+netmonitor.headers.proxyStatus=État du proxy
+
+# LOCALIZATION NOTE (netmonitor.headers.size): This is the label displayed
+# in the network details headers tab identifying the size.
+netmonitor.headers.size=Taille
+
+# LOCALIZATION NOTE (networkMenu.headers.sizeDetails): This label is displayed
+# in the network details headers tab providing the size details.
+# %1$S is the transferred size, %2$S is the size.
+netmonitor.headers.sizeDetails=%1$S (taille %2$S)
+
+# LOCALIZATION NOTE (netmonitor.headers.version): This is the label displayed
+# in the network details headers tab identifying the http version.
+netmonitor.headers.version=Version
+
+# LOCALIZATION NOTE (netmonitor.headers.proxyVersion): This is the label displayed
+# in the network details headers tab identifying the http version of the proxy.
+netmonitor.headers.proxyVersion=Version du proxy
+
+# LOCALIZATION NOTE (netmonitor.summary.learnMore): This is the label displayed
+# in the network details headers tab, with a link to external documentation for
+# status codes.
+netmonitor.summary.learnMore=En savoir plus sur le code d’état
+
+# LOCALIZATION NOTE (netmonitor.headers.referrerPolicy): This is the label displayed
+# in the network details headers tab identifying the referrer policy.
+netmonitor.headers.referrerPolicy=Politique de référent
+
+# LOCALIZATION NOTE (netmonitor.headers.contentBlocking): This is the label displayed
+# in the network details headers tab identifying the content blocking mode.
+netmonitor.headers.contentBlocking=Blocage
+
+# LOCALIZATION NOTE (netmonitor.headers.requestPriority): This is the label displayed
+# in the network details headers tab identifying the request priority.
+netmonitor.headers.requestPriority=Priorité de la requête
+
+# LOCALIZATION NOTE (netmonitor.headers.dns): This is the label displayed
+# in the network details headers tab identifying the DNS resolution.
+netmonitor.headers.dns=Résolution DNS
+
+# LOCALIZATION NOTE (netmonitor.headers.dns.basic): This is the label value displayed
+# in the network details headers tab identifying the Basic DNS resolution.
+netmonitor.headers.dns.basic=Système
+
+# LOCALIZATION NOTE (netmonitor.headers.dns.doh): This is the label value displayed
+# in the network details headers tab identifying the DNS over HTTPS resolution.
+netmonitor.headers.dns.overHttps=DNS via HTTPS
+
+# LOCALIZATION NOTE (netmonitor.summary.editAndResend): This is the label displayed
+# on the button in the headers tab that opens a form to edit and resend the currently
+# displayed request
+netmonitor.summary.editAndResend=Modifier et renvoyer
+
+# LOCALIZATION NOTE (netmonitor.headers.raw): This is the label displayed
+# on the button in the headers tab that toggle view for raw request/response headers
+# from the currently displayed request
+netmonitor.headers.raw=Texte brut
+
+# LOCALIZATION NOTE (netmonitor.headers.blockedByCORS): This is the message displayed
+# in the notification shown when a request has been blocked by CORS with a more
+# specific reason shown in the parenthesis
+netmonitor.headers.blockedByCORS=Le corps de la réponse n’est pas disponible aux scripts (raison : %S)
+
+#LOCALIZATION NOTE (netmonitor.headers.blockedByCORSTooltip): This is the tooltip
+# displayed on the learnmore link of the blocked by CORS notification.
+netmonitor.headers.blockedByCORSTooltip=En savoir plus sur les erreurs CORS
+
+# LOCALIZATION NOTE (netmonitor.response.name): This is the label displayed
+# in the network details response tab identifying an image's file name or font face's name.
+netmonitor.response.name=Nom :
+
+# LOCALIZATION NOTE (netmonitor.response.dimensions): This is the label displayed
+# in the network details response tab identifying an image's dimensions.
+netmonitor.response.dimensions=Dimensions :
+
+# LOCALIZATION NOTE (netmonitor.response.mime): This is the label displayed
+# in the network details response tab identifying an image's or font's MIME type.
+netmonitor.response.mime=Type MIME :
+
+# LOCALIZATION NOTE (netmonitor.response.fontPreviewFailed): This is the notice displayed
+# in the network details response tab if the font preview could not be generated due to
+# an error.
+netmonitor.response.fontPreviewFailed=L’aperçu de la police n’a pas pu être généré
+
+# LOCALIZATION NOTE (netmonitor.timings.blocked): This is the label displayed
+# in the network details timings tab identifying the amount of time spent
+# in a "blocked" state.
+netmonitor.timings.blocked=Bloqué :
+
+# LOCALIZATION NOTE (netmonitor.timings.dns): This is the label displayed
+# in the network details timings tab identifying the amount of time spent
+# in a "dns" state.
+netmonitor.timings.dns=Résolution DNS :
+
+# LOCALIZATION NOTE (netmonitor.timings.ssl): This is the label displayed
+# in the network details timings tab identifying the amount of time spent
+# in a "tls" handshake state.
+netmonitor.timings.ssl=Établissement liaison TLS :
+
+# LOCALIZATION NOTE (netmonitor.timings.connect): This is the label displayed
+# in the network details timings tab identifying the amount of time spent
+# in a "connect" state.
+netmonitor.timings.connect=Connexion :
+
+# LOCALIZATION NOTE (netmonitor.timings.send): This is the label displayed
+# in the network details timings tab identifying the amount of time spent
+# in a "send" state.
+netmonitor.timings.send=Envoi :
+
+# LOCALIZATION NOTE (netmonitor.timings.wait): This is the label displayed
+# in the network details timings tab identifying the amount of time spent
+# in a "wait" state.
+netmonitor.timings.wait=Attente :
+
+# LOCALIZATION NOTE (netmonitor.timings.receive): This is the label displayed
+# in the network details timings tab identifying the amount of time spent
+# in a "receive" state.
+netmonitor.timings.receive=Réception :
+
+# LOCALIZATION NOTE (netmonitor.timings.learnMore): This is the label displayed
+# in the network details timings tab, with a link to external documentation
+netmonitor.timings.learnMore=En savoir plus sur les délais
+
+# LOCALIZATION NOTE (netmonitor.audits.slowIconTooltip): This is the tooltip text displayed
+# in the network request list file column, on the slow icon button.
+# %1$S is the waiting time %2$S is the slow threshold.
+netmonitor.audits.slowIconTooltip=Le temps de réponse du serveur est long (%1$S). La limite recommandée est de %2$S.
+
+# LOCALIZATION NOTE (netmonitor.security.warning.cipher): A tooltip
+# for warning icon that indicates a connection uses insecure cipher suite.
+netmonitor.security.warning.cipher=La suite de chiffrement utilisée est obsolète et non sécurisée.
+
+# LOCALIZATION NOTE (netmonitor.security.error): This is the label displayed
+# in the security tab if a security error prevented the connection.
+netmonitor.security.error=Une erreur s’est produite :
+
+# LOCALIZATION NOTE (netmonitor.security.protocolVersion): This is the label displayed
+# in the security tab describing TLS/SSL protocol version.
+netmonitor.security.protocolVersion=Version du protocole :
+
+# LOCALIZATION NOTE (netmonitor.security.cipherSuite): This is the label displayed
+# in the security tab describing the cipher suite used to secure this connection.
+netmonitor.security.cipherSuite=Suite de chiffrement :
+
+# LOCALIZATION NOTE (netmonitor.security.keaGroup): This is the label displayed
+# in the security tab describing the key exchange group suite used to secure
+# this connection.
+netmonitor.security.keaGroup=Groupe d’échange de clés :
+
+# LOCALIZATION NOTE (netmonitor.security.keaGroup.none): This is the label
+# displayed in the security tab describing the case when no group was used.
+netmonitor.security.keaGroup.none=aucun
+
+# LOCALIZATION NOTE (netmonitor.security.keaGroup.custom): This is the label
+# displayed in the security tab describing the case when a custom group was used.
+netmonitor.security.keaGroup.custom=personnalisé
+
+# LOCALIZATION NOTE (netmonitor.security.keaGroup.unknown): This is the value
+# displayed in the security tab describing an unknown group.
+netmonitor.security.keaGroup.unknown=groupe inconnu
+
+# LOCALIZATION NOTE (netmonitor.security.signatureScheme): This is the label
+# displayed in the security tab describing the signature scheme used by for
+# the server certificate in this connection.
+netmonitor.security.signatureScheme=Algorithme de signature :
+
+# LOCALIZATION NOTE (netmonitor.security.signatureScheme.none): This is the
+# label displayed in the security tab describing the case when no signature
+# was used.
+netmonitor.security.signatureScheme.none=aucune
+
+# LOCALIZATION NOTE (netmonitor.security.signatureScheme.unknown): This is the
+# value displayed in the security tab describing an unknown signature scheme.
+netmonitor.security.signatureScheme.unknown=algorithme de signature inconnu
+
+# LOCALIZATION NOTE (netmonitor.security.hsts): This is the label displayed
+# in the security tab describing the usage of HTTP Strict Transport Security.
+netmonitor.security.hsts=HTTP Strict Transport Security :
+
+# LOCALIZATION NOTE (netmonitor.security.hpkp): This is the label displayed
+# in the security tab describing the usage of Public Key Pinning.
+netmonitor.security.hpkp=Public Key Pinning :
+
+# LOCALIZATION NOTE (netmonitor.security.connection): This is the label displayed
+# in the security tab describing the section containing information related to
+# the secure connection.
+netmonitor.security.connection=Connexion :
+
+# LOCALIZATION NOTE (netmonitor.security.certificate): This is the label displayed
+# in the security tab describing the server certificate section.
+netmonitor.security.certificate=Certificat :
+
+# LOCALIZATION NOTE (netmonitor.trackingResource.tooltip): This is the label used
+# in the Network monitor panel as a tooltip for tracking resource icon.
+netmonitor.trackingResource.tooltip=Cette URL correspond à un traqueur connu et serait bloquée si le blocage de contenu était activé.
+
+# LOCALIZATION NOTE (netmonitor.trackingResource.enhancedTrackingProtection): This is
+# the label used in the Network monitor panel for showing enhanced tracking protection.
+netmonitor.trackingResource.enhancedTrackingProtection=Protection renforcée contre le pistage
+
+# LOCALIZATION NOTE (netmonitor.enhancedTrackingProtection.learnMore): This is the label
+# displayed in the network details headers tab, with a link to external documentation for
+# enhanced tracking protection.
+netmonitor.enhancedTrackingProtection.learnMore=En savoir plus sur la protection renforcée contre le pistage
+
+# LOCALIZATION NOTE (netmonitor.context.copyValue): This is the label displayed
+# for the copy sub-menu in the context menu for a request
+netmonitor.context.copyValue=Copier la valeur
+
+# LOCALIZATION NOTE (netmonitor.context.copyValue.accesskey): This is the access key
+# for the copy menu/sub-menu displayed in the context menu for a request
+netmonitor.context.copyValue.accesskey=C
+
+# LOCALIZATION NOTE (netmonitor.context.copyUrl): This is the label displayed
+# on the context menu that copies the selected request's url
+netmonitor.context.copyUrl=Copier l’URL
+
+# LOCALIZATION NOTE (netmonitor.context.copyUrl.accesskey): This is the access key
+# for the Copy URL menu item displayed in the context menu for a request
+netmonitor.context.copyUrl.accesskey=U
+
+# LOCALIZATION NOTE (netmonitor.context.copyUrlParams): This is the label displayed
+# on the context menu that copies the selected request's url parameters
+netmonitor.context.copyUrlParams=Copier les paramètres de l’URL
+
+# LOCALIZATION NOTE (netmonitor.context.copyUrlParams.accesskey): This is the access key
+# for the Copy URL Parameters menu item displayed in the context menu for a request
+netmonitor.context.copyUrlParams.accesskey=p
+
+# LOCALIZATION NOTE (netmonitor.context.copyRequestData): This is the label displayed
+# on the context menu that copies the selected request's data
+netmonitor.context.copyRequestData=Copier les données %S
+
+# LOCALIZATION NOTE (netmonitor.context.copyRequestData.accesskey): This is the access key
+# for the Copy POST/PATCH/PUT/DELETE Data menu item displayed in the context menu for a request
+netmonitor.context.copyRequestData.accesskey=d
+
+# LOCALIZATION NOTE (netmonitor.context.copyAsPowerShell): This is the label displayed
+# on the context menu that copies the selected request as a PowerShell command.
+netmonitor.context.copyAsPowerShell=Copier en tant que commande PowerShell
+
+# LOCALIZATION NOTE (netmonitor.context.copyAsPowerShell.accesskey): This is the access key
+# for the Copy as PowerShell menu item displayed in the context menu for a request
+netmonitor.context.copyAsPowerShell.accesskey=S
+
+# LOCALIZATION NOTE (netmonitor.context.copyAsCurl): This is the label displayed
+# on the context menu that copies the selected request as a cURL command.
+# The capitalization is part of the official name and should be used throughout all languages.
+# http://en.wikipedia.org/wiki/CURL
+netmonitor.context.copyAsCurl=Copier comme cURL
+
+# LOCALIZATION NOTE (netmonitor.context.copyAsCurl.accesskey): This is the access key
+# for the Copy as cURL menu item displayed in the context menu for a request
+netmonitor.context.copyAsCurl.accesskey=C
+
+# LOCALIZATION NOTE (netmonitor.context.copyAsCurl.*): This is the template used to add
+# a target platform to the label for "Copy as cURL" command
+# e.g. Copy as cURL (Windows)
+# Localized label for "Copy as cURL": %S
+netmonitor.context.copyAsCurl.win=%S (Windows)
+netmonitor.context.copyAsCurl.win.accesskey=C
+netmonitor.context.copyAsCurl.posix=%S (POSIX)
+netmonitor.context.copyAsCurl.posix.accesskey=P
+
+# LOCALIZATION NOTE (netmonitor.context.copyAsFetch): This is the label displayed
+# on the context menu that copies the selected request as a fetch request.
+netmonitor.context.copyAsFetch=Copier en tant que requête Fetch
+
+# LOCALIZATION NOTE (netmonitor.context.copyAsFetch.accesskey): This is the access key
+# for the Copy as fetch menu item displayed in the context menu for a request
+netmonitor.context.copyAsFetch.accesskey=F
+
+# LOCALIZATION NOTE (netmonitor.context.copyRequestHeaders): This is the label displayed
+# on the context menu that copies the selected item's request headers
+netmonitor.context.copyRequestHeaders=Copier les en-têtes de la requête
+
+# LOCALIZATION NOTE (netmonitor.context.copyRequestHeaders.accesskey): This is the access key
+# for the Copy Request Headers menu item displayed in the context menu for a request
+netmonitor.context.copyRequestHeaders.accesskey=e
+
+# LOCALIZATION NOTE (netmonitor.context.copyResponseHeaders): This is the label displayed
+# on the context menu that copies the selected item's response headers
+netmonitor.context.copyResponseHeaders=Copier les en-têtes de la réponse
+
+# LOCALIZATION NOTE (netmonitor.context.copyResponseHeaders.accesskey): This is the access key
+# for the Copy Response Headers menu item displayed in the context menu for a response
+netmonitor.context.copyResponseHeaders.accesskey=s
+
+# LOCALIZATION NOTE (netmonitor.context.copyResponse): This is the label displayed
+# on the context menu that copies the selected response as a string
+netmonitor.context.copyResponse=Copier la réponse
+
+# LOCALIZATION NOTE (netmonitor.context.copyResponse.accesskey): This is the access key
+# for the Copy Response menu item displayed in the context menu for a request
+netmonitor.context.copyResponse.accesskey=r
+
+# LOCALIZATION NOTE (netmonitor.context.copyImageAsDataUri): This is the label displayed
+# on the context menu that copies the selected image as data uri
+netmonitor.context.copyImageAsDataUri=Copier l’image comme Data URI
+
+# LOCALIZATION NOTE (netmonitor.context.copyImageAsDataUri.accesskey): This is the access key
+# for the Copy Image As Data URI menu item displayed in the context menu for a request
+netmonitor.context.copyImageAsDataUri.accesskey=i
+
+# LOCALIZATION NOTE (netmonitor.context.useAsFetch): This is the label displayed
+# on the context menu that copies the selected request as a fetch command.
+netmonitor.context.useAsFetch=Utiliser en tant que requête Fetch dans la console
+
+# LOCALIZATION NOTE (netmonitor.context.useAsFetch.accesskey): This is the access key
+# for the Copy as fetch menu item displayed in the context menu for a request
+netmonitor.context.useAsFetch.accesskey=F
+
+# LOCALIZATION NOTE (netmonitor.context.saveImageAs): This is the label displayed
+# on the context menu that save the Image
+netmonitor.context.saveImageAs=Enregistrer l’image sous
+
+# LOCALIZATION NOTE (netmonitor.context.saveImageAs.accesskey): This is the access key
+# for the Copy Image As Data URI menu item displayed in the context menu for a request
+netmonitor.context.saveImageAs.accesskey=E
+
+# LOCALIZATION NOTE (netmonitor.context.copyAll): This is the label displayed
+# on the context menu that copies all data
+netmonitor.context.copyAll=Tout copier
+
+# LOCALIZATION NOTE (netmonitor.context.copyAll.accesskey): This is the access key
+# for the Copy All menu item displayed in the context menu for a properties view panel
+netmonitor.context.copyAll.accesskey=T
+
+# LOCALIZATION NOTE (netmonitor.context.copyAllAsHar): This is the label displayed
+# on the context menu that copies all as HAR format
+netmonitor.context.copyAllAsHar=Tout copier en tant que HAR
+
+# LOCALIZATION NOTE (netmonitor.context.copyAllAsHar.accesskey): This is the access key
+# for the Copy All As HAR menu item displayed in the context menu for a network panel
+netmonitor.context.copyAllAsHar.accesskey=o
+
+# LOCALIZATION NOTE (netmonitor.context.saveAllAsHar): This is the label displayed
+# on the context menu that saves all as HAR format
+netmonitor.context.saveAllAsHar=Tout enregistrer en tant que HAR
+
+# LOCALIZATION NOTE (netmonitor.context.saveAllAsHar.accesskey): This is the access key
+# for the Save All As HAR menu item displayed in the context menu for a network panel
+netmonitor.context.saveAllAsHar.accesskey=H
+
+# LOCALIZATION NOTE (netmonitor.context.importHar.accesskey): This is the access key
+# for the Import HAR menu item displayed in the context menu for a network panel
+netmonitor.context.importHar.accesskey=I
+
+# LOCALIZATION NOTE (netmonitor.har.importHarDialogTitle): This is a label
+# used for import file open dialog
+netmonitor.har.importHarDialogTitle=Importer un fichier HAR
+
+# LOCALIZATION NOTE (netmonitor.har.importDialogHARFilter):
+# This string is displayed as a filter for importing HAR file
+netmonitor.har.importDialogHARFilter=Fichiers HAR
+
+# LOCALIZATION NOTE (netmonitor.har.importDialogAllFilter):
+# This string is displayed as a filter for importing HAR file
+netmonitor.har.importDialogAllFilter=Tous les fichiers
+
+# LOCALIZATION NOTE (netmonitor.context.resend.label): This is the label displayed
+# on the context menu that resends the currently displayed request immediately
+netmonitor.context.resend.label=Renvoyer
+
+# LOCALIZATION NOTE (netmonitor.context.resend.accesskey): This is the access key
+# for the "Resend" menu item displayed in the context menu for a request
+netmonitor.context.resend.accesskey=n
+
+# LOCALIZATION NOTE (netmonitor.context.editAndResend): This is the label displayed
+# on the context menu that opens a form to edit and resend the currently
+# displayed request
+netmonitor.context.editAndResend=Modifier et renvoyer
+
+# LOCALIZATION NOTE (netmonitor.context.editAndResend.accesskey): This is the access key
+# for the "Edit and Resend" menu item displayed in the context menu for a request
+netmonitor.context.editAndResend.accesskey=M
+
+# LOCALIZATION NOTE (netmonitor.context.blockURL): This is the label displayed
+# on the context menu that blocks any requests matching the selected request's URL.
+netmonitor.context.blockURL=Bloquer cette URL
+
+# LOCALIZATION NOTE (netmonitor.context.unblockURL): This is the label displayed
+# on the context menu that unblocks any requests matching the selected request's URL.
+netmonitor.context.unblockURL=Débloquer cette URL
+
+# LOCALIZATION NOTE (netmonitor.context.newTab): This is the label
+# for the Open in New Tab menu item displayed in the context menu of the
+# network container
+netmonitor.context.newTab=Ouvrir dans un nouvel onglet
+
+# LOCALIZATION NOTE (netmonitor.context.newTab.accesskey): This is the access key
+# for the Open in New Tab menu item displayed in the context menu of the
+# network container
+netmonitor.context.newTab.accesskey=O
+
+# LOCALIZATION NOTE (netmonitor.context.openInDebugger): This is the label
+# for the Open in Debugger menu item displayed in the context menu of the
+# network container
+netmonitor.context.openInDebugger=Ouvrir dans le débogueur
+
+# LOCALIZATION NOTE (netmonitor.context.openInDebugger.accesskey): This is the access key
+# for the Open in Debugger menu item displayed in the context menu of the
+# network container
+netmonitor.context.openInDebugger.accesskey=d
+
+# LOCALIZATION NOTE (netmonitor.context.openInStyleEditor): This is the label
+# for the Open in Style Editor menu item displayed in the context menu of the
+# network container
+netmonitor.context.openInStyleEditor=Ouvrir dans l’éditeur de style
+
+# LOCALIZATION NOTE (netmonitor.context.openInStyleEditor.accesskey): This is
+# the access key for the Open in Style Editor menu item displayed in the
+# context menu of the network container
+netmonitor.context.openInStyleEditor.accesskey=s
+
+# LOCALIZATION NOTE (netmonitor.context.perfTools): This is the label displayed
+# on the context menu that shows the performance analysis tools
+netmonitor.context.perfTools=Lancer l’analyse des performances…
+
+# LOCALIZATION NOTE (netmonitor.context.perfTools.accesskey): This is the access key
+# for the performance analysis menu item displayed in the context menu for a request
+netmonitor.context.perfTools.accesskey=L
+
+# LOCALIZATION NOTE (netmonitor.custom.newRequest): This is the label displayed
+# as the title of the new custom request form
+netmonitor.custom.newRequest=Nouvelle requête
+
+# LOCALIZATION NOTE (netmonitor.custom.newRequestMethodLabel): This is the label displayed
+# above the method text input field of the new custom request form
+netmonitor.custom.newRequestMethodLabel=Méthode
+
+# LOCALIZATION NOTE (netmonitor.custom.newRequestUrlLabel): This is the label displayed
+# above the url text input field of the new custom request form
+netmonitor.custom.newRequestUrlLabel=URL
+
+# LOCALIZATION NOTE (netmonitor.custom.query): This is the label displayed
+# above the query string entry in the custom request form
+netmonitor.custom.query=Chaîne de requête :
+
+# LOCALIZATION NOTE (netmonitor.custom.urlParameters): This is the label displayed
+# above the query string entry in the custom request form
+netmonitor.custom.urlParameters=Paramètres d’URL
+
+# LOCALIZATION NOTE (netmonitor.custom.headers): This is the label displayed
+# above the request headers entry in the custom request form
+netmonitor.custom.headers=En-têtes de requête :
+
+# LOCALIZATION NOTE (netmonitor.custom.newRequestHeaders): This is the label displayed
+# above the request headers entry in the new custom request form
+netmonitor.custom.newRequestHeaders=En-têtes
+
+# LOCALIZATION NOTE (netmonitor.custom.placeholder.name): This is the placeholder displayed
+# on the input on the headers and query params on new custom request form
+netmonitor.custom.placeholder.name=nom
+
+# LOCALIZATION NOTE (netmonitor.custom.placeholder.value): This is the placeholder displayed
+# on the input on the headers and query params on new custom request form
+netmonitor.custom.placeholder.value=valeur
+
+# LOCALIZATION NOTE (netmonitor.custom.postBody): This is the label displayed
+# above the request body entry in the new custom request form
+netmonitor.custom.postBody=Corps du message
+
+# LOCALIZATION NOTE (netmonitor.custom.postBody.placeholder): This is the placeholder displayed
+# on the textarea body in the new custom request form
+netmonitor.custom.postBody.placeholder=charge utile
+
+# LOCALIZATION NOTE (netmonitor.custom.postData): This is the label displayed
+# above the request body entry in the custom request form
+netmonitor.custom.postData=Corps de la requête :
+
+# LOCALIZATION NOTE (netmonitor.custom.send): This is the label displayed
+# on the button which sends the custom request
+netmonitor.custom.send=Envoyer
+
+# LOCALIZATION NOTE (netmonitor.custom.cancel): This is the label displayed
+# on the button which cancels and closes the custom request form
+netmonitor.custom.cancel=Annuler
+
+# LOCALIZATION NOTE (netmonitor.custom.clear): This is the label displayed
+# on the button which clears the content of the new custom request panel
+netmonitor.custom.clear=Effacer
+
+# LOCALIZATION NOTE (netmonitor.custom.removeItem): This is the
+# tooltip shown over the remove button for headers and query params item
+netmonitor.custom.removeItem=Supprimer l’élément
+
+# LOCALIZATION NOTE (netmonitor.backButton): This is the label displayed
+# on the button which exists the performance statistics view
+netmonitor.backButton=Retour
+
+# LOCALIZATION NOTE (netmonitor.status.tooltip.simple): This is the tooltip of the
+# column status code, when request is not being cached or is not from a service worker
+# %1$S is the status code, %2$S is the status text.
+netmonitor.status.tooltip.simple = %1$S %2$S
+
+# LOCALIZATION NOTE (netmonitor.status.tooltip.cached): This is the tooltip of
+# the column status code, when the request is cached
+# %1$S is the status code, %2$S is the status text.
+netmonitor.status.tooltip.cached = %1$S %2$S (mis en cache)
+
+# LOCALIZATION NOTE (netmonitor.status.tooltip.worker): This is the tooltip of
+# the column status code, when the request is from a service worker
+# %1$S is the status code, %2$S is the status text.
+netmonitor.status.tooltip.worker = %1$S %2$S (service worker)
+
+# LOCALIZATION NOTE (netmonitor.status.tooltip.cachedworker): This is the tooltip
+# of the column status code, when the request is cached and is from a service worker
+# %1$S is the status code, %2$S is the status text.
+netmonitor.status.tooltip.cachedworker = %1$S %2$S (mis en cache, service worker)
+
+# LOCALIZATION NOTE (netmonitor.label.dropHarFiles): This is a label
+# rendered within the Network panel when *.har file(s) are dragged
+# over the content.
+netmonitor.label.dropHarFiles = Déposez les fichiers HAR ici
+
+# LOCALIZATION NOTE (netmonitor.label.har): This is a label used
+# as a tooltip for toolbar drop-down button with HAR actions
+netmonitor.label.har=Importer/Exporter au format HAR
+
+# LOCALIZATION NOTE (netmonitor.cache.cache): This is the label text for the parent
+# node in the TreeView.
+netmonitor.cache.cache=Cache
+
+# LOCALIZATION NOTE (netmonitor.cache.empty): This is the text displayed when cache
+# information is not available.
+netmonitor.cache.empty=Aucune information de cache
+
+# LOCALIZATION NOTE (netmonitor.cache.notAvailable): This is the text displayed under
+# a node that has no information available.
+netmonitor.cache.notAvailable=Non disponible
+
+# LOCALIZATION NOTE (netmonitor.cache.dataSize): This is the label text for
+# the datasize of the cached object.
+netmonitor.cache.dataSize=Taille des données
+
+# LOCALIZATION NOTE (netmonitor.cache.expires): This is the label text for the
+# expires time of the cached object.
+netmonitor.cache.expires=Expire le
+
+# LOCALIZATION NOTE (netmonitor.cache.fetchCount): This is the label text for the
+# fetch count of the cached object.
+netmonitor.cache.fetchCount=Nombre de consultations
+
+# LOCALIZATION NOTE (netmonitor.cache.lastFetched): This is the label text for the
+# last fetched date/time of the cached object.
+netmonitor.cache.lastFetched=Dernière consultation
+
+# LOCALIZATION NOTE (netmonitor.cache.lastModified): This is the label text for the
+# last modified date/time of the cached object.
+netmonitor.cache.lastModified=Dernière modification
+
+# LOCALIZATION NOTE (netmonitor.cache.device): This is the label text for the device
+# where a cached object was fetched from (e.g. "disk").
+netmonitor.cache.device=Appareil
+
+# LOCALIZATION NOTE (netmonitor.settings.menuTooltip): This is the tooltip that gets displayed
+# when the settings menu button is hovered.
+netmonitor.settings.menuTooltip=Paramètres réseau
+
+# LOCALIZATION NOTE (netmonitor.settings.importHarTooltip): This is the tooltip that gets displayed
+# when the HAR import menu item is hovered
+netmonitor.settings.importHarTooltip=Importer un fichier HAR de données réseau
+
+# LOCALIZATION NOTE (netmonitor.settings.saveHarTooltip): This is the tooltip that gets displayed
+# when the HAR save menu item is hovered
+netmonitor.settings.saveHarTooltip=Enregistrer les données réseau dans un fichier HAR
+
+# LOCALIZATION NOTE (netmonitor.settings.copyHarTooltip): This is the tooltip that gets displayed
+# when the HAR copy menu item is hovered
+netmonitor.settings.copyHarTooltip=Copier les informations réseau dans le presse-papiers
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/devtools/client/network-throttling.properties b/thunderbird-l10n/fr/chrome/fr/locale/fr/devtools/client/network-throttling.properties
new file mode 100644
index 0000000000..77b5a72b35
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/devtools/client/network-throttling.properties
@@ -0,0 +1,27 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE These strings are used inside the NetworkThrottlingMenu
+# component used to throttle network bandwidth.
+#
+# The correct localization of this file might be to keep it in
+# English, or another language commonly spoken among web developers.
+# You want to make that choice consistent across the developer tools.
+# A good criteria is the language in which you'd find the best
+# documentation on web development on the web.
+
+# LOCALIZATION NOTE (responsive.noThrottling): UI option in a menu to configure
+# network throttling. This option is the default and disables throttling so you
+# just have normal network conditions. There is not very much room in the UI
+# so a short string would be best if possible.
+responsive.noThrottling=Aucune limitation de la bande passante
+
+# LOCALIZATION NOTE (throttling.profile.description): Tooltip for the throttling
+# menu button, which gives details about the currently selected profile.
+# %1$S: Download speed value (number)
+# %2$S: Download speed unit (eg "Kbps", "Mbps")
+# %3$S: Upload speed value (number)
+# %4$S: Upload speed unit (eg "Kbps", "Mbps")
+# %5$S: Latency value, (number, in ms)
+throttling.profile.description = téléchargement %1$S %2$S, envoi %3$S %4$S, latence %5$S ms
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/devtools/client/responsive.properties b/thunderbird-l10n/fr/chrome/fr/locale/fr/devtools/client/responsive.properties
new file mode 100644
index 0000000000..bffddb1854
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/devtools/client/responsive.properties
@@ -0,0 +1,182 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE These strings are used inside the Responsive Design Mode,
+# available from the Web Developer sub-menu -> 'Responsive Design Mode'.
+#
+# The correct localization of this file might be to keep it in
+# English, or another language commonly spoken among web developers.
+# You want to make that choice consistent across the developer tools.
+# A good criteria is the language in which you'd find the best
+# documentation on web development on the web.
+
+# LOCALIZATION NOTE These strings are used inside the Responsive Design Mode,
+# available from the Browser Tools sub-menu -> 'Responsive Design Mode'.
+#
+# The correct localization of this file might be to keep it in
+# English, or another language commonly spoken among web developers.
+# You want to make that choice consistent across the developer tools.
+# A good criteria is the language in which you'd find the best
+# documentation on web development on the web.
+
+# LOCALIZATION NOTE (responsive.editDeviceList2): Context menu item displayed in the
+# device selector.
+responsive.editDeviceList2=Modifier la liste…
+
+# LOCALIZATION NOTE (responsive.exit): Tooltip text of the exit button.
+responsive.exit=Fermer la vue adaptative
+
+# LOCALIZATION NOTE (responsive.rotate): Tooltip text of the rotate button.
+responsive.rotate=Rotation de la fenêtre d’affichage
+
+# LOCALIZATION NOTE (responsive.responsiveMode): Placeholder text for the
+# device selector.
+responsive.responsiveMode=Adaptatif
+
+# LOCALIZATION NOTE (responsive.enableTouch): Tooltip text for the touch
+# simulation button when it's disabled.
+responsive.enableTouch=Activer la simulation des évènements tactiles
+
+# LOCALIZATION NOTE (responsive.disableTouch): Tooltip text for the touch
+# simulation button when it's enabled.
+responsive.disableTouch=Désactiver la simulation des évènements tactiles
+
+# LOCALIZATION NOTE (responsive.screenshot): Tooltip of the screenshot button.
+responsive.screenshot=Prendre une capture de la partie visible de l’écran
+
+# LOCALIZATION NOTE (responsive.screenshotGeneratedFilename): The auto generated
+# filename.
+# The first argument (%1$S) is the date string in yyyy-mm-dd format and the
+# second argument (%2$S) is the time string in HH.MM.SS format.
+responsive.screenshotGeneratedFilename=Capture d’écran - %1$S à %2$S
+
+# LOCALIZATION NOTE (responsive.remoteOnly): Message displayed in the tab's
+# notification box if a user tries to open Responsive Design Mode in a
+# non-remote tab.
+responsive.remoteOnly=La vue adaptative est uniquement disponible pour les onglets distants, tels que ceux utilisés pour le contenu Web dans une version multiprocessus de Firefox.
+
+# LOCALIZATION NOTE (responsive.changeDevicePixelRatio): Tooltip for the
+# device pixel ratio dropdown when is enabled.
+responsive.changeDevicePixelRatio=Modifier le ratio de pixels de l’appareil (DPR)
+
+# LOCALIZATION NOTE (responsive.devicePixelRatio.auto): Tooltip for the device pixel ratio
+# dropdown when it is disabled because a device is selected.
+# The argument (%1$S) is the selected device (e.g. iPhone 6) that set
+# automatically the device pixel ratio value.
+responsive.devicePixelRatio.auto=Le ratio de pixels de l’appareil a été défini automatiquement par %1$S
+
+# LOCALIZATION NOTE (responsive.customDeviceName): Default value in a form to
+# add a custom device based on an arbitrary size (no association to an existing
+# device).
+responsive.customDeviceName=Appareil personnalisé
+
+# LOCALIZATION NOTE (responsive.customDeviceNameFromBase): Default value in a
+# form to add a custom device based on the properties of another. %1$S is the
+# name of the device we're staring from, such as "Apple iPhone 6".
+responsive.customDeviceNameFromBase=%1$S (Personnalisé)
+
+# LOCALIZATION NOTE (responsive.addDevice2): Button text that reveals a form to
+# be used for adding custom devices.
+responsive.addDevice2=Ajouter un appareil personnalisé…
+
+# LOCALIZATION NOTE (responsive.deviceAdderName): Label of form field for the
+# name of a new device.
+responsive.deviceAdderName=Nom
+
+# LOCALIZATION NOTE (responsive.deviceAdderSize): Label of form field for the
+# size of a new device.
+responsive.deviceAdderSize=Taille
+
+# LOCALIZATION NOTE (responsive.deviceAdderPixelRatio2): Label of form field for
+# the device pixel ratio of a new device.
+responsive.deviceAdderPixelRatio2=Ratio de pixels de l’appareil
+
+# LOCALIZATION NOTE (responsive.deviceAdderUserAgent2): Label of form field for
+# the user agent of a new device.
+responsive.deviceAdderUserAgent2=Chaîne d’agent utilisateur
+
+# LOCALIZATION NOTE (responsive.deviceAdderTouch2): Label of form field for the
+# touch input support of a new device.
+responsive.deviceAdderTouch2=Écran tactile
+
+# LOCALIZATION NOTE (responsive.deviceAdderSave): Button text that submits a
+# form to add a new device.
+responsive.deviceAdderSave=Enregistrer
+
+# LOCALIZATION NOTE (responsive.deviceAdderCancel): Button text that cancels a
+# form to add a new device.
+responsive.deviceAdderCancel=Annuler
+
+# LOCALIZATION NOTE (responsive.deviceDetails): Tooltip that appears when
+# hovering on a device in the device modal. %1$S is the width of the device.
+# %2$S is the height of the device. %3$S is the device pixel ratio value of the
+# device. %4$S is the user agent of the device. %5$S is a boolean value
+# noting whether touch input is supported.
+responsive.deviceDetails=Taille : %1$S x %2$S\nDPR : %3$S\nUA : %4$S\nTactile : %5$S
+
+# LOCALIZATION NOTE (responsive.deviceDetails.browserAndOS): Used to display the browser
+# and the OS in a tooltip that appears when hovering on a device in the device modal.
+# %1$S: browser
+# %2$S: OS
+responsive.deviceDetails.browserAndOS=%1$S sous %2$S
+
+# LOCALIZATION NOTE (responsive.deviceDetails.size): Used to display the pixel
+# size in a tooltip that appears when hovering on a device in the device modal.
+# %1$S: width
+# %2$S: height
+responsive.deviceDetails.size=Taille : %1$S x %2$S
+
+# LOCALIZATION NOTE (responsive.deviceDetails.DPR): Used to display the DPR in a tooltip
+# that appears when hovering on a device in the device modal.
+# %1$S: device pixel ratio
+responsive.deviceDetails.DPR=DPR : %1$S
+
+# LOCALIZATION NOTE (responsive.deviceDetails.UA): Used to display the UA in a tooltip
+# that appears when hovering on a device in the device modal.
+# %1$S: user agent
+responsive.deviceDetails.UA=UA : %1$S
+
+# LOCALIZATION NOTE (responsive.deviceDetails.touch): Used to display a boolean value
+# which is whether the touch input is supported or not in a tooltip that appears when
+# hovering on a device in the device modal.
+# %1$S: touch
+responsive.deviceDetails.touch=Tactile : %1$S
+
+# LOCALIZATION NOTE (responsive.devicePixelRatioOption): UI option in a menu to configure
+# the device pixel ratio. %1$S is the devicePixelRatio value of the device.
+responsive.devicePixelRatioOption=DPR : %1$S
+
+# LOCALIZATION NOTE (responsive.reloadConditions.touchSimulation): Label on checkbox used
+# to select whether to reload when touch simulation is toggled.
+responsive.reloadConditions.touchSimulation=Actualiser lors de l’activation/désactivation de la simulation tactile
+
+# LOCALIZATION NOTE (responsive.reloadConditions.userAgent): Label on checkbox used
+# to select whether to reload when user agent is changed.
+responsive.reloadConditions.userAgent=Actualiser lors du changement d’agent utilisateur
+
+# LOCALIZATION NOTE (responsive.reloadNotification.description2): Text in notification bar
+# shown on first open to clarify that some features need a reload to apply.
+responsive.reloadNotification.description2=Les changements de simulation d’appareil demandent un rechargement de la page pour être complètement appliqués. Le rechargement automatique est désactivé par défaut dans les outils de développement pour éviter la perte de modifications. Vous pouvez activer le rechargement via le menu Paramètres.
+
+# LOCALIZATION NOTE (responsive.leftAlignViewport): Label on checkbox used in the settings
+# menu.
+responsive.leftAlignViewport=Zone de visualisation alignée à gauche
+
+# LOCALIZATION NOTE (responsive.customUserAgent): This is the placeholder for the user
+# agent input in the responsive design mode toolbar.
+responsive.customUserAgent=Agent utilisateur personnalisé
+
+responsive.showUserAgentInput=Afficher l’agent utilisateur
+
+# LOCALIZATION NOTE (responsive.deviceSettings): The header text for the device settings
+# view.
+responsive.deviceSettings=Paramètres de l’appareil
+
+# LOCALIZATION NOTE (responsive.deviceNameAlreadyInUse): This is the text shown when adding a new
+# device with an already existing device name.
+responsive.deviceNameAlreadyInUse=Ce nom d’appareil existe déjà
+
+# LOCALIZATION NOTE (responsive.deviceFormUpdate): Button text that updates a custom
+# device when the form is submitted.
+responsive.deviceFormUpdate=Actualiser
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/devtools/client/shared.properties b/thunderbird-l10n/fr/chrome/fr/locale/fr/devtools/client/shared.properties
new file mode 100644
index 0000000000..46069c32a8
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/devtools/client/shared.properties
@@ -0,0 +1,26 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE (dimensions): This is used to display the dimensions
+# of a node or image, like 100×200.
+dimensions=%S\u00D7%S
+
+# LOCALIZATION NOTE (boxModelSize.accessibleLabel): This is used to read the
+# dimensions of a node by a screen reader. This helps communicate
+# the visual information in a more explicit form. Example:
+# Size: Width 100, height 200.
+boxModelSize.accessibleLabel=Taille : largeur %1$S, hauteur %2$S
+
+# LOCALIZATION NOTE (boxModelInfo.accessibleLabel): This is used to read the
+# dimensions and position of a node by a screen reader. This helps communicate
+# the visual information in a more explicit form. Example:
+# Dimensions: Width 100, height 200, position static.
+boxModelInfo.accessibleLabel=Dimensions : largeur %1$S, hauteur %2$S, position %3$S
+
+# LOCALIZATION NOTE (boxModelEditable.accessibleLabel): The string spoken by
+# screen readers for each button in the box model view that opens that property
+# for editing. %1$S is the property displayed in the tooltip when hovering.
+# %2$S is the value that is visually displayed.
+# Example: margin-left: 0.
+boxModelEditable.accessibleLabel=%1$S : %2$S
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/devtools/client/sourceeditor.properties b/thunderbird-l10n/fr/chrome/fr/locale/fr/devtools/client/sourceeditor.properties
new file mode 100644
index 0000000000..6e15c1991e
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/devtools/client/sourceeditor.properties
@@ -0,0 +1,117 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE These strings are used inside the Source Editor component.
+# This component is used whenever source code is displayed for the purpose of
+# being edited, inside the Firefox developer tools - current examples are the
+# Scratchpad and the Style Editor tools.
+
+# LOCALIZATION NOTE These strings are used inside the Source Editor component.
+# This component is used whenever source code is displayed for the purpose of
+# being edited, inside the Firefox developer tools (like Style Editor).
+
+# LOCALIZATION NOTE The correct localization of this file might be to keep it
+# in English, or another language commonly spoken among web developers.
+# You want to make that choice consistent across the developer tools.
+# A good criteria is the language in which you'd find the best documentation
+# on web development on the web.
+
+# LOCALIZATION NOTE (findCmd.promptMessage): This is the message shown when
+# the user wants to search for a string in the code. You can
+# access this feature by pressing Ctrl-F on Windows/Linux or Cmd-F on Mac.
+findCmd.promptMessage=Rechercher :
+
+# LOCALIZATION NOTE (gotoLineCmd.promptTitle): This is the dialog title used
+# when the user wants to jump to a specific line number in the code. You can
+# access this feature by pressing Ctrl-J on Windows/Linux or Cmd-J on Mac.
+gotoLineCmd.promptTitle=Aller à la ligne…
+
+# LOCALIZATION NOTE (autocompletion.docsLink): This is the text shown on
+# the link inside of the documentation popup. If you type 'document' in Scratchpad
+# then press Shift+Space you can see the popup.
+autocompletion.docsLink=docs
+
+# LOCALIZATION NOTE (autocompletion.notFound): This is the text shown in
+# the documentation popup if Tern fails to find a type for the object.
+autocompletion.notFound=introuvable
+
+# LOCALIZATION NOTE (jumpToLine.commandkey): This is the key to use in
+# conjunction with accel (Command on Mac or Ctrl on other platforms) to jump to
+# a specific line in the editor.
+jumpToLine.commandkey=J
+
+# LOCALIZATION NOTE (toggleComment.commandkey): This is the key to use in
+# conjunction with accel (Command on Mac or Ctrl on other platforms) to either
+# comment or uncomment selected lines in the editor.
+toggleComment.commandkey=/
+
+# LOCALIZATION NOTE (indentLess.commandkey): This is the key to use in
+# conjunction with accel (Command on Mac or Ctrl on other platforms) to reduce
+# indentation level in CodeMirror. However, its default value also used by
+# the Toolbox to switch between tools so we disable it.
+#
+# DO NOT translate this key without proper synchronization with toolbox.dtd.
+indentLess.commandkey=[
+
+# LOCALIZATION NOTE (indentMore.commandkey): This is the key to use in
+# conjunction with accel (Command on Mac or Ctrl on other platforms) to increase
+# indentation level in CodeMirror. However, its default value also used by
+# the Toolbox to switch between tools
+#
+# DO NOT translate this key without proper synchronization with toolbox.dtd.
+indentMore.commandkey=]
+
+# LOCALIZATION NOTE (moveLineUp.commandkey): This is the combination of keys
+# used to move the current line up.
+# Do not localize "Alt", "Up", or change the format of the string. These are key
+# identifiers, not messages displayed to the user.
+moveLineUp.commandkey=Alt-Up
+
+# LOCALIZATION NOTE (moveLineDown.commandkey): This is the combination of keys
+# used to move the current line up.
+# Do not localize "Alt", "Down", or change the format of the string. These are
+# key identifiers, not messages displayed to the user.
+moveLineDown.commandkey=Alt-Down
+
+# LOCALIZATION NOTE (autocompletion.commandkey): This is the key, used with
+# Ctrl, for code autocompletion.
+# Do not localize "Space", it's the key identifier, not a message displayed to
+# the user.
+autocompletion.commandkey=Space
+
+# LOCALIZATION NOTE (showInformation2.commandkey): This is the combination of
+# keys used to display more information, like type inference.
+# Do not localize "Shift", "Ctrl", "Space", or change the format of the string.
+# These are key identifiers, not messages displayed to the user.
+showInformation2.commandkey=Shift-Ctrl-Space
+
+# LOCALIZATION NOTE (find.key):
+# Key shortcut used to find the typed search
+# Do not localize "CmdOrCtrl", "F", or change the format of the string. These are
+# key identifiers, not messages displayed to the user.
+find.key=CmdOrCtrl+F
+
+# LOCALIZATION NOTE (replaceAll.key):
+# Key shortcut used to replace the content of the editor
+# Do not localize "Shift", "CmdOrCtrl", "F", or change the format of the string. These are
+# key identifiers, not messages displayed to the user.
+replaceAll.key=Shift+CmdOrCtrl+F
+
+# LOCALIZATION NOTE (replaceAllMac.key):
+# Key shortcut used to replace the content of the editor on Mac
+# Do not localize "Alt", "CmdOrCtrl", "F", or change the format of the string. These are
+# key identifiers, not messages displayed to the user.
+replaceAllMac.key=Alt+CmdOrCtrl+F
+
+# LOCALIZATION NOTE (findNext.key):
+# Key shortcut used to find again the typed search
+# Do not localize "CmdOrCtrl", "G", or change the format of the string. These are
+# key identifiers, not messages displayed to the user.
+findNext.key=CmdOrCtrl+G
+
+# LOCALIZATION NOTE (findPrev.key):
+# Key shortcut used to find the previous typed search
+# Do not localize "Shift", "CmdOrCtrl", "G", or change the format of the string. These are
+# key identifiers, not messages displayed to the user.
+findPrev.key=Shift+CmdOrCtrl+G
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/devtools/client/startup.properties b/thunderbird-l10n/fr/chrome/fr/locale/fr/devtools/client/startup.properties
new file mode 100644
index 0000000000..a258976b18
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/devtools/client/startup.properties
@@ -0,0 +1,248 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE (optionsButton.tooltip): This is used as the tooltip
+# for the options panel tab.
+optionsButton.tooltip=Options des outils
+
+# LOCALIZATION NOTE (options.label): This is used as the label of the tab in
+# the devtools window.
+options.label=Options
+
+# LOCALIZATION NOTE (options.panelLabel): This is used as the label for the
+# toolbox panel.
+options.panelLabel=Panneau options des outils
+
+# LOCALIZATION NOTE (options.darkTheme.label2)
+# Used as a label for dark theme
+options.darkTheme.label2=Sombre
+
+# LOCALIZATION NOTE (options.lightTheme.label2)
+# Used as a label for light theme
+options.lightTheme.label2=Clair
+
+# LOCALIZATION NOTE (performance.label):
+# This string is displayed in the title of the tab when the profiler is
+# displayed inside the developer tools window and in the Developer Tools Menu.
+performance.label=Performances
+
+# LOCALIZATION NOTE (performance.panelLabel):
+# This is used as the label for the toolbox panel.
+performance.panelLabel=Panneau performances
+
+# LOCALIZATION NOTE (performance.accesskey)
+# Used for the menuitem in the tool menu
+performance.accesskey=P
+
+# LOCALIZATION NOTE (performance.tooltip):
+# This string is displayed in the tooltip of the tab when the profiler is
+# displayed inside the developer tools window.
+# Keyboard shortcut for Performance Tools will be shown inside brackets.
+performance.tooltip=Performances (%S)
+
+# LOCALIZATION NOTE (MenuWebconsole.label): the string displayed in the Tools
+# menu as a shortcut to open the devtools with the Web Console tab selected.
+MenuWebconsole.label=Console web
+
+# LOCALIZATION NOTE (ToolboxTabWebconsole.label): the string displayed as the
+# label of the tab in the devtools window.
+ToolboxTabWebconsole.label=Console
+
+# LOCALIZATION NOTE (ToolboxWebConsole.panelLabel): the string used as the
+# label for the toolbox panel.
+ToolboxWebConsole.panelLabel=Panneau console
+
+# LOCALIZATION NOTE (ToolboxWebconsole.tooltip2): the string displayed in the
+# tooltip of the tab when the Web Console is displayed inside the developer
+# tools window.
+# Keyboard shortcut for Console will be shown inside the brackets.
+ToolboxWebconsole.tooltip2=Console web (%S)
+
+webConsoleCmd.accesskey=W
+
+# LOCALIZATION NOTE (ToolboxDebugger.label):
+# This string is displayed in the title of the tab when the debugger is
+# displayed inside the developer tools window and in the Developer Tools Menu.
+ToolboxDebugger.label=Débogueur
+
+# LOCALIZATION NOTE (ToolboxDebugger.panelLabel):
+# This is used as the label for the toolbox panel.
+ToolboxDebugger.panelLabel=Panneau débogueur
+
+# LOCALIZATION NOTE (ToolboxDebugger.tooltip4):
+# This string is displayed in the tooltip of the tab when the debugger is
+# displayed inside the developer tools window.
+ToolboxDebugger.tooltip4=Débogueur JavaScript (%S)
+
+# LOCALIZATION NOTE (debuggerMenu.accesskey)
+# Used for the menuitem in the tool menu
+debuggerMenu.accesskey=D
+
+# LOCALIZATION NOTE (ToolboxStyleEditor.label):
+# This string is displayed in the title of the tab when the style editor is
+# displayed inside the developer tools window and in the Developer Tools Menu.
+ToolboxStyleEditor.label=Éditeur de style
+
+# LOCALIZATION NOTE (ToolboxStyleEditor.panelLabel):
+# This is used as the label for the toolbox panel.
+ToolboxStyleEditor.panelLabel=Panneau éditeur de style
+
+# LOCALIZATION NOTE (ToolboxStyleEditor.tooltip3):
+# This string is displayed in the tooltip of the tab when the style editor is
+# displayed inside the developer tools window.
+# A keyboard shortcut for Stylesheet Editor will be shown inside the latter pair of brackets.
+ToolboxStyleEditor.tooltip3=Éditeur de feuilles de style CSS (%S)
+
+# LOCALIZATION NOTE (open.accesskey): The access key used to open the style
+# editor.
+open.accesskey=l
+
+# LOCALIZATION NOTE (inspector.*)
+# Used for the menuitem in the tool menu
+inspector.label=Inspecteur
+inspector.accesskey=I
+
+# LOCALIZATION NOTE (inspector.panelLabel)
+# Labels applied to the panel and views within the panel in the toolbox
+inspector.panelLabel=Panneau inspecteur
+
+# LOCALIZATION NOTE (inspector.tooltip2)
+# Keyboard shortcut for DOM and Style Inspector will be shown inside brackets.
+inspector.tooltip2=Inspecteur de styles et du DOM (%S)
+
+# LOCALIZATION NOTE (inspector.mac.tooltip)
+# This is the exact same string as inspector.tooltip2, except that we show it
+# on mac only, where we support toggling the inspector with either cmd+shift+C,
+# or cmd+opt+C
+inspector.mac.tooltip=Inspecteur de styles et du DOM (%1$S ou %2$S)
+
+# LOCALIZATION NOTE (netmonitor.label):
+# This string is displayed in the title of the tab when the Network Monitor is
+# displayed inside the developer tools window and in the Developer Tools Menu.
+netmonitor.label=Réseau
+
+# LOCALIZATION NOTE (netmonitor.panelLabel):
+# This is used as the label for the toolbox panel.
+netmonitor.panelLabel=Panneau réseau
+
+# LOCALIZATION NOTE (netmonitor.accesskey)
+# Used for the menuitem in the tool menu
+netmonitor.accesskey=r
+
+# LOCALIZATION NOTE (netmonitor.tooltip2):
+# This string is displayed in the tooltip of the tab when the Network Monitor is
+# displayed inside the developer tools window.
+# Keyboard shortcut for Network Monitor will be shown inside the brackets.
+netmonitor.tooltip2=Moniteur réseau (%S)
+
+# LOCALIZATION NOTE (storage.accesskey): The access key used to open the storage
+# editor.
+storage.accesskey=a
+
+# LOCALIZATION NOTE (storage.label):
+# This string is displayed as the label of the tab in the developer tools window
+storage.label=Stockage
+
+# LOCALIZATION NOTE (storage.menuLabel):
+# This string is displayed in the Tools menu as a shortcut to open the devtools
+# with the Storage Inspector tab selected.
+storage.menuLabel=Inspecteur de stockage
+
+# LOCALIZATION NOTE (storage.panelLabel):
+# This string is used as the aria-label for the iframe of the Storage Inspector
+# tool in developer tools toolbox.
+storage.panelLabel=Panneau stockage
+
+# LOCALIZATION NOTE (storage.tooltip3):
+# This string is displayed in the tooltip of the tab when the storage editor is
+# displayed inside the developer tools window.
+# A keyboard shortcut for Storage Inspector will be shown inside the brackets.
+storage.tooltip3=Inspecteur de stockage (Cookies, stockage local…) (%S)
+
+# LOCALIZATION NOTE (memory.label): This string is displayed in the title of the
+# tab when the memory tool is displayed inside the developer tools window and in
+# the Developer Tools Menu.
+memory.label=Mémoire
+
+# LOCALIZATION NOTE (memory.panelLabel): This is used as the label for the
+# toolbox panel.
+memory.panelLabel=Panneau mémoire
+
+# LOCALIZATION NOTE (memory.tooltip): This string is displayed in the tooltip of
+# the tab when the memory tool is displayed inside the developer tools window.
+memory.tooltip=Mémoire
+
+# LOCALIZATION NOTE (dom.label):
+# This string is displayed in the title of the tab when the DOM panel is
+# displayed inside the developer tools window and in the Developer Tools Menu.
+dom.label=DOM
+
+# LOCALIZATION NOTE (dom.panelLabel):
+# This is used as the label for the toolbox panel.
+dom.panelLabel=Panneau DOM
+
+# LOCALIZATION NOTE (dom.accesskey)
+# Used for the menuitem in the tool menu
+dom.accesskey=M
+
+# LOCALIZATION NOTE (dom.tooltip):
+# This string is displayed in the tooltip of the tab when the DOM is
+# displayed inside the developer tools window.
+# Keyboard shortcut for DOM panel will be shown inside the brackets.
+dom.tooltip=DOM (%S)
+
+# LOCALIZATION NOTE (accessibility.label):
+# This string is displayed in the title of the tab when the Accessibility panel
+# is displayed inside the developer tools window and in the Developer Tools Menu.
+accessibility.label=Accessibilité
+
+# LOCALIZATION NOTE (accessibility.panelLabel):
+# This is used as the label for the toolbox panel.
+accessibility.panelLabel=Panneau accessibilité
+
+# LOCALIZATION NOTE (accessibility.accesskey)
+# Used for the menuitem in the tool menu
+accessibility.accesskey=c
+
+# LOCALIZATION NOTE (accessibility.tooltip3):
+# This string is displayed in the tooltip of the tab when the Accessibility is
+# displayed inside the developer tools window.
+# Keyboard shortcut for Accessibility panel will be shown inside the brackets.
+accessibility.tooltip3=Accessibilité (%S)
+
+# LOCALIZATION NOTE (application.label):
+# This string is displayed in the title of the tab when the Application panel
+# is displayed inside the developer tools window and in the Developer Tools Menu.
+application.label=Applications
+
+# LOCALIZATION NOTE (application.panelLabel):
+# This is used as the label for the toolbox panel.
+application.panelLabel=Panneau d’applications
+
+# LOCALIZATION NOTE (application.tooltip):
+# This string is displayed in the tooltip of the tab when the Application panel is
+# displayed inside the developer tools window.
+application.tooltip=Panneau d’applications
+
+# LOCALIZATION NOTE (toolbox.buttons.responsive):
+# This is the tooltip of the button in the toolbox toolbar that toggles
+# the Responsive mode.
+# Keyboard shortcut will be shown inside brackets.
+toolbox.buttons.responsive = Vue adaptative (%S)
+
+# LOCALIZATION NOTE (toolbox.buttons.screenshot):
+# This is the tooltip of the button in the toolbox toolbar that allows you to
+# take a screenshot of the entire page
+toolbox.buttons.screenshot = Prendre une capture d’écran de la page entière
+
+# LOCALIZATION NOTE (toolbox.buttons.rulers):
+# This is the tooltip of the button in the toolbox toolbar that toggles the
+# rulers in the page
+toolbox.buttons.rulers = Afficher/Masquer les règles pour la page
+
+# LOCALIZATION NOTE (toolbox.buttons.measure):
+# This is the tooltip of the button in the toolbox toolbar that toggles the
+# measuring tools
+toolbox.buttons.measure = Mesurer une zone de la page
+
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/devtools/client/styleeditor.properties b/thunderbird-l10n/fr/chrome/fr/locale/fr/devtools/client/styleeditor.properties
new file mode 100644
index 0000000000..87312563b1
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/devtools/client/styleeditor.properties
@@ -0,0 +1,74 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE These strings are used inside the Style Editor.
+# LOCALIZATION NOTE The correct localization of this file might be to keep it
+# in English, or another language commonly spoken among web developers.
+# You want to make that choice consistent across the developer tools.
+# A good criteria is the language in which you'd find the best documentation
+# on web development on the web.
+
+# LOCALIZATION NOTE (inlineStyleSheet): This is the name used for an style sheet
+# that is declared inline in the <style> element. Shown in the stylesheets list.
+# the argument is the index (order) of the containing <style> element in the
+# document.
+inlineStyleSheet=<feuille de style intégrée n°%S>
+
+# LOCALIZATION NOTE (newStyleSheet): This is the default name for a new
+# user-created style sheet.
+newStyleSheet=Nouvelle feuille de style n°%S
+
+# LOCALIZATION NOTE (ruleCount.label): Semicolon-separated list of plural forms.
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# This is shown in the style sheets list.
+# #1 rule.
+# example: 111 rules.
+ruleCount.label=#1 règle.;#1 règles.
+
+# LOCALIZATION NOTE (error-load): This is shown when loading fails.
+error-load=La feuille de style n’a pas pu être chargée.
+
+# LOCALIZATION NOTE (error-save): This is shown when saving fails.
+error-save=La feuille de style n’a pas pu être enregistrée.
+
+# LOCALIZATION NOTE (importStyleSheet.title): This is the file picker title,
+# when you import a style sheet into the Style Editor.
+importStyleSheet.title=Importer une feuille de style
+
+# LOCALIZATION NOTE (importStyleSheet.filter): This is the *.css filter title
+importStyleSheet.filter=Fichiers CSS
+
+# LOCALIZATION NOTE (saveStyleSheet.title): This is the file picker title,
+# when you save a style sheet from the Style Editor.
+saveStyleSheet.title=Enregistrer la feuille de style
+
+# LOCALIZATION NOTE (saveStyleSheet.filter): This is the *.css filter title
+saveStyleSheet.filter=Fichiers CSS
+
+# LOCALIZATION NOTE (saveStyleSheet.commandkey): This the key to use in
+# conjunction with accel (Command on Mac or Ctrl on other platforms) to Save
+saveStyleSheet.commandkey=S
+
+# LOCALIZATION NOTE (focusFilterInput.commandkey): This is the key to use in
+# conjunction with accel (Command on Mac or Ctrl on other platforms) to focus the
+# filter input. Don't use "F" as it's used by the CodeMirror editor to perform an
+# in-file search; if possible, keep it the same as sources.search.key2.
+focusFilterInput.commandkey=P
+
+# LOCALIZATION NOTE (showOriginalSources.label): This is the label on the context
+# menu item to toggle showing original sources in the editor.
+showOriginalSources.label=Afficher les sources originales
+
+# LOCALIZATION NOTE (showOriginalSources.accesskey): This is the access key for
+# the menu item to toggle showing original sources in the editor.
+showOriginalSources.accesskey=o
+
+# LOCALIZATION NOTE (showAtRulesSidebar.label): This is the label on the context
+# menu item to toggle showing at-rules shortcuts in a sidebar.
+# "@media" and "@supports" should not be translated as they are CSS rule identifiers.
+showAtRulesSidebar.label=Afficher la barre latérale des règles @ (@media, @supports…)
+
+# LOCALIZATION NOTE (showAtRulesSidebar.accesskey): This is the access key for
+# the menu item to toggle showing the at-rules sidebar.
+showAtRulesSidebar.accesskey=a
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/devtools/client/toolbox.properties b/thunderbird-l10n/fr/chrome/fr/locale/fr/devtools/client/toolbox.properties
new file mode 100644
index 0000000000..f208fda965
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/devtools/client/toolbox.properties
@@ -0,0 +1,267 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE (toolbox.titleTemplate1): This is the template
+# used to format the title of the toolbox.
+# The URL of the page being targeted: %1$S.
+toolbox.titleTemplate1=Outils de développement - %1$S
+
+# LOCALIZATION NOTE (toolbox.titleTemplate2): This is the template
+# used to format the title of the toolbox.
+# The page title or other name for the thing being targeted: %1$S
+# The URL of the page being targeted: %2$S.
+toolbox.titleTemplate2=Outils de développement - %1$S - %2$S
+
+# LOCALIZATION NOTE (toolbox.multiProcessBrowserToolboxTitle): Title used for
+# the Browser Toolbox when the pref `devtools.browsertoolbox.fission` is true.
+# This Browser Toolbox allows to debug the parent process as well as the content
+# processes in the same toolbox.
+toolbox.multiProcessBrowserToolboxTitle=Boîte à outils de navigateur multiprocessus
+
+# LOCALIZATION NOTE (toolbox.parentProcessBrowserToolboxTitle): Title used for
+# the Browser Toolbox when the pref `devtools.browsertoolbox.fission` and
+# `devtools.browsertoolbox.scope` is set to "parent-process".
+# This Browser Toolbox allows to debug only the parent process resources.
+toolbox.parentProcessBrowserToolboxTitle=Boîte à outils du navigateur pour le processus parent
+
+# LOCALIZATION NOTE (toolbox.defaultTitle): This is used as the tool
+# name when no tool is selected.
+toolbox.defaultTitle=Outils de développement
+
+# LOCALIZATION NOTE (toolbox.label): This is used as the label for the
+# toolbox as a whole
+toolbox.label=Outils de développement
+
+# LOCALIZATION NOTE (options.autoTheme.label)
+# Used as a label for auto theme
+options.autoTheme.label=Auto
+
+# LOCALIZATION NOTE (options.toolNotSupportedMarker): This is the template
+# used to add a * marker to the label for the Options Panel tool checkbox for the
+# tool which is not supported for the current toolbox target.
+# The name of the tool: %1$S.
+options.toolNotSupportedMarker=%1$S *
+
+# LOCALIZATION NOTE (toolbox.pickButton.tooltip)
+# This is the tooltip of the element picker button in the toolbox toolbar.
+# %S is the keyboard shortcut that toggles the element picker.
+toolbox.elementPicker.tooltip=Sélectionner un élément de la page (%S)
+
+# LOCALIZATION NOTE (toolbox.pickButton.mac.tooltip)
+# Like toolbox.pickButton.tooltip, but for macOS there are two possible keyboard
+# shortcuts: Cmd+Shift+C or Cmd+Opt+C
+toolbox.elementPicker.mac.tooltip=Sélectionner un élément de la page (%1$S ou %2$S)
+
+# LOCALIZATION NOTE (toolbox.androidElementPicker.tooltip)
+# This is the tooltip of the element picker button in the about:devtools-toolbox toolbox toolbar
+# when debugging an Android device
+# %S is the keyboard shortcut that toggles the element picker.
+toolbox.androidElementPicker.tooltip=Sélectionner un élément du téléphone Android (%S)
+
+# LOCALIZATION NOTE (toolbox.androidElementPicker.mac.tooltip)
+# Like toolbox.androidElementPicker.tooltip, but for macOS as there are two possible keyboard
+# shortcuts (Cmd+Shift+C or Cmd+Opt+C)
+# %1$S and %2$S are the keyboard shortcuts that toggle the element picker.
+toolbox.androidElementPicker.mac.tooltip=Sélectionner un élément du téléphone Android (%1$S ou %2$S)
+
+# LOCALIZATION NOTE (toolbox.elementPicker.key)
+# Key shortcut used to toggle the element picker.
+toolbox.elementPicker.key=CmdOrCtrl+Shift+C
+
+# LOCALIZATION NOTE (toolbox.elementPicker.mac.key)
+# Key shortcut used to toggle the element picker for macOS.
+toolbox.elementPicker.mac.key=Cmd+Opt+C
+
+# LOCALIZATION NOTE (toolbox.viewCssSourceInStyleEditor.label)
+# Used as a message in either tooltips or contextual menu items to open the
+# corresponding URL as a css file in the Style-Editor tool.
+# DEV NOTE: Mostly used wherever toolbox.viewSourceInStyleEditorByXX is used.
+toolbox.viewCssSourceInStyleEditor.label=Ouvrir le fichier dans l’éditeur de style
+
+# LOCALIZATION NOTE (toolbox.viewJsSourceInDebugger.label)
+# Used as a message in either tooltips or contextual menu items to open the
+# corresponding URL as a js file in the Debugger tool.
+# DEV NOTE: Mostly used wherever toolbox.viewSourceInDebugger is used.
+toolbox.viewJsSourceInDebugger.label=Ouvrir le fichier dans le débogueur
+
+toolbox.resumeOrderWarning=La page n’a pas repris son fonctionnement depuis l’ouverture du débogueur. Pour corriger le problème, veuillez fermer puis ouvrir à nouveau les outils de développement.
+
+# LOCALIZATION NOTE (toolbox.help.key)
+# Key shortcut used to open the options panel
+toolbox.help.key=F1
+
+# LOCALIZATION NOTE (toolbox.nextTool.key)
+# Key shortcut used to select the next tool
+toolbox.nextTool.key=CmdOrCtrl+]
+
+# LOCALIZATION NOTE (toolbox.previousTool.key)
+# Key shortcut used to select the previous tool
+toolbox.previousTool.key=CmdOrCtrl+[
+
+# LOCALIZATION NOTE (toolbox.zoom*.key)
+# Key shortcuts used to zomm in/out or reset the toolbox
+# Should match full-zoom-*-shortcut values from browserSets.ftl
+toolbox.zoomIn.key=CmdOrCtrl+Plus
+toolbox.zoomIn2.key=CmdOrCtrl+=
+
+toolbox.zoomOut.key=CmdOrCtrl+-
+toolbox.zoomOut2.key=
+
+toolbox.zoomReset.key=CmdOrCtrl+0
+toolbox.zoomReset2.key=
+
+# LOCALIZATION NOTE (toolbox.reload*.key)
+# Key shortcuts used to reload the page
+toolbox.reload.key=CmdOrCtrl+R
+toolbox.reload2.key=F5
+
+# LOCALIZATION NOTE (toolbox.forceReload*.key)
+# Key shortcuts used to force reload of the page by bypassing caches
+toolbox.forceReload.key=CmdOrCtrl+Shift+R
+toolbox.forceReload2.key=CmdOrCtrl+F5
+
+# LOCALIZATION NOTE (toolbox.toggleHost.key)
+# Key shortcut used to move the toolbox in bottom or side of the browser window
+toolbox.toggleHost.key=CmdOrCtrl+Shift+D
+
+# LOCALIZATION NOTE (toolbox.closeToolbox.key) Key shortcut used to close the toolbox
+toolbox.closeToolbox.key=CmdOrCtrl+W
+
+# LOCALIZATION NOTE (toolbox.toggleToolbox.key) Key shortcut used to toggle the toolbox
+toolbox.toggleToolbox.key=CmdOrCtrl+Shift+I
+
+# LOCALIZATION NOTE (toolbox.toggleToolboxOSX.key) Key shortcut used to toggle the toolbox
+toolbox.toggleToolboxOSX.key=CmdOrCtrl+Alt+I
+
+# LOCALIZATION NOTE (toolbox.toggleToolboxF12.key) Key shortcut used to toggle the toolbox
+toolbox.toggleToolboxF12.key=F12
+
+# LOCALIZATION NOTE (toolbox.frames.tooltip): This is the label for
+# the iframes menu list that appears only when the document has some.
+# It allows you to switch the context of the whole toolbox.
+toolbox.frames.tooltip=Sélectionner un iframe en tant que document cible
+
+# LOCALIZATION NOTE (toolbox.frames.disabled.tooltip): This is the title
+# displayed as a tooltip of the iframes menu button, when disabled. The button
+# is normally hidden when no frames are available. But if the user is on the
+# DevTools Options panel, the button is always shown for discoverability.
+toolbox.frames.disabled.tooltip=Ce bouton est uniquement disponible sur les pages comportant plusieurs iframes
+
+# LOCALIZATION NOTE (toolbox.showFrames.key)
+# Key shortcut used to show frames menu when 'frames' button is focused
+toolbox.showFrames.key=Alt+Down
+
+# LOCALIZATION NOTE (toolbox.meatballMenu.button.tooltip): This is the tooltip
+# for the "..." button on the developer tools toolbox.
+toolbox.meatballMenu.button.tooltip=Personnaliser les outils de développement et obtenir de l’aide
+
+# LOCALIZATION NOTE (toolbox.closebutton.tooltip): This is the tooltip for
+# the close button the developer tools toolbox.
+toolbox.closebutton.tooltip=Fermer les outils de développement
+
+# LOCALIZATION NOTE (toolbox.errorCountButton.tooltip): This is the tooltip for
+# the error count button displayed in the developer tools toolbox.
+toolbox.errorCountButton.tooltip=Afficher la console scindée
+
+# LOCALIZATION NOTE (toolbox.errorCountButton.description): This is the description that
+# will be used for the error count button in the devTools settings panel.
+toolbox.errorCountButton.description=Afficher le nombre d’erreurs de la page
+
+# LOCALIZATION NOTE (toolbox.sourceMapFailure): This is shown in the web console
+# when there is a failure to fetch or parse a source map.
+# The text of the error: %1$S
+# The URL that caused DevTools to try to fetch a source map: %2$S
+# The URL of the source map itself: %3$S
+toolbox.sourceMapFailure=Erreur dans les liens source : %1$S\nURL de la ressource : %2$S\nURL du lien source : %3$S
+
+# LOCALIZATION NOTE (toolbox.sourceMapSourceFailure): This is shown in
+# the web console when there is a failure to fetch or parse an
+# original source that was mentioned in a source map.
+# The text of the error: %1$S
+# The URL of the source: %2$S
+toolbox.sourceMapSourceFailure=Impossible de récupérer la source d’origine : %1$S\nURL de la source : %2$S
+
+# LOCALIZATION NOTE (toolbox.debugTargetInfo.runtimeLabel): This is displayed as a toolbox
+# header in about:devtools-toolbox. about:devtools-toolbox is used for instance when
+# inspecting tabs in about:debugging.
+# e.g. Mozilla Fennec (65.0a1)
+# The name of runtime: %1$S
+# The version of runtime: %2$S
+toolbox.debugTargetInfo.runtimeLabel=%1$S (%2$S)
+
+# LOCALIZATION NOTE (toolbox.debugTargetInfo.runtimeLabel.thisRuntime): this is displayed
+# as a toolbox header in about:devtools-toolbox, when inspecting the current Firefox runtime
+# (for instance, when inspecting one of its tabs in about:debugging)
+# e.g. This Firefox (65.0a1)
+# The name of the current runtime/application (brandShorterName): %1$S
+# The version of runtime: %2$S
+toolbox.debugTargetInfo.runtimeLabel.thisRuntime=Cette instance de %1$S (%2$S)
+
+# LOCALIZATION NOTE (toolbox.debugTargetInfo.tabTitleRemote):
+# Used as the tab title for about:devtools-toolbox when connected to a remote target.
+# The connection type (see toolbox.debugTargetInfo.connection.*): %1$S
+# The target type (see toolbox.debugTargetInfo.targetType.*): %2$S
+# The target name (retrieved from DevTools, eg the extension's name): %3$S
+toolbox.debugTargetInfo.tabTitleRemote=Boîte à outils (%1$S) - %2$S / %3$S
+
+# LOCALIZATION NOTE (toolbox.debugTargetInfo.tabTitleLocal):
+# Used as the tab title for about:devtools-toolbox when connected to This Firefox.
+# The target type (see toolbox.debugTargetInfo.targetType.*): %1$S
+# The target name (retrieved from DevTools, eg the extension's name): %2$S
+toolbox.debugTargetInfo.tabTitleLocal=Boîte à outils - %1$S / %2$S
+
+# LOCALIZATION NOTE (toolbox.debugTargetInfo.tabTitleError):
+# Used as the tab title for about:devtools-toolbox when it failed to connect to the
+# target.
+toolbox.debugTargetInfo.tabTitleError=Boîte à outils - une erreur s’est produite
+
+# LOCALIZATION NOTE (toolbox.debugTargetInfo.connection.*): This is displayed in the
+# toolbox header in about:devtools-toolbox, to indicate how the connection to the
+# runtime being inspected was made.
+toolbox.debugTargetInfo.connection.usb=USB
+toolbox.debugTargetInfo.connection.network=Réseau
+
+# LOCALIZATION NOTE (toolbox.debugTargetInfo.reload):
+# Used as the reload button tooltip
+toolbox.debugTargetInfo.reload=Actualiser
+
+# LOCALIZATION NOTE (toolbox.debugTargetInfo.forward):
+# Used as the navigation's "forward" button tooltip
+toolbox.debugTargetInfo.forward=Suivant
+
+# LOCALIZATION NOTE (toolbox.debugTargetInfo.back):
+# Used as the navigation's "back" button tooltip
+toolbox.debugTargetInfo.back=Précédent
+
+# LOCALIZATION NOTE (toolbox.debugTargetInfo.targetType.*): This is displayed as the
+# alt attribute for an icon in the toolbox header in about:devtools-toolbox,
+# to indicate what is the type of the debug target being inspected.
+toolbox.debugTargetInfo.targetType.extension=Extension
+toolbox.debugTargetInfo.targetType.process=Processus
+toolbox.debugTargetInfo.targetType.tab=Onglet
+toolbox.debugTargetInfo.targetType.worker=Worker
+
+# LOCALIZATION NOTE (browserToolbox.statusMessage): This is the label
+# shown next to status details when the Browser Toolbox fails to connect or
+# appears to be taking a while to do so.
+browserToolbox.statusMessage=État de la connexion de la boîte à outils du navigateur :
+
+# LOCALIZATION NOTE (toolbox.debugTargetErrorPage.title): This is the title
+# for the Error view shown by the toolbox when a connection to a debug target
+# could not be made
+toolbox.debugTargetErrorPage.title = Erreur
+
+# LOCALIZATION NOTE (toolbox.debugTargetErrorPage.description): This is the
+# text that appears in the Error view and explains to the user that an error
+# has happened while trying to connect to a debug target
+toolbox.debugTargetErrorPage.description = Impossible de se connecter à la cible de débogage. Détails de l’erreur :
+
+# LOCALIZATION NOTE (options.deprecationNotice): This is the text that appears in the
+# settings panel for panel that will be removed in future releases.
+# This entire text is treated as a link to an MDN page.
+options.deprecationNotice=Obsolète. En savoir plus…
+
+# LOCALIZATION NOTE (options.enableMultiProcessToolbox): This is the text that appears in the
+# settings panel for the checkbox that enables the Multiprocess Browser Toolbox.
+options.enableMultiProcessToolbox=Active la boîte à outils de navigateur multiprocessus (nécessite de redémarrer la boîte à outils du navigateur)
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/devtools/client/webconsole.properties b/thunderbird-l10n/fr/chrome/fr/locale/fr/devtools/client/webconsole.properties
new file mode 100644
index 0000000000..1f7d10933f
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/devtools/client/webconsole.properties
@@ -0,0 +1,601 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+# LOCALIZATION NOTE
+# The correct localization of this file might be to keep it in
+# English, or another language commonly spoken among web developers.
+# You want to make that choice consistent across the developer tools.
+# A good criteria is the language in which you'd find the best
+# documentation on web development on the web.
+
+# LOCALIZATION NOTE (multiProcessBrowserConsole.title): Title of the Browser
+# Console window when the pref `devtools.browsertoolbox.scope` is set to "everything". This
+# Browser Console will log messages from all processes, not just the the parent
+# process.
+multiProcessBrowserConsole.title=Console du navigateur multiprocessus
+
+# LOCALIZATION NOTE (parentProcessBrowserConsole.title): Title used for
+# the Browser Console when the pref `devtools.browsertoolbox.scope` is set to "parent-process".
+parentProcessBrowserConsole.title=Console du navigateur pour le processus parent
+
+# LOCALIZATION NOTE (timestampFormat): %1$02S = hours (24-hour clock),
+# %2$02S = minutes, %3$02S = seconds, %4$03S = milliseconds.
+timestampFormat=%02S:%02S:%02S,%03S
+
+ConsoleAPIDisabled=L’API de journalisation de la console (console.log, console.info, console.warn, console.error) a été désactivée par un script sur cette page.
+
+# LOCALIZATION NOTE (webConsoleXhrIndicator): the indicator displayed before
+# a URL in the Web Console that was requested using an XMLHttpRequest.
+webConsoleXhrIndicator=XHR
+
+# LOCALIZATION NOTE (webConsoleMoreInfoLabel): the more info tag displayed
+# after security related web console messages.
+webConsoleMoreInfoLabel=En savoir plus
+
+# LOCALIZATION NOTE (stacktrace.anonymousFunction): this string is used to
+# display JavaScript functions that have no given name - they are said to be
+# anonymous. Test console.trace() in the webconsole.
+stacktrace.anonymousFunction=<anonyme>
+
+# LOCALIZATION NOTE (stacktrace.asyncStack): this string is used to
+# indicate that a given stack frame has an async parent.
+# %S is the "Async Cause" of the frame.
+stacktrace.asyncStack=(Asynchrone : %S)
+
+# LOCALIZATION NOTE (timeLog): this string is used to display the result of
+# the console.timeLog() call. Parameters: %1$S is the name of the timer, %2$S
+# is the number of milliseconds.
+timeLog=%1$S : %2$S ms
+
+# LOCALIZATION NOTE (console.timeEnd): this string is used to display the result of
+# the console.timeEnd() call. Parameters: %1$S is the name of the timer, %2$S
+# is the number of milliseconds.
+console.timeEnd=%1$S : %2$S ms - chronomètre arrêté
+
+# LOCALIZATION NOTE (consoleCleared): this string is displayed when receiving a
+# call to console.clear() to let the user know the previous messages of the
+# console have been removed programmatically.
+consoleCleared=La console a été effacée.
+
+# LOCALIZATION NOTE (preventedConsoleClear): this string is displayed when receiving a
+# call to console.clear() when the user has the "Persist logs" option enabled, to let the
+# user know the console method call was ignored.
+# "Persist Logs" should be kept in sync with webconsole.console.settings.menu.item.enablePersistentLogs.label
+preventedConsoleClear=console.clear() a été bloqué en raison de l’option « Conserver les journaux »
+
+# LOCALIZATION NOTE (noCounterLabel): this string is used to display
+# count-messages with no label provided.
+noCounterLabel=<sans étiquette>
+
+# LOCALIZATION NOTE (counterDoesntExist): this string is displayed when
+# console.countReset() is called with a counter that doesn't exist.
+counterDoesntExist=Le compteur « %S » n’existe pas.
+
+# LOCALIZATION NOTE (noGroupLabel): this string is used to display
+# console.group messages with no label provided.
+noGroupLabel=<sans étiquette de groupe>
+
+maxTimersExceeded=Le nombre maximal de minuteurs permis sur cette page a été dépassé.
+timerAlreadyExists=Le minuteur « %S » existe déjà.
+timerDoesntExist=Le minuteur « %S » n’existe pas.
+timerJSError=Impossible de traiter le nom du minuteur.
+
+# LOCALIZATION NOTE (connectionTimeout): message displayed when the Remote Web
+# Console fails to connect to the server due to a timeout.
+connectionTimeout=Délai d’attente de la connexion dépassé. Consultez la console d’erreurs des deux côtés pour les messages d’erreurs potentiels. Ouvrez à nouveau la console web pour réessayer.
+
+# LOCALIZATION NOTE (propertiesFilterPlaceholder): this is the text that
+# appears in the filter text box for the properties view container.
+propertiesFilterPlaceholder=Filtrer les propriétés
+
+# LOCALIZATION NOTE (messageRepeats.tooltip2): the tooltip text that is displayed
+# when you hover the red bubble that shows how many times a message is repeated
+# in the web console output.
+# This is a semi-colon list of plural forms.
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# #1 number of message repeats
+# example: 3 repeats
+messageRepeats.tooltip2=Répété #1 fois;Répété #1 fois
+
+# LOCALIZATION NOTE (openNodeInInspector): the text that is displayed in a
+# tooltip when hovering over the inspector icon next to a DOM Node in the console
+# output
+openNodeInInspector=Cliquer pour sélectionner le nœud dans l’inspecteur
+
+# LOCALIZATION NOTE (selfxss.msg): the text that is displayed when
+# a new user of the developer tools pastes code into the console
+# %1 is the text of selfxss.okstring
+selfxss.msg=Attention aux fraudes : faites attention lorsque vous collez des choses que vous ne comprenez pas. Cela pourrait permettre à des attaquants d’usurper votre identité ou de prendre le contrôle de votre ordinateur. Veuillez saisir « %S » ci-dessous (pas besoin d’appuyer sur entrée) pour autoriser le collage.
+
+# LOCALIZATION NOTE (selfxss.okstring): the string to be typed
+# in by a new user of the developer tools when they receive the sefxss.msg prompt.
+# Please avoid using non-keyboard characters here
+selfxss.okstring=autoriser le collage
+
+# LOCALIZATION NOTE (evaluationNotifcation.noOriginalVariableMapping.msg): the text for the notification message that is displayed
+# in the console when the debugger is paused in a non-pretty printed original file and original variable mapping is turned off.
+# `Show original variables` should be kept in sync with the checkbox label in the Scopes panel header.
+evaluationNotifcation.noOriginalVariableMapping.msg=Le mappage du nom des variables d’origine dans le débogueur est désactivé. Les résultats de l’évaluation peuvent ne pas être exacts. Cochez la case « Afficher les variables d’origine » dans le panneau des portées du débogueur pour l’activer.
+
+# LOCALIZATION NOTE (messageToggleDetails): the text that is displayed when
+# you hover the arrow for expanding/collapsing the message details. For
+# console.error() and other messages we show the stacktrace.
+messageToggleDetails=Afficher/Masquer les détails du message.
+
+# LOCALIZATION NOTE (groupToggle): the text that is displayed when
+# you hover the arrow for expanding/collapsing the messages of a group.
+groupToggle=Afficher/Masquer le groupe.
+
+# LOCALIZATION NOTE (table.index, table.iterationIndex, table.key, table.value):
+# the column header displayed in the console table widget.
+table.index=(index)
+table.iterationIndex=(index d’itération)
+table.key=Clé
+table.value=Valeurs
+
+# LOCALIZATION NOTE (level.error, level.warn, level.info, level.log, level.debug):
+# tooltip for icons next to console output
+level.error=Erreur
+level.warn=Avertissement
+level.info=Information
+level.log=Entrée du journal
+level.debug=Débogage
+
+# LOCALIZATION NOTE (logpoint.title)
+# Tooltip shown for logpoints sent from the debugger
+logpoint.title=Sorties console du débogueur
+
+# LOCALIZATION NOTE (logtrace.title)
+# Tooltip shown for JavaScript tracing logs
+logtrace.title=Traçage du JavaScript
+
+# LOCALIZATION NOTE (blockedReason.title)
+# Tooltip shown for blocked network events sent from the network panel
+blockedrequest.label=Bloqué par les outils de développement
+
+# LOCALIZATION NOTE (webconsole.disableIcon.title)
+# Tooltip shown for disabled console messages
+webconsole.disableIcon.title=Ce message n’est plus actif, les détails du message ne sont plus disponibles
+
+# LOCALIZATION NOTE (command.title)
+# Tooltip shown for console input evaluated code displayed in the console output
+command.title=Code évalué
+
+# LOCALIZATION NOTE (result.title)
+# Tooltip shown for evaluation result displayed in the console output
+result.title=Résultat de l’évaluation
+
+# LOCALIZATION NOTE (webconsole.find.key)
+# Key shortcut used to focus the search box on upper right of the console
+webconsole.find.key=CmdOrCtrl+F
+
+# LOCALIZATION NOTE (webconsole.close.key)
+# Key shortcut used to close the Browser console (doesn't work in regular web console)
+webconsole.close.key=CmdOrCtrl+W
+
+# LOCALIZATION NOTE (webconsole.clear.key*)
+# Key shortcut used to clear the console output
+webconsole.clear.key=Ctrl+Shift+L
+webconsole.clear.keyOSX=Ctrl+L
+webconsole.clear.alternativeKeyOSX=Cmd+K
+
+# LOCALIZATION NOTE (webconsole.menu.copyURL.label)
+# Label used for a context-menu item displayed for network message logs. Clicking on it
+# copies the URL displayed in the message to the clipboard.
+webconsole.menu.copyURL.label=Copier l’adresse du lien
+webconsole.menu.copyURL.accesskey=e
+
+# LOCALIZATION NOTE (webconsole.menu.openURL.label)
+# Label used for a context-menu item displayed for network message logs. Clicking on it
+# opens the URL displayed in a new browser tab.
+webconsole.menu.openURL.label=Ouvrir l’URL dans un nouvel onglet
+webconsole.menu.openURL.accesskey=u
+
+# LOCALIZATION NOTE (webconsole.menu.openInNetworkPanel.label)
+# Label used for a context-menu item displayed for network message logs. Clicking on it
+# opens the network message in the Network panel
+webconsole.menu.openInNetworkPanel.label=Ouvrir dans le panneau Réseau
+webconsole.menu.openInNetworkPanel.accesskey=O
+
+# LOCALIZATION NOTE (webconsole.menu.resendNetworkRequest.label)
+# Label used for a context-menu item displayed for network message logs. Clicking on it
+# resends the network request
+webconsole.menu.resendNetworkRequest.label=Renvoyer la requête
+webconsole.menu.resendNetworkRequest.accesskey=n
+
+# LOCALIZATION NOTE (webconsole.menu.openNodeInInspector.label)
+# Label used for a context-menu item displayed for DOM Node logs. Clicking on it will
+# reveal that specific DOM Node in the Inspector.
+webconsole.menu.openNodeInInspector.label=Faire apparaitre dans l’inspecteur
+webconsole.menu.openNodeInInspector.accesskey=F
+
+# LOCALIZATION NOTE (webconsole.menu.storeAsGlobalVar.label)
+# Label used for a context-menu item displayed for object/variable logs. Clicking on it
+# creates a new global variable pointing to the logged variable.
+webconsole.menu.storeAsGlobalVar.label=Stocker comme variable globale
+webconsole.menu.storeAsGlobalVar.accesskey=S
+
+# LOCALIZATION NOTE (webconsole.menu.copyMessage.label)
+# Label used for a context-menu item displayed for any log. Clicking on it will copy the
+# content of the log (or the user selection, if any).
+webconsole.menu.copyMessage.label=Copier le message
+webconsole.menu.copyMessage.accesskey=C
+
+# LOCALIZATION NOTE (webconsole.menu.copyObject.label)
+# Label used for a context-menu item displayed for object/variable log. Clicking on it
+# will copy the object/variable.
+webconsole.menu.copyObject.label=Copier l’objet
+webconsole.menu.copyObject.accesskey=o
+
+# LOCALIZATION NOTE (webconsole.menu.openInSidebar.label)
+# Label used for a context-menu item displayed for object/variable logs. Clicking on it
+# opens the webconsole sidebar for the logged variable.
+webconsole.menu.openInSidebar.label1=Inspecter l’objet dans un panneau latéral
+webconsole.menu.openInSidebar.accesskey=v
+
+# LOCALIZATION NOTE (webconsole.menu.copyAllMessages.label)
+# Label used for a context-menu item displayed on the output. Clicking on it
+# copies the entire output of the console to the clipboard.
+webconsole.menu.copyAllMessages.label=Copier tous les messages
+webconsole.menu.copyAllMessages.accesskey=M
+
+# LOCALIZATION NOTE (webconsole.menu.saveAllMessagesFile.label)
+# Label used for a context-menu item displayed on the output. Clicking on it
+# opens a file picker to allow the user save a file containing
+# the output of the console.
+webconsole.menu.saveAllMessagesFile.label=Enregistrer tous les messages dans un fichier
+webconsole.menu.saveAllMessagesFile.accesskey=F
+
+# LOCALIZATION NOTE (webconsole.clearButton.tooltip)
+# Label used for the tooltip on the clear logs button in the console top toolbar bar.
+# Clicking on it will clear the content of the console.
+webconsole.clearButton.tooltip=Vider la console web
+
+# LOCALIZATION NOTE (webconsole.toggleFilterButton.tooltip)
+# Label used for the tooltip on the toggle filter bar button in the console top
+# toolbar bar. Clicking on it will toggle the visibility of an additional bar which
+# contains filter buttons.
+webconsole.toggleFilterButton.tooltip=Afficher/Masquer la barre de filtrage
+
+# LOCALIZATION NOTE (webconsole.filterInput.placeholder)
+# Label used for for the placeholder on the filter input, in the console top toolbar.
+webconsole.filterInput.placeholder=Filtrer
+
+# LOCALIZATION NOTE (webconsole.errorsFilterButton.label)
+# Label used as the text of the "Errors" button in the additional filter toolbar.
+# It shows or hides error messages, either inserted in the page using
+# console.error() or as a result of a javascript error..
+webconsole.errorsFilterButton.label=Erreurs
+
+# LOCALIZATION NOTE (webconsole.warningsFilterButton.label)
+# Label used as the text of the "Warnings" button in the additional filter toolbar.
+# It shows or hides warning messages, inserted in the page using console.warn().
+webconsole.warningsFilterButton.label=Avertissements
+
+# LOCALIZATION NOTE (webconsole.logsFilterButton.label)
+# Label used as the text of the "Logs" button in the additional filter toolbar.
+# It shows or hides log messages, inserted in the page using console.log().
+webconsole.logsFilterButton.label=Journaux
+
+# LOCALIZATION NOTE (webconsole.infoFilterButton.label)
+# Label used as the text of the "Info" button in the additional filter toolbar.
+# It shows or hides info messages, inserted in the page using console.info().
+webconsole.infoFilterButton.label=Informations
+
+# LOCALIZATION NOTE (webconsole.debugFilterButton.label)
+# Label used as the text of the "Debug" button in the additional filter toolbar.
+# It shows or hides debug messages, inserted in the page using console.debug().
+webconsole.debugFilterButton.label=Débogage
+
+# LOCALIZATION NOTE (webconsole.cssFilterButton.label)
+# Label used as the text of the "CSS" button in the additional filter toolbar.
+# It shows or hides CSS warning messages, inserted in the page by the browser
+# when there are CSS errors in the page.
+webconsole.cssFilterButton.label=CSS
+
+# LOCALIZATION NOTE (webconsole.cssFilterButton.inactive.tooltip)
+# Label used as the tooltip of the "CSS" button in the additional filter toolbar, when the
+# filter is inactive (=unchecked).
+webconsole.cssFilterButton.inactive.tooltip=Les feuilles de style seront parcourues à nouveau pour vérifier les erreurs. Actualisez la page pour voir également les erreurs des feuilles de style modifiées à partir de JavaScript.
+
+# LOCALIZATION NOTE (webconsole.xhrFilterButton.label)
+# Label used as the text of the "XHR" button in the additional filter toolbar.
+# It shows or hides messages displayed when the page makes an XMLHttpRequest or
+# a fetch call.
+webconsole.xhrFilterButton.label=XHR
+
+# LOCALIZATION NOTE (webconsole.requestsFilterButton.label)
+# Label used as the text of the "Requests" button in the additional filter toolbar.
+# It shows or hides messages displayed when the page makes a network call, for example
+# when an image or a scripts is requested.
+webconsole.requestsFilterButton.label=Requêtes
+
+# LOCALIZATION NOTE (webconsole.filteredMessagesByText.label)
+# Text on the filter input displayed when some console messages are hidden because the
+# user has filled in the input.
+# This is a semi-colon list of plural forms.
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# example: 345 hidden.
+webconsole.filteredMessagesByText.label=#1 caché;#1 cachés
+
+# LOCALIZATION NOTE (webconsole.filteredMessagesByText.tooltip)
+# Tooltip on the filter input "hidden" text, displayed when some console messages are
+# hidden because the user has filled in the input.
+# This is a semi-colon list of plural forms.
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# example: 345 items hidden by text filter.
+webconsole.filteredMessagesByText.tooltip=#1 élément masqué par des filtres;#1 éléments masqués par des filtres
+
+# LOCALIZATION NOTE (webconsole.console.settings.menu.menuButton.tooltip)
+# Tooltip for the filter bar preferences menu. This menu will display multiple perefences for the
+# filter bar, such as enabling the compact toolbar mode, enable the timestamps, persist logs, etc
+webconsole.console.settings.menu.button.tooltip=Paramètres de la console
+
+# LOCALIZATION NOTE (webconsole.console.settings.menu.item.compactToolbar.label)
+# Label for the `Compact Toolbar` preference option. This will turn the message filters buttons
+# into a Menu Button, making the filter bar more compact.
+webconsole.console.settings.menu.item.compactToolbar.label=Barre d’outils compacte
+
+# LOCALIZATION NOTE (webconsole.console.settings.menu.item.timestamps.label)
+# Label for enabling the timestamps in the Web Console.
+webconsole.console.settings.menu.item.timestamps.label=Afficher l’horodatage
+# LOCALIZATION NOTE (webconsole.console.settings.menu.item.timestamps.tooltip)
+webconsole.console.settings.menu.item.timestamps.tooltip=Si vous activez cette option, les commandes et les sorties dans la console web afficheront l’horodatage
+
+# LOCALIZATION NOTE (webconsole.console.settings.menu.item.warningGroups.label)
+# Label for grouping the similar messages in the Web Console
+webconsole.console.settings.menu.item.warningGroups.label=Grouper les messages similaires
+# LOCALIZATION NOTE (webconsole.console.settings.menu.item.warningGroups.tooltip)
+webconsole.console.settings.menu.item.warningGroups.tooltip=Si vous activez cette option, les messages similaires sont regroupés
+
+# LOCALIZATION NOTE (webconsole.console.settings.menu.item.autocomplete.label)
+# Label for enabling autocomplete for input in the Web Console
+webconsole.console.settings.menu.item.autocomplete.label=Activer l’autocomplétion
+# LOCALIZATION NOTE (webconsole.console.settings.menu.item.autocomplete.tooltip)
+webconsole.console.settings.menu.item.autocomplete.tooltip=Si vous activez cette option, des suggestions de saisie vous seront automatiquement proposées
+
+# LOCALIZATION NOTE (webconsole.console.settings.menu.item.enablePersistentLogs.label)
+webconsole.console.settings.menu.item.enablePersistentLogs.label=Conserver les journaux
+# LOCALIZATION NOTE (webconsole.console.settings.menu.item.enablePersistentLogs.tooltip)
+webconsole.console.settings.menu.item.enablePersistentLogs.tooltip=Si vous activez cette option, la console ne sera pas vidée lorsque vous naviguez sur une nouvelle page
+
+# LOCALIZATION NOTE (webconsole.console.settings.menu.item.instantEvaluation.label)
+webconsole.console.settings.menu.item.instantEvaluation.label=Évaluation instantanée
+# LOCALIZATION NOTE (webconsole.console.settings.menu.item.instantEvaluation.tooltip)
+webconsole.console.settings.menu.item.instantEvaluation.tooltip=Si vous activez cette option, ce que vous saisirez sera instantanément évalué
+
+# LOCALIZATION NOTE (browserconsole.enableNetworkMonitoring.label)
+# Label used in the browser console / browser toolbox console. This label is used for a checkbox that
+# allows the user enable monitoring of network requests.
+browserconsole.enableNetworkMonitoring.label=Activer le suivi réseau
+# LOCALIZATION NOTE (browserconsole.enableNetworkMonitoring.tooltip)
+# Tooltip for the "Enable Network Monitoring" check item.
+browserconsole.enableNetworkMonitoring.tooltip=Activer cette option pour commencer à écouter les requêtes réseau
+
+# LOCALIZATION NOTE (webconsole.navigated): this string is used in the console when the
+# current inspected page is navigated to a new location.
+# Parameters: %S is the new URL.
+webconsole.navigated=Ouverture de %S
+
+# LOCALIZATION NOTE (webconsole.closeSplitConsoleButton.tooltip): This is the tooltip for
+# the close button of the split console.
+webconsole.closeSplitConsoleButton.tooltip=Fermer la console scindée (Échap)
+
+# LOCALIZATION NOTE (webconsole.closeSidebarButton.tooltip): This is the tooltip for
+# the close button of the sidebar.
+webconsole.closeSidebarButton.tooltip=Fermer le panneau latéral
+
+# LOCALIZATION NOTE (webconsole.reverseSearch.input.placeHolder):
+# This string is displayed in the placeholder of the reverse search input in the console.
+webconsole.reverseSearch.input.placeHolder=Rechercher dans l’historique
+
+# LOCALIZATION NOTE (webconsole.reverseSearch.result.closeButton.tooltip):
+# This string is displayed in the tooltip of the close button in the reverse search toolbar.
+# A keyboard shortcut will be shown inside the latter pair of brackets.
+webconsole.reverseSearch.closeButton.tooltip=Fermer (%S)
+
+# LOCALIZATION NOTE (webconsole.reverseSearch.results):
+# This string is displayed in the reverse search UI when there are at least one result
+# to the search.
+# This is a semi-colon list of plural forms.
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# #1 index of current search result displayed.
+# #2 total number of search results.
+webconsole.reverseSearch.results=1 résultat;Résultat #1 sur #2
+
+# LOCALIZATION NOTE (webconsole.reverseSearch.noResult):
+# This string is displayed in the reverse search UI when there is no results to the search.
+webconsole.reverseSearch.noResult=Aucun résultat
+
+# LOCALIZATION NOTE (webconsole.reverseSearch.result.previousButton.tooltip):
+# This string is displayed in the tooltip of the "previous result" button in the reverse search toolbar.
+# A keyboard shortcut will be shown inside the latter pair of brackets.
+webconsole.reverseSearch.result.previousButton.tooltip=Résultat précédent (%S)
+
+# LOCALIZATION NOTE (webconsole.reverseSearch.result.nextButton.tooltip):
+# This string is displayed in the tooltip of the "next result" button in the reverse search toolbar.
+# A keyboard shortcut will be shown inside the latter pair of brackets.
+webconsole.reverseSearch.result.nextButton.tooltip=Résultat suivant (%S)
+
+# LOCALIZATION NOTE (webconsole.confirmDialog.getter.label)
+# Label used for the "invoke getter" confirm dialog that appears in the console when
+# a user tries to autocomplete a property with a getter.
+# Example: given the following object `x = {get y() {}}`, when the user types `x.y.`, it
+# would return "Invoke getter y to retrieve the property list?".
+# Parameters: %S is the name of the getter.
+webconsole.confirmDialog.getter.label=Invoquer l’accesseur %S pour retrouver la liste des propriétés ?
+
+# LOCALIZATION NOTE (webconsole.confirmDialog.getter.invokeButtonLabelWithShortcut)
+# Label used for the confirm button in the "invoke getter" dialog that appears in the
+# console when a user tries to autocomplete a property with a getter.
+# A keyboard shortcut will be shown inside the latter pair of brackets.
+webconsole.confirmDialog.getter.invokeButtonLabelWithShortcut=Appeler (%S)
+
+# LOCALIZATION NOTE (webconsole.confirmDialog.getter.closeButton.tooltip)
+# Label used as the tooltip for the close button in the "invoke getter" dialog that
+# appears in the console when a user tries to autocomplete a property with a getter.
+# A keyboard shortcut will be shown inside the latter pair of brackets.
+webconsole.confirmDialog.getter.closeButton.tooltip=Fermer (%S)
+
+# LOCALIZATION NOTE (webconsole.cssWarningElements.label)
+# Label for the list of HTML elements matching the selector associated
+# with the CSS warning. Parameters: %S is the CSS selector.
+webconsole.cssWarningElements.label=Éléments correspondant au sélecteur : %S
+
+# LOCALIZATION NOTE (webconsole.message.componentDidCatch.label)
+# Label displayed when the webconsole couldn't handle a given packet.
+# Parameters: %S is the URL to file a bug about the error.
+webconsole.message.componentDidCatch.label=[DEVTOOLS ERROR] Nous sommes désolés, nous n’avons pas pu restituer le message. Cela n’aurait pas dû arriver. Merci de bien vouloir signaler un bug sur %S avec les métadonnées du message dans la description.
+
+# LOCALIZATION NOTE (webconsole.message.commands.copyValueToClipboard)
+# Label displayed when the string is copied to the clipboard as a result of a copy command,
+# in the console, for example, copy({hello: "world"}).
+webconsole.message.commands.copyValueToClipboard=La chaîne a été copiée dans le presse-papiers.
+
+# LOCALIZATION NOTE (webconsole.message.commands.startTracingToWebConsole)
+# Label displayed when :trace command was executed and the JavaScript tracer started to log to the web console.
+webconsole.message.commands.startTracingToWebConsole=Traçage démarré vers la console web
+
+# LOCALIZATION NOTE (webconsole.message.commands.startTracingToStdout)
+# Label displayed when :trace command was executed and the JavaScript tracer started to log to stdout.
+webconsole.message.commands.startTracingToStdout=Traçage démarré vers la sortie standard
+
+# LOCALIZATION NOTE (webconsole.message.commands.startTracingToProfiler)
+# Label displayed when :trace command was executed and the JavaScript tracer will open the profiler showing all the traces,
+# but only on stop.
+webconsole.message.commands.startTracingToProfiler=Traçage démarré dans le profileur. Les traces s’affichent dans le profileur à l’arrêt.
+
+# LOCALIZATION NOTE (webconsole.message.commands.stopTracing)
+# Label displayed when :trace command was executed and the JavaScript tracer stopped.
+webconsole.message.commands.stopTracing=Traçage arrêté
+
+# LOCALIZATION NOTE (webconsole.error.commands.copyError):
+# the error that is displayed when the "copy" command can't stringify an object
+# "copy" should not be translated, because is a function name.
+# Parameters: %S is the original error message
+webconsole.error.commands.copyError=Échec de la commande « copier », l’objet ne peut pas être converti en chaîne : %S
+
+# LOCALIZATION NOTE (webconsole.message.commands.blockedUR)
+# Label displayed when the :block <url> command is successful
+# Parameters: %S is the URL filter
+webconsole.message.commands.blockedURL=Les requêtes vers une URL contenant « %S » sont désormais bloquées.
+
+# LOCALIZATION NOTE (webconsole.message.commands.unblockedURL)
+# Label displayed when the :unblock <url> command is successful
+# Parameters: %S is the URL filter
+webconsole.message.commands.unblockedURL=Filtre de blocage « %S » supprimé
+
+# LOCALIZATION NOTE (webconsole.messages.commands.blockArgMissing)
+# Message displayed when no filter is passed to block/unblock command
+webconsole.messages.commands.blockArgMissing=Aucun filtre spécifié
+
+# LOCALIZATION NOTE (webconsole.message.componentDidCatch.copyButton.label)
+# Label displayed on the button next to the message we display when the webconsole
+# couldn't handle a given packet (See webconsole.message.componentDidCatch.label).
+webconsole.message.componentDidCatch.copyButton.label=Copier les métadonnées du message dans le presse-papiers
+
+
+# LOCALIZATION NOTE (webconsole.editor.toolbar.executeButton.label)
+# Label used for the text of the execute button, in the editor toolbar, which is
+# displayed when the editor mode is enabled (devtools.webconsole.input.editor=true).
+webconsole.editor.toolbar.executeButton.label=Exécuter
+
+# LOCALIZATION NOTE (webconsole.editor.toolbar.reverseSearchButton.openReverseSearch.tooltip)
+# Label used for the tooltip on the reverse search button for opening the Reverse Search UI.
+# The Reverse Search is a feature that mimics the bash-like reverse search of
+# command history in WebConsole, searching commands from the last item backwards.
+# Parameters: %S is the keyboard shortcut.
+webconsole.editor.toolbar.reverseSearchButton.openReverseSearch.tooltip=Ouvrir la recherche inversée de l’historique (%S)
+
+# LOCALIZATION NOTE (webconsole.editor.toolbar.reverseSearchButton.closeReverseSearch.tooltip)
+# Label used for the tooltip on the reverse search button for closing the Reverse Search UI.
+# The Reverse Search is a feature that mimics the bash-like reverse search of
+# command history in WebConsole, searching commands from the last item backwards.
+# Parameters: %S is the keyboard shortcut.
+webconsole.editor.toolbar.reverseSearchButton.closeReverseSearch.tooltip=Fermer la recherche inversée de l’historique (%S)
+
+# LOCALIZATION NOTE (webconsole.editor.toolbar.executeButton.tooltip)
+# Label used for the tooltip on the execute button, in the editor toolbar, which is
+# displayed when the editor mode is enabled (devtools.webconsole.input.editor=true).
+# Parameters: %S is the keyboard shortcut.
+webconsole.editor.toolbar.executeButton.tooltip=Exécuter l’expression (%S). La zone de saisie ne sera pas effacée.
+
+# LOCALIZATION NOTE (webconsole.editor.toolbar.prettyPrintButton.tooltip)
+# Label used for the tooltip on the prettyPrint button, in the editor toolbar, which is
+# displayed when the editor mode is enabled (devtools.webconsole.input.editor=true).
+webconsole.editor.toolbar.prettyPrintButton.tooltip=Reformater l’expression
+
+# LOCALIZATION NOTE (webconsole.editor.toolbar.executeButton.tooltip)
+# Label used for the tooltip on the history previous expression, in the editor toolbar,
+# which is displayed when the editor mode is enabled (devtools.webconsole.input.editor=true).
+webconsole.editor.toolbar.history.prevExpressionButton.tooltip=Expression précédente
+
+
+# LOCALIZATION NOTE (webconsole.editor.toolbar.executeButton.tooltip)
+# Label used for the tooltip on the history next expression, in the editor toolbar,
+# which is displayed when the editor mode is enabled (devtools.webconsole.input.editor=true).
+webconsole.editor.toolbar.history.nextExpressionButton.tooltip=Expression suivante
+
+# LOCALIZATION NOTE (webconsole.editor.toolbar.closeButton.tooltip2)
+# Label used for the tooltip on the close button, in the editor toolbar, which is
+# displayed when the editor mode is enabled (devtools.webconsole.input.editor=true).
+# Parameters: %S is the keyboard shortcut.
+webconsole.editor.toolbar.closeButton.tooltip2=Revenir en mode ligne unique (%S)
+
+# LOCALIZATION NOTE (webconsole.input.openEditorButton.tooltip2)
+# Label used for the tooltip on the open editor button, in console input, which is
+# displayed when the console is in regular mode.
+# Parameters: %S is the keyboard shortcut.
+webconsole.input.openEditorButton.tooltip2=Passer en mode éditeur multiligne (%S)
+
+# LOCALIZATION NOTE (webconsole.warningGroup.messageCount.tooltip): the tooltip text
+# displayed when you hover a warning group badge (i.e. repeated warning messages for a
+# given category, for example Content Blocked messages) in the web console output.
+# This is a semi-colon list of plural forms.
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# #1 number of message in the group.
+# example: 3 messages
+webconsole.warningGroup.messageCount.tooltip=#1 message;#1 messages
+
+# LOCALIZATION NOTE (webconsole.input.editor.onboarding.label): the text that is displayed
+# when displaying the multiline-input mode for the first time, until the user dismiss the
+# text.
+# Parameters: %1$S is Enter key, %2$S is the shortcut to evaluate the expression (
+# Ctrl+Enter or Cmd+Enter on OSX).
+webconsole.input.editor.onboarding.label=Développez votre code plus rapidement avec le nouveau mode d’édition multiligne. Utilisez %1$S pour ajouter de nouvelles lignes et %2$S pour lancer l’exécution.
+
+# LOCALIZATION NOTE (webconsole.input.editor.onboarding.dismiss.label): the text that is
+# displayed in the multiline-input mode onboarding UI to dismiss it.
+webconsole.input.editor.onboarding.dismiss.label=J’ai compris
+
+# LOCALIZATION NOTE (webconsole.enterKey): The text that will be used to represent the
+# Enter key in the editor onboarding UI, as well as on the Editor toolbar "Run" button
+# tooltip.
+webconsole.enterKey=Entrée
+
+# LOCALIZATION NOTE (webconsole.input.openJavaScriptFile): This is a label
+# used for opening a file in the console input (Ctrl+O or Cmd+O on OSX while
+# being focused on the input).
+webconsole.input.openJavaScriptFile=Ouvrir un fichier JavaScript
+
+# LOCALIZATION NOTE (webconsole.input.openJavaScriptFileFilter):
+# This string is displayed as a filter when opening a file in the console input.
+webconsole.input.openJavaScriptFileFilter=Fichiers JavaScript
+
+# LOCALIZATION NOTE (webconsole.input.selector.top): This is the term used
+# to describe the primary thread of execution in the page
+webconsole.input.selector.top=En haut
+
+# LOCALIZATION NOTE (webconsole.input.selector.tooltip): This is the tooltip
+# shown when users select a thread that they want to evaluate an
+# expression for.
+webconsole.input.selector.tooltip=Sélectionner le contexte d’évaluation
+
+# LOCALIZATION NOTE (webconsole.group.cookieSameSiteLaxByDefaultEnabled2): do not translate 'SameSite'.
+webconsole.group.cookieSameSiteLaxByDefaultEnabled2=Comme certains cookies utilisent incorrectement l’attribut « SameSite », le fonctionnement ne sera pas celui attendu.
+# LOCALIZATION NOTE (webconsole.group.cookieSameSiteLaxByDefaultDisabled2): do not translate 'SameSite'.
+webconsole.group.cookieSameSiteLaxByDefaultDisabled2=Certains cookies utilisent incorrectement l’attribut recommandé « SameSite »
+
+# LOCALIZATION NOTE (webconsole.group.csp): do not translate
+# 'Content-Security-Policy', as that's the name of the header.
+webconsole.group.csp=Avertissements Content-Security-Policy
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/devtools/shared/accessibility.properties b/thunderbird-l10n/fr/chrome/fr/locale/fr/devtools/shared/accessibility.properties
new file mode 100644
index 0000000000..152eb15b53
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/devtools/shared/accessibility.properties
@@ -0,0 +1,142 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE (accessibility.contrast.ratio): A title text for the color contrast
+# ratio description, used by the accessibility highlighter to display the value. %S in the
+# content will be replaced by the contrast ratio numerical value.
+accessibility.contrast.ratio=Contraste : %S
+
+# LOCALIZATION NOTE (accessibility.contrast.ratio.error): A title text for the color
+# contrast ratio, used when the tool is unable to calculate the contrast ratio value.
+accessibility.contrast.ratio.error=Impossible à calculer
+
+# LOCALIZATION NOTE (accessibility.contrast.ratio.label): A title text for the color
+# contrast ratio description, used together with the actual values.
+accessibility.contrast.ratio.label=Contraste :
+
+# LOCALIZATION NOTE (accessibility.contrast.ratio.label.large): A title text for the color
+# contrast ratio description that also specifies that the color contrast criteria used is
+# if for large text.
+accessibility.contrast.ratio.label.large=Contraste (texte de grande taille) :
+
+# LOCALIZATION NOTE (accessibility.text.label.issue.area): A title text that
+# describes that currently selected accessible object for an <area> element must have
+# its name provided via the alt attribute.
+accessibility.text.label.issue.area = Utiliser l’attribut « alt » pour étiqueter les éléments « area » qui ont l’attribut « href ».
+
+# LOCALIZATION NOTE (accessibility.text.label.issue.dialog): A title text that
+# describes that currently selected accessible object for a dialog should have a name
+# provided.
+accessibility.text.label.issue.dialog = Les dialogues doivent être étiquetés.
+
+# LOCALIZATION NOTE (accessibility.text.label.issue.document.title): A title text that
+# describes that currently selected accessible object for a document must have a name
+# provided via title.
+accessibility.text.label.issue.document.title = Les documents doivent avoir un titre.
+
+# LOCALIZATION NOTE (accessibility.text.label.issue.embed): A title text that
+# describes that currently selected accessible object for an <embed> must have a name
+# provided.
+accessibility.text.label.issue.embed = Les éléments intégrés doivent être étiquetés.
+
+# LOCALIZATION NOTE (accessibility.text.label.issue.figure): A title text that
+# describes that currently selected accessible object for a figure should have a name
+# provided.
+accessibility.text.label.issue.figure = Les illustrations avec des légendes facultatives doivent être étiquetées.
+
+# LOCALIZATION NOTE (accessibility.text.label.issue.fieldset): A title text that
+# describes that currently selected accessible object for a <fieldset> must have a name
+# provided.
+accessibility.text.label.issue.fieldset = Les éléments « fieldset » doivent être étiquetés.
+
+# LOCALIZATION NOTE (accessibility.text.label.issue.fieldset.legend2): A title text that
+# describes that currently selected accessible object for a <fieldset> must have a name
+# provided via <legend> element.
+accessibility.text.label.issue.fieldset.legend2 = Utilisez un élément « legend » pour étiqueter un élément « fieldset ».
+
+# LOCALIZATION NOTE (accessibility.text.label.issue.form): A title text that
+# describes that currently selected accessible object for a form element must have a name
+# provided.
+accessibility.text.label.issue.form = Les éléments de formulaire doivent être étiquetés.
+
+# LOCALIZATION NOTE (accessibility.text.label.issue.form.visible): A title text that
+# describes that currently selected accessible object for a form element should have a name
+# provided via a visible label/element.
+accessibility.text.label.issue.form.visible = Les éléments de formulaire doivent avoir une étiquette de texte visible.
+
+# LOCALIZATION NOTE (accessibility.text.label.issue.frame): A title text that
+# describes that currently selected accessible object for a <frame> must have a name
+# provided.
+accessibility.text.label.issue.frame = Les éléments « frame » doivent être étiquetés.
+
+# LOCALIZATION NOTE (accessibility.text.label.issue.glyph): A title text that
+# describes that currently selected accessible object for a <mglyph> must have a name
+# provided via alt attribute.
+accessibility.text.label.issue.glyph = Utilisez l’attribut « alt » pour étiqueter les éléments « mglyph ».
+
+# LOCALIZATION NOTE (accessibility.text.label.issue.heading): A title text that
+# describes that currently selected accessible object for a heading must have a name
+# provided.
+accessibility.text.label.issue.heading = Les titres doivent être étiquetés.
+
+# LOCALIZATION NOTE (accessibility.text.label.issue.heading.content): A title text that
+# describes that currently selected accessible object for a heading must have visible
+# content.
+accessibility.text.label.issue.heading.content = Les titres doivent avoir un contenu textuel visible.
+
+# LOCALIZATION NOTE (accessibility.text.label.issue.iframe): A title text that
+# describes that currently selected accessible object for an <iframe> have a name
+# provided via title attribute.
+accessibility.text.label.issue.iframe = Utilisez l’attribut « title » pour décrire le contenu d’un « iframe ».
+
+# LOCALIZATION NOTE (accessibility.text.label.issue.image): A title text that
+# describes that currently selected accessible object for graphical content must have a
+# name provided.
+accessibility.text.label.issue.image = Le contenu avec des images doit être étiqueté.
+
+# LOCALIZATION NOTE (accessibility.text.label.issue.interactive): A title text that
+# describes that currently selected accessible object for interactive element must have a
+# name provided.
+accessibility.text.label.issue.interactive = Les éléments interactifs doivent être étiquetés.
+
+# LOCALIZATION NOTE (accessibility.text.label.issue.optgroup.label2): A title text that
+# describes that currently selected accessible object for an <optgroup> must have a
+# name provided via label attribute.
+accessibility.text.label.issue.optgroup.label2 = Utilisez un attribut « label » pour étiqueter un élément « optgroup ».
+
+# LOCALIZATION NOTE (accessibility.text.label.issue.toolbar): A title text that
+# describes that currently selected accessible object for a toolbar must have a
+# name provided when there is more than one toolbar in the document.
+accessibility.text.label.issue.toolbar = Les barres d’outils doivent être étiquetées lorsqu’il y a plus d’une barre d’outils.
+
+# LOCALIZATION NOTE (accessibility.keyboard.issue.semantics): A title text that
+# describes that currently selected accessible object is focusable and should
+# indicate that it could be interacted with.
+accessibility.keyboard.issue.semantics=Les éléments pouvant obtenir le focus doivent disposer d’une sémantique interactive.
+
+# LOCALIZATION NOTE (accessibility.keyboard.issue.tabindex): A title text that
+# describes that currently selected accessible object has a corresponding
+# DOMNode that defines a tabindex attribute greater that 0 which can result in
+# unexpected behaviour when navigating with keyboard.
+accessibility.keyboard.issue.tabindex=Évitez d’utiliser une valeur d’attribut « tabindex » supérieure à zéro.
+
+# LOCALIZATION NOTE (accessibility.keyboard.issue.action): A title text that
+# describes that currently selected accessible object is interactive but can not
+# be activated using keyboard or accessibility API.
+accessibility.keyboard.issue.action=Les éléments interactifs doivent pouvoir être activés à l’aide d’un clavier.
+
+# LOCALIZATION NOTE (accessibility.keyboard.issue.focusable): A title text that
+# describes that currently selected accessible object is interactive but is not
+# focusable with a keyboard.
+accessibility.keyboard.issue.focusable=Les éléments interactifs doivent être pouvoir obtenir le focus.
+
+# LOCALIZATION NOTE (accessibility.keyboard.issue.focus.visible): A title text
+# that describes that currently selected accessible object is focusable but
+# might not have appropriate focus styling.
+accessibility.keyboard.issue.focus.visible=Un élément pouvant obtenir le focus ne semble pas avoir de style associé.
+
+# LOCALIZATION NOTE (accessibility.keyboard.issue.mouse.only): A title text that
+# describes that currently selected accessible object is not focusable and not
+# semantic but can be activated via mouse (e.g. has click handler).
+accessibility.keyboard.issue.mouse.only=Les éléments cliquables doivent pouvoir obtenir le focus et avoir une sémantique interactive.
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/devtools/shared/debugger.properties b/thunderbird-l10n/fr/chrome/fr/locale/fr/devtools/shared/debugger.properties
new file mode 100644
index 0000000000..f3f663f0d3
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/devtools/shared/debugger.properties
@@ -0,0 +1,67 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE These strings are used inside the Debugger
+# which is available from the Web Developer sub-menu -> 'Debugger'.
+# The correct localization of this file might be to keep it in
+# English, or another language commonly spoken among web developers.
+# You want to make that choice consistent across the developer tools.
+# A good criteria is the language in which you'd find the best
+# documentation on web development on the web.
+
+# LOCALIZATION NOTE These strings are used inside the Debugger
+# which is available from the Browser Tools sub-menu -> 'Debugger'.
+# The correct localization of this file might be to keep it in
+# English, or another language commonly spoken among web developers.
+# You want to make that choice consistent across the developer tools.
+# A good criteria is the language in which you'd find the best
+# documentation on web development on the web.
+
+# LOCALIZATION NOTE (remoteIncomingPromptTitle): The title displayed on the
+# dialog that prompts the user to allow the incoming connection.
+remoteIncomingPromptTitle=Connexion entrante
+
+# LOCALIZATION NOTE (remoteIncomingPromptHeader): Header displayed on the
+# dialog that prompts the user to allow the incoming connection.
+remoteIncomingPromptHeader=Une requête entrante pour permettre une connexion de débogage à distance a été détectée. Un client distant peut prendre le contrôle complet de votre navigateur !
+# LOCALIZATION NOTE (remoteIncomingPromptClientEndpoint): Part of the prompt
+# dialog for the user to choose whether an incoming connection should be
+# allowed.
+# %1$S: The host and port of the client such as "127.0.0.1:6000"
+remoteIncomingPromptClientEndpoint=Point de terminaison client : %1$S
+# LOCALIZATION NOTE (remoteIncomingPromptServerEndpoint): Part of the prompt
+# dialog for the user to choose whether an incoming connection should be
+# allowed.
+# %1$S: The host and port of the server such as "127.0.0.1:6000"
+remoteIncomingPromptServerEndpoint=Point de terminaison serveur : %1$S
+# LOCALIZATION NOTE (remoteIncomingPromptFooter): Footer displayed on the
+# dialog that prompts the user to allow the incoming connection.
+remoteIncomingPromptFooter=Autoriser la connexion ?
+
+# LOCALIZATION NOTE (remoteIncomingPromptDisable): The label displayed on the
+# third button in the incoming connection dialog that lets the user disable the
+# remote debugger server.
+remoteIncomingPromptDisable=Désactiver
+
+# LOCALIZATION NOTE (clientSendOOBTitle): The title displayed on the dialog that
+# instructs the user to transfer an authentication token to the server.
+clientSendOOBTitle=Identification client
+# LOCALIZATION NOTE (clientSendOOBHeader): Header displayed on the dialog that
+# instructs the user to transfer an authentication token to the server.
+clientSendOOBHeader=Le point de terminaison auquel vous tentez de vous connecter demande des informations supplémentaires pour authentifier cette connexion. Veuillez saisir le jeton ci-dessous depuis l’invite affichée sur l’autre appareil.
+# LOCALIZATION NOTE (clientSendOOBHash): Part of the dialog that instructs the
+# user to transfer an authentication token to the server.
+# %1$S: The client's cert fingerprint
+clientSendOOBHash=Mon certificat : %1$S
+# LOCALIZATION NOTE (clientSendOOBToken): Part of the dialog that instructs the
+# user to transfer an authentication token to the server.
+# %1$S: The authentication token that the user will transfer.
+clientSendOOBToken=Jeton : %1$S
+
+# LOCALIZATION NOTE (serverReceiveOOBTitle): The title displayed on the dialog
+# that instructs the user to provide an authentication token from the client.
+serverReceiveOOBTitle=Saisir le jeton client
+# LOCALIZATION NOTE (serverReceiveOOBBody): Main text displayed on the dialog
+# that instructs the user to provide an authentication token from the client.
+serverReceiveOOBBody=Le client devrait afficher une valeur de jeton. Saisissez cette valeur de jeton ici pour achever l’authentification de ce client.
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/devtools/shared/eyedropper.properties b/thunderbird-l10n/fr/chrome/fr/locale/fr/devtools/shared/eyedropper.properties
new file mode 100644
index 0000000000..a74a0a8142
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/devtools/shared/eyedropper.properties
@@ -0,0 +1,14 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE These strings are used in the Eyedropper color tool.
+# LOCALIZATION NOTE The correct localization of this file might be to keep it
+# in English, or another language commonly spoken among web developers.
+# You want to make that choice consistent across the developer tools.
+# A good criteria is the language in which you'd find the best documentation
+# on web development on the web.
+
+# LOCALIZATION NOTE (colorValue.copied): This text is displayed when the user selects a
+# color with the eyedropper and it's copied to the clipboard.
+colorValue.copied=copiée
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/devtools/shared/screenshot.properties b/thunderbird-l10n/fr/chrome/fr/locale/fr/devtools/shared/screenshot.properties
new file mode 100644
index 0000000000..d6950cef4e
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/devtools/shared/screenshot.properties
@@ -0,0 +1,148 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE These strings are used inside Web Console commands.
+# The Web Console command line is available from the Web Developer sub-menu
+# -> 'Web Console'.
+#
+# The correct localization of this file might be to keep it in
+# English, or another language commonly spoken among web developers.
+# You want to make that choice consistent across the developer tools.
+# A good criteria is the language in which you'd find the best
+# documentation on web development on the web.
+
+# LOCALIZATION NOTE These strings are used inside the Web Console commands
+# which can be executed in the Developer Tools, available in the
+# Browser Tools sub-menu -> 'Web Developer Tools'
+#
+# The correct localization of this file might be to keep it in
+# English, or another language commonly spoken among web developers.
+# You want to make that choice consistent across the developer tools.
+# A good criteria is the language in which you'd find the best
+# documentation on web development on the web.
+
+# LOCALIZATION NOTE (screenshotDesc) A very short description of the
+# 'screenshot' command. Displayed when the --help flag is passed to
+# the screenshot command.
+screenshotDesc=Enregistrer une image de la page
+
+# LOCALIZATION NOTE (screenshotFilenameDesc) A very short string to describe
+# the 'filename' parameter to the 'screenshot' command. Displayed when the
+# --help flag is passed to the screenshot command.
+screenshotFilenameDesc=Nom du fichier de destination
+
+# LOCALIZATION NOTE (screenshotFilenameManual) A fuller description of the
+# 'filename' parameter to the 'screenshot' command.
+screenshotFilenameManual=Le nom du fichier (doit avoir une extension « .png ») dans lequel enregistrer la capture d’écran.
+
+# LOCALIZATION NOTE (screenshotClipboardDesc) A very short string to describe
+# the 'clipboard' parameter to the 'screenshot' command. Displayed when the
+# --help flag is passed to the screenshot command.
+screenshotClipboardDesc=Copier la capture d’écran dans le presse-papiers ? (true/false)
+
+# LOCALIZATION NOTE (screenshotClipboardManual) A fuller description of the
+# 'clipboard' parameter to the 'screenshot' command. Displayed when the
+# --help flag is passed to the screenshot command.
+screenshotClipboardManual=True si vous souhaitez copier la capture d’écran au lieu de l’enregistrer dans un fichier.
+
+# LOCALIZATION NOTE (screenshotGroupOptions) A label for the optional options of
+# the screenshot command. Displayed when the --help flag is passed to the
+# screenshot command.
+screenshotGroupOptions=Options
+
+# LOCALIZATION NOTE (screenshotDelayDesc) A very short string to describe
+# the 'delay' parameter to the 'screenshot' command. Displayed when the
+# --help flag is passed to the screenshot command.
+screenshotDelayDesc=Délai (secondes)
+
+# LOCALIZATION NOTE (screenshotDelayManual) A fuller description of the
+# 'delay' parameter to the 'screenshot' command. Displayed when the
+# --help flag is passed to the screenshot command.
+screenshotDelayManual=Le temps à attendre (en secondes) avant de prendre la capture d’écran
+
+# LOCALIZATION NOTE (screenshotDPRDesc) A very short string to describe
+# the 'dpr' parameter to the 'screenshot' command. Displayed when the
+# --help flag is passed to the `screenshot command.
+screenshotDPRDesc=Ratio de pixels de l’appareil
+
+# LOCALIZATION NOTE (screenshotDPRManual) A fuller description of the
+# 'dpr' parameter to the 'screenshot' command. Displayed when the
+# --help flag is passed to the `screenshot command.
+screenshotDPRManual=Le ratio de pixels de l’appareil à utiliser lors de la capture d’écran
+
+# LOCALIZATION NOTE (screenshotFullPageDesc) A very short string to describe
+# the 'fullpage' parameter to the 'screenshot' command. Displayed when the
+# --help flag is passed to the `screenshot command.
+screenshotFullPageDesc=Page web entière ? (true/false)
+
+# LOCALIZATION NOTE (screenshotFullPageManual) A fuller description of the
+# 'fullpage' parameter to the 'screenshot' command. Displayed when the
+# --help flag is passed to the `screenshot command.
+screenshotFullPageManual=True si la capture doit également prendre en compte les parties de la page web qui sont actuellement hors de la zone de défilement visible
+
+# LOCALIZATION NOTE (screenshotFileDesc) A very short string to describe
+# the 'file' parameter to the 'screenshot' command. Displayed when the
+# --help flag is passed to the `screenshot command.
+screenshotFileDesc=Enregistrer en tant que fichier ? (true/false)
+
+# LOCALIZATION NOTE (screenshotFileManual) A fuller description of the
+# 'file' parameter to the 'screenshot' command. Displayed when the
+# --help flag is passed to the `screenshot command.
+screenshotFileManual=True si la commande doit enregistrer le fichier même lorsque d’autres options sont activées (par exemple, le presse-papiers).
+
+# LOCALIZATION NOTE (screenshotGeneratedFilename) The auto generated filename
+# when no file name is provided. The first argument (%1$S) is the date string
+# in yyyy-mm-dd format and the second argument (%2$S) is the time string
+# in HH.MM.SS format. Please don't add the extension here.
+screenshotGeneratedFilename=Capture d’écran %1$S à %2$S
+
+# LOCALIZATION NOTE (screenshotErrorSavingToFile) Text displayed to user upon
+# encountering error while saving the screenshot to the file specified.
+# The argument (%1$S) is the filename.
+screenshotErrorSavingToFile=Erreur lors de l’enregistrement sous %1$S
+
+# LOCALIZATION NOTE (screenshotSavedToFile) Text displayed to user when the
+# screenshot is successfully saved to the file specified.
+# The argument (%1$S) is the filename.
+screenshotSavedToFile=Enregistrée sous %1$S
+
+# LOCALIZATION NOTE (screenshotErrorCopying) Text displayed to user upon
+# encountering error while copying the screenshot to clipboard.
+screenshotErrorCopying=Une erreur s’est produite lors de la copie de la capture dans le presse-papiers.
+
+# LOCALIZATION NOTE (screenshotCopied) Text displayed to user when the
+# screenshot is successfully copied to the clipboard.
+screenshotCopied=Capture d’écran copiée dans le presse-papiers.
+
+# LOCALIZATION NOTE (inspectNodeDesc) A very short string to describe the
+# 'node' parameter to the 'inspect' command. Displayed when the
+# --help flag is passed to the `screenshot command.
+inspectNodeDesc=Sélecteur CSS
+
+# LOCALIZATION NOTE (inspectNodeManual) A fuller description of the 'node'
+# parameter to the 'inspect' command. Displayed when the --help flag is
+# passed to the `screenshot command.
+inspectNodeManual=Un sélecteur CSS à utiliser avec document.querySelector et qui identifie un élément unique
+
+# LOCALIZATION NOTE (screenshotTruncationWarning) Text displayed to user when the image
+# that would be created by the screenshot is too big and needs to be truncated to avoid
+# errors.
+# The first parameter is the width of the final image and the second parameter is the
+# height of the image.
+screenshotTruncationWarning=L’image a été rognée à la taille %1$S×%2$S car l’image résultante était trop grande.
+
+# LOCALIZATION NOTE (screenshotDPRDecreasedWarning2) Text displayed to user when
+# taking the screenshot initially failed. When the Device Pixel Ratio is larger
+# than 1.0 a second try immediately after displaying this message is attempted.
+screenshotDPRDecreasedWarning=Le ratio de pixel de l’appareil a été réduit à 1 car l’image résultante était trop grande
+
+# LOCALIZATION NOTE (screenshotRenderingError) Text displayed to user upon
+# encountering an error while rendering the screenshot. This most often happens when the
+# resulting image is too large to be rendered.
+screenshotRenderingError=Erreur durant la création de l’image. L’image résultante était probablement trop grande.
+
+# LOCALIZATION NOTE (screenshotNoSelectorMatchWarning) Text displayed to user when the
+# provided selector for the screenshot does not match any element on the page.
+# The argument (%1$S) is selector.
+screenshotNoSelectorMatchWarning=Le sélecteur « %S » ne correspond à aucun élément de la page.
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/devtools/shared/shared.properties b/thunderbird-l10n/fr/chrome/fr/locale/fr/devtools/shared/shared.properties
new file mode 100644
index 0000000000..0978450dee
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/devtools/shared/shared.properties
@@ -0,0 +1,6 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE (ellipsis): The ellipsis (three dots) character
+ellipsis=…
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/devtools/shared/styleinspector.properties b/thunderbird-l10n/fr/chrome/fr/locale/fr/devtools/shared/styleinspector.properties
new file mode 100644
index 0000000000..df42756417
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/devtools/shared/styleinspector.properties
@@ -0,0 +1,267 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE These strings are used inside the Style Inspector.
+#
+# The correct localization of this file might be to keep it in
+# English, or another language commonly spoken among web developers.
+# You want to make that choice consistent across the developer tools.
+# A good criteria is the language in which you'd find the best
+# documentation on web development on the web.
+
+
+# LOCALIZATION NOTE (rule.status): For each style property the panel shows
+# the rules which hold that specific property. For every rule, the rule status
+# is also displayed: a rule can be the best match, a match, a parent match, or a
+# rule did not match the element the user has highlighted.
+rule.status.BEST=Meilleure correspondance
+rule.status.MATCHED=Correspondance
+rule.status.PARENT_MATCH=Correspondance parente
+
+# LOCALIZATION NOTE (rule.sourceElement, rule.sourceInline,
+# rule.sourceConstructed): For each style property the panel shows the rules
+# which hold that specific property.
+# For every rule, the rule source is also displayed: a rule can come from a
+# file, from the same page (inline), from a constructed style sheet
+# (constructed), or from the element itself (element).
+rule.sourceInline=inline
+rule.sourceConstructed=construit
+rule.sourceElement=élément
+
+# LOCALIZATION NOTE (rule.inheritedFrom): Shown for CSS rules
+# that were inherited from a parent node. Will be passed a node
+# identifier of the parent node.
+# e.g "Inherited from body#bodyID"
+rule.inheritedFrom=Hérité de %S
+
+# LOCALIZATION NOTE (rule.keyframe): Shown for CSS Rules keyframe header.
+# Will be passed an identifier of the keyframe animation name.
+rule.keyframe=@Keyframes %S
+
+# LOCALIZATION NOTE (rule.userAgentStyles): Shown next to the style sheet
+# link for CSS rules that were loaded from a user agent style sheet.
+# These styles will not be editable, and will only be visible if the
+# devtools.inspector.showUserAgentStyles pref is true.
+rule.userAgentStyles=(agent utilisateur)
+
+# LOCALIZATION NOTE (rule.pseudoElement): Shown for CSS rules
+# pseudo element header
+rule.pseudoElement=Pseudo-éléments
+
+# LOCALIZATION NOTE (rule.selectedElement): Shown for CSS rules element header if
+# pseudo elements are present in the rule view.
+rule.selectedElement=Cet élément
+
+# LOCALIZATION NOTE (rule.warning.title): When an invalid property value is
+# entered into the rule view a warning icon is displayed. This text is used for
+# the title attribute of the warning icon.
+rule.warning.title=Valeur de propriété invalide
+
+# LOCALIZATION NOTE (rule.warningName.title): When an invalid property name is
+# entered into the rule view a warning icon is displayed. This text is used for
+# the title attribute of the warning icon.
+rule.warningName.title=Nom de propriété invalide
+
+# LOCALIZATION NOTE (rule.filterProperty.title): Text displayed in the tooltip
+# of the search button that is shown next to a property that has been overridden
+# in the rule view.
+rule.filterProperty.title=Filtrer les règles contenant cette propriété
+
+# LOCALIZATION NOTE (rule.empty): Text displayed when the highlighter is
+# first opened and there's no node selected in the rule view.
+rule.empty=Aucun élément sélectionné.
+
+# LOCALIZATION NOTE (rule.variableValue): Text displayed in a tooltip
+# when the mouse is over a variable use (like "var(--something)") in
+# the rule view. The first argument is the variable name and the
+# second argument is the value.
+rule.variableValue=%S = %S
+
+# LOCALIZATION NOTE (rule.variableUnset): Text displayed in a tooltip
+# when the mouse is over a variable use (like "var(--something)"),
+# where the variable is not set. the rule view. The argument is the
+# variable name.
+rule.variableUnset=%S n’est pas défini
+
+# LOCALIZATION NOTE (rule.selectorHighlighter.tooltip): Text displayed in a
+# tooltip when the mouse is over a selector highlighter icon in the rule view.
+rule.selectorHighlighter.tooltip=Affiche en surbrillance tous les éléments qui correspondent à ce sélecteur
+
+# LOCALIZATION NOTE (rule.colorSwatch.tooltip): Text displayed in a tooltip
+# when the mouse is over a color swatch in the rule view.
+rule.colorSwatch.tooltip=Cliquer pour ouvrir le sélecteur de couleurs, maj+clic pour changer le format de couleur
+
+# LOCALIZATION NOTE (rule.bezierSwatch.tooltip): Text displayed in a tooltip
+# when the mouse is over a cubic-bezier swatch in the rule view.
+rule.bezierSwatch.tooltip=Ouvrir l’éditeur de « timing-function »
+
+# LOCALIZATION NOTE (rule.filterSwatch.tooltip): Text displayed in a tooltip
+# when the mouse is over a filter swatch in the rule view.
+rule.filterSwatch.tooltip=Ouvrir l’éditeur de filtre
+
+# LOCALIZATION NOTE (rule.angleSwatch.tooltip): Text displayed in a tooltip
+# when the mouse is over a angle swatch in the rule view.
+rule.angleSwatch.tooltip=Maj+clic pour changer le format de l’angle
+
+# LOCALIZATION NOTE (rule.flexToggle.tooltip): Text displayed in a tooltip
+# when the mouse is over a Flexbox toggle icon in the rule view.
+rule.flexToggle.tooltip=Cliquer pour activer/désactiver la mise en évidence des boîtes flexibles (Flexbox)
+
+# LOCALIZATION NOTE (rule.gridToggle.tooltip): Text displayed in a tooltip
+# when the mouse is over a CSS Grid toggle icon in the rule view.
+rule.gridToggle.tooltip=Cliquer pour activer/désactiver la mise en évidence des grilles CSS
+
+# LOCALIZATION NOTE (rule.filterStyles.placeholder): This is the placeholder that
+# goes in the search box when no search term has been entered.
+rule.filterStyles.placeholder=Filtrer les styles
+
+# LOCALIZATION NOTE (rule.addRule.tooltip): This is the tooltip shown when
+# hovering the `Add new rule` button in the rules view toolbar.
+rule.addRule.tooltip=Ajouter une nouvelle règle
+
+# LOCALIZATION NOTE (rule.togglePseudo.tooltip): This is the tooltip
+# shown when hovering over the `Toggle Pseudo Class Panel` button in the
+# rule view toolbar.
+rule.togglePseudo.tooltip=Activer/Désactiver les pseudo-classes
+
+# LOCALIZATION NOTE (rule.classPanel.toggleClass.tooltip): This is the tooltip
+# shown when hovering over the `Toggle Class Panel` button in the
+# rule view toolbar.
+rule.classPanel.toggleClass.tooltip=Activer/Désactiver les classes
+
+# LOCALIZATION NOTE (rule.classPanel.newClass.placeholder): This is the placeholder
+# shown inside the text field used to add a new class in the rule-view.
+rule.classPanel.newClass.placeholder=Ajouter une nouvelle classe
+
+# LOCALIZATION NOTE (rule.classPanel.noClasses): This is the text displayed in the
+# class panel when the current element has no classes applied.
+rule.classPanel.noClasses=Aucune classe appliquée à cet élément
+
+# LOCALIZATION NOTE (rule.printSimulation.tooltip):
+# This is the tooltip of the print simulation button in the Rule View toolbar
+# that toggles print simulation.
+rule.printSimulation.tooltip=Activer/Désactiver la simulation des règles media pour l’impression de la page
+
+# LOCALIZATION NOTE (rule.colorSchemeSimulation.tooltip):
+# This is the tooltip of the color scheme simulation button in the Rule View
+# toolbar that toggles color-scheme simulation.
+rule.colorSchemeSimulation.tooltip=Activer/Désactiver la simulation du jeu de couleurs pour la page
+
+# LOCALIZATION NOTE (rule.twistyCollapse.label): The text a screen reader
+# speaks when the header of a rule is expanded.
+rule.twistyCollapse.label=Réduire
+
+# LOCALIZATION NOTE (rule.twistyExpand.label): The text a screen reader
+# speaks when the header of a rule is collapsed.
+rule.twistyExpand.label=Développer
+
+# LOCALIZATION NOTE (rule.expandableContainerToggleButton.title):
+# This is the tooltip for expandable container toggle button in the Rule View (Pseudo-elements, keyframes, …)
+rule.expandableContainerToggleButton.title=Développer/Réduire le panneau
+
+# LOCALIZATION NOTE (rule.containerQuery.selectContainerButton.tooltip): Text displayed in a
+# tooltip when the mouse is over the icon to select a container in a container query in the rule view.
+rule.containerQuery.selectContainerButton.tooltip=Cliquer pour sélectionner le nœud conteneur
+
+# LOCALIZATION NOTE (rule.propertyToggle.label):
+# This is the label for the checkbox input in the rule view that allow to disable/re-enable
+# a specific property in a rule.
+# The argument is the property name.
+rule.propertyToggle.label=Activer la propriété %S
+
+# LOCALIZATION NOTE (rule.newPropertyName.label):
+# This is the label for the new property input in the rule view.
+rule.newPropertyName.label=Nom de la nouvelle propriété
+
+# LOCALIZATION NOTE (rule.propertyName.label):
+# This is the label for the property name input in the rule view.
+rule.propertyName.label=Nom de la propriété
+
+# LOCALIZATION NOTE (styleinspector.contextmenu.copyColor): Text displayed in the rule
+# and computed view context menu when a color value was clicked.
+styleinspector.contextmenu.copyColor=Copier la couleur
+
+# LOCALIZATION NOTE (styleinspector.contextmenu.copyColor.accessKey): Access key for
+# the rule and computed view context menu "Copy Color" entry.
+styleinspector.contextmenu.copyColor.accessKey=l
+
+# LOCALIZATION NOTE (styleinspector.contextmenu.copyUrl): In rule and computed view :
+# text displayed in the context menu for an image URL.
+# Clicking it copies the URL to the clipboard of the user.
+styleinspector.contextmenu.copyUrl=Copier l’URL
+
+# LOCALIZATION NOTE (styleinspector.contextmenu.copyUrl.accessKey): Access key for
+# the rule and computed view context menu "Copy URL" entry.
+styleinspector.contextmenu.copyUrl.accessKey=U
+
+# LOCALIZATION NOTE (styleinspector.contextmenu.copyImageDataUrl): In rule and computed view :
+# text displayed in the context menu for an image URL.
+# Clicking it copies the image as Data-URL to the clipboard of the user.
+styleinspector.contextmenu.copyImageDataUrl=Copier l’image en tant que Data-URL
+
+# LOCALIZATION NOTE (styleinspector.contextmenu.copyImageDataUrl.accessKey): Access key for
+# the rule and computed view context menu "Copy Image Data-URL" entry.
+styleinspector.contextmenu.copyImageDataUrl.accessKey=D
+
+# LOCALIZATION NOTE (styleinspector.copyImageDataUrlError): Text set in the clipboard
+# if an error occurs when using the copyImageDataUrl context menu action
+# (invalid image link, timeout, etc...)
+styleinspector.copyImageDataUrlError=Impossible de copier l’image en tant que Data-URL
+
+# LOCALIZATION NOTE (styleinspector.contextmenu.toggleOrigSources): Text displayed in the rule view
+# context menu.
+styleinspector.contextmenu.toggleOrigSources=Afficher les sources originales
+
+# LOCALIZATION NOTE (styleinspector.contextmenu.toggleOrigSources.accessKey): Access key for
+# the rule view context menu "Show original sources" entry.
+styleinspector.contextmenu.toggleOrigSources.accessKey=f
+
+# LOCALIZATION NOTE (styleinspector.contextmenu.addNewRule): Text displayed in the
+# rule view context menu for adding a new rule to the element.
+# This should match inspector.addRule.tooltip in inspector.properties
+styleinspector.contextmenu.addNewRule=Ajouter une nouvelle règle
+
+# LOCALIZATION NOTE (styleinspector.contextmenu.addNewRule.accessKey): Access key for
+# the rule view context menu "Add rule" entry.
+styleinspector.contextmenu.addNewRule.accessKey=r
+
+# LOCALIZATION NOTE (styleinspector.contextmenu.selectAll): Text displayed in the
+# computed view context menu.
+styleinspector.contextmenu.selectAll=Tout sélectionner
+
+# LOCALIZATION NOTE (styleinspector.contextmenu.selectAll.accessKey): Access key for
+# the computed view context menu "Select all" entry.
+styleinspector.contextmenu.selectAll.accessKey=T
+
+# LOCALIZATION NOTE (styleinspector.contextmenu.copy): Text displayed in the
+# computed view context menu.
+styleinspector.contextmenu.copy=Copier
+
+# LOCALIZATION NOTE (styleinspector.contextmenu.copy.accessKey): Access key for
+# the computed view context menu "Copy" entry.
+styleinspector.contextmenu.copy.accessKey=C
+
+# LOCALIZATION NOTE (styleinspector.contextmenu.copyLocation): Text displayed in the
+# rule view context menu for copying the source location.
+styleinspector.contextmenu.copyLocation=Copier l’adresse
+
+# LOCALIZATION NOTE (styleinspector.contextmenu.copyDeclaration): Text
+# displayed in the rule view context menu for copying the CSS declaration.
+styleinspector.contextmenu.copyDeclaration=Copier la déclaration
+
+# LOCALIZATION NOTE (styleinspector.contextmenu.copyPropertyName): Text displayed in
+# the rule view context menu for copying the property name.
+styleinspector.contextmenu.copyPropertyName=Copier le nom de la propriété
+
+# LOCALIZATION NOTE (styleinspector.contextmenu.copyPropertyValue): Text displayed in
+# the rule view context menu for copying the property value.
+styleinspector.contextmenu.copyPropertyValue=Copier la valeur de la propriété
+
+# LOCALIZATION NOTE (styleinspector.contextmenu.copyRule): Text displayed in the
+# rule view context menu for copying the rule.
+styleinspector.contextmenu.copyRule=Copier la règle
+
+# LOCALIZATION NOTE (styleinspector.contextmenu.copySelector): Text displayed in the
+# rule view context menu for copying the selector.
+styleinspector.contextmenu.copySelector=Copier le sélecteur
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/global-platform/mac/accessible.properties b/thunderbird-l10n/fr/chrome/fr/locale/fr/global-platform/mac/accessible.properties
new file mode 100644
index 0000000000..d1b6ff935b
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/global-platform/mac/accessible.properties
@@ -0,0 +1,71 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+jump = Sauter
+press = Appuyer
+check = Sélectionner
+uncheck = Désélectionner
+select = Sélectionner
+open = Ouvrir
+close = Fermer
+switch = Basculer
+click = Cliquer
+collapse= Réduire
+expand = Développer
+activate= Activer
+cycle = Boucler
+# An action provided to accessibility clients such as screen readers to allow
+# them to click an element when the click will be handled by a container
+# (ancestor) element. This is not normally reported to users.
+click ancestor = Cliquez sur le parent
+
+# Universal Access API support
+# (Mac Only)
+# The Role Description for AXWebArea (the web widget). Like in Safari.
+htmlContent = Contenu HTML
+# The Role Description for the Tab button.
+tab = tabulation
+# The Role Description for definition list dl, dt and dd
+term = terme
+definition = définition
+# The Role Description for an input type="search" text field
+searchTextField = champ de recherche
+# Role Description (exposed as AXTitle) for datepickers
+dateField = champ de date
+# The Role Description for WAI-ARIA Landmarks
+application = application
+search = recherche
+banner = bannière
+navigation = navigation
+complementary = complémentaire
+content = contenu
+main = principal
+# The (spoken) role description for various WAI-ARIA roles
+alert = alerte
+alertDialog = fenêtre d’alerte
+dialog = dialogue
+article = article
+document = document
+# The (spoken) role description for the WAI-ARIA figure role
+# https://w3c.github.io/aria/core-aam/core-aam.html#role-map-figure
+figure = illustration
+# The (spoken) role description for the WAI-ARIA heading role
+# https://w3c.github.io/aria/core-aam/core-aam.html#role-map-heading
+heading = titre
+log = journal
+marquee = rectancle de sélection
+math = mathématiques
+note = note
+region = région
+status = état de l’application
+timer = minuteur
+tooltip = infobulle
+separator = separator
+tabPanel = panneau à onglets
+# The roleDescription for the html:mark element
+highlight = mise en surbrillance
+# The roleDescription for the details element
+details = détails
+# The roleDescription for the summary element
+summary = résumé
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/global-platform/mac/intl.properties b/thunderbird-l10n/fr/chrome/fr/locale/fr/global-platform/mac/intl.properties
new file mode 100644
index 0000000000..71265a9ef1
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/global-platform/mac/intl.properties
@@ -0,0 +1,7 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE (intl.ellipsis): Use the unicode ellipsis char, \u2026,
+# or use "..." if \u2026 doesn't suit traditions in your locale.
+intl.ellipsis=…
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/global-platform/mac/platformKeys.properties b/thunderbird-l10n/fr/chrome/fr/locale/fr/global-platform/mac/platformKeys.properties
new file mode 100644
index 0000000000..a6acc45ec6
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/global-platform/mac/platformKeys.properties
@@ -0,0 +1,33 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# Platform: Mac
+# This file defines the on-screen display names for the various modifier keys
+# and the Return key (VK_RETURN).
+# These are used in XP menus to show keyboard shortcuts.
+
+# The Shift key - open up arrow symbol (ctrl-e)
+VK_SHIFT=⇧
+
+# The Command key - clover leaf symbol (ctrl-q)
+VK_META=⌘
+
+# The Win key - never generated by native key event
+VK_WIN=win
+
+# The Command key - clover leaf symbol (ctrl-q)
+VK_COMMAND_OR_WIN=\u2318
+
+# The Option/Alt key - splitting tracks symbol (ctrl-g)
+VK_ALT=⌥
+
+# The Control key - hat symbol (ctrl-f)
+VK_CONTROL=⌃
+
+# The Return key (on the main keyboard or numpad):
+# "Enter" on Windows/Unix, "Return" on Mac
+VK_RETURN=Entrée
+
+# The separator character used between modifiers (none on Mac OS)
+MODIFIER_SEPARATOR=
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/global-platform/unix/accessible.properties b/thunderbird-l10n/fr/chrome/fr/locale/fr/global-platform/unix/accessible.properties
new file mode 100644
index 0000000000..0ada0402b0
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/global-platform/unix/accessible.properties
@@ -0,0 +1,21 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+jump = Sauter
+press = Appuyer
+check = Sélectionner
+uncheck = Désélectionner
+select = Sélectionner
+open = Ouvrir
+close = Fermer
+switch = Basculer
+click = Cliquer
+collapse= Réduire
+expand = Développer
+activate= Activer
+cycle = Boucler
+# An action provided to accessibility clients such as screen readers to allow
+# them to click an element when the click will be handled by a container
+# (ancestor) element. This is not normally reported to users.
+click ancestor = Cliquez sur le parent
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/global-platform/unix/intl.properties b/thunderbird-l10n/fr/chrome/fr/locale/fr/global-platform/unix/intl.properties
new file mode 100644
index 0000000000..71265a9ef1
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/global-platform/unix/intl.properties
@@ -0,0 +1,7 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE (intl.ellipsis): Use the unicode ellipsis char, \u2026,
+# or use "..." if \u2026 doesn't suit traditions in your locale.
+intl.ellipsis=…
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/global-platform/unix/platformKeys.properties b/thunderbird-l10n/fr/chrome/fr/locale/fr/global-platform/unix/platformKeys.properties
new file mode 100644
index 0000000000..bebd19b5ce
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/global-platform/unix/platformKeys.properties
@@ -0,0 +1,33 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# Platform: Unix
+# This file defines the on-screen display names for the various modifier keys
+# and the Enter key (VK_RETURN).
+# These are used in XP menus to show keyboard shortcuts.
+
+# The Shift key
+VK_SHIFT=Maj
+
+# The Command key
+VK_META=Meta
+
+# The Win key (Super key and Hyper keys are mapped to DOM Win key)
+VK_WIN=win
+
+# The Super/Hyper key
+VK_COMMAND_OR_WIN=Windows
+
+# The Alt key
+VK_ALT=Alt
+
+# The Control key
+VK_CONTROL=Ctrl
+
+# The Enter key (on the main keyboard or numpad):
+# "Enter" on Windows/Unix, "Return" on Mac
+VK_RETURN=Entrée
+
+# The separator character used between modifiers
+MODIFIER_SEPARATOR=+
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/global-platform/win/accessible.properties b/thunderbird-l10n/fr/chrome/fr/locale/fr/global-platform/win/accessible.properties
new file mode 100644
index 0000000000..0ada0402b0
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/global-platform/win/accessible.properties
@@ -0,0 +1,21 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+jump = Sauter
+press = Appuyer
+check = Sélectionner
+uncheck = Désélectionner
+select = Sélectionner
+open = Ouvrir
+close = Fermer
+switch = Basculer
+click = Cliquer
+collapse= Réduire
+expand = Développer
+activate= Activer
+cycle = Boucler
+# An action provided to accessibility clients such as screen readers to allow
+# them to click an element when the click will be handled by a container
+# (ancestor) element. This is not normally reported to users.
+click ancestor = Cliquez sur le parent
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/global-platform/win/intl.properties b/thunderbird-l10n/fr/chrome/fr/locale/fr/global-platform/win/intl.properties
new file mode 100644
index 0000000000..71265a9ef1
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/global-platform/win/intl.properties
@@ -0,0 +1,7 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE (intl.ellipsis): Use the unicode ellipsis char, \u2026,
+# or use "..." if \u2026 doesn't suit traditions in your locale.
+intl.ellipsis=…
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/global-platform/win/platformKeys.properties b/thunderbird-l10n/fr/chrome/fr/locale/fr/global-platform/win/platformKeys.properties
new file mode 100644
index 0000000000..6f15722aa2
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/global-platform/win/platformKeys.properties
@@ -0,0 +1,33 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# Platform: Windows
+# This file defines the on-screen display names for the various modifier keys
+# and the Enter key (VK_RETURN).
+# These are used in XP menus to show keyboard shortcuts.
+
+# The Shift key
+VK_SHIFT=Maj
+
+# The Command key
+VK_META=Meta
+
+# The Win key
+VK_WIN=win
+
+# The Win key
+VK_COMMAND_OR_WIN=Windows
+
+# The Alt key
+VK_ALT=Alt
+
+# The Control key
+VK_CONTROL=Ctrl
+
+# The Enter key (on the main keyboard or numpad):
+# "Enter" on Windows/Unix, "Return" on Mac
+VK_RETURN=Entrée
+
+# The separator character used between modifiers
+MODIFIER_SEPARATOR=+
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/global/aboutStudies.properties b/thunderbird-l10n/fr/chrome/fr/locale/fr/global/aboutStudies.properties
new file mode 100644
index 0000000000..cb8f3cac9d
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/global/aboutStudies.properties
@@ -0,0 +1,33 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+
+# LOCALIZATION NOTE (title): keep "Shield" in English. See
+# https://wiki.mozilla.org/Firefox/Shield/Shield_Studies for more information
+title = Études Shield
+removeButton = Supprimer
+
+# LOCALIZATION NOTE (activeStudiesList): Title above a list of active studies
+activeStudiesList = Études en cours
+# LOCALIZATION NOTE (activeStudiesList): Title above a list of completed studies
+completedStudiesList = Études terminées
+# LOCALIZATION NOTE (activeStatus): Displayed for an active study
+activeStatus = Active
+
+# LOCALIZATION NOTE (completeStatus): Displayed for a study that is already complete
+completeStatus = Terminée
+
+updateButtonWin = Modifier les options
+updateButtonUnix = Modifier les préférences
+learnMore = En savoir plus
+noStudies = Vous n’avez participé à aucune étude.
+disabledList = Voici une liste des études auxquelles vous avez participé. Aucune nouvelle étude ne sera lancée.
+# LOCALIZATION NOTE (enabledList): %S is brandShortName (e.g. Firefox)
+enabledList = De quoi s’agit-il ? %S peut installer et lancer des études de temps en temps.
+
+# LOCALIZATION NOTE (preferenceStudyDescription) $1%S will be replaced with the
+# name of a preference (such as "stream.improvesearch.topSiteSearchShortcuts")
+# and $2%S will be replaced with the value of that preference. Both values will
+# be formatted differently than the surrounding text.
+preferenceStudyDescription = Cette étude fait passer la valeur de %1$S à %2$S.
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/global/appstrings.properties b/thunderbird-l10n/fr/chrome/fr/locale/fr/global/appstrings.properties
new file mode 100644
index 0000000000..7dcb596fd8
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/global/appstrings.properties
@@ -0,0 +1,37 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+malformedURI2=Vérifiez que l’URL est correcte puis réessayez.
+fileNotFound=Impossible de trouver le fichier %S. Vérifiez son emplacement et essayez à nouveau.
+fileAccessDenied=Impossible de lire le fichier à l’adresse %S.
+dnsNotFound2=%S est introuvable. Veuillez vérifier le nom et essayer à nouveau.
+unknownProtocolFound=L’un des protocoles suivants (%S) n’est pas un protocole reconnu ou n’est pas autorisé dans ce contexte.
+connectionFailure=Connexion refusée lors de la tentative de contact de %S.
+netInterrupt=La connexion à %S a été coupée brusquement. Des données peuvent avoir été transmises.
+netTimeout=Délai de connexion dépassé lors du contact de %S.
+redirectLoop=La limite de redirection de cette URL a été dépassée. Chargement interrompu. Cette interruption peut être due à un cookie bloqué.
+confirmRepostPrompt=Pour afficher cette page, les informations précédemment transmises par l’application doivent être renvoyées. Ceci répétera toute action (telle qu’une recherche ou un ordre d’achat) entreprise précédemment.
+resendButton.label=Renvoyer
+unknownSocketType=Ce document ne peut pas être affiché si vous n’avez pas installé le gestionnaire personnel de sécurité (PSM). Veuillez télécharger le PSM, l’installer puis réessayer, ou bien contactez votre administrateur système.
+netReset=Le document ne contient aucune donnée.
+notCached=Ce document n’est plus disponible.
+netOffline=Ce document ne peut pas être affiché en étant hors connexion. Pour vous connecter, décochez Travailler hors connexion à partir du menu Fichier.
+isprinting=Le document ne peut pas être modifié pendant l’impression ou la prévisualisation.
+deniedPortAccess=L’accès au port spécifié a été désactivé pour des raisons de sécurité.
+proxyResolveFailure=Le serveur proxy que vous avez configuré est introuvable. Veuillez vérifier les paramètres et réessayer.
+proxyConnectFailure=La connexion a été refusée au contact du serveur proxy que vous avez configuré. Veuillez vérifier les paramètres et réessayer.
+contentEncodingError=La page que vous essayez de voir ne peut être affichée car elle utilise un type de compression invalide ou non pris en charge.
+unsafeContentType=La page que vous essayez de voir ne peut être affichée car elle contient un type de fichier dont l’ouverture peut ne pas être sûre. Veuillez contacter les propriétaires du site web pour les informer de ce problème.
+malwareBlocked=Le site web à l’adresse %S a été signalé comme une source d’attaques et a été bloqué suivant vos préférences de sécurité.
+harmfulBlocked=Le site web à l’adresse %S a été signalé comme potentiellement dangereux et a été bloqué suivant vos préférences de sécurité.
+unwantedBlocked=Le site web à l’adresse %S a été signalé comme comportant des logiciels indésirables et a été bloqué suivant vos préférences de sécurité.
+deceptiveBlocked=Le site web à l’adresse %S a été signalé comme étant trompeur et a été bloqué suivant vos préférences de sécurité.
+cspBlocked=Cette page a une stratégie de sécurité de contenu qui l’empêche d’être chargée de cette façon.
+xfoBlocked=Cette page comporte une politique X-Frame-Options qui l’empêche d’être chargée dans ce contexte.
+corruptedContentErrorv2=Le site à l’adresse %S a subi une violation de protocole réseau qui ne peut pas être corrigée.
+sslv3Used=Firefox ne peut garantir la sécurité de vos données sur le site %S car il utilise SSLv3, un protocole de sécurité non fiable.
+weakCryptoUsed=Les propriétaires de %S ont mal configuré leur site. Pour éviter que vos données ne soient dérobées, cette application ne s’est pas connectée à ce site.
+inadequateSecurityError=Le site web a essayé d’accéder à un niveau de sécurité inapproprié.
+blockedByPolicy=Votre organisation a bloqué l’accès à cette page ou à ce site web.
+networkProtocolError=Firefox a subi une violation de protocole réseau qui ne peut pas être corrigée.
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/global/autocomplete.properties b/thunderbird-l10n/fr/chrome/fr/locale/fr/global/autocomplete.properties
new file mode 100644
index 0000000000..bf3115e0b2
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/global/autocomplete.properties
@@ -0,0 +1,9 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE (bookmarkKeywordSearch): This is the title of autocomplete
+# entries that are bookmark keyword searches. %1$S will be replaced with the
+# domain name of the bookmark, and %2$S will be replaced with the keyword
+# search text that the user is typing. %2$S will not be empty.
+bookmarkKeywordSearch = %1$S : %2$S
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/global/browser.properties b/thunderbird-l10n/fr/chrome/fr/locale/fr/global/browser.properties
new file mode 100644
index 0000000000..e41e865bb2
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/global/browser.properties
@@ -0,0 +1,7 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+formPostSecureToInsecureWarning.title = Avertissement de sécurité
+formPostSecureToInsecureWarning.message = Les informations saisies vont être transmises en clair (sans chiffrement). Elles peuvent donc éventuellement être interceptées et lues lors de leur acheminement.\nVoulez-vous vraiment transmettre ces informations ?
+formPostSecureToInsecureWarning.continue = Continuer
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/global/commonDialogs.properties b/thunderbird-l10n/fr/chrome/fr/locale/fr/global/commonDialogs.properties
new file mode 100644
index 0000000000..e27d9ae10e
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/global/commonDialogs.properties
@@ -0,0 +1,46 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+Alert=Alerte
+Confirm=Confirmer
+ConfirmCheck=Confirmation
+Prompt=Invite
+# LOCALIZATION NOTE - %S is brandFullName
+PromptUsernameAndPassword3=Authentification requise - %S
+# LOCALIZATION NOTE - %S is brandFullName
+PromptPassword3=Mot de passe nécessaire - %S
+Select=Sélection
+OK=OK
+Cancel=Annuler
+Yes=&Oui
+No=&Non
+Save=&Enregistrer
+Revert=&Revenir
+DontSave=Ne &pas enregistrer
+ScriptDlgGenericHeading=[Application JavaScript]
+ScriptDlgHeading=Annonce de la page %S :
+ScriptDlgNullPrincipalHeading=Cette page annonce :
+ScriptDialogLabel=Empêcher cette page d’ouvrir des dialogues supplémentaires
+ScriptDialogLabelNullPrincipal=Ne pas autoriser ce site à vous solliciter à nouveau
+# LOCALIZATION NOTE (ScriptDialogLabelContentPrincipal):
+# %S is either the domain and port of the site prompting, or the name of
+# an add-on prompting.
+ScriptDialogLabelContentPrincipal=Ne pas autoriser %S à vous solliciter à nouveau
+ScriptDialogPreventTitle=Confirmation de la préférence de dialogue
+# LOCALIZATION NOTE (EnterLoginForRealm3, EnterLoginForProxy3):
+# %1 is an untrusted string provided by a remote server. It could try to
+# take advantage of sentence structure in order to mislead the user (see
+# bug 244273). %1 should be integrated into the translated sentences as
+# little as possible. %2 is the url of the site being accessed.
+EnterLoginForRealm3=Le site %2$S demande un nom d’utilisateur et un mot de passe. Le site indique : « %1$S »
+EnterLoginForProxy3=Le proxy %2$S demande un nom d’utilisateur et un mot de passe. Le site indique : « %1$S »
+EnterUserPasswordFor2=%1$S demande un nom d’utilisateur et un mot de passe.
+EnterUserPasswordForCrossOrigin2=%1$S demande un nom d’utilisateur et un mot de passe. AVERTISSEMENT : votre mot de passe ne sera pas envoyé au site web que vous visitez.
+EnterPasswordFor=Saisissez le mot de passe pour %1$S sur %2$S
+EnterCredentials=Ce site vous demande de vous connecter.
+# %S is the username for which a password is requested.
+EnterPasswordOnlyFor=Ce site vous demande de vous connecter en tant que %S.
+# %S is the domain of the site being accessed.
+EnterCredentialsCrossOrigin=Ce site vous demande de vous connecter. Attention : vos informations de connexion seront partagées avec %S, et non avec le site web que vous visitez actuellement.
+SignIn=Connexion
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/global/contentAreaCommands.properties b/thunderbird-l10n/fr/chrome/fr/locale/fr/global/contentAreaCommands.properties
new file mode 100644
index 0000000000..f2b6eba1dc
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/global/contentAreaCommands.properties
@@ -0,0 +1,28 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# context menu strings
+
+SaveImageTitle=Enregistrer l’image
+SaveMediaTitle=Enregistrer le média
+SaveVideoTitle=Enregistrer la vidéo
+SaveAudioTitle=Enregistrer le fichier audio
+SaveLinkTitle=Enregistrer sous
+WebPageCompleteFilter=Page web, complète
+WebPageHTMLOnlyFilter=Page web, HTML uniquement
+WebPageXHTMLOnlyFilter=Page web, XHTML uniquement
+WebPageSVGOnlyFilter=Page web, SVG uniquement
+WebPageXMLOnlyFilter=Page web, XML uniquement
+
+# LOCALIZATION NOTE (UntitledSaveFileName):
+# This is the default filename used when saving a file if a filename could
+# not be determined or if a filename was invalid. A period and file
+# extension may be appended to this string.
+UntitledSaveFileName=Sans titre
+
+# LOCALIZATION NOTE (filesFolder):
+# This is the name of the folder that is created parallel to a HTML file
+# when it is saved "With Images". The %S section is replaced with the
+# leaf name of the file being saved (minus extension).
+filesFolder=%S_fichiers
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/global/css.properties b/thunderbird-l10n/fr/chrome/fr/locale/fr/global/css.properties
new file mode 100644
index 0000000000..3d4b6960e8
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/global/css.properties
@@ -0,0 +1,52 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+MimeNotCss=La feuille de style %1$S n’a pas été chargée car son type MIME, « %2$S », n’est pas « text/css ».
+MimeNotCssWarn=La feuille de style %1$S a été chargée comme CSS même si son type MIME, « %2$S », n’est pas « text/css ».
+
+PEDeclDropped=Déclaration abandonnée.
+PEDeclSkipped=Passage à la déclaration suivante.
+PEUnknownProperty=Propriété « %1$S » inconnue.
+PEPRSyntaxFieldEmptyInput=Le descripteur de syntaxe @property est vide.
+PEPRSyntaxFieldExpectedPipe=Le descripteur de syntaxe @property « %S » contient plusieurs composants sans caractère « | » (pipe) entre eux.
+PEPRSyntaxFieldInvalidNameStart=Le descripteur de syntaxe @property « %S » contient un nom de composant qui commence par un caractère invalide.
+PEPRSyntaxFieldInvalidName=Le descripteur de syntaxe @property « %S » contient un nom de composant avec un caractère invalide.
+PEPRSyntaxFieldUnclosedDataTypeName=Le descripteur de syntaxe @property « %S » contient un nom de type de données non fermé.
+PEPRSyntaxFieldUnexpectedEOF=Le descripteur de syntaxe @property « %S » est incomplet.
+PEPRSyntaxFieldUnknownDataTypeName=Le descripteur de syntaxe @property « %S » contient un nom de type de données inconnu.
+PEValueParsingError=Erreur d’analyse de la valeur pour « %1$S ».
+PEUnknownAtRule=Règle « at » non reconnue ou erreur d’analyse de la règle « %1$S ».
+PEMQUnexpectedOperator=Opérateur inattendu « %1$S » dans la liste des médias.
+PEMQUnexpectedToken=Jeton inattendu « %1$S » dans la liste des médias.
+PEAtNSUnexpected=Token inattendu au sein de @namespace : « %1$S ».
+PEKeyframeBadName=Identificateur attendu pour le nom de la règle @keyframes.
+PEBadSelectorRSIgnored=Jeu de règles ignoré suite à un mauvais sélecteur.
+PEBadSelectorKeyframeRuleIgnored=Règle keyframe ignorée suite à un mauvais sélecteur.
+PESelectorGroupNoSelector=Sélecteur attendu.
+PESelectorGroupExtraCombinator=Combinateur bloquant.
+PEClassSelNotIdent=Identifiant pour un sélecteur de classe attendu, mais « %1$S » trouvé.
+PETypeSelNotType=Nom d’élément ou « * » attendu, mais « %1$S » trouvé.
+PEUnknownNamespacePrefix=Préfixe d’espace de noms « %1$S » inconnu.
+PEAttributeNameExpected=Identifiant pour un nom d’attribut attendu, mais « %1$S » trouvé.
+PEAttributeNameOrNamespaceExpected=Nom d’attribut ou espace de noms attendu, mais « %1$S » trouvé.
+PEAttSelNoBar=« | » attendu, mais « %1$S » trouvé.
+PEAttSelUnexpected=Token inattendu dans un sélecteur d’attribut : « %1$S ».
+PEAttSelBadValue=Identifiant ou chaîne pour la valeur attendu dans un sélecteur d’attribut, mais « %1$S » trouvé.
+PEPseudoSelBadName=Identifiant pour pseudo-classe ou pseudo-élément attendu, mais « %1$S » trouvé.
+PEPseudoSelEndOrUserActionPC=Fin de sélecteur ou pseudo-classe d’action utilisateur attendu après un pseudo-élément mais « %1$S » trouvé.
+PEPseudoSelUnknown=Pseudo-classe ou pseudo-élément « %1$S » inconnu.
+PEPseudoClassArgNotIdent=Identifiant pour paramètre de pseudo-classe attendu, mais « %1$S » trouvé.
+PEColorNotColor=Couleur attendue, mais « %1$S » trouvé.
+PEParseDeclarationDeclExpected=Déclaration attendue, mais « %1$S » trouvé.
+PEUnknownFontDesc=Descripteur « %1$S » inconnu dans la règle @font-face.
+PEMQExpectedFeatureName=Nom de fonctionnalité média attendue, mais « %1$S » trouvé.
+PEMQNoMinMaxWithoutValue=Les fonctionnalités média avec min- ou max- doivent avoir une valeur.
+PEMQExpectedFeatureValue=Valeur non valide trouvée pour la fonctionnalité de média.
+PEExpectedNoneOrURL=« none » ou URL attendu, mais « %1$S » trouvé.
+PEExpectedNoneOrURLOrFilterFunction=« none », URL, ou fonction filter attendu, mais « %1$S » trouvé.
+PEDisallowedImportRule=Les règles @import ne sont pas encore valides dans les feuilles de style construites.
+PENeverMatchingHostSelector=Le sélecteur :host dans « %S » n’est pas sans caractéristiques et ne correspondra jamais à rien. Peut-être aviez-vous l’intention d’utiliser :host() ?
+
+TooLargeDashedRadius=La valeur de border radius est trop importante pour le style « dashed » (la limite est 100000 px). Le rendu sera effectué avec le style « solid ».
+TooLargeDottedRadius=La valeur de border radius est trop importante pour le style « dotted » (la limite est 100000 px). Le rendu sera effectué avec le style « solid ».
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/global/dialog.properties b/thunderbird-l10n/fr/chrome/fr/locale/fr/global/dialog.properties
new file mode 100644
index 0000000000..c5c09e542e
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/global/dialog.properties
@@ -0,0 +1,12 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+button-accept=OK
+button-cancel=Annuler
+button-help=Aide
+button-disclosure=Plus d’infos
+accesskey-accept=
+accesskey-cancel=
+accesskey-help=i
+accesskey-disclosure=o
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/global/dom/dom.properties b/thunderbird-l10n/fr/chrome/fr/locale/fr/global/dom/dom.properties
new file mode 100644
index 0000000000..63475919bf
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/global/dom/dom.properties
@@ -0,0 +1,478 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+KillScriptTitle=Attention : le script ne répond pas
+KillScriptMessage=Un script sur cette page est peut-être occupé ou ne répond plus. Vous pouvez arrêter le script maintenant ou continuer pour voir si le script se terminera.
+KillScriptWithDebugMessage=Un script sur cette page est peut-être occupé ou ne répond plus. Vous pouvez arrêter le script maintenant, l’ouvrir dans le débogueur ou le laisser continuer.
+KillScriptLocation=Script : %S
+
+KillAddonScriptTitle=Attention : le script d’une extension ne répond pas
+# LOCALIZATION NOTE (KillAddonScriptMessage): %1$S is the name of an extension.
+# %2$S is the name of the application (e.g., Firefox).
+KillAddonScriptMessage=Un script de l’extension « %1$S » est en cours d’exécution sur cette page et empêche %2$S de répondre.\n\nLe script est peut-être occupé ou ne répond plus. Vous pouvez arrêter le script maintenant ou bien patienter pour voir s’il termine son exécution.
+KillAddonScriptGlobalMessage=Empêcher le script de l’extension de s’exécuter sur cette page jusqu’à son prochain chargement
+
+StopScriptButton=Arrêter le script
+DebugScriptButton=Déboguer le script
+WaitForScriptButton=Continuer
+DontAskAgain=&Ne plus demander à l’avenir
+WindowCloseBlockedWarning=Les scripts ne peuvent pas fermer une fenêtre qui n’a pas été ouverte par un script.
+OnBeforeUnloadTitle=Confirmation
+OnBeforeUnloadMessage2=Cette page vous demande de confirmer sa fermeture ; des données que vous avez saisies pourraient ne pas être enregistrées.
+OnBeforeUnloadStayButton=Rester sur la page
+OnBeforeUnloadLeaveButton=Quitter la page
+EmptyGetElementByIdParam=Une chaîne vide a été transmise à « getElementById() ».
+SpeculationFailed2=Un arbre non équilibré a été écrit utilisant document.write(), provoquant une nouvelle analyse des données provenant du réseau. Plus d’informations : https://developer.mozilla.org/en-US/docs/Glossary/speculative_parsing
+DocumentWriteIgnored=Un appel à « document.write() » d’un script externe chargé de manière asynchrone a été ignoré.
+# LOCALIZATION NOTE (EditorFileDropFailed): Do not translate contenteditable, %S is the error message explaining why the drop failed.
+EditorFileDropFailed=Le dépôt d’un fichier dans un élément contenteditable a échoué : %S.
+FormValidationTextTooLong=Veuillez raccourcir ce champ à %S caractères ou moins (vous utilisez actuellement %S caractères).
+FormValidationTextTooShort=Veuillez utiliser au moins %S caractères pour ce champ (vous utilisez actuellement %S caractères).
+FormValidationValueMissing=Veuillez compléter ce champ.
+FormValidationCheckboxMissing=Veuillez cocher cette case si vous désirez poursuivre.
+FormValidationRadioMissing=Veuillez sélectionner l’une de ces options.
+FormValidationFileMissing=Veuillez sélectionner un fichier.
+FormValidationSelectMissing=Veuillez sélectionner un élément de la liste.
+FormValidationInvalidEmail=Veuillez saisir une adresse e-mail valide.
+FormValidationInvalidURL=Veuillez saisir une URL.
+FormValidationInvalidDate=Veuillez saisir une date valide.
+FormValidationInvalidTime=Veuillez saisir une date valide.
+FormValidationInvalidDateTime=Veuillez saisir une date et une heure valides.
+FormValidationInvalidDateMonth=Veuillez saisir un mois valide.
+FormValidationInvalidDateWeek=Veuillez saisir une semaine valide.
+FormValidationPatternMismatch=Veuillez modifier la valeur pour correspondre au format demandé.
+# LOCALIZATION NOTE (FormValidationPatternMismatchWithTitle): %S is the (possibly truncated) title attribute value.
+FormValidationPatternMismatchWithTitle=Veuillez modifier la valeur du champ pour correspondre au format demandé : %S.
+# LOCALIZATION NOTE (FormValidationNumberRangeOverflow): %S is a number.
+FormValidationNumberRangeOverflow=Veuillez sélectionner une valeur inférieure ou égale à %S.
+# LOCALIZATION NOTE (FormValidationDateTimeRangeOverflow): %S is a date or a time.
+FormValidationDateTimeRangeOverflow=Veuillez sélectionner une valeur antérieure ou égale à %S.
+# LOCALIZATION NOTE (FormValidationNumberRangeUnderflow): %S is a number.
+FormValidationNumberRangeUnderflow=Veuillez sélectionner une valeur supérieure ou égale à %S.
+# LOCALIZATION NOTE (FormValidationDateTimeRangeUnderflow): %S is a date or a time.
+FormValidationDateTimeRangeUnderflow=Veuillez sélectionner une valeur postérieure ou égale à %S.
+# LOCALIZATION NOTE (FormValidationStepMismatch): both %S can be a number, a date or a time.
+FormValidationStepMismatch=Veuillez sélectionner une valeur valide. Les deux valeurs valides les plus proches sont %S et %S.
+# LOCALIZATION NOTE (FormValidationStepMismatchOneValue): %S can be a number, a date or a time. This is called instead of FormValidationStepMismatch when the second value is the same as the first.
+FormValidationStepMismatchOneValue=Veuillez sélectionner une valeur valide. La valeur valide la plus proche est %S.
+# LOCALIZATION NOTE (FormValidationTimeReversedRangeUnderflowAndOverflow): %1$S,%2$S are time.
+FormValidationTimeReversedRangeUnderflowAndOverflow=Veuillez sélectionner une valeur entre %1$S et %2$S.
+FormValidationBadInputNumber=Veuillez saisir un nombre.
+FullscreenDeniedDisabled=La requête d’accès au plein écran a été refusée, car l’API « full-screen » est désactivée dans les préférences utilisateur.
+FullscreenDeniedFocusedPlugin=La requête d’accès au plein écran a été refusée, car un plugin fenêtré est sélectionné.
+FullscreenDeniedHidden=La requête d’accès au plein écran a été refusée, car le document n’est plus visible.
+FullscreenDeniedHTMLDialog=La requête d’accès au plein écran a été refusée, car son origine est un élément <dialog>.
+FullscreenDeniedContainerNotAllowed=La requête d’accès au plein écran a été refusée, car au moins l’un des éléments contenus dans le document n’est pas un iframe ou ne possède pas l’attribut « allowfullscreen ».
+FullscreenDeniedNotInputDriven=La requête d’accès au plein écran a été refusée, car Element.requestFullScreen() n’a pas été appelée à l’intérieur d’un gestionnaire d’évènement généré par l’utilisateur.
+FullscreenDeniedMouseEventOnlyLeftBtn=La demande d’accès au plein écran a été refusée, car la fonction Element.requestFullscreen() a été appelée à l’intérieur d’un gestionnaire d’évènement de souris qui n’a pas été déclenché par le bouton gauche de la souris.
+FullscreenDeniedNotHTMLSVGOrMathML=La requête d’accès au plein écran a été refusée, car l’élément ayant effectué la demande n’est pas un élément <svg>, <math>, ni un élément HTML.
+FullscreenDeniedNotInDocument=La requête d’accès au plein écran a été refusée, car l’élément à l’origine de la requête n’est plus dans son document.
+FullscreenDeniedMovedDocument=La requête d’accès au plein écran a été refusée, car l’élément à l’origine de la requête a déplacé le document.
+FullscreenDeniedLostWindow=La requête d’accès au plein écran a été refusée, car il n’y a plus de fenêtre.
+FullscreenDeniedPopoverOpen=La demande de plein écran a été refusée parce que l’élément est déjà ouvert comme popover.
+FullscreenDeniedSubDocFullscreen=La requête d’accès au plein écran a été refusée, car un sous-document du document à l’origine de la requête est déjà en plein écran.
+FullscreenDeniedNotFocusedTab=La requête d’accès au plein écran a été refusée, car l’élément à l’origine de la requête n’est pas dans l’onglet actuellement sélectionné.
+FullscreenDeniedFeaturePolicy=La demande de plein écran a été refusée en raison de directives FeaturePolicy.
+FullscreenExitWindowFocus=Sortie du mode plein écran, car une fenêtre a été sélectionnée.
+RemovedFullscreenElement=Sortie du mode plein écran, car l’élément plein écran a été supprimé du document.
+FocusedWindowedPluginWhileFullscreen=Sortie du mode plein écran, car un plugin fenêtré a été sélectionné.
+PointerLockDeniedDisabled=La demande de verrouillage du pointeur a été refusée, car l’API Pointer Lock a été désactivée selon les préférences de l’utilisateur.
+PointerLockDeniedInUse=La demande de verrouillage du pointeur a été refusée, car le pointeur est contrôlé par un autre document.
+PointerLockDeniedNotInDocument=La demande de verrouillage du pointeur a été refusée, car l’élément ayant effectué la demande ne se trouve pas dans un document.
+PointerLockDeniedSandboxed=La demande de verrouillage du pointeur a été refusée, car l’API Pointer Lock est restreinte par le bac à sable.
+PointerLockDeniedHidden=La demande de verrouillage du pointeur a été refusée, car le document n’est pas visible.
+PointerLockDeniedNotFocused=La demande de verrouillage du pointeur a été refusée, car le document n’est pas sélectionné.
+PointerLockDeniedMovedDocument=La demande de verrouillage du pointeur a été refusée, car l’élément ayant effectué la demande a changé de document.
+PointerLockDeniedNotInputDriven=La demande de verrouillage du pointeur a été refusée, car Element.requestPointerLock() n’a pas été appelé depuis un gestionnaire d’évènement généré par l’utilisateur et que le document n’est pas en plein écran.
+PointerLockDeniedFailedToLock=La demande de verrouillage du pointeur a été refusée, car le navigateur n’est pas parvenu à verrouiller le pointeur.
+HTMLSyncXHRWarning=L’analyse syntaxique du HTML dans XMLHttpRequest n’est pas gérée en mode synchrone.
+# LOCALIZATION NOTE: %S is the name of the header in question
+ForbiddenHeaderWarning=Une tentative visant à définir un en-tête interdit a été bloquée : %S
+ResponseTypeSyncXHRWarning=L’utilisation de l’attribut « responseType » dans XMLHttpRequest n’est plus gérée en mode synchrone dans le contexte de fenêtre.
+TimeoutSyncXHRWarning=L’utilisation de l’attribut XMLHttpRequest « timeout » n’est pas géré en mode synchrone dans un contexte de fenêtre.
+# LOCALIZATION NOTE: Do not translate navigator.sendBeacon, unload, pagehide, or XMLHttpRequest.
+UseSendBeaconDuringUnloadAndPagehideWarning=L’utilisation de navigator.sendBeacon au lieu de XMLHttpRequest synchrones pendant le déchargement ou le masquage de la page améliore l’expérience utilisateur.
+JSONCharsetWarning=Une tentative a été faite pour déclarer un encodage non UTF-8 pour du JSON récupéré en utilisant XMLHttpRequest. Seul UTF-8 est géré pour le décodage du JSON.
+# LOCALIZATION NOTE: Do not translate HTMLMediaElement and createMediaElementSource.
+MediaElementAudioSourceNodeCrossOrigin=Le HTMLMediaElement passé à createMediaElementSource possède une ressource multiorigine, le nœud produira un silence.
+# LOCALIZATION NOTE: Do not translate MediaStream and createMediaStreamSource.
+MediaStreamAudioSourceNodeCrossOrigin=Le MediaStream passé à createMediaStreamSource possède une ressource multiorigine, le nœud produira un silence.
+# LOCALIZATION NOTE : Do not translate MediaStreamTrack and createMediaStreamTrackSource.
+MediaStreamTrackAudioSourceNodeCrossOrigin=La MediaStreamTrack passée à createMediaStreamTrackSource est une ressource multiorigine, le nœud produira du silence.
+# LOCALIZATION NOTE: Do not translate HTMLMediaElement and MediaStream.
+MediaElementAudioCaptureOfMediaStreamError=L’élément capturé HTMLMediaElement lit un élément MediaStream. Appliquer un état muet ou un volume n’est pas pris en charge.
+# LOCALIZATION NOTE: Do not translate HTMLMediaElement and MediaStream.
+MediaElementStreamCaptureCycle=Le MediaStream affecté à srcObject provient d’une capture de cet élément HTMLMediaElement, formant un cycle. L’affectation a été ignorée.
+MediaLoadExhaustedCandidates=Le chargement de toutes les ressources possibles a échoué. Le chargement du média a été arrêté.
+MediaLoadSourceMissingSrc=L’élément <source> n’a pas d’attribut « src ». Le chargement de la ressource média a échoué.
+MediaStreamAudioSourceNodeDifferentRate=La connexion d’AudioNodes à partir d’AudioContexts avec une fréquence d’échantillonnage différente n’est actuellement pas prise en charge.
+# LOCALIZATION NOTE: %1$S is the Http error code the server returned (e.g. 404, 500, etc), %2$S is the URL of the media resource which failed to load.
+MediaLoadHttpError=Le chargement HTTP a échoué avec l’erreur %1$S. Le chargement de la ressource média %2$S a échoué.
+# LOCALIZATION NOTE: %S is the URL of the media resource which failed to load.
+MediaLoadInvalidURI=URI invalide. Le chargement de la ressource média %S a échoué.
+# LOCALIZATION NOTE: %1$S is the media resource's format/codec type (basically equivalent to the file type, e.g. MP4,AVI,WMV,MOV etc), %2$S is the URL of the media resource which failed to load.
+MediaLoadUnsupportedTypeAttribute=L’attribut « type » spécifié sur « %1$S » n’est pas géré. Le chargement de la ressource média %2$S a échoué.
+MediaLoadUnsupportedTypeAttributeLoadingNextChild=L’attribut « type » spécifié sur « %1$S » n’est pas pris en charge. Le chargement de la ressource multimédia %2$S a échoué. Essai de chargement à partir de l’élément <source> suivant.
+# LOCALIZATION NOTE: %1$S is the MIME type HTTP header being sent by the web server, %2$S is the URL of the media resource which failed to load.
+MediaLoadUnsupportedMimeType=Le « Content-Type » HTTP « %1$S » n’est pas géré. Le chargement de la ressource média %2$S a échoué.
+# LOCALIZATION NOTE: %S is the URL of the media resource which failed to load because of error in decoding.
+MediaLoadDecodeError=La ressource média %S n’a pu être décodée.
+MediaWidevineNoWMF=Tentative de lecture Widevine sans Windows Media Foundation. Veuillez consulter https://support.mozilla.org/kb/fix-video-audio-problems-firefox-windows
+# LOCALIZATION NOTE: %S is a comma-separated list of codecs (e.g. 'video/mp4, video/webm')
+MediaWMFNeeded=Pour lire les formats vidéo %S, vous devez installer un logiciel Microsoft supplémentaire, veuillez consulter https://support.mozilla.org/kb/fix-video-audio-problems-firefox-windows
+# LOCALIZATION NOTE: %S is a comma-separated list of codecs (e.g. 'video/mp4, video/webm')
+MediaPlatformDecoderNotFound=La vidéo sur cette page ne peut pas être lue. Votre système ne dispose peut-être pas des codecs vidéo nécessaires pour : %S
+MediaUnsupportedLibavcodec=La vidéo sur cette page ne peut pas être lue. Votre système dispose d’une version non prise en charge de libavcodec
+# LOCALIZATION NOTE: %1$S is the URL of the media resource, %2$S is technical information (in English)
+MediaDecodeError=La ressource multimédia %1$S n’a pas pu être décodée, erreur : %2$S
+# LOCALIZATION NOTE: %1$S is the URL of the media resource, %2$S is technical information (in English)
+MediaDecodeWarning=La ressource multimédia %1$S a pu être décodée, mais une erreur est survenue : %2$S
+# LOCALIZATION NOTE: %S is a comma-separated list of codecs (e.g. 'video/mp4, video/webm')
+MediaCannotPlayNoDecoders=Impossible de lire le média. Aucun décodeur pour les formats nécessaires : %S
+# LOCALIZATION NOTE: %S is a comma-separated list of codecs (e.g. 'video/mp4, video/webm')
+MediaNoDecoders=Aucun décodeur pour certains des formats nécessaires : %S
+MediaCannotInitializePulseAudio=Impossible d’utiliser PulseAudio
+# LOCALIZATION NOTE: %S is the URL of the web page which is not served on HTTPS and thus is not encrypted and considered insecure.
+MediaEMEInsecureContextDeprecatedWarning=L’utilisation des Encrypted Media Extensions sur %S dans un contexte non sécurisé (c’est-à-dire non HTTPS) est obsolète et ne sera bientôt plus possible. Vous devriez envisager d’avoir recours à une source sécurisée via HTTPS par exemple.
+# LOCALIZATION NOTE: %S is the URL of the web page which is calling web APIs without passing data (either an audioCapabilities or a videoCapabilities) that will soon be required. See https://bugzilla.mozilla.org/show_bug.cgi?id=1368583#c21 for explanation of this string.
+MediaEMENoCapabilitiesDeprecatedWarning=L’appel à navigator.requestMediaKeySystemAccess() (depuis %S) sans passer un MediaKeySystemConfiguration candidat contenant audioCapabilities ou videoCapabilities est obsolète et ne sera bientôt plus pris en charge.
+# LOCALIZATION NOTE: %S is the URL of the web page which is calling web APIs without passing data (a "codecs" string in the "contentType") that will soon be required. See https://bugzilla.mozilla.org/show_bug.cgi?id=1368583#c21 for explanation of this string.
+MediaEMENoCodecsDeprecatedWarning=L’appel à navigator.requestMediaKeySystemAccess() (depuis %S) sans passer un MediaKeySystemConfiguration candidat contenant audioCapabilities ou videoCapabilities sans contentType possédant une chaîne « codecs » est obsolète et ne sera bientôt plus pris en charge.
+# LOCALIZATION NOTE: Do not translate "Mutation Event" and "MutationObserver"
+MutationEventWarning=L’utilisation des « Mutation Events » est obsolète. Utiliser « MutationObserver » à la place.
+BlockAutoplayError=La lecture automatique n’est autorisée que lorsqu’elle a été approuvée par l’utilisateur, que le site est activé par l’utilisateur, ou que le média est muet.
+BlockAutoplayWebAudioStartError=Un AudioContext n’a pas pu démarrer automatiquement. Il doit être créé ou repris après un geste de l’utilisateur sur la page.
+# LOCALIZATION NOTE: Do not translate "Components"
+ComponentsWarning=L’objet « Components » est obsolète. Il sera bientôt supprimé.
+PluginHangUITitle=Attention : le plugin ne répond pas
+PluginHangUIMessage=%S est peut-être occupé ou ne répond plus. Vous pouvez arrêter le plugin maintenant ou continuer pour voir s’il terminera son action.
+PluginHangUIWaitButton=Continuer
+PluginHangUIStopButton=Arrêter le plugin
+# LOCALIZATION NOTE: Do not translate "NodeIterator" or "detach()".
+NodeIteratorDetachWarning=Appeler detach() sur un NodeIterator n’a plus aucun effet.
+# LOCALIZATION NOTE: Do not translate "LenientThis" and "this"
+LenientThisWarning=Lecture ou assignation des propriétés possédant [LenientThis] ignorées car l’objet « this » est incorrect.
+# LOCALIZATION NOTE: Do not translate "captureEvents()" or "addEventListener()"
+UseOfCaptureEventsWarning=L’utilisation de « captureEvents() » est déconseillée. Pour mettre à jour votre code, utilisez la méthode « addEventListener() » du DOM 2. Pour plus de détails, consultez http://developer.mozilla.org/fr/docs/DOM:element.addEventListener
+# LOCALIZATION NOTE: Do not translate "releaseEvents()" or "removeEventListener()"
+UseOfReleaseEventsWarning=L’utilisation de « releaseEvents() » est déconseillée. Pour mettre à jour votre code, utilisez la méthode « removeEventListener() » du DOM 2. Pour plus de détails, consultez http://developer.mozilla.org/fr/docs/DOM:element.removeEventListener
+# LOCALIZATION NOTE: Do not translate "XMLHttpRequest"
+SyncXMLHttpRequestWarning=L’utilisation d’XMLHttpRequest de façon synchrone sur le fil d’exécution principal est obsolète à cause de son impact négatif sur la navigation de l’utilisateur final. Consulter http://xhr.spec.whatwg.org/ pour plus d’informations.
+# LOCALIZATION NOTE: Do not translate "XMLHttpRequest"
+SyncXMLHttpRequestDeprecatedWarning=L’utilisation d’XMLHttpRequest de façon synchrone sur le fil d’exécution principal est obsolète à cause de son impact négatif sur la navigation de l’utilisateur final. Consulter https://xhr.spec.whatwg.org/#sync-warning pour plus d’informations.
+# LOCALIZATION NOTE: Do not translate "window.controllers/Controllers"
+Window_Cc_ontrollersWarning=window.controllers/Controllers est obsolète. Veuillez ne pas l’utiliser pour détecter l’agent utilisateur (UA).
+ImportXULIntoContentWarning=L’importation de nœuds XUL dans le contenu d’un document est obsolète. Cette fonctionnalité pourrait être bientôt retirée.
+# LOCALIZATION NOTE: Do not translate "IndexedDB".
+IndexedDBTransactionAbortNavigation=Une transaction IndexedDB incomplète a été annulée en raison de la navigation vers une autre page.
+# LOCALIZATION NOTE: Do not translate Will-change, %1$S,%2$S are numbers.
+IgnoringWillChangeOverBudgetWarning=La mémoire consommée par will-change est trop importante. La limite du budget correspond à la surface multipliée par %1$S (%2$S px). Les occurrences de will-change dépassant le budget seront ignorées.
+# LOCALIZATION NOTE: Do not translate "Worker".
+HittingMaxWorkersPerDomain2=Un « worker » n’a pas pu démarrer immédiatement car d’autres documents partageant la même origine utilisent déjà le nombre maximum de « workers ». Le « worker » a été mis en attente et sera démarré une fois que d’autres « workers » auront terminé.
+# LOCALIZATION NOTE: Do not translate "Application Cache API", "AppCache" and "ServiceWorker".
+AppCacheWarning=L’API Application Cache (AppCache) est obsolète et sera retirée prochainement. Veuillez envisager l’utilisation de ServiceWorker pour la prise en charge du mode hors connexion.
+# LOCALIZATION NOTE: Do not translate "Worker".
+EmptyWorkerSourceWarning=Tentative de création d’un « Worker » depuis une source vide. Ceci est probablement involontaire.
+NavigatorGetUserMediaWarning=navigator.mozGetUserMedia a été remplacé par navigator.mediaDevices.getUserMedia
+# LOCALIZATION NOTE: Do not translate "RTCPeerConnection", "getLocalStreams", "getRemoteStreams", "getSenders" or "getReceivers".
+RTCPeerConnectionGetStreamsWarning=RTCPeerConnection.getLocalStreams/getRemoteStreams sont obsolètes. Veuillez utiliser RTCPeerConnection.getSenders/getReceivers à la place.
+# LOCALIZATION NOTE: Do not translate "ServiceWorker". %S is a URL.
+InterceptionFailedWithURL=Impossible de charger « %S ». Un service worker a intercepté la requête et a rencontré une erreur inattendue.
+# LOCALIZATION NOTE: Do not translate "ServiceWorker", "cors", "Response", "same-origin" or "Request". %1$S is a URL, %2$S is a URL.
+CorsResponseForSameOriginRequest=Échec du chargement de « %1$S » en répondant à « %2$S ». Un ServiceWorker n’est pas autorisé à produire une réponse CORS pour une requête same-origin.
+# LOCALIZATION NOTE: Do not translate "ServiceWorker", "FetchEvent.respondWith()", "FetchEvent", "no-cors", "opaque", "Response", or "RequestMode". %1$S is a URL. %2$S is a RequestMode value.
+BadOpaqueInterceptionRequestModeWithURL=Impossible de charger « %1$S ». Un ServiceWorker a transmis un objet « Response » de type « opaque » à FetchEvent.respondWith() pendant le traitement d’un FetchEvent « %2$S ». Les objets « Response » de type « opaque » sont uniquement valides lorsque RequestMode est de type « no-cors ».
+# LOCALIZATION NOTE: Do not translate "ServiceWorker", "Error", "Response", "FetchEvent.respondWith()", or "fetch()". %S is a URL.
+InterceptedErrorResponseWithURL=Impossible de charger « %S ». Un ServiceWorker a transmis un objet « Error Response » à FetchEvent.respondWith(). Cela signifie généralement que le ServiceWorker a effectué un appel fetch() invalide.
+# LOCALIZATION NOTE: Do not translate "ServiceWorker", "Response", "FetchEvent.respondWith()", or "Response.clone()". %S is a URL.
+InterceptedUsedResponseWithURL=Impossible de charger « %S ». Un ServiceWorker a transmis un objet « Response » déjà utilisé à FetchEvent.respondWith(). Le corps de la réponse ne peut être utilisé qu’une seule fois. Utilisez Response.clone() pour utiliser le corps de la réponse plusieurs fois.
+# LOCALIZATION NOTE: Do not translate "ServiceWorker", "opaqueredirect", "Response", "FetchEvent.respondWith()", or "FetchEvent". %S is a URL.
+BadOpaqueRedirectInterceptionWithURL=Impossible de charger « %S ». Un ServiceWorker a transmis un objet « Response » de type « opaqueredirect » à FetchEvent.respondWith() alors que la requête traitée n’était pas une requête de navigation.
+# LOCALIZATION NOTE: Do not translate "ServiceWorker", "Response", "FetchEvent.respondWith()", "RedirectMode" or "follow". %S is a URL.
+BadRedirectModeInterceptionWithURL=Impossible de charger « %S ». Un ServiceWorker a transmis un objet « Response » redirigé à FetchEvent.respondWith() alors que RedirectMode n’est pas « follow ».
+# LOCALIZATION NOTE: Do not translate "ServiceWorker" or "FetchEvent.preventDefault()". %S is a URL.
+InterceptionCanceledWithURL=Impossible de charger « %S ». Un service worker a annulé le chargement en appelant FetchEvent.preventDefault().
+# LOCALIZATION NOTE: Do not translate "ServiceWorker", "promise", or "FetchEvent.respondWith()". %1$S is a URL. %2$S is an error string.
+InterceptionRejectedResponseWithURL=Impossible de charger « %1$S ». Un service worker a communiqué un objet « promise » à FetchEvent.respondWith() qui a été rejeté avec la raison « %2$S ».
+# LOCALIZATION NOTE: Do not translate "ServiceWorker", "promise", "FetchEvent.respondWith()", or "Response". %1$S is a URL. %2$S is an error string.
+InterceptedNonResponseWithURL=Impossible de charger « %1$S ». Un service worker a communiqué un objet « promise » à FetchEvent.respondWith() qui a renvoyé une valeur « %2$S » qui n’est pas un objet « Response ».
+
+# LOCALIZATION NOTE: Do not translate "ServiceWorker", "Service-Worker-Allowed" or "HTTP". %1$S and %2$S are URLs.
+ServiceWorkerScopePathMismatch=Impossible d’inscrire un ServiceWorker : le chemin de la portée fournie « %1$S » n’est pas contenu dans la portée maximale autorisée « %2$S ». Ajustez la portée, déplacez le script du service worker, ou utilisez l’en-tête HTTP « Service-Worker-Allowed » pour autoriser cette portée.
+# LOCALIZATION NOTE: Do not translate "ServiceWorker". %1$S is a URL representing the scope of the ServiceWorker, %2$S is a stringified numeric HTTP status code like "404" and %3$S is a URL.
+ServiceWorkerRegisterNetworkError=Impossible d’inscrire/mettre à jour un service worker pour la portée « %1$S » : échec du chargement avec l’état « %2$S » pour le script « %3$S ».
+# LOCALIZATION NOTE: Do not translate "ServiceWorker". %1$S is a URL representing the scope of the ServiceWorker, %2$S is a MIME Media Type like "text/plain" and %3$S is a URL.
+ServiceWorkerRegisterMimeTypeError2=Impossible d’enregistrer/de mettre à jour un ServiceWorker pour la portée « %1$S » : type de contenu incorrect « %2$S » reçu pour le script « %3$S ». Il doit s’agir d’un type MIME JavaScript.
+# LOCALIZATION NOTE: Do not translate "ServiceWorker". %S is a URL representing the scope of the ServiceWorker.
+ServiceWorkerRegisterStorageError=Impossible d’inscrire/mettre à jour un service worker pour la portée « %S » : l’accès au stockage est limité dans ce contexte en raison des paramètres de l’utilisateur ou du mode de navigation privée.
+ServiceWorkerGetRegistrationStorageError=Impossible d’obtenir les informations d’inscription du service worker : l’accès au stockage est limité dans ce contexte en raison des paramètres de l’utilisateur ou du mode de navigation privée.
+ServiceWorkerGetClientStorageError=Impossible d’obtenir des clients du service worker : l’accès au stockage est limité dans ce contexte en raison des paramètres de l’utilisateur ou du mode de navigation privée.
+# LOCALIZATION NOTE: Do not translate "ServiceWorker" and "postMessage". %S is a URL representing the scope of the ServiceWorker.
+ServiceWorkerPostMessageStorageError=Le ServiceWorker pour le champ « %S » n’a pas pu exécuter « postMessage » parce que l’accès au stockage est limité dans ce contexte en raison des paramètres de l’utilisateur ou du mode de navigation privée.
+# LOCALIZATION NOTE: Do not translate "ServiceWorker". %1$S is a URL representing the scope of the ServiceWorker.
+ServiceWorkerGraceTimeoutTermination=Le ServiceWorker pour la portée « %1$S » qui possède des promesses « waitUntil/respondWith » en attente a été terminé, car le délai d’attente maximal a été atteint.
+# LOCALIZATION NOTE (ServiceWorkerNoFetchHandler): Do not translate "Fetch".
+ServiceWorkerNoFetchHandler=Les gestionnaires d’évènements fetch doivent être ajoutés pendant l’évaluation initiale du script du worker.
+ExecCommandCutCopyDeniedNotInputDriven=La commande document.execCommand('cut'/'copy') a été rejetée parce qu’elle n’a pas été appelée à l’intérieur d’un gestionnaire d’évènement généré par l’utilisateur.
+ManifestIdIsInvalid=Le membre id ne peut être résolu en une URL valide.
+ManifestIdNotSameOrigin=Le membre id doit avoir la même origine que le membre start_url.
+ManifestShouldBeObject=Le manifeste doit être un objet.
+ManifestScopeURLInvalid=La portée de l’URL est invalide.
+ManifestScopeNotSameOrigin=La portée de l’URL doit posséder la même origine que le document.
+ManifestStartURLOutsideScope=L’URL de lancement est en dehors de la portée. La portée est donc invalide.
+ManifestStartURLInvalid=L’URL de lancement est invalide.
+ManifestStartURLShouldBeSameOrigin=L’URL de lancement doit posséder la même origine que le document.
+# LOCALIZATION NOTE: %1$S is the name of the object whose property is invalid. %2$S is the name of the invalid property. %3$S is the expected type of the property value. E.g. "Expected the manifest's start_url member to be a string."
+ManifestInvalidType=Le membre %2$S de l’objet %1$S aurait dû être de type %3$S.
+# LOCALIZATION NOTE: %1$S is the name of the property whose value is invalid. %2$S is the (invalid) value of the property. E.g. "theme_color: 42 is not a valid CSS color."
+ManifestInvalidCSSColor=%1$S : %2$S n’est pas une couleur CSS valide.
+# LOCALIZATION NOTE: %1$S is the name of the property whose value is invalid. %2$S is the (invalid) value of the property. E.g. "lang: 42 is not a valid language code."
+ManifestLangIsInvalid=%1$S : %2$S n’est pas un code de langue valide.
+# LOCALIZATION NOTE: %1$S is the name of the parent property whose value is invalid (e.g., "icons"). %2$S is the index of the image object that is invalid (from 0). %3$S is the name of actual member that is invalid. %4$S is the invalid value. E.g. "icons item at index 2 is invalid. The src member is an invalid URL http://:Invalid"
+ManifestImageURLIsInvalid=L’élément « %1$S » en position %2$S n’est pas valide. Le membre « %3$S » est une URL non valide : %4$S
+# LOCALIZATION NOTE: %1$S is the name of the parent property that that contains the unusable image object (e.g., "icons"). %2$S is the index of the image object that is unusable (from 0). E.g. "icons item at index 2 lacks a usable purpose. It will be ignored."
+ManifestImageUnusable=L’élément %1$S en position %2$S n’a pas d’objectif utilisable. Il sera ignoré.
+# LOCALIZATION NOTE: %1$S is the name of the parent property that contains the unsupported value (e.g., "icons"). %2$S is the index of the image object that has the unsupported value (from 0). %3$S are the unknown purposes. E.g. "icons item at index 2 includes unsupported purpose(s): a b."
+ManifestImageUnsupportedPurposes=L’élément %1$S en position %2$S comporte un ou plusieurs objectifs non pris en charge : %3$S.
+# LOCALIZATION NOTE: %1$S is the name of the parent property that has a repeated purpose (e.g., "icons"). %2$S is the index of the image object that has the repeated purpose (from 0). %3$S is the repeated purposes. E.g. "icons item at index 2 includes repeated purpose(s): a b."
+ManifestImageRepeatedPurposes=L’élément %1$S en position %2$S comprend des objectifs répétés : %3$S.
+PatternAttributeCompileFailure=Impossible de vérifier <input pattern='%S'> car le modèle (pattern) n’est pas une expression régulière valide : %S
+# LOCALIZATION NOTE: Do not translate "postMessage" or DOMWindow. %S values are origins, like https://domain.com:port
+TargetPrincipalDoesNotMatch=Impossible d’exécuter « postMessage » sur « DOMWindow » : l’origine cible fournie (« %S ») ne correspond pas à l’origine de la fenêtre du destinataire (« %S »).
+# LOCALIZATION NOTE: Do not translate 'YouTube'. %S values are origins, like https://domain.com:port
+RewriteYouTubeEmbed=L’ancienne façon d’embarquer des vidéos YouTube Flash (%S) a été réécrite en embarquement d’iframe (%S). Veuillez mettre à jour la page afin d’utiliser un iframe à la place de « embed » ou de « object », si possible.
+# LOCALIZATION NOTE: Do not translate 'YouTube'. %S values are origins, like https://domain.com:port
+RewriteYouTubeEmbedPathParams=L’ancienne façon d’embarquer des vidéos YouTube Flash (%S) a été réécrite en embarquement d’iframe (%S). Les paramètres n’étaient pas pris en charge par l’embarquement d’iframes et ont été convertis. Veuillez mettre à jour la page afin d’utiliser un iframe à la place de « embed » ou de « object », si possible.
+# LOCALIZATION NOTE: This error is reported when the "Encryption" header for an
+# incoming push message is missing or invalid. Do not translate "ServiceWorker",
+# "Encryption", and "salt". %1$S is the ServiceWorker scope URL.
+PushMessageBadEncryptionHeader=Le ServiceWorker pour la portée « %1$S » a rencontré une erreur lors du déchiffrement d’un message push. L’en-tête « Encryption » doit contenir un paramètre « salt » unique pour chaque message. Consultez https://tools.ietf.org/html/draft-ietf-httpbis-encryption-encoding-02#section-3.1 pour plus d’informations.
+# LOCALIZATION NOTE: This error is reported when the "Crypto-Key" header for an
+# incoming push message is missing or invalid. Do not translate "ServiceWorker",
+# "Crypto-Key", and "dh". %1$S is the ServiceWorker scope URL.
+PushMessageBadCryptoKeyHeader=Le ServiceWorker pour la portée « %1$S » a rencontré une erreur lors du déchiffrement d’un message push. L’en-tête « Crypto-Key » doit inclure un paramètre « dh » contenant la clé publique du serveur de l’application. Consultez https://tools.ietf.org/html/draft-ietf-httpbis-encryption-encoding-02#section-4 pour plus d’informations.
+# LOCALIZATION NOTE: This error is reported when a push message fails to decrypt because the deprecated
+# "Encryption-Key" header for an incoming push message is missing or invalid.
+# Do not translate "ServiceWorker", "Encryption-Key", "dh", "Crypto-Key", and
+# "Content-Encoding: aesgcm". %1$S is the ServiceWorker scope URL.
+PushMessageBadEncryptionKeyHeader=Le ServiceWorker pour la portée « %1$S » a rencontré une erreur lors du déchiffrement d’un message push. L’en-tête « Encryption-Key » doit inclure un paramètre « dh ». Cet en-tête est obsolète et sera bientôt supprimé. Veuillez utiliser « Crypto-Key » avec « Content-Encoding: aesgcm » à la place. Consultez https://tools.ietf.org/html/draft-ietf-httpbis-encryption-encoding-02#section-4 pour plus d’informations.
+# LOCALIZATION NOTE: This error is reported when a push message fails to decrypt
+# because the "Content-Encoding" header is missing or contains an
+# unsupported encoding. Do not translate "ServiceWorker", "Content-Encoding",
+# "aesgcm", and "aesgcm128". %1$S is the ServiceWorker scope URL.
+PushMessageBadEncodingHeader=Le ServiceWorker pour la portée « %1$S » a rencontré une erreur lors du déchiffrement d’un message push. L’en-tête « Content-Encoding » doit être « aesgcm ». « aesgcm128 » est autorisé, mais est obsolète et sera bientôt supprimé. Consultez https://tools.ietf.org/html/draft-ietf-httpbis-encryption-encoding-02#section-2 pour plus d’informations.
+# LOCALIZATION NOTE: This error is reported when a push message fails to decrypt
+# because the "dh" parameter is not valid base64url. Do not translate
+# "ServiceWorker", "dh", "Crypto-Key", and "base64url". %1$S is the
+# ServiceWorker scope URL.
+PushMessageBadSenderKey=Le ServiceWorker pour la portée « %1$S » a rencontré une erreur lors du déchiffrement d’un message push. Le paramètre « dh » dans l’en-tête « Crypto-Key » doit être la clé publique Diffie-Hellman du serveur de l’application, encodée en base64url (https://tools.ietf.org/html/rfc7515#appendix-C) et dans une forme « uncompressed » ou « raw » (65 octets avant encodage). Consultez https://tools.ietf.org/html/draft-ietf-httpbis-encryption-encoding-02#section-4 pour plus d’informations.
+# LOCALIZATION NOTE: This error is reported when a push message fails to decrypt
+# because the "salt" parameter is not valid base64url. Do not translate
+# "ServiceWorker", "salt", "Encryption", and "base64url". %1$S is the
+# ServiceWorker scope URL.
+PushMessageBadSalt=Le ServiceWorker pour la portée « %1$S » a rencontré une erreur lors du déchiffrement d’un message push. Le paramètre « salt » de l’en-tête « Encryption » doit être encodé en base64url (https://tools.ietf.org/html/rfc7515#appendix-C), et être composé d’au moins 16 octets avant encodage. Consultez https://tools.ietf.org/html/draft-ietf-httpbis-encryption-encoding-02#section-3.1 pour plus d’informations.
+# LOCALIZATION NOTE: This error is reported when a push message fails to decrypt
+# because the "rs" parameter is not a number, or is less than the pad size.
+# Do not translate "ServiceWorker", "rs", or "Encryption". %1$S is the
+# ServiceWorker scope URL. %2$S is the minimum value (1 for aesgcm128, 2 for
+# aesgcm).
+PushMessageBadRecordSize=Le ServiceWorker pour la portée « %1$S » a rencontré une erreur lors du déchiffrement d’un message push. Le paramètre « rs » de l’en-tête « Encryption » doit être compris entre %2$S et 2^36-31, ou entièrement omis. Consultez https://tools.ietf.org/html/draft-ietf-httpbis-encryption-encoding-02#section-3.1 pour plus d’informations.
+# LOCALIZATION NOTE: This error is reported when a push message fails to decrypt
+# because an encrypted record is shorter than the pad size, the pad is larger
+# than the record, or any of the padding bytes are non-zero. Do not translate
+# "ServiceWorker". %1$S is the ServiceWorker scope URL. %2$S is the pad size
+# (1 for aesgcm128, 2 for aesgcm).
+PushMessageBadPaddingError=Le ServiceWorker pour la portée « %1$S » a rencontré une erreur lors du déchiffrement d’un message push. Un enregistrement dans le message chiffré a été rempli de façon incorrecte. Consultez https://tools.ietf.org/html/draft-ietf-httpbis-encryption-encoding-02#section-2 pour plus d’informations.
+# LOCALIZATION NOTE: This error is reported when push message decryption fails
+# and no specific error info is available. Do not translate "ServiceWorker".
+# %1$S is the ServiceWorker scope URL.
+PushMessageBadCryptoError=Le ServiceWorker pour la portée « %1$S » a rencontré une erreur lors du déchiffrement d’un message push. Pour davantage d’aide sur le chiffrement, veuillez consulter https://developer.mozilla.org/docs/Web/API/Push_API/Using_the_Push_API#Encryption
+# LOCALIZATION NOTE: %1$S is the type of a DOM event. 'passive' is a literal parameter from the DOM spec.
+PreventDefaultFromPassiveListenerWarning=L’appel « preventDefault() » sur un évènement de type « %1$S » depuis un écouteur enregistré comme « passive » a été ignoré.
+# LOCALIZATION NOTE: 'ImageBitmapRenderingContext.transferImageBitmap' and 'ImageBitmapRenderingContext.transferFromImageBitmap' should not be translated
+ImageBitmapRenderingContext_TransferImageBitmapWarning=ImageBitmapRenderingContext.transferImageBitmap est obsolète et sera bientôt supprimé. Utilisez ImageBitmapRenderingContext.transferFromImageBitmap à la place.
+IIRFilterChannelCountChangeWarning=La modification du nombre de canaux dans IIRFilterNode peut produire de brèves coupures audio.
+BiquadFilterChannelCountChangeWarning=La modification du nombre de canaux dans BiquadFilterNode peut produire de brèves coupures audio.
+# LOCALIZATION NOTE: Do not translate ".png"
+GenericImageNamePNG=image.png
+GenericFileName=fichier
+GeolocationInsecureRequestIsForbidden=Une demande de géolocalisation ne peut avoir lieu que dans un contexte sécurisé.
+NotificationsInsecureRequestIsForbidden=La permission de notification ne peut être demandée que dans un contexte sécurisé.
+NotificationsCrossOriginIframeRequestIsForbidden=La permission de notification ne peut être demandée que dans un document de premier niveau (« top-level ») ou un iframe same-origin.
+NotificationsRequireUserGesture=La permission de notification ne peut être demandée que depuis un gestionnaire d’évènements généré par l’utilisateur et en cours d’exécution.
+NotificationsRequireUserGestureDeprecationWarning=La demande de permission des notifications hors d’un gestionnaire d’évènement de courte durée provoquée par l’utilisateur est obsolète et ne sera plus prise en charge à l’avenir.
+# LOCALIZATION NOTE: Do not translate "content", "Window", and "window.top"
+WindowContentUntrustedWarning=L’attribut « content » des objets Window est obsolète. Veuillez utiliser « window.top » à la place.
+# LOCALIZATION NOTE: The first %S is the tag name of the element that starts the loop, the second %S is the element's ID.
+SVGRefLoopWarning=L’élément SVG <%S> comportant l’identifiant « %S » contient une boucle de références.
+# LOCALIZATION NOTE: The first %S is the tag name of the element in the chain where the chain was broken, the second %S is the element's ID.
+SVGRefChainLengthExceededWarning=Une chaîne de références SVG <%S> était trop longue et a été interrompue au niveau de l’élément dont l’identifiant est « %S ».
+# LOCALIZATION NOTE: Do not translate SVGSVGElement.deselectAll.
+SVGDeselectAll=La méthode SVGSVGElement.deselectAll est obsolète, car elle duplique la fonctionnalité de l’API de sélection.
+# LOCALIZATION NOTE: Do not translate SVGGraphicsElement.nearestViewportElement or SVGElement.viewportElement.
+SVGNearestViewportElement=SVGGraphicsElement.nearestViewportElement est obsolète et sera supprimé à une date ultérieure. Utilisez SVGElement.viewportElement à la place.
+# LOCALIZATION NOTE: Do not translate SVGGraphicsElement.farthestViewportElement.
+SVGFarthestViewportElement=SVGGraphicsElement.farthestViewportElement est obsolète et sera supprimé à une date ultérieure.
+# LOCALIZATION NOTE: Do not translate "<script>".
+ScriptSourceEmpty=L’attribut « %S » de l’élément <script> est vide.
+# LOCALIZATION NOTE: Do not translate "<script>".
+ScriptSourceInvalidUri=L’attribut « %S » de l’élément <script> n’est pas un URI valide : « %S »
+# LOCALIZATION NOTE: Do not translate "<script>".
+ScriptSourceLoadFailed=Échec du chargement pour l’élément <script> dont la source est « %S ».
+ModuleSourceLoadFailed=Échec du chargement pour le module dont la source est « %S ».
+# LOCALIZATION NOTE: Do not translate "<script>".
+ScriptSourceMalformed=L’URI de la source de l’élément <script> est mal formée : « %S ».
+ModuleSourceMalformed=L’URI de la source du module est mal formé : « %S ».
+# LOCALIZATION NOTE: Do not translate "<script>".
+ScriptSourceNotAllowed=L’URI de la source de l’élément <script> n’est pas autorisé dans ce document : « %S ».
+ModuleSourceNotAllowed=L’URI de la source du module n’est pas autorisé dans ce document : « %S ».
+WebExtContentScriptModuleSourceNotAllowed=Les scripts de contenu WebExtension peuvent uniquement charger des modules avec des URL moz-extensions et non : « %S ».
+ModuleResolveFailureNoWarn=Erreur lors de la résolution du spécificateur de module « %S ».
+ModuleResolveFailureWarnRelative=Erreur lors de la résolution du spécificateur de module « %S ». Les spécificateurs de module relatifs doivent commencer par « ./ », « ../ » ou « / ».
+ImportMapInvalidTopLevelKey=Une clé de premier niveau invalide « %S » est présente dans le mappage d’importation.
+ImportMapEmptySpecifierKeys=Les clés de spécification ne peuvent pas être des chaînes vides.
+ImportMapAddressesNotStrings=Les adresses doivent être des chaînes de caractères.
+ImportMapInvalidAddress=L’adresse « %S » est invalide.
+# %1$S is the specifier key, %2$S is the URL.
+ImportMapAddressNotEndsWithSlash=Une adresse invalide a été donnée pour la clé de spécification « %1$S » ; puisque « %1$S » se termine par une barre oblique, l’adresse « %2$S » doit également se terminer de la même façon.
+ImportMapScopePrefixNotParseable=Impossible d’analyser l’URL du préfixe de portée « %S ».
+ImportMapResolutionBlockedByNullEntry=La résolution du spécificateur « %S » a été bloquée par une entrée nulle.
+ImportMapResolutionBlockedByAfterPrefix=La résolution du spécificateur « %S » a été bloquée car la sous-chaîne après le préfixe n’a pas pu être analysée comme une URL relative à l’adresse dans le mappage d’importation.
+ImportMapResolutionBlockedByBacktrackingPrefix=La résolution du spécificateur « %S » a été bloquée car l’URL analysée ne commence pas par l’adresse dans le mappage d’importation.
+ImportMapResolveInvalidBareSpecifierWarnRelative=Le spécificateur « %S » était un spécificateur simple, mais n’a pas été remappé. Les spécificateurs relatifs de modules doivent commencer par « ./ », « ../ » ou « / ».
+# LOCALIZATION NOTE: Do not translate "<script type='importmap'>", "src".
+ImportMapExternalNotSupported=Les cartes d’importation externes ne sont pas prises en charge : <script type='importmap'> avec un attribut src n’est actuellement pas pris en charge.
+ImportMapNotAllowedMultiple=L’utilisation de plusieurs import map n’est pas autorisée.
+ImportMapNotAllowedAfterModuleLoad=Les mappages d’importation ne sont pas autorisés après le chargement d’un module ou le démarrage du préchargement.
+# LOCALIZATION NOTE: %1$S is the invalid property value and %2$S is the property name.
+InvalidKeyframePropertyValue=La valeur de la propriété keyframe « %1$S » n’est pas valide selon la syntaxe pour « %2$S ».
+# LOCALIZATION NOTE: Do not translate "ReadableStream".
+ReadableStreamReadingFailed=Impossible de lire les données depuis le ReadableStream : « %S ».
+# LOCALIZATION NOTE: Do not translate "registerProtocolHandler"
+RegisterProtocolHandlerPrivateBrowsingWarning=Il n’est pas possible d’utiliser registerProtocolHandler en mode de navigation privée.
+MotionEventWarning=L’utilisation du détecteur de mouvement n’est plus permise.
+OrientationEventWarning=L’utilisation du capteur d’orientation n’est plus permise.
+ProximityEventWarning=L’utilisation du capteur de proximité n’est plus permise.
+AmbientLightEventWarning=L’utilisation du capteur de lumière ambiante n’est plus permise.
+UnsupportedEntryTypesIgnored=entryTypes %S ignoré, car non pris en charge.
+AllEntryTypesIgnored=Aucun entryType valide ; abandon de l’enregistrement.
+# LOCALIZATION NOTE: do not localize key=“%S” modifiers=“%S” id=“%S”
+GTK2Conflict2=L’évènement « key » n’est pas disponible dans GTK2 : key="%S" modifiers="%S" id="%S"
+WinConflict2=L’évènement « key » n’est pas disponible pour certaines dispositions de clavier : key="%S" modifiers="%S" id="%S"
+# LOCALIZATION NOTE: do not translated "document.domain"
+DocumentSetDomainNotAllowedWarning=La définition de document.domain dans un environnement isolé d’origine croisée n’est pas autorisée.
+
+#LOCALIZATION NOTE(DeprecatedTestingInterfaceWarning): Do not translate this message. It's just testing only.
+DeprecatedTestingInterfaceWarning=TestingDeprecatedInterface is a testing-only interface and this is its testing deprecation message.
+#LOCALIZATION NOTE(DeprecatedTestingMethodWarning): Do not translate this message. It's just testing only.
+DeprecatedTestingMethodWarning=TestingDeprecatedInterface.deprecatedMethod() is a testing-only method and this is its testing deprecation message.
+#LOCALIZATION NOTE(DeprecatedTestingAttributeWarning): Do not translate this message. It's just testing only.
+DeprecatedTestingAttributeWarning=TestingDeprecatedInterface.deprecatedAttribute is a testing-only attribute and this is its testing deprecation message.
+# LOCALIZATION NOTE (CreateImageBitmapCanvasRenderingContext2DWarning): Do not translate CanvasRenderingContext2D and createImageBitmap.
+CreateImageBitmapCanvasRenderingContext2DWarning=L’utilisation de CanvasRenderingContext2D dans createImageBitmap est obsolète.
+
+# LOCALIZATION NOTE (DrawWindowCanvasRenderingContext2DWarning): Do not translate CanvasRenderingContext2D, drawWindow and tabs.captureTab.
+DrawWindowCanvasRenderingContext2DWarning=L’utilisation de la méthode drawWindow de CanvasRenderingContext2D est obsolète. Utilisez l’API tabs.captureTab pour les extensions à la place https://developer.mozilla.org/fr/docs/Mozilla/Add-ons/WebExtensions/API/tabs/captureTab
+
+# LOCALIZATION NOTE (MozRequestFullScreenDeprecatedPrefixWarning): Do not translate mozRequestFullScreen.
+MozRequestFullScreenDeprecatedPrefixWarning=mozRequestFullScreen() est obsolète.
+# LOCALIZATION NOTE (MozfullscreenchangeDeprecatedPrefixWarning): Do not translate onmozfullscreenchange.
+MozfullscreenchangeDeprecatedPrefixWarning=onmozfullscreenchange est obsolète.
+# LOCALIZATION NOTE (MozfullscreenerrorDeprecatedPrefixWarning): Do not translate onmozfullscreenerror.
+MozfullscreenerrorDeprecatedPrefixWarning=onmozfullscreenerror est obsolète.
+# LOCALIZATION NOTE(External_AddSearchProviderWarning): Do not translate AddSearchProvider.
+External_AddSearchProviderWarning=AddSearchProvider est obsolète.
+
+# LOCALIZATION NOTE: Do not translate "MouseEvent.mozPressure" and "PointerEvent.pressure".
+MouseEvent_MozPressureWarning=MouseEvent.mozPressure est obsolète. Veuillez utiliser plutôt PointerEvent.pressure.
+# LOCALIZATION NOTE: Do not translate small, normal, big and mathsize.
+MathML_DeprecatedMathSizeValueWarning=« small », « normal » et « big » sont des valeurs obsolètes pour l’attribut mathsize qui seront supprimées à une date ultérieure.
+# LOCALIZATION NOTE: Do not translate veryverythinmathspace, verythinmathspace,
+# thinmathspace, mediummathspace, thickmathspace, verythickmathspace, veryverythickmathspace and MathML.
+MathML_DeprecatedMathSpaceValueWarning=« veryverythinmathspace », « verythinmathspace », « thinmathspace », « mediummathspace », « thickmathspace », « verythickmathspace » et « veryverythickmathspace » sont des valeurs obsolètes pour l’attribut MathML qui seront supprimées à une date ultérieure.
+# LOCALIZATION NOTE: Do not translate MathML, background, color, fontfamily, fontsize, fontstyle and fontweight.
+MathML_DeprecatedStyleAttributeWarning=Les attributs MathML « background », « color », « fontfamily », « fontsize », « fontstyle » et « fontweight » sont obsolètes et seront supprimés à une date ultérieure.
+# LOCALIZATION NOTE: Do not translate "MouseEvent.mozInputSource" and "PointerEvent.pointerType".
+MozInputSourceWarning=MouseEvent.mozInputSource est obsolète. Veuillez utiliser plutôt PointerEvent.pointerType.
+# LOCALIZATION NOTE: Do not translate "initMouseEvent()" and "MouseEvent()".
+InitMouseEventWarning=initMouseEvent() est obsolète. Veuillez utiliser plutôt le constructeur MouseEvent().
+# LOCALIZATION NOTE: Do not translate "initNSMouseEvent()" and "MouseEvent()".
+InitNSMouseEventWarning=initNSMouseEvent() est obsolète. Veuillez utiliser plutôt le constructeur MouseEvent().
+# LOCALIZATION NOTE: Do not translate MathML. %S is the deprecated length value.
+MathML_DeprecatedMathSpaceValue2Warning=La valeur de longueur « %S » pour MathML est obsolète et sera supprimée à une date ultérieure.
+# LOCALIZATION NOTE: Do not translate mathvariant or MathML. %S is the deprecated value of the mathvariant attribute.
+MathML_DeprecatedMathVariantWarning=« mathvariant='%S' » sur l’élément MathML est obsolète et sera supprimé à une date ultérieure.
+# LOCALIZATION NOTE: Do not translate MathML and STIXGeneral. %S is a documentation URL.
+MathML_DeprecatedStixgeneralOperatorStretchingWarning=La prise en charge du rendu des opérateurs MathML étirés avec les polices STIXGeneral est obsolète et est susceptible d’être supprimée à une date ultérieure. Pour plus d’informations sur les polices plus récentes qui continueront d’être prises en charge, consultez %S
+# LOCALIZATION NOTE: Do not translate MathML and scriptminsize.
+MathML_DeprecatedScriptminsizeAttributeWarning=L’attribut MathML « scriptminsize » est obsolète et sera supprimé à une date ultérieure.
+# LOCALIZATION NOTE: Do not translate MathML and scriptsizemultiplier.
+MathML_DeprecatedScriptsizemultiplierAttributeWarning=L’attribut MathML « scriptsizemultiplier » est obsolète et sera supprimé à une date ultérieure.
+FormSubmissionUntrustedEventWarning=La soumission de formulaire via un évènement d’envoi non fiable est obsolète et sera supprimée à une date ultérieure.
+
+# LOCALIZATION NOTE: Do not translate "sizeToContent()".
+SizeToContentWarning=sizeToContent() est obsolète et sera supprimé prochainement.
+
+WebShareAPI_Failed=L’opération de partage a échoué.
+WebShareAPI_Aborted=L’opération de partage a été interrompue.
+# LOCALIZATION NOTE (UnknownProtocolNavigationPrevented): %1$S is the destination URL.
+UnknownProtocolNavigationPrevented=Navigation vers « %1$S » empêchée en raison d’un protocole inconnu.
+PostMessageSharedMemoryObjectToCrossOriginWarning=Impossible de publier un message contenant un objet de mémoire partagée dans une fenêtre cross-origin.
+# LOCALIZATION NOTE: %S is the URL of the resource in question
+UnusedLinkPreloadPending=La ressource à l’adresse « %S » préchargée avec le préchargement de lien n’a pas été utilisée après quelques secondes. Assurez-vous que tous les attributs de la balise de préchargement sont définis correctement.
+
+# LOCALIZATION NOTE: Do not translate document.requestStorageAccess(), iframe, allow-same-origin and sandbox (though you may translate "sandboxed").
+RequestStorageAccessNullPrincipal=document.requestStorageAccess() ne peut pas être appelé sur un document avec une origine opaque, comme un iframe en bac à sable sans allow-same-origin dans son attribut sandbox.
+# LOCALIZATION NOTE: Do not translate document.requestStorageAccess(), iframe, allow-storage-access-by-user-activation and sandbox (though you may translate "sandboxed").
+RequestStorageAccessSandboxed=document.requestStorageAccess() ne peut pas être appelé dans un iframe en bac à sable sans allow-storage-access-by-user-activation dans son attribut sandbox.
+# LOCALIZATION NOTE: Do not translate document.requestStorageAccess() and iframe.
+RequestStorageAccessNested=document.requestStorageAccess() ne peut pas être appelé dans un iframe imbriqué.
+# LOCALIZATION NOTE: Do not translate document.requestStorageAccess(). In some locales it may be preferable to not translate "event handler", either.
+RequestStorageAccessUserGesture=document.requestStorageAccess() ne peut être demandé qu’à l’intérieur d’un court gestionnaire d’évènements générés par l’utilisateur.
+# LOCALIZATION NOTE: Do not translate document.requestStorageAccess(), Permissions Policy and storage-access.
+RequestStorageAccessPermissionsPolicy=La méthode document.requestStorageAccess() ne peut être appelée quand la fonctionnalité storage-access est bloquée par Permissions Policy.
+# LOCALIZATION NOTE: Do not translate document.requestStorageAccess()
+RequestStorageAccessNotSecureContext=document.requestStorageAccess() peut seulement accorder l’accès pour des contextes sécurisés.
+# LOCALIZATION NOTE: Do not translate "Location" and "History".
+LocChangeFloodingPrevented=Trop d’appels aux API Location ou History dans un court laps de temps.
+FolderUploadPrompt.title = Confirmer l’envoi
+# LOCALIZATION NOTE: %S is the name of the folder the user selected in the file picker.
+FolderUploadPrompt.message = Voulez-vous vraiment envoyer tous les fichiers de « %S » ? Ne le faites que si vous faites confiance au site.
+FolderUploadPrompt.acceptButtonLabel = Envoyer
+InputPickerBlockedNoUserActivation=Le sélecteur <input> a été bloqué faute d’activation par l’utilisateur.
+ExternalProtocolFrameBlockedNoUserActivation=Un iframe avec un protocole externe a été bloqué faute d’activation par l’utilisateur, ou parce que pas assez de temps ne s’est écoulé depuis que le dernier iframe semblable a été chargé.
+MultiplePopupsBlockedNoUserActivation=L’ouverture de plusieurs popups a été bloquée faute d’activation par l’utilisateur.
+# LOCALIZATION NOTE: %S is the URL of the preload that was ignored.
+PreloadIgnoredInvalidAttr=Le préchargement de %S a été ignoré en raison des valeurs inconnues d’« as » ou « type », ou d’un attribut « media » qui ne correspond pas.
+# LOCALIZATION NOTE: %S is the blob URL. Don't translate "agent cluster".
+BlobDifferentClusterError=Impossible d’accéder à l’URL du blob « %S » depuis un autre agent cluster.
+# LOCALIZATION NOTE: %S is the blob URL. Don't translate "partition key".
+PartitionKeyDifferentError=Impossible d’accéder à l’URL du blob « %S » avec une partition key différente.
+# LOCALIZATION NOTE: Do not translate "Element.setCapture()" and "Element.setPointerCapture()"".
+ElementSetCaptureWarning=Element.setCapture() est obsolète. Utilisez Element.setPointerCapture() à la place. Pour plus d’informations https://developer.mozilla.org/fr/docs/Web/API/Element/setPointerCapture
+# LOCALIZATION NOTE: Do not translate "Element.releaseCapture()" and "Element.releasePointerCapture()".
+ElementReleaseCaptureWarning=Element.releaseCapture() est obsolète. Utilisez Element.releasePointerCapture() à la place. Pour plus d’informations https://developer.mozilla.org/fr/docs/Web/API/Element/releasePointerCapture
+# LOCALIZATION NOTE: Do not translate "Document.releaseCapture()" and "Element.releasePointerCapture()".
+DocumentReleaseCaptureWarning=Document.releaseCapture() est obsolète. Utilisez Element.releasePointerCapture() à la place. Pour plus d’informations https://developer.mozilla.org/fr/docs/Web/API/Element/releasePointerCapture
+
+# LOCALIZATION NOTE: Don't translate browser.runtime.lastError, %S is the error message from the unchecked value set on browser.runtime.lastError.
+WebExtensionUncheckedLastError=La valeur de browser.runtime.lastError n’a pas été vérifiée : %S
+
+# LOCALIZATION NOTE: Do not translate "OffscreenCanvas.toBlob()" and "OffscreenCanvas.convertToBlob()".
+OffscreenCanvasToBlobWarning=OffscreenCanvas.toBlob() est obsolète. Utilisez OffscreenCanvas.convertToBlob() à la place.
+
+# LOCALIZATION NOTE: Do not translate "InstallTrigger"
+InstallTriggerDeprecatedWarning=InstallTrigger est obsolète et sera supprimé prochainement.
+# LOCALIZATION NOTE: Do not translate "InstallTrigger.install()"
+InstallTriggerInstallDeprecatedWarning=InstallTrigger.install() est obsolète et sera supprimé prochainement. Pour plus d’information, consultez https://extensionworkshop.com/documentation/publish/self-distribution/
+
+# LOCALIZATION NOTE: Do not translate "HTMLOptionsCollection.length". %1$S is the invalid value, %2$S is the current limit.
+SelectOptionsLengthAssignmentWarning=Expansion de la liste d’options de <select> refusée à cause de la valeur assignée à HTMLOptionsCollection.length (%1$S). La taille maximale acceptée est %2$S.
+
+# LOCALIZATION NOTE: Do not translate "isExternalCTAP2SecurityKeySupported".
+IsExternalCTAP2SecurityKeySupportedWarning=isExternalCTAP2SecurityKeySupported() est obsolète.
+
+InvalidFormControlUnfocusable=Un contrôle de formulaire invalide ne peut recevoir le focus.
+# LOCALIZATION NOTE: Do not translate "name="
+InvalidNamedFormControlUnfocusable=Le contrôle de formulaire avec name=‘%S’ ne peut recevoir le focus.
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/global/extensions.properties b/thunderbird-l10n/fr/chrome/fr/locale/fr/global/extensions.properties
new file mode 100644
index 0000000000..362fdbdd58
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/global/extensions.properties
@@ -0,0 +1,27 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+#LOCALIZATION NOTE (uninstall.confirmation.title) %S is the name of the extension which is about to be uninstalled.
+uninstall.confirmation.title = Désinstaller %S
+
+#LOCALIZATION NOTE (uninstall.confirmation.message) %S is the name of the extension which is about to be uninstalled.
+uninstall.confirmation.message = L’extension « %S » demande à être désinstallée. Que voulez-vous faire ?
+
+uninstall.confirmation.button-0.label = Désinstaller
+uninstall.confirmation.button-1.label = Conserver
+
+saveaspdf.saveasdialog.title = Enregistrer sous
+
+#LOCALIZATION NOTE (newTabControlled.message2) %S is the icon and name of the extension which updated the New Tab page.
+newTabControlled.message2 = Une extension, %S, a modifié la page qui s’affiche lorsque vous ouvrez un nouvel onglet.
+newTabControlled.learnMore = En savoir plus
+
+#LOCALIZATION NOTE (homepageControlled.message) %S is the icon and name of the extension which updated the homepage.
+homepageControlled.message = Une extension, %S, a modifié la page qui s’affiche lorsque vous ouvrez de nouvelles fenêtres ou votre page d’accueil.
+homepageControlled.learnMore = En savoir plus
+
+#LOCALIZATION NOTE (tabHideControlled.message) %1$S is the icon and name of the extension which hid tabs, %2$S is the icon of the all tabs button.
+tabHideControlled.message = Une extension, %1$S, masque certains de vos onglets. Vous pouvez toujours accéder à tous vos onglets depuis %2$S.
+tabHideControlled.learnMore = En savoir plus
+
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/global/fallbackMenubar.properties b/thunderbird-l10n/fr/chrome/fr/locale/fr/global/fallbackMenubar.properties
new file mode 100644
index 0000000000..c333b56c65
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/global/fallbackMenubar.properties
@@ -0,0 +1,8 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# OSX only. Default menu label when there is no xul menubar.
+
+quitMenuitem.label=Quitter
+quitMenuitem.key=q
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/global/filepicker.properties b/thunderbird-l10n/fr/chrome/fr/locale/fr/global/filepicker.properties
new file mode 100644
index 0000000000..e3d36d389b
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/global/filepicker.properties
@@ -0,0 +1,20 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE: The extensions to which these descriptions refer
+# now live in toolkit/content/filepicker.properties
+allTitle=Tous les fichiers
+htmlTitle=Fichiers HTML
+textTitle=Fichiers texte
+imageTitle=Images
+xmlTitle=Fichiers XML
+xulTitle=Fichiers XUL
+appsTitle=Applications
+audioTitle=Fichiers audio
+videoTitle=Fichiers vidéo
+
+pdfTitle=Fichiers PDF
+
+formatLabel=Format :
+selectedFileNotReadableError=Le fichier sélectionné n’a pas la permission de lecture
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/global/global-strres.properties b/thunderbird-l10n/fr/chrome/fr/locale/fr/global/global-strres.properties
new file mode 100644
index 0000000000..1b00638b7a
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/global/global-strres.properties
@@ -0,0 +1,5 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+16389=Une erreur inconnue s’est produite (%1$S).
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/global/intl.css b/thunderbird-l10n/fr/chrome/fr/locale/fr/global/intl.css
new file mode 100644
index 0000000000..e1102c78cb
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/global/intl.css
@@ -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/. */
+
+/*
+ * Ce fichier contient tous les paramètres d’apparence localisables tels que
+ * la police, l’affichage et la géométrie
+ */
+window {
+ font: 3mm tahoma,arial,helvetica,sans-serif;
+}
+
+q:lang(fr) { quotes: "\ab\a0" "\a0\bb" "\201c" "\201d"; }
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/global/intl.properties b/thunderbird-l10n/fr/chrome/fr/locale/fr/global/intl.properties
new file mode 100644
index 0000000000..1d24ff7dc4
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/global/intl.properties
@@ -0,0 +1,43 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE (intl.accept_languages):
+# This is a comma-separated list of valid BCP 47 language tags.
+#
+# Begin with the value of 'general.useragent.locale'. Next, include language
+# tags for other languages that you expect most users of your locale to be
+# able to speak, so that their browsing experience degrades gracefully if
+# content is not available in their primary language.
+#
+# It is recommended that you include "en-US, en" at the end of the list as a
+# last resort. However, if you know that users of your locale would prefer a
+# different variety of English, or if they are not likely to understand
+# English at all, you may opt to include a different English language tag, or
+# to exclude English altogether.
+#
+# For example, the Breton [br] locale might consider including French and
+# British English in their list, since those languages are commonly spoken in
+# the same area as Breton:
+# intl.accept_languages=br, fr-FR, fr, en-GB, en
+intl.accept_languages=fr, fr-fr, en-us, en
+
+# LOCALIZATION NOTE (font.language.group):
+# This preference controls the initial setting of the language drop-down menu
+# in the Content > Fonts & Colors > Advanced preference panel.
+#
+# Set it to the value of one of the menuitems in the "selectLangs" menulist in
+# http://dxr.mozilla.org/mozilla-central/source/browser/components/preferences/fonts.xul
+font.language.group=x-western
+
+# LOCALIZATION NOTE (pluralRule): Pick the appropriate plural rule for your
+# language. This will determine how many plural forms of a word you will need
+# to provide and in what order.
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+pluralRule=2
+
+# LOCALIZATION NOTE (intl.menuitems.alwaysappendaccesskeys, intl.menuitems.insertseparatorbeforeaccesskeys):
+# Valid values are: true, false, <empty string>
+# Missing preference or empty value equals false.
+intl.menuitems.alwaysappendaccesskeys=
+intl.menuitems.insertseparatorbeforeaccesskeys=true
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/global/keys.properties b/thunderbird-l10n/fr/chrome/fr/locale/fr/global/keys.properties
new file mode 100644
index 0000000000..9243034e28
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/global/keys.properties
@@ -0,0 +1,78 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE : FILE This file contains the application's labels for keys on the keyboard.
+# If you decide to translate this file, you should translate it based on
+# the prevelant kind of keyboard for your target user.
+# LOCALIZATION NOTE : There are two types of keys, those w/ text on their labels
+# and those w/ glyphs.
+# LOCALIZATION NOTE : VK_<…> represents a key on the keyboard.
+#
+# For more information please see bugzilla bug 90888.
+
+# LOCALIZATION NOTE : FILE This file contains the application's labels for keys on the keyboard.
+# If you decide to translate this file, you should translate it based on
+# the prevalent kind of keyboard for your target user.
+# LOCALIZATION NOTE : There are two types of keys, those w/ text on their labels
+# and those w/ glyphs.
+# LOCALIZATION NOTE : VK_<…> represents a key on the keyboard.
+#
+# For more information please see bugzilla bug 90888.
+
+# F1..F10 should probably not be translated unless there are keyboards that actually have other labels
+# F11..F20 might be something else, but are really keyboard specific and not region/language specific
+# there are actually two different F11/F12 keys, I don't know which one these labels represent.
+# eg, F13..F20 on a sparc keyboard are labeled Props, Again .. Find, Cut
+# sparc also has Stop, Again and F11/F12. VK_F11/VK_F12 probably map to Stop/Again
+# LOCALIZATION NOTE : BLOCK Do not translate the next block
+VK_F1=F1
+VK_F2=F2
+VK_F3=F3
+VK_F4=F4
+VK_F5=F5
+VK_F6=F6
+VK_F7=F7
+VK_F8=F8
+VK_F9=F9
+VK_F10=F10
+
+VK_F11=F11
+VK_F12=F12
+VK_F13=F13
+VK_F14=F14
+VK_F15=F15
+VK_F16=F16
+VK_F17=F17
+VK_F18=F18
+VK_F19=F19
+VK_F20=F20
+# LOCALIZATION NOTE : BLOCK end do not translate block
+
+# LOCALIZATION NOTE : BLOCK GLYPHS, DO translate this block
+VK_UP=Haut
+VK_DOWN=Bas
+VK_LEFT=Flèche gauche
+VK_RIGHT=Flèche droite
+VK_PAGE_UP=Page haut
+VK_PAGE_DOWN=Page bas
+# LOCALIZATION NOTE : BLOCK end GLYPHS
+
+# Enter, backspace, and Tab might have both glyphs and text
+# if the keyboards usually have a glyph,
+# if there is a meaningful translation,
+# or if keyboards are localized
+# then translate them or insert the appropriate glyph
+# otherwise you should probably just translate the glyph regions
+
+VK_TAB=Tab
+VK_BACK=Retour arrière
+VK_DELETE=Suppr
+# LOCALIZATION NOTE : BLOCK end maybe GLYPHS
+# LOCALIZATION NOTE : BLOCK typing state keys
+VK_HOME=Origine
+VK_END=Fin
+
+VK_ESCAPE=Échap
+VK_INSERT=Insert
+# LOCALIZATION NOTE : BLOCK end
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/global/layout/HtmlForm.properties b/thunderbird-l10n/fr/chrome/fr/locale/fr/global/layout/HtmlForm.properties
new file mode 100644
index 0000000000..ee4d91f8d8
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/global/layout/HtmlForm.properties
@@ -0,0 +1,35 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+Reset=Effacer
+Submit=Envoyer
+Browse=Parcourir…
+FileUpload=Envoi du fichier
+DirectoryUpload=Sélectionner le dossier à envoyer
+DirectoryPickerOkButtonLabel=Envoyer
+ForgotPostWarning=Le formulaire spécifie l’encodage %S, mais ne spécifie pas la méthode POST. L’envoi sera plutôt effectué avec la méthode GET et sans spécifier d’encodage.
+ForgotFileEnctypeWarning=Le formulaire contient un champ de sélection de fichier, mais ne spécifie pas la méthode POST et l’encodage « multipart/form-data ». Le fichier ne sera pas envoyé.
+# LOCALIZATION NOTE (DefaultFormSubject): %S will be replaced with brandShortName
+DefaultFormSubject=Formulaire posté depuis %S
+CannotEncodeAllUnicode=Un formulaire a été soumis avec l’encodage de caractères « %S » qui ne peut pas encoder tous les caractères Unicode, la saisie de l’utilisateur pourrait donc être corrompue. Pour éviter ce problème, la page pourrait être modifiée pour que le formulaire soit soumis avec l’encodage UTF-8, soit en changeant l’encodage de la page elle-même en UTF-8 soit en spécifiant « accept-charset=utf-8 » dans l’élément formulaire.
+AllSupportedTypes=Tous les formats pris en charge
+# LOCALIZATION NOTE (NoFileSelected): this string is shown on a
+# <input type='file'> when there is no file selected yet.
+NoFileSelected=Aucun fichier sélectionné.
+# LOCALIZATION NOTE (NoFilesSelected): this string is shown on a
+# <input type='file' multiple> when there is no file selected yet.
+NoFilesSelected=Aucun fichier sélectionné.
+# LOCALIZATION NOTE (NoDirSelected): this string is shown on a
+# <input type='file' directory/webkitdirectory> when there is no directory
+# selected yet.
+NoDirSelected=Aucun dossier sélectionné.
+# LOCALIZATION NOTE (XFilesSelected): this string is shown on a
+# <input type='file' multiple> when there are more than one selected file.
+# %S will be a number greater or equal to 2.
+XFilesSelected=%S fichiers sélectionnés.
+ColorPicker=Choisir une couleur
+# LOCALIZATION NOTE (DefaultSummary): this string is shown on a <details> when
+# it has no direct <summary> child. Google Chrome should already have this
+# string translated.
+DefaultSummary=Détails
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/global/layout/MediaDocument.properties b/thunderbird-l10n/fr/chrome/fr/locale/fr/global/layout/MediaDocument.properties
new file mode 100644
index 0000000000..b436e0b32b
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/global/layout/MediaDocument.properties
@@ -0,0 +1,22 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+#LOCALIZATION NOTE (ImageTitleWithDimensions2AndFile): first %S is filename, second %S is type, third %S is width and fourth %S is height
+#LOCALIZATION NOTE (ImageTitleWithoutDimensions): first %S is filename, second %S is type
+#LOCALIZATION NOTE (ImageTitleWithDimensions2): first %S is type, second %S is width and third %S is height
+#LOCALIZATION NOTE (ImageTitleWithNeitherDimensionsNorFile): first %S is type
+#LOCALIZATION NOTE (MediaTitleWithFile): first %S is filename, second %S is type
+#LOCALIZATION NOTE (MediaTitleWithNoInfo): first %S is type
+ImageTitleWithDimensions2AndFile=%S (Image %S, %S\u00A0\u00D7\u00A0%S pixels)
+ImageTitleWithoutDimensions=%S (Image %S)
+ImageTitleWithDimensions2=(Image %S, %S\u00A0\u00D7\u00A0%S pixels)
+ImageTitleWithNeitherDimensionsNorFile=(Image %S)
+MediaTitleWithFile=%S (Objet %S)
+MediaTitleWithNoInfo=(Objet %S)
+
+InvalidImage=L’image \u00AB\u00A0%S\u00A0\u00BB ne peut être affichée car elle contient des erreurs.
+UnsupportedImage=L’image « %S » ne peut pas être affichée car elle nécessite des fonctionnalités non prises en charge.
+ScaledImage=Redimensionnée (%S%%)
+
+TitleWithStatus=%S - %S
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/global/layout/htmlparser.properties b/thunderbird-l10n/fr/chrome/fr/locale/fr/global/layout/htmlparser.properties
new file mode 100644
index 0000000000..8df7af10ba
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/global/layout/htmlparser.properties
@@ -0,0 +1,145 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# Encoding warnings and errors
+EncNoDeclarationFrame=L’encodage de caractères d’un document dans un cadre n’a pas été déclaré. Le document peut apparaître différent s’il est visionné sans le document qui l’encadre.
+EncXmlDecl=L’encodage des caractères d’un document HTML a été déclaré en utilisant la syntaxe XML. D’une part, cela n’est pas conforme et, d’autre part, déclarer l’encodage par une balise meta au début de la section head est beaucoup plus efficace.
+EncMetaTooLate=Une balise meta essayant de déclarer l’encodage de caractères a été trouvée trop tard, l’encodage a plutôt été déduit du contenu. Cette balise meta doit être déplacée au début de la section head du document.
+EncMetaTooLateFrame=Une balise meta essayant de déclarer l’encodage des caractères a été trouvée trop tard, l’encodage du document parent a plutôt été employé. La balise meta doit être déplacée au début de la section head du document.
+EncMetaAfterHeadInKilobyte=La balise meta contenant la déclaration de l’encodage des caractères devrait être déplacée au début de la section head du document.
+EncNoDecl=L’encodage du document n’était pas déclaré et a donc été deviné à partir du contenu. Il est nécessaire de déclarer l’encodage des caractères dans l’entête HTTP Content-Type, dans une balise meta ou par l’usage de l’indicateur d’ordre des octets (BOM).
+EncNoDeclPlain=L’encodage du document n’était pas déclaré et a donc été deviné à partir du contenu. Il est nécessaire de déclarer l’encodage des caractères dans l’entête HTTP Content-Type ou par l’usage de l’indicateur d’ordre des octets (BOM).
+EncMetaUnsupported=Un encodage de caractères non géré a été déclaré pour le document HTML en utilisant une balise « meta ». La déclaration a été ignorée.
+EncProtocolUnsupported=Un encodage de caractères non géré a été déclaré au niveau du protocole de transfert. La déclaration a été ignorée.
+EncMetaUtf16=Une balise « meta » a été utilisée pour déclarer l’encodage de caractères UTF-16. Ceci a été interprété comme une déclaration UTF-8.
+EncMetaUserDefined=Une balise « meta » a été utilisée pour déclarer l’encodage de caractères x-user-defined. Ceci a été interprété comme une déclaration windows-1252 pour des raisons de compatibilité avec les polices obsolètes volontairement mal encodées. Ce site devrait migrer vers Unicode.
+
+EncMetaReplacement=Une balise meta a été utilisée pour déclarer un encodage risqué permettant des scripts intersites. Un encodage de remplacement a été utilisé à la place.
+EncProtocolReplacement=Un encodage risqué permettant des scripts intersites a été déclaré au niveau du protocole de transfert. Un encodage de remplacement a été utilisé à la place.
+EncDetectorReload=L’encodage du document n’était pas déclaré et ne pouvait être deviné à partir du contenu que tard. En conséquence, le document a été rechargé. Il est nécessaire de déclarer l’encodage des caractères dans l’entête HTTP Content-Type, dans une balise meta ou par l’usage de l’indicateur d’ordre des octets (BOM).
+EncDetectorReloadPlain=L’encodage du document n’était pas déclaré et ne pouvait être deviné à partir du contenu que tard. En conséquence, le document a été rechargé. Il est nécessaire de déclarer l’encodage des caractères dans l’entête HTTP Content-Type ou par l’usage de l’indicateur d’ordre des octets (BOM).
+EncError=Le flux d’octets était en erreur par rapport à l’encodage de caractères déclaré. La déclaration d’encodage des caractères était peut être incorrecte.
+EncErrorFrame=Le flux d’octets était en erreur par rapport à l’encodage de caractères hérité du document parent. Il est nécessaire de déclarer l’encodage des caractères dans l’entête HTTP Content-Type, par une balise meta ou par l’usage de l’indicateur d’ordre des octets (BOM).
+EncErrorFramePlain=Le flux d’octets était en erreur par rapport à l’encodage de caractères hérité du document parent. Il est nécessaire de déclarer l’encodage des caractères dans l’entête HTTP Content-Type ou par l’usage de l’indicateur d’ordre des octets (BOM).
+EncSpeculationFailMeta=Le début du document a été réanalysé, car il s’y trouvait des caractères non ASCII avant la balise meta déclarant l’encodage. Cette balise devrait être le premier enfant de head sans être précédée de commentaires non ASCII.
+EncSpeculationFailXml=Le début du document a été réanalysé, car il s’y trouvait des caractères non ASCII dans la partie du document où la recherche d’une balise meta s’est révélée infructueuse, avant de reprendre la syntaxe de la déclaration XML. Une balise meta au début de la section head devrait être utilisée plutôt que la syntaxe de déclaration XML.
+# The audience of the following message isn't the author of the document but other people debugging browser behavior.
+EncSpeculationFail2022=Le début du document a été réanalysé, car l’encodage ISO-2022-JP n’est pas compatible avec l’ASCII.
+
+# The bulk of the messages below are derived from
+# https://hg.mozilla.org/projects/htmlparser/file/1f633cef7de7/src/nu/validator/htmlparser/impl/ErrorReportingTokenizer.java
+# which is available under the MIT license.
+
+# Tokenizer errors
+errGarbageAfterLtSlash=Données incorrectes après « </ ».
+errLtSlashGt=« </> » rencontré. Causes probables : « < » non échappé (l’échapper en « &lt; ») ou balise fermante incorrecte.
+errCharRefLacksSemicolon=Référence de caractère non terminée par un point-virgule.
+errNoDigitsInNCR=Pas de chiffre dans une référence de caractère numérique.
+errGtInSystemId=« > » dans l’identifiant système.
+errGtInPublicId=« > » dans l’identifiant public.
+errNamelessDoctype=doctype sans nom.
+errConsecutiveHyphens=Tirets consécutifs ne fermant pas un commentaire. « -- » n’est pas autorisé à l’intérieur d’un commentaire, mais « - - » l’est par exemple.
+errPrematureEndOfComment=Fin prématurée d’un commentaire. Utiliser « --> » pour fermer correctement un commentaire.
+errBogusComment=Commentaire erroné.
+errUnquotedAttributeLt=« < » dans une valeur d’attribut non bornée par des guillemets. Cause probable : « > » manquant juste avant.
+errUnquotedAttributeGrave=« ` » dans une valeur d’attribut non bornée par des guillemets. Cause probable : utilisation du mauvais caractère comme guillemet.
+errUnquotedAttributeQuote=Guillemet dans une valeur d’attribut non bornée par des guillemets. Causes probables : attributs entremêlés ou une chaîne de requête URL dans une valeur d’attribut non bornée par des guillemets.
+errUnquotedAttributeEquals=« = » dans une valeur d’attribut non bornée par des guillemets. Causes probables : attributs entremêlés ou une chaîne de requête URL dans une valeur d’attribut non bornée par des guillemets.
+errSlashNotFollowedByGt=Un « / » n’a pas été immédiatement suivi d’un « > ».
+errNoSpaceBetweenAttributes=Pas d’espace entre les attributs.
+errUnquotedAttributeStartLt=« < » au début d’une valeur d’attribut non bornée par des guillemets. Cause probable : « > » manquant immédiatement avant.
+errUnquotedAttributeStartGrave=« ` » au début d’une valeur d’attribut non bornée par des guillemets. Cause probable : utilisation du mauvais caractère comme guillemet.
+errUnquotedAttributeStartEquals=« = » au début d’une valeur d’attribut non bornée par des guillemets. Cause probable : signe égal supplémentaire inattendu.
+errAttributeValueMissing=Valeur d’attribut manquante.
+errBadCharBeforeAttributeNameLt=« < » rencontré alors qu’un nom d’attribut était attendu. Cause probable : « > » manquant immédiatement avant.
+errEqualsSignBeforeAttributeName=« = » rencontré alors qu’un nom d’attribut était attendu. Cause probable : nom d’attribut manquant.
+errBadCharAfterLt=Mauvais caractère après « < ». Cause probable : « < » non échappé. Essayer de l’échapper en « &lt; ».
+errLtGt=« <> » rencontré. Causes probables : « < » non échappé (l’échapper en « &lt; ») ou balise ouvrante incorrecte.
+errProcessingInstruction=« <? » rencontré. Cause probable : tentative d’utilisation d’une instruction de traitement XML dans de l’HTML. (Les instructions de traitement XML ne sont pas gérées en HTML.)
+errUnescapedAmpersandInterpretedAsCharacterReference=La chaîne suivant « & » a été interprétée comme une référence de caractère. (« & » aurait probablement dû être échappé en « &amp; ».)
+errNotSemicolonTerminated=La référence de caractère nommé n’est pas terminée par un point-virgule. (Ou « & » aurait dû être échappé en « &amp; ».)
+errNoNamedCharacterMatch=« & » ne commençait pas une référence de caractère. (« & » aurait probablement dû être échappé en « &amp; ».)
+errQuoteBeforeAttributeName=Un guillemet a été rencontré alors qu’un nom d’attribut était attendu. Cause probable : « = » manquant immédiatement avant.
+errLtInAttributeName=« < » dans un nom d’attribut. Cause probable : « > » manquant immédiatement avant.
+errQuoteInAttributeName=Guillemet dans un nom d’attribut. Cause probable : guillemet correspondant manquant précédemment dans le code.
+errExpectedPublicId=Identifiant public attendu mais doctype a été fermé.
+errBogusDoctype=doctype erroné.
+maybeErrAttributesOnEndTag=La balise fermante avait des attributs.
+maybeErrSlashInEndTag=« / » inattendu à la fin d’une balise fermante.
+errNcrNonCharacter=La référence de caractère est remplacée par un non-caractère.
+errNcrSurrogate=La référence de caractère est remplacée par une partie de caractère (surrogate).
+errNcrControlChar=La référence de caractère est remplacée par un caractère de contrôle.
+errNcrCr=Une référence de caractère numérique est remplacée par un retour charriot.
+errNcrInC1Range=Une référence de caractère numérique est remplacée par un intervalle de contrôle C1.
+errEofInPublicId=Fin de fichier à l’intérieur d’un identifiant public.
+errEofInComment=Fin de fichier à l’intérieur d’un commentaire.
+errEofInDoctype=Fin de fichier à l’intérieur du doctype.
+errEofInAttributeValue=Fin de fichier atteinte à l’intérieur d’une valeur d’attribut. Balise ignorée.
+errEofInAttributeName=Fin de fichier atteinte à l’intérieur d’un nom d’attribut. Balise ignorée.
+errEofWithoutGt=Fin de fichier atteinte sans que la balise précédente se termine par « > ». Balise ignorée.
+errEofInTagName=Fin de fichier atteinte lors de la recherche d’un nom de balise. Balise ignorée.
+errEofInEndTag=Fin de fichier atteinte à l’intérieur d’une balise fermante. Balise ignorée.
+errEofAfterLt=Fin de fichier après « < ».
+errNcrOutOfRange=Référence de caractère hors de l’intervalle Unicode autorisé.
+errNcrUnassigned=Référence de caractère remplacée par un point de code définitivement non assigné.
+errDuplicateAttribute=Attribut dupliqué.
+errEofInSystemId=Fin de fichier à l’intérieur d’un identifiant système.
+errExpectedSystemId=Identifiant système attendu mais le doctype est fermé.
+errMissingSpaceBeforeDoctypeName=Espace manquant avant le nom de doctype.
+errNestedComment=Présence de « <!-- » dans un commentaire. Cause probable : commentaire imbriqué (non autorisé).
+errNcrZero=Référence de caractère remplacée par zéro.
+errNoSpaceBetweenDoctypeSystemKeywordAndQuote=Pas d’espace entre le mot-clé « SYSTEM » du doctype et le guillemet.
+errNoSpaceBetweenPublicAndSystemIds=Pas d’espace entre les identifiants public et system du doctype.
+errNoSpaceBetweenDoctypePublicKeywordAndQuote=Pas d’espace entre le mot-clé « PUBLIC » du doctype et le guillemet.
+
+# Tree builder errors
+errDeepTree=L’arbre du document est trop profond. Il sera réduit à 513 éléments de profondeur.
+errStrayStartTag2=Balise de début isolée « %1$S ».
+errStrayEndTag=Balise de fin isolée « %1$S ».
+errUnclosedElements=Balise de fin « %1$S » rencontrée, mais aucun élément n’était ouvert.
+errUnclosedElementsImplied=Balise de fin « %1$S » implicite, mais aucun élément n’était ouvert.
+errUnclosedElementsCell=Une cellule de tableau a été implicitement fermée, mais aucun élément n’était ouvert.
+errStrayDoctype=Doctype isolé.
+errAlmostStandardsDoctype=Doctype du mode presque standard. « <!DOCTYPE html> » attendu.
+errQuirkyDoctype=Doctype quirks. « <!DOCTYPE html> » attendu.
+errAlmostStandardsDoctypeVerbose=Cette page est en mode presque standard. La mise en page peut en être affectée. Pour le mode standard, utilisez « <!DOCTYPE html> ».
+errQuirkyDoctypeVerbose=Cette page est en mode de compatibilité (quirks). La mise en page peut en être affectée. Pour le mode standard, utilisez « <!DOCTYPE html> ».
+errNonSpaceInTrailer=Caractère différent d’un espace dans une fin de page.
+errNonSpaceAfterFrameset=Caractère différent d’un espace après « frameset ».
+errNonSpaceInFrameset=Caractère différent d’un espace dans « frameset ».
+errNonSpaceAfterBody=Caractère différent d’un espace après body.
+errNonSpaceInColgroupInFragment=Caractère différent d’un espace dans un « colgroup » lors de l’analyse d’un fragment.
+errNonSpaceInNoscriptInHead=Caractère différent d’un espace dans « noscript » à l’intérieur de « head ».
+errFooBetweenHeadAndBody=Élément « %1$S » entre « head » et « body ».
+errStartTagWithoutDoctype=Balise ouvrante rencontrée sans avoir rencontré de doctype auparavant. « <!DOCTYPE html> » attendu.
+errNoSelectInTableScope=Pas de « select » dans la portée du tableau.
+errStartSelectWhereEndSelectExpected=Balise ouvrante « select » là où une balise fermante était attendue.
+errStartTagWithSelectOpen=Balise ouvrante « %1$S » avec « select » ouvert.
+errBadStartTagInNoscriptInHead=Mauvaise balise ouvrante « %1$S » dans « noscript » dans « head ».
+errImage=Balise ouvrante « image » rencontrée.
+errFooSeenWhenFooOpen2=La balise ouvrante « %1$S » a été rencontrée mais un élément du même type était déjà ouvert.
+errHeadingWhenHeadingOpen=Un titre ne peut pas être l’enfant d’un autre type.
+errFramesetStart=Balise ouvrante « frameset » rencontrée.
+errNoCellToClose=Aucune cellule à fermer.
+errStartTagInTable=Balise ouvrante « %1$S » rencontrée dans « table ».
+errFormWhenFormOpen=Balise ouvrante « form » rencontrée, mais un élément « form » était déjà actif. Les formulaires imbriqués ne sont pas permis. Balise ignorée.
+errTableSeenWhileTableOpen=Balise ouvrante « table » rencontrée, mais un autre élément « table » est toujours ouvert.
+errStartTagInTableBody=Balise ouvrante « %1$S » dans un corps de tableau.
+errEndTagSeenWithoutDoctype=Balise de fin rencontrée sans avoir rencontré de doctype. « <!DOCTYPE html> » attendu.
+errEndTagAfterBody=Balise de fin rencontrée après la fermeture de « body ».
+errEndTagSeenWithSelectOpen=Balise de fin « %1$S » avec « select » ouvert.
+errGarbageInColgroup=Données incorrectes dans un fragment « colgroup ».
+errEndTagBr=Balise fermante « br ».
+errNoElementToCloseButEndTagSeen=Pas d’élément « %1$S » en cours mais balise fermante « %1$S » rencontrée.
+errHtmlStartTagInForeignContext=Balise ouvrante HTML « %1$S » dans un contexte d’espace de nommage étranger.
+errNoTableRowToClose=Aucune ligne de tableau à fermer.
+errNonSpaceInTable=Caractère différent d’un espace mal placé dans un tableau.
+errUnclosedChildrenInRuby=Éléments non fermés dans « ruby ».
+errStartTagSeenWithoutRuby=Balise ouvrante « %1$S » rencontrée sans qu’un élément « ruby » soit ouvert.
+errSelfClosing=Syntaxe autofermante (« /> ») utilisée sur un élément HTML non vide. Fermeture ignorée et traitement comme une balise ouvrante.
+errNoCheckUnclosedElementsOnStack=Éléments non fermés sur la pile.
+errEndTagDidNotMatchCurrentOpenElement=Balise fermante « %1$S » ne correspondant pas au nom de l’élément ouvert (« %2$S »).
+errEndTagViolatesNestingRules=Balise fermante « %1$S » en violation des règles d’imbrication.
+errEndWithUnclosedElements=Balise fermante « %1$S » rencontrée, mais des éléments non fermés sont présents.
+errListUnclosedStartTags=Élément ou éléments non fermés.
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/global/layout/xmlparser.properties b/thunderbird-l10n/fr/chrome/fr/locale/fr/global/layout/xmlparser.properties
new file mode 100644
index 0000000000..79524d02e7
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/global/layout/xmlparser.properties
@@ -0,0 +1,48 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# Map Expat error codes to error strings
+1 = mémoire saturée
+2 = erreur de syntaxe
+3 = aucun élément trouvé
+4 = mal formé
+5 = balise non fermée
+6 = caractère partiel
+7 = balise ne correspondant pas
+8 = attribut dupliqué
+9 = données incompréhensibles après l’élément de document
+10 = référence d’entité avec paramètre illégal
+11 = entité non définie
+12 = référence d’entité récursive
+13 = entité asynchrone
+14 = référence à un numéro de caractère invalide
+15 = référence à une entité binaire
+16 = référence à une entité externe dans l’attribut
+17 = instruction de traitement XML ou texte pas au début d’une entité externe
+18 = encodage inconnu
+19 = l’encodage spécifié dans la déclaration XML est incorrect
+20 = section CDATA non fermée
+21 = erreur dans le traitement d’une référence d’entité externe
+22 = le document n’est pas autonome
+23 = état de l’analyseur inattendu
+24 = entité déclarée dans une entité de paramètre
+27 = préfixe non lié à un espace de noms
+28 = ne doit pas supprimer la déclaration du préfixe
+29 = balisage incomplet dans l’entité paramètre
+30 = déclaration XML mal formée
+31 = déclaration texte mal formée
+32 = caractères illégaux dans l’identifiant public
+38 = le préfixe réservé (xml) ne peut pas être lié à un autre nom d’espace de noms et sa déclaration ne peut pas être annulée
+39 = le préfixe réservé (xmlns) ne peut pas être déclaré et sa déclaration ne peut pas être annulée
+40 = le préfixe ne doit pas être lié à un des noms d’espaces de noms réservés
+
+# %1$S is replaced by the Expat error string, may be followed by Expected (see below)
+# %2$S is replaced by URL
+# %3$u is replaced by line number
+# %4$u is replaced by column number
+XMLParsingError = Erreur d’analyse XML : %1$S\nEmplacement : %2$S\nNuméro de ligne %3$u, Colonne %4$u :
+
+# %S is replaced by a tag name.
+# This gets appended to the error string if the error is mismatched tag.
+Expected = . Attendu : </%S>.
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/global/layout_errors.properties b/thunderbird-l10n/fr/chrome/fr/locale/fr/global/layout_errors.properties
new file mode 100644
index 0000000000..784351a12e
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/global/layout_errors.properties
@@ -0,0 +1,53 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+ImageMapRectBoundsError=L’attribut « coords » de la balise <area shape="rect"> n’est pas au format « gauche,haut,droite,bas ».
+ImageMapCircleWrongNumberOfCoords=L’attribut « coords » de la balise <area shape="circle"> n’est pas au format « centre-x,centre-y,rayon ».
+ImageMapCircleNegativeRadius=L’attribut « coords » de la balise <area shape="circle"> a un rayon négatif.
+ImageMapPolyWrongNumberOfCoords=L’attribut « coords » de la balise <area shape="poly"> n’est pas au format « x1,y1,x2,y2 … ».
+ImageMapPolyOddNumberOfCoords=L’attribut « coords » de la balise <area shape="poly"> ne contient pas la dernière coordonnée « y » (le format correct est « x1,y1,x2,y2 … »).
+
+ScrollLinkedEffectFound3=Ce site semble utiliser un effet de positionnement lié au défilement. Cet effet pourrait ne pas fonctionner correctement avec le défilement asynchrone. Consultez https://firefox-source-docs.mozilla.org/performance/scroll-linked_effects.html pour obtenir davantage de détails ou discuter des outils et des fonctionnalités liés.
+
+## LOCALIZATION NOTE(CompositorAnimationWarningContentTooLargeArea):
+## %1$S is an integer value of the area of the frame
+## %2$S is an integer value of the area of a limit based on the viewport size
+CompositorAnimationWarningContentTooLargeArea=L’animation ne peut pas être exécutée sur le compositeur, car la zone du cadre (%1$S) est trop grande par rapport à la fenêtre d’affichage (plus grande que %2$S)
+## LOCALIZATION NOTE(CompositorAnimationWarningContentTooLarge2):
+## (%1$S, %2$S) is a pair of integer values of the frame size
+## (%3$S, %4$S) is a pair of integer values of a limit based on the viewport size
+## (%5$S, %6$S) is a pair of integer values of an absolute limit
+CompositorAnimationWarningContentTooLarge2=L’animation ne peut pas être exécutée sur le compositeur, car la zone du cadre (%1$S, %2$S) est trop grande par rapport à la fenêtre d’affichage (plus grande que (%3$S, %4$S)) ou est plus grande que la valeur maximale autorisée (%5$S, %6$S)
+## LOCALIZATION NOTE(CompositorAnimationWarningTransformBackfaceVisibilityHidden):
+## 'backface-visibility: hidden' is a CSS property, don't translate it.
+CompositorAnimationWarningTransformBackfaceVisibilityHidden=Les animations de transformations « backface-visibility: hidden » ne peuvent pas être exécutées sur le compositeur
+## LOCALIZATION NOTE(CompositorAnimationWarningTransformSVG,
+## CompositorAnimationWarningTransformWithGeometricProperties,
+## CompositorAnimationWarningTransformWithSyncGeometricAnimations,
+## CompositorAnimationWarningTransformFrameInactive,
+## CompositorAnimationWarningOpacityFrameInactive):
+## 'transform' and 'opacity' mean CSS property names, don't translate it.
+CompositorAnimationWarningTransformSVG=Les animations « transform » sur des éléments comportant des transformations SVG ne peuvent pas être exécutées sur le compositeur
+CompositorAnimationWarningTransformWithGeometricProperties=Les animations « transform » ne peuvent pas être exécutées sur le compositeur lorsque des propriétés géométriques sont animées sur le même élément et au même moment
+CompositorAnimationWarningTransformWithSyncGeometricAnimations=L’animation « transform » ne peut pas être exécutée sur le compositeur, car elle doit être synchronisée avec les animations de propriétés géométriques qui ont commencé au même moment
+CompositorAnimationWarningTransformFrameInactive=L’animation ne peut pas être exécutée sur le compositeur, car le cadre n’a pas été marqué actif pour les animations « transform »
+CompositorAnimationWarningTransformIsBlockedByImportantRules=Impossible d’exécuter l’animation « transform » sur le compositeur, car les propriétés liées à « transform » sont remplacées par des règles !important
+CompositorAnimationWarningOpacityFrameInactive=L’animation ne peut pas être exécutée sur le compositeur, car le cadre n’a pas été marqué actif pour les animations « opacity »
+CompositorAnimationWarningHasRenderingObserver=L’animation ne peut pas être exécutée sur le compositeur, car l’élément possède des observateurs de rendu (« -moz-element » ou « SVG clipping/masking »)
+CompositorAnimationWarningHasCurrentColor=Les animations de « background-color » ne peuvent pas être exécutées sur le compositeur avec l’image-clé « current-color ».
+
+## LOCALIZATION NOTE: Do not translate zoom, calc(), "transform", "transform-origin: 0 0"
+ZoomPropertyWarning=Cette page utilise la propriété non standard « zoom ». Envisagez d’utiliser calc() dans les valeurs des propriétés pertinentes ou utilisez « transform » avec « transform-origin: 0 0 ».
+
+## LOCALIZATION NOTE(PrincipalWritingModePropagationWarning):
+## Do not translate <html>, <body>, CSS, "writing-mode", "direction", "text-orientation", :root, and "The Principal Writing Mode" because they are technical terms.
+PrincipalWritingModePropagationWarning=Lors du rendu de l’élément <html>, les valeurs utilisées des propriétés CSS « write-mode », « direction » et « text-orientation » sur l’élément <html> sont extraites des valeurs calculées de l’élément <body>, et non à partir des valeurs propres à l’élément <html>. Envisagez de définir ces propriétés sur la pseudo-classe CSS :root. Pour plus d’informations, voir « Le mode d’écriture principal » dans https://www.w3.org/TR/css-writing-modes-3/#principal-flow
+
+## LOCALIZATION NOTE(ScrollAnchoringDisabledInContainer):
+## %1$S is an integer value with the total number of adjustments
+## %2$S is a floating point value with the average distance adjusted
+## %3$S is a floating point value with the total adjusted distance
+ScrollAnchoringDisabledInContainer=L’ancrage de défilement a été désactivé dans un conteneur de défilement en raison de trop nombreux ajustements consécutifs (%1$S) avec une distance totale trop petite (%2$S px en moyenne, %3$S px au total).
+
+ForcedLayoutStart=La mise en page a été forcée avant le chargement complet de la page. Si les feuilles de style ne sont pas encore chargées, cela peut provoquer un flash de contenu non stylisé.
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/global/mathml/mathml.properties b/thunderbird-l10n/fr/chrome/fr/locale/fr/global/mathml/mathml.properties
new file mode 100644
index 0000000000..5ba4f01d19
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/global/mathml/mathml.properties
@@ -0,0 +1,15 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+InvalidChild=Balisage non valide : <%1$S> ne peut pas être un enfant de <%2$S>.
+ChildCountIncorrect=Balisage non valide : le nombre d’enfants de la balise <%1$S/> est incorrect.
+DuplicateMprescripts=Balisage non valide : plus d’une balise <mprescripts/> dans <mmultiscripts/>.
+# LOCALIZATION NOTE: The first child of <mmultiscript/> is the base, that is the element to which scripts are attached.
+NoBase=Balisage non valide : un seul élément utilisé comme base attendu dans <mmultiscripts/>. Aucun trouvé.
+SubSupMismatch=Balisage non valide : la paire subscript/superscript est incomplète dans <mmultiscripts/>.
+
+# LOCALIZATION NOTE: When localizing the single quotes ('), follow the conventions in css.properties for your target locale.
+AttributeParsingError=Erreur dans l’analyse de la valeur « %1$S » pour l’attribut « %2$S » de <%3$S/>. Attribut ignoré.
+AttributeParsingErrorNoTag=Erreur dans l’analyse de la valeur « %1$S » pour l’attribut « %2$S ». Attribut ignoré.
+LengthParsingError=Erreur dans l’analyse de la valeur de l’attribut MathML « %1$S » en tant que longueur. Attribut ignoré.
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/global/narrate.properties b/thunderbird-l10n/fr/chrome/fr/locale/fr/global/narrate.properties
new file mode 100644
index 0000000000..71f20bb586
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/global/narrate.properties
@@ -0,0 +1,25 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# "Listen, which allows users to listen to Firefox reading the text,
+# instead of having to read it themselves." This is the name
+# of the feature and it is the label for the popup button.
+# %S is the keyboard shortcut for the listen command
+listen-label = Écouter (%S)
+back = Revenir en arrière
+# %S is the keyboard shortcut for the start command
+start-label = Démarrer (%S)
+# %S is the keyboard shortcut for the stop command
+stop-label = Arrêter (%S)
+# Keyboard shortcut to toggle the narrate feature
+narrate-key-shortcut = N
+forward = Avancer
+speed = Vitesse
+selectvoicelabel = Voix :
+# Default voice is determined by the language of the document.
+defaultvoice = par défaut
+
+# Voice name and language.
+# eg. David (English)
+voiceLabel = %S (%S)
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/global/nsWebBrowserPersist.properties b/thunderbird-l10n/fr/chrome/fr/locale/fr/global/nsWebBrowserPersist.properties
new file mode 100644
index 0000000000..6c5eed1c47
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/global/nsWebBrowserPersist.properties
@@ -0,0 +1,17 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+readError=%S ne pourra être enregistré car le fichier source ne peut être lu.\n\nRéessayez plus tard ou contactez l’administrateur du serveur.
+writeError=%S ne pourra être enregistré car une erreur inconnue est survenue.\n\nEssayez d’enregistrer le fichier ailleurs.
+launchError=%S ne pourra être ouvert car une erreur inconnue est survenue.\n\nEssayez d’enregistrer d’abord sur le disque puis d’ouvrir le fichier.
+diskFull=Il n’y a pas assez d’espace sur le disque pour enregistrer %S.\n\nEffacez les fichiers inutiles du disque et essayez à nouveau, ou essayez d’enregistrer ailleurs.
+readOnly=%S n’a pu être enregistré car le disque, le répertoire ou le fichier est protégé en écriture.\n\nEnlevez la protection et essayez à nouveau, ou essayez d’enregistrer ailleurs.
+accessError=%S n’a pu être enregistré car vous ne pouvez changer le contenu de ce répertoire.\n\nChangez les propriétés du répertoire et essayez à nouveau, ou essayez d’enregistrer ailleurs.
+SDAccessErrorCardReadOnly=Impossible de télécharger le fichier car la carte SD est en cours d’utilisation.
+SDAccessErrorCardMissing=Impossible de télécharger le fichier car la carte SD est manquante.
+helperAppNotFound=%S n’a pu être ouvert car l’application auxiliaire associée n’existe pas. Changez cette association dans vos préférences.
+noMemory=Il n’y a pas assez de mémoire disponible pour achever l’action demandée.\n\nQuittez quelques applications et essayez à nouveau.
+title=Téléchargement de %S
+fileAlreadyExistsError=%S n’a pu être enregistré car un fichier ayant le même nom que le répertoire « _fichiers » existe déjà.\n\nEssayez de l’enregistrer dans un emplacement différent.
+fileNameTooLongError=%S n’a pu être enregistré car le nom de fichier est trop long.\n\nEssayez de l’enregistrer avec un nom plus court.
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/global/printdialog.properties b/thunderbird-l10n/fr/chrome/fr/locale/fr/global/printdialog.properties
new file mode 100644
index 0000000000..0f3dd0772e
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/global/printdialog.properties
@@ -0,0 +1,52 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# These strings are used in the native GTK, Mac and Windows print dialogs.
+
+# GTK titles:
+printTitleGTK=Imprimer
+optionsTabLabelGTK=Options
+
+# Mac titles:
+optionsTitleMac=Options :
+appearanceTitleMac=Apparence :
+pageHeadersTitleMac=En-têtes de page :
+pageFootersTitleMac=Pieds de page :
+
+# Windows titles:
+optionsTitleWindows=Options
+
+# TRANSLATOR NOTE: For radio button labels and check button labels, an underscore _
+# before a character will turn that character into an accesskey in the GTK dialog.
+# e.g. "_As laid out" will make A the accesskey.
+# In the Windows labels, use an ampersand (&).
+# On Mac, underscores will be stripped.
+
+shrinkToFit=_Ignorer l’échelle et ajuster la largeur de la page
+selectionOnly=I_mprimer seulement la sélection
+printBGOptions=Impression de l’arrière-plan
+printBGColors=Imp_rimer les couleurs d’arrière-plan
+printBGImages=Imprime_r les images d’arrière-plan
+headerFooter=En-tête et pied de page
+left=À gauche
+center=Centré
+right=À droite
+headerFooterBlank=--vide--
+headerFooterTitle=Titre
+headerFooterURL=URL
+headerFooterDate=Date/Heure
+headerFooterPage=Page #
+headerFooterPageTotal=Page # sur #
+headerFooterCustom=Personnaliser…
+customHeaderFooterPrompt=Veuillez saisir le texte personnalisé de votre en-tête/pied de page
+
+summarySelectionOnlyTitle=Imprimer la sélection
+summaryShrinkToFitTitle=Ajuster la largeur de la page
+summaryPrintBGColorsTitle=Imprimer les couleurs d’arrière-plan
+summaryPrintBGImagesTitle=Imprimer les images d’arrière-plan
+summaryHeaderTitle=En-têtes de page
+summaryFooterTitle=Pieds de page
+summaryNAValue=Non disponible
+summaryOnValue=Activé
+summaryOffValue=Désactivé
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/global/printing.properties b/thunderbird-l10n/fr/chrome/fr/locale/fr/global/printing.properties
new file mode 100644
index 0000000000..1bd3b8c338
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/global/printing.properties
@@ -0,0 +1,56 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# Page number formatting
+## @page_number The current page number
+#LOCALIZATION NOTE (pageofpages): Do not translate %ld in the following line.
+# Place the word %ld where the page number and number of pages should be
+# The first %ld will receive the the page number
+pagenumber=%1$d
+
+# Page number formatting
+## @page_number The current page number
+## @page_total The total number of pages
+#LOCALIZATION NOTE (pageofpages): Do not translate %ld in the following line.
+# Place the word %ld where the page number and number of pages should be
+# The first %ld will receive the the page number
+# the second %ld will receive the total number of pages
+pageofpages=%1$d sur %2$d
+
+PrintToFile=Imprimer dans un fichier
+print_error_dialog_title=Erreur d’impression
+printpreview_error_dialog_title=Erreur de prévisualisation
+
+# Printing error messages.
+#LOCALIZATION NOTE: Some of these messages come in pairs, one
+# for printing and one for print previewing. You can remove that
+# distinction in your language by removing the entity with the _PP
+# suffix; then the entity without a suffix will be used for both.
+# You can also add that distinction to any of the messages that don't
+# already have it by adding a new entity with a _PP suffix.
+#
+# For instance, if you delete PERR_GFX_PRINTER_DOC_IS_BUSY_PP, then
+# the PERR_GFX_PRINTER_DOC_IS_BUSY message will be used for that error
+# condition when print previewing as well as when printing. If you
+# add PERR_FAILURE_PP, then PERR_FAILURE will only be used when
+# printing, and PERR_FAILURE_PP will be used under the same conditions
+# when print previewing.
+#
+PERR_FAILURE=Une erreur inconnue est survenue pendant l’impression.
+
+PERR_ABORT=Le travail d’impression a été arrêté ou annulé.
+PERR_NOT_AVAILABLE=Certaines fonctionnalités d’impression ne sont pas disponibles.
+PERR_NOT_IMPLEMENTED=Certaines fonctionnalités d’impression ne sont pas encore implémentées.
+PERR_OUT_OF_MEMORY=Il n’y a pas assez de mémoire pour imprimer.
+PERR_UNEXPECTED=Il y a eu un problème inattendu lors de l’impression.
+
+PERR_GFX_PRINTER_NO_PRINTER_AVAILABLE=Aucune imprimante trouvée.
+PERR_GFX_PRINTER_NO_PRINTER_AVAILABLE_PP=Aucune imprimante trouvée, impossible d’afficher un aperçu avant impression.
+PERR_GFX_PRINTER_NAME_NOT_FOUND=L’imprimante choisie est introuvable.
+PERR_GFX_PRINTER_COULD_NOT_OPEN_FILE=Le fichier de sortie ne peut être ouvert.
+PERR_GFX_PRINTER_STARTDOC=L’impression a échoué en débutant le travail d’impression.
+PERR_GFX_PRINTER_ENDDOC=L’impression a échoué en terminant le travail d’impression.
+PERR_GFX_PRINTER_STARTPAGE=L’impression a échoué au début d’une nouvelle page.
+PERR_GFX_PRINTER_DOC_IS_BUSY=Impossible d’imprimer ce document pour le moment, il est en cours de chargement.
+PERR_GFX_PRINTER_DOC_IS_BUSY_PP=Impossible de prévisualiser ce document pour le moment, il est en cours de chargement.
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/global/resetProfile.properties b/thunderbird-l10n/fr/chrome/fr/locale/fr/global/resetProfile.properties
new file mode 100644
index 0000000000..e0b0e10cfa
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/global/resetProfile.properties
@@ -0,0 +1,14 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE: These strings are used for profile reset.
+
+# LOCALIZATION NOTE (resetUnusedProfile.message): %S is brandShortName.
+resetUnusedProfile.message=Il semblerait que vous n’ayez pas démarré %S depuis un petit moment. Voulez-vous lui donner un coup de jeune pour profiter d’une meilleure navigation ? Au fait, ça fait plaisir de vous retrouver !
+# LOCALIZATION NOTE (resetUninstalled.message): %S is brandShortName.
+resetUninstalled.message=Il semblerait que %S ait été réinstallé récemment. Voulez-vous lui donner un coup de jeune pour profiter d’une meilleure navigation ?
+
+# LOCALIZATION NOTE (refreshProfile.resetButton.label): %S is brandShortName.
+refreshProfile.resetButton.label=Réparer %S…
+refreshProfile.resetButton.accesskey=R
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/global/security/caps.properties b/thunderbird-l10n/fr/chrome/fr/locale/fr/global/security/caps.properties
new file mode 100644
index 0000000000..514d021e6f
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/global/security/caps.properties
@@ -0,0 +1,9 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+CheckLoadURIError=Erreur de sécurité : le contenu situé à %S ne peut pas charger de données ou établir un lien vers %S.
+CheckSameOriginError=Erreur de sécurité : le contenu situé à %S ne peut pas charger de données à partir de %S.
+ExternalDataError =Erreur de sécurité : le contenu situé à %S a essayé de charger %S, mais ne peut pas charger de données externes lorsqu’il est utilisé comme une image.
+
+CreateWrapperDenied=Permission refusée de créer une classe enveloppante pour un objet de la classe %S
+CreateWrapperDeniedForOrigin=Permission refusée à <%2$S> de créer une classe enveloppante pour l’objet de la classe %1$S
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/global/security/csp.properties b/thunderbird-l10n/fr/chrome/fr/locale/fr/global/security/csp.properties
new file mode 100644
index 0000000000..28ec97fa35
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/global/security/csp.properties
@@ -0,0 +1,125 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# CSP Warnings:
+# LOCALIZATION NOTE (CSPViolation):
+# %1$S is the reason why the resource has not been loaded.
+CSPViolation = Les paramètres de la page ont empêché le chargement d’une ressource : %1$S
+# LOCALIZATION NOTE (CSPViolationWithURI):
+# %1$S is the directive that has been violated.
+# %2$S is the URI of the resource which violated the directive.
+CSPViolationWithURI = Les paramètres de la page ont empêché le chargement d’une ressource à %2$S (« %1$S »).
+# LOCALIZATION NOTE (CSPROViolation):
+# %1$S is the reason why the resource has not been loaded.
+CSPROViolation = Une violation de politique CSP report-only (« %1$S ») s’est produite. Le comportement a été autorisé et un rapport CSP a été envoyé.
+# LOCALIZATION NOTE (CSPROViolationWithURI):
+# %1$S is the directive that has been violated.
+# %2$S is the URI of the resource which violated the directive.
+CSPROViolationWithURI = Les paramètres de la page ont détecté le chargement d’une ressource à %2$S (« %1$S »). Un rapport CSP est en cours d’envoi.
+# LOCALIZATION NOTE (triedToSendReport):
+# %1$S is the URI we attempted to send a report to.
+triedToSendReport = Tentative d’envoi du rapport de l’URI invalide : « %1$S »
+tooManyReports = L’envoi de trop nombreux rapports CSP pendant un court laps de temps a été empêché.
+# LOCALIZATION NOTE (couldNotParseReportURI):
+# %1$S is the report URI that could not be parsed
+couldNotParseReportURI = Impossible d’analyser l’URI du rapport : %1$S
+# LOCALIZATION NOTE (couldNotProcessUnknownDirective):
+# %1$S is the unknown directive
+couldNotProcessUnknownDirective = L’analyse de « %1$S » a échoué, car la directive est inconnue.
+# LOCALIZATION NOTE (ignoringUnknownOption):
+# %1$S is the option that could not be understood
+ignoringUnknownOption = L’option inconnue « %1$S » a été ignorée.
+# LOCALIZATION NOTE (ignoringDuplicateSrc):
+# %1$S defines the duplicate src
+ignoringDuplicateSrc = La source dupliquée « %1$S » a été ignorée.
+# LOCALIZATION NOTE (ignoringNonAsciiToken):
+# %1$S defines the name of the directive
+# %2$S is the token string containing non-ASCII characters.
+ignoringNonAsciiToken = Ignorer la directive « %1$S » avec le jeton non ASCII « %2$S »
+# LOCALIZATION NOTE (ignoringSrcFromMetaCSP):
+# %1$S defines the ignored src
+ignoringSrcFromMetaCSP = La source « %1$S » a été ignorée (Non pris en charge lorsque transmis par un élément « meta »).
+# LOCALIZATION NOTE (ignoringSrcWithinNonceOrHashDirective):
+# %1$S is the ignored src (e.g. "unsafe-inline")
+# %2$S is the directive (e.g. "script-src-elem")
+ignoringSrcWithinNonceOrHashDirective = « %1$S » ignoré à l’intérieur de %2$S : l’attribut « nonce-source » ou « hash-source » est spécifié
+# LOCALIZATION NOTE (ignoringScriptSrcForStrictDynamic):
+# %1$S is the ignored src
+# %1$S is the directive src (e.g. "script-src-elem")
+# 'strict-dynamic' should not be localized
+ignoringScriptSrcForStrictDynamic = « %1$S » ignoré à l’intérieur de %2$S : l’attribut « strict-dynamic » est spécifié
+# LOCALIZATION NOTE (ignoringStrictDynamic):
+# %1$S is the ignored src
+ignoringStrictDynamic = La source « %1$S » a été ignorée (Uniquement prise en charge dans script-src).
+# LOCALIZATION NOTE (ignoringUnsafeEval):
+# %1$S is the csp directive (e.g. script-src-elem)
+# 'unsafe-eval' and 'wasm-unsafe-eval' should not be localized
+ignoringUnsafeEval = Les attributs « unsafe-eval » ou « wasm-unsafe-eval » sont ignorés dans « %1$S ».
+# LOCALIZATION NOTE (strictDynamicButNoHashOrNonce):
+# %1$S is the csp directive that contains 'strict-dynamic'
+# 'strict-dynamic' should not be localized
+strictDynamicButNoHashOrNonce = Le mot clé « strict-dynamic » dans « %1$S » sans nonce ni empreinte valides peut bloquer le chargement de l’ensemble des scripts.
+# LOCALIZATION NOTE (reportURInotHttpsOrHttp2):
+# %1$S is the ETLD of the report URI that is not HTTP or HTTPS
+reportURInotHttpsOrHttp2 = L’URI du rapport (%1$S) doit être de type HTTP ou HTTPS.
+# LOCALIZATION NOTE (reportURInotInReportOnlyHeader):
+# %1$S is the ETLD of the page with the policy
+reportURInotInReportOnlyHeader = Ce site (%1$S) possède une politique Report-Only sans URI de rapport. CSP ne bloquera pas cette politique et ne pourra pas rapporter ses violations.
+# LOCALIZATION NOTE (failedToParseUnrecognizedSource):
+# %1$S is the CSP Source that could not be parsed
+failedToParseUnrecognizedSource = Impossible d’analyser la source non-reconnue %1$S
+# LOCALIZATION NOTE (upgradeInsecureRequest):
+# %1$S is the URL of the upgraded request; %2$S is the upgraded scheme.
+upgradeInsecureRequest = La requête non sécurisée « %1$S » va maintenant utiliser « %2$S »
+# LOCALIZATION NOTE (ignoreSrcForDirective):
+ignoreSrcForDirective = Attributs src ignorés pour la directive « %1$S »
+# LOCALIZATION NOTE (hostNameMightBeKeyword):
+# %1$S is the hostname in question and %2$S is the keyword
+hostNameMightBeKeyword = %1$S a été interprété comme un nom d’hôte et non comme un mot-clé. S’il s’agissait vraiment d’un mot-clé, utilisez '%2$S' (entouré d’apostrophes).
+# LOCALIZATION NOTE (notSupportingDirective):
+# directive is not supported (e.g. 'reflected-xss')
+notSupportingDirective = Directive « %1$S » non prise en charge. La directive et les valeurs seront ignorées.
+# LOCALIZATION NOTE (blockAllMixedContent):
+# %1$S is the URL of the blocked resource load.
+blockAllMixedContent = La requête non sécurisée « %1$S » a été bloquée.
+# LOCALIZATION NOTE (ignoringDirectiveWithNoValues):
+# %1$S is the name of a CSP directive that requires additional values
+ignoringDirectiveWithNoValues = La directive « %1$S » a été ignorée, car elle ne possède aucun paramètre.
+# LOCALIZATION NOTE (ignoringReportOnlyDirective):
+# %1$S is the directive that is ignored in report-only mode.
+ignoringReportOnlyDirective = La directive « %1$S » du bac à sable est ignorée lorsqu’elle est transmise selon une politique « report-only ».
+# LOCALIZATION NOTE (IgnoringSrcBecauseOfDirective):
+# %1$S is the name of the src that is ignored.
+# %2$S is the name of the directive that causes the src to be ignored.
+IgnoringSrcBecauseOfDirective=« %1$S » ignoré en raison de la directive « %2$S ».
+# LOCALIZATION NOTE (IgnoringSourceWithinDirective):
+# %1$S is the ignored src
+# %2$S is the directive which supports src
+IgnoringSourceWithinDirective = La source « %1$S » a été ignorée (non prise en charge dans « %2$S »).
+# LOCALIZATION NOTE (IgnoringSourceWithinDirective):
+# %1$S is the ignored src
+obsoleteBlockAllMixedContent = La source « %1$S » est ignorée, car la mise à niveau de l’affichage du contenu mixte rend obsolète la directive block-all-mixed-content.
+
+
+# CSP Errors:
+# LOCALIZATION NOTE (couldntParseInvalidSource):
+# %1$S is the source that could not be parsed
+couldntParseInvalidSource = Impossible d’analyser la source invalide %1$S
+# LOCALIZATION NOTE (couldntParseInvalidHost):
+# %1$S is the host that's invalid
+couldntParseInvalidHost = Impossible d’analyser l’hôte invalide %1$S
+# LOCALIZATION NOTE (couldntParsePort):
+# %1$S is the string source
+couldntParsePort = Impossible d’analyser le port dans %1$S
+# LOCALIZATION NOTE (duplicateDirective):
+# %1$S is the name of the duplicate directive
+duplicateDirective = Doublon de la directive %1$S détecté. Toutes les instances, sauf la première, seront ignorées.
+# LOCALIZATION NOTE (couldntParseInvalidSandboxFlag):
+# %1$S is the option that could not be understood
+couldntParseInvalidSandboxFlag = Impossible d’analyser l’option de bac à sable invalide « %1$S ».
+
+# LOCALIZATION NOTE (CSPMessagePrefix):
+# Do not translate "Content-Security-Policy", only handle spacing for the colon.
+# %S is a console message that is being prefixed here.
+CSPMessagePrefix = Content-Security-Policy : %S
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/global/security/security.properties b/thunderbird-l10n/fr/chrome/fr/locale/fr/global/security/security.properties
new file mode 100644
index 0000000000..c339c1e49e
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/global/security/security.properties
@@ -0,0 +1,167 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# Mixed Content Blocker
+# LOCALIZATION NOTE: "%1$S" is the URI of the blocked mixed content resource
+BlockMixedDisplayContent = Blocage du chargement du contenu mixte d’affichage (mixed display content) « %1$S »
+BlockMixedActiveContent = Blocage du chargement du contenu mixte actif (mixed active content) « %1$S »
+
+# CORS
+# LOCALIZATION NOTE: Do not translate "Access-Control-Allow-Origin", Access-Control-Allow-Credentials, Access-Control-Allow-Methods, Access-Control-Allow-Headers
+CORSDisabled=Blocage d’une requête multiorigine (Cross-Origin Request) : la politique « Same Origin » ne permet pas de consulter la ressource distante située sur %1$S. Raison : CORS désactivé.
+CORSDidNotSucceed2=Blocage d’une requête multiorigine (Cross-Origin Request) : la politique « Same Origin » ne permet pas de consulter la ressource distante située sur %1$S. Raison : échec de la requête CORS. Code d’état : %2$S.
+CORSOriginHeaderNotAdded=Blocage d’une requête multiorigine (Cross-Origin Request) : la politique « Same Origin » ne permet pas de consulter la ressource distante située sur %1$S. Raison : l’en-tête CORS « Origin » ne peut pas être ajouté.
+CORSExternalRedirectNotAllowed=Blocage d’une requête multiorigine (Cross-Origin Request) : la politique « Same Origin » ne permet pas de consulter la ressource distante située sur %1$S. Raison : la redirection externe de requêtes CORS n’est pas autorisée.
+CORSRequestNotHttp=Blocage d’une requête multiorigine (Cross-Origin Request) : la politique « Same Origin » ne permet pas de consulter la ressource distante située sur %1$S. Raison : la requête CORS n’utilise pas HTTP.
+CORSMissingAllowOrigin2=Blocage d’une requête multiorigines (Cross-Origin Request) : la politique « Same Origin » ne permet pas de consulter la ressource distante située sur %1$S. Raison : l’en-tête CORS « Access-Control-Allow-Origin » est manquant. Code d’état : %2$S.
+CORSMultipleAllowOriginNotAllowed=Blocage d’une requête multiorigine (Cross-Origin Request) : la politique « Same Origin » ne permet pas de consulter la ressource distante située sur %1$S. Raison : le recours à plusieurs en-têtes CORS « Access-Control-Allow-Origin » n’est pas autorisé.
+CORSAllowOriginNotMatchingOrigin=Blocage d’une requête multiorigine (Cross-Origin Request) : la politique « Same Origin » ne permet pas de consulter la ressource distante située sur %1$S. Raison : l’en-tête CORS « Access-Control-Allow-Origin » ne correspond pas à « %2$S ».
+CORSNotSupportingCredentials=Blocage d’une requête multiorigine (Cross-Origin Request) : la politique « Same Origin » ne permet pas de consulter la ressource distante située sur %1$S. Raison : l’identification n’est pas prise en charge si la valeur de l’en-tête CORS « Access-Control-Allow-Origin » est « * ».
+CORSMethodNotFound=Blocage d’une requête multiorigine (Cross-Origin Request) : la politique « Same Origin » ne permet pas de consulter la ressource distante située sur %1$S. Raison : méthode manquante dans l’en-tête « Access-Control-Allow-Methods ».
+CORSMissingAllowCredentials=Blocage d’une requête multiorigine (Cross-Origin Request) : la politique « Same Origin » ne permet pas de consulter la ressource distante située sur %1$S. Raison : « true » attendu dans l’en-tête CORS « Access-Control-Allow-Credentials ».
+CORSPreflightDidNotSucceed3=Blocage d’une requête multiorigine (Cross-Origin Request) : la politique « Same Origin » ne permet pas de consulter la ressource distante située sur %1$S. Raison : échec de la réponse de pré-vérification des requêtes CORS. Code d’état : %2$S.
+CORSInvalidAllowMethod=Blocage d’une requête multiorigine (Cross-Origin Request) : la politique « Same Origin » ne permet pas de consulter la ressource distante située sur %1$S. Raison : jeton « %2$S » invalide dans l’en-tête CORS « Access-Control-Allow-Methods ».
+CORSInvalidAllowHeader=Blocage d’une requête multiorigine (Cross-Origin Request) : la politique « Same Origin » ne permet pas de consulter la ressource distante située sur %1$S. Raison : jeton « %2$S » invalide dans l’en-tête CORS « Access-Control-Allow-Headers ».
+CORSMissingAllowHeaderFromPreflight2=Blocage d’une requête multiorigine (Cross-Origin Request) : la politique « Same Origin » ne permet pas de consulter la ressource distante située sur %1$S. Raison : l’en-tête « %2$S » n’est pas autorisé d’après l’en-tête « Access-Control-Allow-Headers » de la réponse de pré-vérification des requêtes CORS.
+CORSAllowHeaderFromPreflightDeprecation=Avertissement de requête multiorigine (Cross-Origin Request) : la stratégie « Same Origin » ne permettra bientôt plus de consulter la ressource distante située sur %1$S (motif : quand la valeur d’« Access-Control-Allow-Headers » est « * », l’en-tête « Authorization » n’est pas traité. Pour que l’en-tête « Authorization » soit inclus, il doit être explicitement listé dans l’en-tête CORS « Access-Control-Allow -Headers »).
+
+# LOCALIZATION NOTE: Do not translate "Strict-Transport-Security", "HSTS", "max-age" or "includeSubDomains"
+STSUnknownError=Strict-Transport-Security : une erreur inconnue s’est produite lors du traitement de l’en-tête spécifié par le site.
+STSCouldNotParseHeader=Strict-Transport-Security : le site a spécifié un en-tête qui n’a pas pu être analysé correctement.
+STSNoMaxAge=Strict-Transport-Security : le site a spécifié un en-tête qui ne possède pas de directive « max-age ».
+STSMultipleMaxAges=Strict-Transport-Security : le site a spécifié un en-tête qui possède plusieurs directives « max-age ».
+STSInvalidMaxAge=Strict-Transport-Security : le site a spécifié un en-tête qui possède une directive « max-age » invalide.
+STSMultipleIncludeSubdomains==Strict-Transport-Security : le site a spécifié un en-tête qui possède plusieurs directives « includeSubDomains ».
+STSInvalidIncludeSubdomains=Strict-Transport-Security : le site a spécifié un en-tête qui possède une directive « includeSubDomains » invalide.
+STSCouldNotSaveState=Strict-Transport-Security : une erreur s’est produite en marquant le site comme hôte Strict-Transport-Security.
+
+InsecurePasswordsPresentOnPage=Champs mot de passe présents sur une page non sécurisée (http://). Cela représente un risque de sécurité permettant le vol d’identifiants de connexion.
+InsecureFormActionPasswordsPresent=Champs mot de passe présents dans un formulaire possédant une action de formulaire non sécurisée (http://). Cela représente un risque de sécurité permettant le vol d’identifiants de connexion.
+InsecurePasswordsPresentOnIframe=Champs mot de passe présents dans une iframe non sécurisée (http://). Cela représente un risque de sécurité permettant le vol d’identifiants de connexion.
+# LOCALIZATION NOTE: "%1$S" is the URI of the insecure mixed content resource
+LoadingMixedActiveContent2=Chargement du contenu mixte actif « %1$S » (non sécurisé) sur une page sécurisée
+LoadingMixedDisplayContent2=Chargement du contenu mixte d’affichage « %1$S » (non sécurisé) sur une page sécurisée
+LoadingMixedDisplayObjectSubrequestDeprecation=Le chargement de contenu mixte (non sécurisé) « %1$S » dans un plugin sur une page sécurisée est déconseillé et sera prochainement bloqué.
+# LOCALIZATION NOTE: "%S" is the URI of the insecure mixed content download
+MixedContentBlockedDownload = Téléchargement du contenu non sécurisé « %S » bloqué.
+
+# LOCALIZATION NOTE: Do not translate "allow-scripts", "allow-same-origin", "sandbox" or "iframe"
+BothAllowScriptsAndSameOriginPresent=Un iframe possédant à la fois allow-scripts et allow-same-origin pour son attribut sandbox peut se retirer du mode bac à sable (sandboxing).
+# LOCALIZATION NOTE: Do not translate "allow-top-navigation-by-user-activation", "allow-top-navigation", "sandbox" or "iframe"
+BothAllowTopNavigationAndUserActivationPresent=Un iframe qui dispose à la fois des valeurs allow-top-navigation et allow-top-navigation-by-user-activation pour son attribut sandbox autorise la navigation au plus haut niveau.
+
+# Sub-Resource Integrity
+# LOCALIZATION NOTE: Do not translate "script" or "integrity". "%1$S" is the invalid token found in the attribute.
+MalformedIntegrityHash=L’élément script possède un URI mal formé dans son attribut « integrity » : « %1$S ». Le format correct est « <algorithme de hachage>-<valeur d’empreinte> ».
+# LOCALIZATION NOTE: Do not translate "integrity"
+InvalidIntegrityLength=L’empreinte contenue dans l’attribut « integrity » possède une longueur incorrecte.
+# LOCALIZATION NOTE: Do not translate "integrity"
+InvalidIntegrityBase64=L’empreinte contenue dans l’attribut « integrity » n’a pas pu être décodée.
+# LOCALIZATION NOTE: Do not translate "integrity". "%1$S" is the type of hash algorithm in use (e.g. "sha256"). "%2$S" is the value we saw.
+IntegrityMismatch2=Aucun des hachages « %1$S » de l’attribut « integrity » ne correspond au contenu de la sous-ressource. Le hachage calculé est « %2$S ».
+# LOCALIZATION NOTE: "%1$S" is the URI of the sub-resource that cannot be protected using SRI.
+IneligibleResource=« %1$S » n’est pas admissible au contrôle d’intégrité car CORS ou same-origin ne sont pas disponibles.
+# LOCALIZATION NOTE: Do not translate "integrity". "%1$S" is the invalid hash algorithm found in the attribute.
+UnsupportedHashAlg=Algorithme de hachage non pris en charge dans l’attribut « integrity » : « %1$S »
+# LOCALIZATION NOTE: Do not translate "integrity"
+NoValidMetadata=L’attribut « integrity » ne contient pas de métadonnées valides.
+
+# LOCALIZATION NOTE: Do not translate "RC4".
+WeakCipherSuiteWarning=Ce site utilise l’algorithme RC4 pour le chiffrement. Cet algorithme est obsolète et n’est pas sécurisé.
+
+DeprecatedTLSVersion2=Ce site utilise une version obsolète de TLS. Veuillez mettre à niveau vers TLS 1.2 ou 1.3.
+
+#XCTO: nosniff
+# LOCALIZATION NOTE: Do not translate "X-Content-Type-Options: nosniff".
+MimeTypeMismatch2=La ressource à l’adresse « %1$S » a été bloquée en raison d’un type MIME (« %2$S ») incorrect (X-Content-Type-Options: nosniff).
+# LOCALIZATION NOTE: Do not translate "X-Content-Type-Options" and also do not translate "nosniff".
+XCTOHeaderValueMissing=Avertissement pour l’en-tête X-Content-Type-Options : la valeur reçue est « %1$S » ; vouliez-vous envoyer « nosniff » ?
+# LOCALIZATION NOTE: Do not translate "X-Content-Type-Options" and also do not translate "nosniff".
+XTCOWithMIMEValueMissing=La ressource à l’adresse « %1$S » n’a pas été affichée en raison d’un type MIME incorrect ou manquant (X-Content-Type-Options: nosniff).
+
+BlockScriptWithWrongMimeType2=Le script à l’adresse « %1$S » a été bloqué à cause d’un type MIME interdit (« %2$S »).
+WarnScriptWithWrongMimeType=Le script à l’adresse « %1$S » a été chargé alors que son type MIME (« %2$S ») n’est pas un type MIME JavaScript valide.
+# LOCALIZATION NOTE: Do not translate "importScripts()"
+BlockImportScriptsWithWrongMimeType=Le chargement du script à l’adresse « %1$S » avec importScripts() a été bloqué en raison d’un type MIME interdit (« %2$S »).
+BlockWorkerWithWrongMimeType=Le chargement du worker à l’adresse « %1$S » a été bloqué en raison d’un type MIME interdit (« %2$S »).
+BlockModuleWithWrongMimeType=Le chargement du module à l’adresse « %1$S » a été bloqué en raison d’un type MIME interdit (« %2$S »).
+
+# LOCALIZATION NOTE: Do not translate "data: URI".
+BlockTopLevelDataURINavigation=La navigation de premier niveau data: URI n’est pas permise (chargement de « %1$S » bloqué)
+BlockRedirectToDataURI=Redirection vers « data: URI » non autorisée (chargement de « %1$S » bloqué)
+
+# LOCALIZATION NOTE: Do not translate "file: URI". “%1$S” is the whole URI of the loaded file. “%2$S” is the MIME type e.g. "text/plain".
+BlockFileScriptWithWrongMimeType=Le chargement du script d’adresse file: URI (« %1$S ») a été bloqué, car son type MIME (« %2$S ») n’est pas un type MIME JavaScript valide.
+
+# LOCALIZATION NOTE: “%S” is the whole URI of the loaded file.
+BlockExtensionScriptWithWrongExt=Le chargement du script d’URI « %S » a été bloqué, car l’extension du fichier n’est pas autorisée.
+
+RestrictBrowserEvalUsage=eval() et les méthodes similaires ne sont pas autorisées dans le processus parent ou dans des contextes système (utilisation bloquée dans « %1$S »)
+
+# LOCALIZATION NOTE (MixedContentAutoUpgrade):
+# %1$S is the URL of the upgraded request; %2$S is the upgraded scheme.
+MixedContentAutoUpgrade=Surclassement de la requête d’affichage non sécurisée « %1$S » par l’utilisation de « %2$S »
+# LOCALIZATION NOTE (RunningClearSiteDataValue):
+# %S is the URI of the resource whose data was cleaned up
+RunningClearSiteDataValue=L’en-tête Clear-Site-Data a forcé le nettoyage des données « %S ».
+UnknownClearSiteDataValue=En-tête Clear-Site-Data détecté. Valeur inconnue « %S ».
+
+# Reporting API
+ReportingHeaderInvalidJSON=En-tête de rapport : la valeur JSON reçue est invalide.
+ReportingHeaderInvalidNameItem=En-tête de rapport : le nom de groupe est invalide.
+ReportingHeaderDuplicateGroup=En-tête de rapport : le groupe doublon « %S » a été ignoré.
+ReportingHeaderInvalidItem=En-tête de rapport : l’élément invalide « %S » a été ignoré.
+ReportingHeaderInvalidEndpoint=En-tête de rapport : un point de terminaison invalide pour l’élément « %S » a été ignoré.
+# LOCALIZATION NOTE(ReportingHeaderInvalidURLEndpoint): %1$S is the invalid URL, %2$S is the group name
+ReportingHeaderInvalidURLEndpoint=En-tête de rapport : l’URL invalide « %1$S » d’un point de terminaison pour l’élément « %2$S » a été ignorée.
+
+FeaturePolicyUnsupportedFeatureName=Feature Policy : nom de fonctionnalité non prise en charge ignoré « %S ».
+# TODO: would be nice to add a link to the Feature-Policy MDN documentation here. See bug 1449501
+FeaturePolicyInvalidEmptyAllowValue= Feature Policy : liste allow vide pour la fonctionnalité « %S ».
+# TODO: would be nice to add a link to the Feature-Policy MDN documentation here. See bug 1449501
+FeaturePolicyInvalidAllowValue=Feature Policy : valeur allow non prise en charge « %S ».
+
+# LOCALIZATION NOTE: "%1$S" is the limitation length (bytes) of referrer URI, "%2$S" is the origin of the referrer URI.
+ReferrerLengthOverLimitation=En-tête de référent HTTP : la longueur est supérieure à la limite de « %1$S » octets — suppression de l’en-tête de référent jusqu’à l’origine : « %2$S »
+# LOCALIZATION NOTE: "%1$S" is the limitation length (bytes) of referrer URI, "%2$S" is the origin of the referrer URI.
+ReferrerOriginLengthOverLimitation=En-tête de référent HTTP : la longueur est supérieure à la limite de « %1$S » octets — suppression du référent avec l’origine « %2$S ».
+
+# LOCALIZATION NOTE: Do not translate "no-referrer-when-downgrade", "origin-when-cross-origin" and "unsafe-url". %S is the URI of the loading channel.
+ReferrerPolicyDisallowRelaxingWarning=Stratégie de référent : les stratégies les moins restrictives, comprenant « no-referrer-when-downgrade », « origin-when-cross-origin » et « unsafe-url » seront bientôt ignorées pour la requête intersite : %S
+# LOCALIZATION NOTE: %1$S is the ignored referrer policy, %2$S is the URI of the loading channel.
+ReferrerPolicyDisallowRelaxingMessage=Stratégie de référent : la stratégie de référent la moins restrictive « %1$S » est ignorée pour la requête intersite : %2$S
+
+# X-Frame-Options
+# LOCALIZATION NOTE(XFrameOptionsInvalid): %1$S is the header value, %2$S is frame URI. Do not translate "X-Frame-Options".
+XFrameOptionsInvalid = Un en-tête X-Frame-Options non valide a été trouvé lors du chargement de « %2$S » : « %1$S » n’est pas une directive valide.
+# LOCALIZATION NOTE(XFrameOptionsDeny): %1$S is the header value, %2$S is frame URI and %3$S is the parent document URI. Do not translate "X-Frame-Options".
+XFrameOptionsDeny=Le chargement de « %2$S » dans un cadre est refusé par la directive « X-Frame-Options » définie à « %1$S ».
+
+# HTTPS-Only Mode
+# LOCALIZATION NOTE: %1$S is the URL of the upgraded request; %2$S is the upgraded scheme.
+HTTPSOnlyUpgradeRequest = La requête non sécurisée « %1$S » va maintenant utiliser « %2$S ».
+# LOCALIZATION NOTE: %1$S is the URL of request.
+HTTPSOnlyNoUpgradeException = Pas de mise à niveau de la requête non sécurisée « %1$S » car elle en est exonérée.
+# LOCALIZATION NOTE: %1$S is the URL of the failed request; %2$S is an error-code.
+HTTPSOnlyFailedRequest = La mise à niveau de la requête non sécurisée « %1$S » a échoué (%2$S)
+# LOCALIZATION NOTE: %S is the URL of the failed request;
+HTTPSOnlyFailedDowngradeAgain = La mise à niveau de la requête non sécurisée « %S » a échoué. Repassage à « http ».
+# LOCALIZATION NOTE: Hints or indicates a new transaction for a URL is likely coming soon. We use
+# a speculative connection to start a TCP connection so that the resource is immediately ready
+# when the transaction is actually submitted. HTTPS-Only and HTTPS-First will upgrade such
+# speculative TCP connections from http to https.
+# %1$S is the URL of the upgraded speculative TCP connection; %2$S is the upgraded scheme.
+HTTPSOnlyUpgradeSpeculativeConnection = La connexion TCP spéculative et non sécurisée « %1$S » va maintenant utiliser « %2$S ».
+
+HTTPSFirstSchemeless = Mise à niveau de l’URL sans protocole explicite chargée dans la barre d’adresse afin d’utiliser HTTPS.
+
+# LOCALIZATION NOTE: %S is the URL of the blocked request;
+IframeSandboxBlockedDownload = Le téléchargement de « %S » a été bloqué, car l’iframe qui l’a déclenché dispose de l’option sandbox.
+
+# LOCALIZATION NOTE: %S is the URL of the blocked request;
+SandboxBlockedCustomProtocols = Blocage de la navigation vers le protocole personnalisé « %S » depuis un contexte en bac à sable.
+
+# Sanitizer API
+# LOCALIZATION NOTE: Please do not localize "DocumentFragment". It's the name of an API.
+SanitizerRcvdNoInput = Reçu vide ou aucune entrée. Retour d’un documentFragment vide.
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/global/svg/svg.properties b/thunderbird-l10n/fr/chrome/fr/locale/fr/global/svg/svg.properties
new file mode 100644
index 0000000000..c42dfb16c2
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/global/svg/svg.properties
@@ -0,0 +1,5 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+AttributeParseWarning=Valeur %2$S inattendue lors de l’analyse de l’attribut %1$S.
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/global/viewSource.properties b/thunderbird-l10n/fr/chrome/fr/locale/fr/global/viewSource.properties
new file mode 100644
index 0000000000..aaca7aa59b
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/global/viewSource.properties
@@ -0,0 +1,16 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+goToLineTitle = Aller à la ligne
+goToLineText = Saisissez le numéro de ligne
+invalidInputTitle = Saisie invalide
+invalidInputText = Le nombre spécifié est invalide
+outOfRangeTitle = Ligne non trouvée
+outOfRangeText = La ligne spécifiée n’a pas été trouvée.
+viewSelectionSourceTitle = Source DOM de la sélection
+
+context_goToLine_label = Aller à la ligne…
+context_goToLine_accesskey = l
+context_wrapLongLines_label = Retour à la ligne automatique
+context_highlightSyntax_label = Coloration syntaxique
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/global/wizard.properties b/thunderbird-l10n/fr/chrome/fr/locale/fr/global/wizard.properties
new file mode 100644
index 0000000000..860b01dd89
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/global/wizard.properties
@@ -0,0 +1,8 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+default-first-title=%S - Bienvenue
+default-last-title=%S - Fin
+default-first-title-mac=Introduction
+default-last-title-mac=Conclusion
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/global/xslt/xslt.properties b/thunderbird-l10n/fr/chrome/fr/locale/fr/global/xslt/xslt.properties
new file mode 100644
index 0000000000..7ad17f7be7
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/global/xslt/xslt.properties
@@ -0,0 +1,39 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+1 = Échec de l’analyse d’une feuille de style XSLT.
+2 = Échec de l’analyse d’une expression XPath.
+3 =
+4 = Échec de transformation XSLT.
+5 = Fonction XSLT/XPath non valide.
+6 = La feuille de style XSLT contient (probablement) une boucle.
+7 = Valeur d’attribut illégale en XSLT 1.0.
+8 = Un NodeSet était attendu en retour d’une expression XPath.
+9 = Une transformation XSLT s’est terminée par <xsl:message>.
+10 = Une erreur réseau s’est produite lors du chargement d’une feuille de style XSLT :
+11 = Une feuille de style XSLT ne possède pas de type Mime XML :
+12 = Une feuille de style XSLT s’importe ou s’inclut elle-même, directement ou indirectement :
+13 = Une fonction XPath a été appelée avec le mauvais nombre d’arguments.
+14 = Une fonction d’extension XPath inconnue a été appelée.
+15 = Échec de l’analyse XPath : « ) » attendue :
+16 = Échec de l’analyse XPath : axe invalide :
+17 = Échec de l’analyse XPath : test de Name ou de Nodetype attendu :
+18 = Échec de l’analyse XPath : « ] » attendu :
+19 = Échec de l’analyse XPath : nom de variable invalide :
+20 = Échec de l’analyse XPath : fin de l’expression inattendue :
+21 = Échec de l’analyse XPath : opérateur attendu :
+22 = Échec de l’analyse XPath : chaîne de caractères non fermée :
+23 = Échec de l’analyse XPath : « : » inattendu :
+24 = Échec de l’analyse XPath : « ! » inattendu, la négation est not() :
+25 = Échec de l’analyse XPath : caractère illégal trouvé :
+26 = Échec de l’analyse XPath : opérateur binaire attendu :
+27 = Le chargement d’une feuille de style XSLT a été bloqué pour des raisons de sécurité.
+28 = Évaluation d’une expression invalide.
+29 = Accolade non appariée.
+30 = Création d’un élément avec un QName invalide.
+31 = Une liaison de variable se superpose à une autre dans le même modèle.
+32 = Appel à la fonction key non autorisé.
+
+LoadingError = Erreur lors du chargement de la feuille de style : %S
+TransformError = Erreur lors de la transformation XLST : %S
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/global/xul.properties b/thunderbird-l10n/fr/chrome/fr/locale/fr/global/xul.properties
new file mode 100644
index 0000000000..afa4d57fa9
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/global/xul.properties
@@ -0,0 +1,5 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+PINotInProlog=L’instruction de traitement <?%1$S?> n’a désormais plus d’effet en dehors du prologue (consulter le bug 360119).
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/lightning/lightning-toolbar.dtd b/thunderbird-l10n/fr/chrome/fr/locale/fr/lightning/lightning-toolbar.dtd
new file mode 100644
index 0000000000..9053ca1a5e
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/lightning/lightning-toolbar.dtd
@@ -0,0 +1,51 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!ENTITY lightning.toolbar.calendar.name "Barre d’outils d’agenda">
+<!ENTITY lightning.toolbar.calendar.name.accesskey "a">
+<!ENTITY lightning.toolbar.task.name "Barre d’outils des tâches">
+<!ENTITY lightning.toolbar.task.name.accesskey "t">
+
+<!ENTITY lightning.toolbar.sync.label "Synchroniser">
+<!ENTITY lightning.toolbar.sync.tooltip "Actualiser les agendas et synchroniser les changements">
+<!ENTITY lightning.toolbar.delete.label "Supprimer">
+<!ENTITY lightning.toolbar.delete.tooltip "Supprimer les tâches ou évènements sélectionnés">
+<!ENTITY lightning.toolbar.edit.label "Modifier">
+<!ENTITY lightning.toolbar.edit.tooltip "Modifier la tâche ou l’évènement sélectionné">
+<!ENTITY lightning.toolbar.gototoday.label "Aujourd’hui">
+<!ENTITY lightning.toolbar.gototoday.tooltip "Aller à la date d’aujourd’hui">
+<!ENTITY lightning.toolbar.print.label "Imprimer">
+<!ENTITY lightning.toolbar.print.tooltip "Imprimer des tâches ou des évènements">
+
+<!-- Mode Toolbar -->
+<!ENTITY lightning.toolbar.calendar.label "Agenda">
+<!ENTITY lightning.toolbar.calendar.tooltip "Aller à l’onglet d’agenda">
+<!ENTITY lightning.toolbar.calendar.accesskey "A">
+<!ENTITY lightning.toolbar.task.label "Tâches">
+<!ENTITY lightning.toolbar.task.tooltip "Aller à l’onglet des tâches">
+<!ENTITY lightning.toolbar.task.accesskey "T">
+
+<!-- Toolbar write button -->
+<!ENTITY lightning.toolbar.newevent.label "Évènement">
+<!ENTITY lightning.toolbar.newevent.tooltip "Créer un nouvel évènement">
+<!ENTITY lightning.toolbar.newtask.label "Tâche">
+<!ENTITY lightning.toolbar.newtask.tooltip "Créer une nouvelle tâche">
+
+<!-- Calendar and Task Mode Toolbar -->
+<!ENTITY lightning.toolbar.day.label "Journée">
+<!ENTITY lightning.toolbar.day.accesskey "J">
+<!ENTITY lightning.toolbar.week.label "Semaine">
+<!ENTITY lightning.toolbar.week.accesskey "S">
+<!ENTITY lightning.toolbar.multiweek.label "Multisemaine">
+<!ENTITY lightning.toolbar.multiweek.accesskey "a">
+<!ENTITY lightning.toolbar.month.label "Mois">
+<!ENTITY lightning.toolbar.month.accesskey "M">
+<!-- LOCALIZATION NOTE: the same as appmenuButton.label and appmenuButton1.tooltip
+ from messenger.dtd -->
+<!ENTITY lightning.toolbar.appmenuButton.label "Menu de l’application">
+<!ENTITY lightning.toolbar.appmenuButton1.tooltip "Afficher le menu de &brandShortName;">
+<!ENTITY lightning.toolbar.calendarmenu.label "Panneau d’agenda">
+<!ENTITY lightning.toolbar.calendarmenu.accesskey "P">
+<!ENTITY lightning.toolbar.calendarpane.label "Afficher le panneau d’agenda">
+<!ENTITY lightning.toolbar.calendarpane.accesskey "P">
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/lightning/lightning.dtd b/thunderbird-l10n/fr/chrome/fr/locale/fr/lightning/lightning.dtd
new file mode 100644
index 0000000000..080e868cce
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/lightning/lightning.dtd
@@ -0,0 +1,112 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!-- WARNING! This file contains UTF-8 encoded characters!
+ - If this ==> … <== doesn't look like an ellipsis (three dots in a row),
+ - your editor isn't using UTF-8 encoding and may munge up the document!
+ -->
+
+<!-- Tools menu -->
+<!ENTITY lightning.preferencesLabel "Agenda">
+
+<!-- New menu popup in File menu -->
+<!ENTITY lightning.menupopup.new.event.label "Évènement…">
+<!ENTITY lightning.menupopup.new.event.accesskey "v">
+<!ENTITY lightning.menupopup.new.task.label "Tâche…">
+<!ENTITY lightning.menupopup.new.task.accesskey "T">
+<!ENTITY lightning.menupopup.new.calendar.label "Agenda…">
+<!ENTITY lightning.menupopup.new.calendar.accesskey "A">
+
+<!-- Open menu popup in File menu -->
+<!ENTITY lightning.menupopup.open.calendar.label "Fichier d’agenda…">
+<!ENTITY lightning.menupopup.open.calendar.accesskey "F">
+
+<!-- View Menu -->
+<!ENTITY lightning.menu.view.calendar.label "Agenda">
+<!ENTITY lightning.menu.view.calendar.accesskey "d">
+<!ENTITY lightning.menu.view.tasks.label "Tâches">
+<!ENTITY lightning.menu.view.tasks.accesskey "T">
+
+<!-- Events and Tasks menu -->
+<!ENTITY lightning.menu.eventtask.label "Évènements et tâches">
+<!ENTITY lightning.menu.eventtask.accesskey "v">
+
+<!-- properties dialog, calendar creation wizard -->
+<!-- LOCALIZATON NOTE(lightning.calendarproperties.email.label,
+ lightning.calendarproperties.forceEmailScheduling.label)
+ These strings are used in the calendar wizard and the calendar properties dialog, but are only
+ displayed when setting/using a caldav calendar -->
+<!ENTITY lightning.calendarproperties.email.label "Adresse e-mail :">
+<!ENTITY lightning.calendarproperties.forceEmailScheduling.label "Choisir la planification des e-mails côté client">
+<!-- LOCALIZATON NOTE(lightning.calendarproperties.forceEmailScheduling.tooltiptext1,
+ lightning.calendarproperties.forceEmailScheduling.tooltiptext2)
+ - tooltiptext1 is used in the calendar wizard when setting a new caldav calendar
+ - tooltiptext2 is used in the calendar properties dialog for caldav calendars -->
+<!ENTITY lightning.calendarproperties.forceEmailScheduling.tooltiptext1 "Pour l’instant, vous ne pouvez l’activer qu’après avoir configuré cet agenda via sa boîte de dialogue de propriétés, si le serveur d’agenda prend en charge la planification.">
+<!ENTITY lightning.calendarproperties.forceEmailScheduling.tooltiptext2 "Cette option est uniquement disponible si le serveur d’agenda gère la planification. L’activation permettra de revenir à la planification par e-mail standard au lieu de la laisser au serveur.">
+
+<!-- The notifications settings in the properties dialog -->
+<!ENTITY lightning.calendarproperties.notifications.label "Notifications">
+<!ENTITY lightning.calendarproperties.globalNotifications.label "Préférences globales de notification…">
+
+<!-- iMIP Bar (meeting support) -->
+<!ENTITY lightning.imipbar.btnAccept.label "Accepter">
+<!ENTITY lightning.imipbar.btnAccept2.tooltiptext "Accepter l’invitation à l’évènement">
+<!ENTITY lightning.imipbar.btnAcceptRecurrences.label "Tout accepter">
+<!ENTITY lightning.imipbar.btnAcceptRecurrences2.tooltiptext "Accepter les invitations pour toutes les occurrences de cet évènement">
+<!ENTITY lightning.imipbar.btnAdd.label "Ajouter">
+<!ENTITY lightning.imipbar.btnAdd.tooltiptext "Ajouter l’évènement à l’agenda.">
+<!ENTITY lightning.imipbar.btnDecline.label "Refuser">
+<!ENTITY lightning.imipbar.btnDecline2.tooltiptext "Refuser l’invitation à l’évènement">
+<!ENTITY lightning.imipbar.btnDeclineRecurrences.label "Tout refuser">
+<!ENTITY lightning.imipbar.btnDeclineRecurrences2.tooltiptext "Refuser les invitations pour toutes les occurrences de cet évènement">
+<!ENTITY lightning.imipbar.btnDeclineCounter.label "Décliner">
+<!ENTITY lightning.imipbar.btnDeclineCounter.tooltiptext "Décliner la contre-proposition">
+<!ENTITY lightning.imipbar.btnDelete.label "Supprimer">
+<!ENTITY lightning.imipbar.btnDelete.tooltiptext "Supprimer de l’agenda">
+<!ENTITY lightning.imipbar.btnDetails.label "Détails…">
+<!ENTITY lightning.imipbar.btnDetails.tooltiptext "Afficher les détails de l’évènement">
+<!ENTITY lightning.imipbar.btnDoNotShowImipBar.label "Ne pas afficher ces messages">
+<!ENTITY lightning.imipbar.btnGoToCalendar.label "Agenda">
+<!ENTITY lightning.imipbar.btnGoToCalendar.tooltiptext "Aller à l’onglet de l’agenda">
+<!ENTITY lightning.imipbar.btnMore.label "Plus">
+<!ENTITY lightning.imipbar.btnMore.tooltiptext "Cliquer pour afficher plus d’options">
+<!ENTITY lightning.imipbar.btnReconfirm2.label "Reconfirmer">
+<!ENTITY lightning.imipbar.btnReconfirm.tooltiptext "Envoyer une reconfirmation à l’organisateur">
+<!ENTITY lightning.imipbar.btnReschedule.label "Reprogrammer">
+<!ENTITY lightning.imipbar.btnReschedule.tooltiptext "Reprogrammer l’évènement">
+<!ENTITY lightning.imipbar.btnSaveCopy.label "Enregistrer une copie">
+<!ENTITY lightning.imipbar.btnSaveCopy.tooltiptext "Enregistre une copie de l’évènement dans l’agenda indépendamment de la réponse faite à l’organisateur. La liste des invités sera effacée.">
+<!ENTITY lightning.imipbar.btnTentative.label "Accepter provisoirement">
+<!ENTITY lightning.imipbar.btnTentative2.tooltiptext "Accepter provisoirement l’invitation à l’évènement">
+<!ENTITY lightning.imipbar.btnTentativeRecurrences.label "Tout accepter provisoirement">
+<!ENTITY lightning.imipbar.btnTentativeRecurrences2.tooltiptext "Accepter provisoirement les invitations pour toutes les occurrences de cet évènement">
+<!ENTITY lightning.imipbar.btnUpdate.label "Mettre à jour">
+<!ENTITY lightning.imipbar.btnUpdate.tooltiptext "Mettre à jour l’évènement dans l’agenda">
+<!ENTITY lightning.imipbar.description "Ce message contient une invitation à un évènement.">
+
+<!ENTITY lightning.imipbar.btnSend.label "Envoyer une réponse immédiatement">
+<!ENTITY lightning.imipbar.btnSend.tooltiptext "Envoyer une réponse à l’organisateur">
+<!ENTITY lightning.imipbar.btnSendSeries.tooltiptext "Envoyer une réponse à l’organisateur pour toute la série">
+<!ENTITY lightning.imipbar.btnDontSend.label "Ne pas envoyer de réponse">
+<!ENTITY lightning.imipbar.btnDontSend.tooltiptext "Changer votre statut de participation sans envoyer de réponse à l’organisateur">
+<!ENTITY lightning.imipbar.btnDontSendSeries.tooltiptext "Changer votre statut de participation pour la série sans envoyer de réponse à l’organisateur">
+
+<!-- Lightning specific keybindings -->
+<!ENTITY lightning.keys.event.new "I">
+<!ENTITY lightning.keys.todo.new "D">
+
+<!-- Account Central page -->
+<!ENTITY lightning.acctCentral.newCalendar.label "Créer un nouvel agenda">
+
+<!-- today-pane-specific -->
+<!ENTITY todaypane.showMinimonth.label "Afficher le « Mois réduit »">
+<!ENTITY todaypane.showMinimonth.accesskey "M">
+<!ENTITY todaypane.showMiniday.label "Afficher le « Jour réduit »">
+<!ENTITY todaypane.showMiniday.accesskey "J">
+<!ENTITY todaypane.showNone.label "Ne rien afficher">
+<!ENTITY todaypane.showNone.accesskey "N">
+<!ENTITY todaypane.showTodayPane.label "Afficher le panneau « Aujourd’hui »">
+<!ENTITY todaypane.showTodayPane.accesskey "A">
+<!ENTITY todaypane.statusButton.label "Panneau « Aujourd’hui »">
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/lightning/lightning.properties b/thunderbird-l10n/fr/chrome/fr/locale/fr/lightning/lightning.properties
new file mode 100644
index 0000000000..8def297318
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/lightning/lightning.properties
@@ -0,0 +1,165 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# Task mode title
+taskModeApplicationTitle=Tâches
+
+# Tab titles
+tabTitleCalendar=Agenda
+tabTitleTasks=Tâches
+
+# Html event display in message
+imipHtml.header=Invitation à un évènement
+imipHtml.summary=Titre :
+imipHtml.location=Lieu :
+imipHtml.when=Quand :
+imipHtml.organizer=Organisateur :
+imipHtml.description=Description :
+# LOCALIZATION_NOTE(imipHtml.attachments): This is a label for one or more (additional) links to
+# documents or websites attached to this event.
+imipHtml.attachments=Pièces jointes :
+imipHtml.comment=Commentaire :
+imipHtml.attendees=Participants :
+# LOCALIZATION_NOTE(imipHtml.url): This is a label for a reference to an (alternate) online
+# representation of the event (either directly human readable or not).
+imipHtml.url=Lien connexe :
+imipHtml.canceledOccurrences=Occurrences annulées :
+imipHtml.modifiedOccurrences=Occurrences modifiées :
+imipHtml.newLocation=Nouveau lieu : %1$S
+# LOCALIZATION_NOTE(imipHtml.attendeeDelegatedFrom): this is appended behind an attendee name in the
+# email invitation preview - don't add leading/trailing whitespaces here
+# %1$S - a single delegator or a comma separated list of delegators
+imipHtml.attendeeDelegatedFrom=(délégué par %1$S)
+# LOCALIZATION_NOTE(imipHtml.attendeeDelegatedTo): this is appended behind an attendee name in the
+# email invitation preview - don't add leading/trailing whitespaces here
+# %1$S - a single delegatee or a comma separated list of delegatees
+imipHtml.attendeeDelegatedTo=(délégué à %1$S)
+
+# LOCALIZATION_NOTE(imipHtml.attendee.combined): tooltip for itip icon in email invitation preview.
+# Given an attendee loungeexample.org of type room is a mandatory participant and has accepted the
+# invitation, the tooltip would be:
+# lounge@example.org (room) is a required participant. lounge@example.org has confirmed attendance.
+# %1$S - value of imipHtml.attendeeRole2.*
+# %2$S - value of imipHtml.attendeePartStat2.*
+imipHtml.attendee.combined=%1$S %2$S
+
+# LOCALIZATION_NOTE(imipHtml.attendeeRole2.CHAIR): used to compose
+# imipHtml.attendee.combined
+# %1$S - value of imipHtml.attendeeUserType2.*
+imipHtml.attendeeRole2.CHAIR=%1$S organise l’évènement.
+# LOCALIZATION_NOTE(imipHtml.attendeeRole2.NON-PARTICIPANT): used to compose
+# imipHtml.attendee.combined
+# %1$S - value of imipHtml.attendeeUserType2.*
+imipHtml.attendeeRole2.NON-PARTICIPANT=%1$S ne participe pas.
+# LOCALIZATION_NOTE(imipHtml.attendeeRole2.OPT-PARTICIPANT): used to compose
+# imipHtml.attendee.combined
+# %1$S - value of imipHtml.attendeeUserType2.*
+imipHtml.attendeeRole2.OPT-PARTICIPANT=%1$S est un participant facultatif.
+# LOCALIZATION_NOTE(imipHtml.attendeeRole2.REQ-PARTICIPANT): used to compose
+# imipHtml.attendee.combined
+# %1$S - value of imipHtml.attendeeUserType2.*
+imipHtml.attendeeRole2.REQ-PARTICIPANT=%1$S est un participant indispensable.
+
+# LOCALIZATION_NOTE(imipHtml.attendeePartStat2.ACCEPTED): used to compose
+# imipHtml.attendee.combined
+# %1$S - common name or email address of the attendee
+imipHtml.attendeePartStat2.ACCEPTED=%1$S a confirmé sa participation.
+# LOCALIZATION_NOTE(imipHtml.attendeePartStat2.DECLINED): used to compose
+# imipHtml.attendee.combined
+# %1$S - common name or email address of the attendee
+imipHtml.attendeePartStat2.DECLINED=%1$S a indiqué ne pas souhaiter participer.
+# LOCALIZATION_NOTE(imipHtml.attendeePartStat2.DELEGATED): used to compose
+# imipHtml.attendee.combined
+# %1$S - common name or email address of the attendee
+# %2$S - single delegatee or comma separated list of delegatees
+# delegation is different from invitation forwarding - in case of the former the original attendee
+# is replaced, while on the latter the receiver may take part additionally
+imipHtml.attendeePartStat2.DELEGATED=%1$S a délégué sa participation à %2$S.
+# LOCALIZATION_NOTE(imipHtml.attendeePartStat2.NEEDS-ACTION): used to compose
+# imipHtml.attendee.combined
+# %1$S - common name or email address of the attendee
+imipHtml.attendeePartStat2.NEEDS-ACTION=%1$S doit encore répondre.
+# LOCALIZATION_NOTE(imipHtml.attendeePartStat2.TENTATIVE): used to compose
+# imipHtml.attendee.combined
+# %1$S - common name or email address of the attendee
+imipHtml.attendeePartStat2.TENTATIVE=%1$S a confirmé sa participation de façon provisoire.
+
+# LOCALIZATION_NOTE(imipHtml.attendeeUserType2.INDIVIDUAL): used to compose
+# imipHtml.attendeeRole2.*
+# %1$S - email address or common name <email address> representing an individual attendee
+imipHtml.attendeeUserType2.INDIVIDUAL=%1$S
+# LOCALIZATION_NOTE(imipHtml.attendeeUserType2.GROUP): used to compose
+# imipHtml.attendeeRole2.*
+# %1$S - email address or common name <email address> representing a group (e.g. a distribution list)
+imipHtml.attendeeUserType2.GROUP=%1$S (groupe)
+# LOCALIZATION_NOTE(imipHtml.attendeeUserType2.RESOURCE): used to compose
+# imipHtml.attendeeRole2.*
+# %1$S - email address or common name <email address> representing a resource (e.g. projector)
+imipHtml.attendeeUserType2.RESOURCE=%1$S (ressource)
+# LOCALIZATION_NOTE(imipHtml.attendeeUserType2.ROOM): used to compose
+# imipHtml.attendeeRole2.*
+# %1$S - email address or common name <email address> representing a room
+imipHtml.attendeeUserType2.ROOM=%1$S (salle)
+# LOCALIZATION_NOTE(imipHtml.attendeeUserType2.UNKNOWN): used to compose
+# imipHtml.attendeeRole2.*
+# %1$S - email address or common name <email address> representing an attendee of unknown type
+imipHtml.attendeeUserType2.UNKNOWN=%1$S
+
+imipAddedItemToCal2=L’évènement a été ajouté à votre agenda.
+imipCanceledItem2=L’évènement a été supprimé de votre agenda.
+imipUpdatedItem2=L’évènement a été mis à jour.
+imipBarCancelText=Ce message contient une annulation d’évènement.
+imipBarCounterErrorText=Ce message contient une contre-proposition à une invitation qui ne peut pas être traitée.
+imipBarCounterPreviousVersionText=Ce message contient une contre-proposition pour une version précédente d’une invitation.
+imipBarCounterText=Ce message contient une contre-proposition pour une invitation.
+imipBarDisallowedCounterText=Ce message contient une contre-proposition, même si vous n’avez pas autorisé les contre-propositions.
+imipBarDeclineCounterText=Ce message contient une réponse à votre contre-proposition.
+imipBarRefreshText=Ce message demande la mise à jour d’un évènement.
+imipBarPublishText=Ce message contient un évènement.
+imipBarRequestText=Ce message contient une invitation.
+imipBarSentText=Ce message contient un évènement envoyé.
+imipBarSentButRemovedText=Ce message contient un évènement envoyé qui ne se trouve plus dans votre agenda.
+imipBarUpdateText=Ce message contient une mise à jour pour un évènement existant.
+imipBarUpdateMultipleText=Ce message contient une mise à jour pour plusieurs évènements existants.
+imipBarUpdateSeriesText=Ce message contient une mise à jour pour un ensemble d’évènements existant.
+imipBarAlreadyProcessedText=Ce message contient un évènement qui a déjà été traité.
+imipBarProcessedNeedsAction=Ce message contient un évènement auquel vous n’avez pas encore répondu.
+imipBarProcessedMultipleNeedsAction=Ce message contient plusieurs évènements auxquels vous n’avez pas encore répondu.
+imipBarProcessedSeriesNeedsAction=Ce message contient une série d’évènements auxquels vous n’avez pas encore répondu.
+imipBarReplyText=Ce message contient une réponse à une invitation.
+imipBarReplyToNotExistingItem=Ce message contient une réponse faisant référence à un évènement qui ne se trouve pas dans votre agenda.
+# LOCALIZATION_NOTE(imipBarReplyToRecentlyRemovedItem):
+# %1$S - time of deletion
+imipBarReplyToRecentlyRemovedItem=Ce message contient une réponse faisant référence à un évènement qui a été retiré de votre agenda le %1$S.
+imipBarUnsupportedText2=Ce message contient un évènement que cette version de %1$S ne peut pas traiter.
+imipBarProcessingFailed=Le traitement du message a échoué. État : %1$S.
+imipBarCalendarDeactivated=Ce message contient des informations sur un évènement. Autorisez un agenda à le gérer.
+imipBarNotWritable=Aucun agenda disponible à l’écriture n’est configuré pour les invitations, veuillez vérifier les propriétés de l’agenda.
+imipSendMail.title=Notification par e-mail
+imipSendMail.text=Voulez-vous envoyer un message de notification maintenant ?
+imipNoIdentity=Aucun
+imipNoCalendarAvailable=Aucun agenda n’est disponible à l’écriture.
+
+itipReplySubject2=Réponse à l’invitation : %1$S
+itipReplyBodyAccept=%1$S a accepté votre invitation.
+itipReplyBodyDecline=%1$S a refusé votre invitation.
+itipReplySubjectAccept2=Acceptée : %1$S
+itipReplySubjectDecline2=Invitation refusée : %1$S
+itipReplySubjectTentative2=Proposée : %1$S
+itipRequestSubject2=Invitation : %1$S
+itipRequestUpdatedSubject2=Mise à jour : %1$S
+itipRequestBody=%1$S vous a invité à « %2$S »
+itipCancelSubject2=Annulée : %1$S
+itipCancelBody=%1$S a annulé cet évènement : « %2$S »
+itipCounterBody=%1$S a fait une contre-proposition pour « %2$S » :
+itipDeclineCounterBody=%1$S a décliné votre contre-proposition pour « %2$S ».
+itipDeclineCounterSubject=Contre-proposition déclinée : %1$S
+
+confirmProcessInvitation=Vous avez récemment supprimé cet élément, voulez-vous vraiment envoyer cette invitation ?
+confirmProcessInvitationTitle=Envoyer l’invitation ?
+
+invitationsLink.label=Invitations : %1$S
+
+# LOCALIZATION NOTE(noIdentitySelectedNotification):
+noIdentitySelectedNotification=Si vous souhaitez utiliser cet agenda afin d’enregistrer des invitations reçues ou envoyées, vous devez lui associer une adresse e-mail ci-dessous.
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger-mapi/mapi.properties b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger-mapi/mapi.properties
new file mode 100644
index 0000000000..4bf6ff336c
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger-mapi/mapi.properties
@@ -0,0 +1,35 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# Mail Integration Dialog
+dialogTitle=%S
+dialogText=Voulez-vous utiliser %S comme client de messagerie par défaut ?
+newsDialogText=Voulez-vous utiliser %S comme lecteur de groupes par défaut ?
+feedDialogText=Voulez-vous utiliser %S comme agrégateur RSS par défaut ?
+checkboxText=Ne plus afficher ce message
+setDefaultMail=%S n’est actuellement pas votre client de messagerie par défaut. Voulez-vous qu’il le devienne ?
+setDefaultNews=%S n’est actuellement pas votre lecteur de groupes par défaut. Voulez-vous qu’il le devienne ?
+setDefaultFeed=%S n’est actuellement pas votre agrégateur RSS par défaut. Voulez-vous qu’il le devienne ?
+alreadyDefaultMail=%S est déjà votre client de messagerie par défaut.
+alreadyDefaultNews=%S est déjà votre lecteur de groupes par défaut.
+alreadyDefaultFeed=%S est déjà votre agrégateur RSS par défaut.
+
+# MAPI Messages
+loginText=Saisissez votre mot de passe pour %S :
+loginTextwithName=Saisissez votre nom d’utilisateur et votre mot de passe
+loginTitle=%S
+PasswordTitle=%S
+
+# MAPI Error Messages
+errorMessage=Impossible de définir %S comme client de messagerie par défaut, car une clé du registre n’a pas pu être modifiée. Vérifiez avec votre administrateur que vous détenez les droits en écriture sur le registre et réessayez.
+errorMessageNews=Impossible de définir %S comme lecteur de groupes par défaut, car une clé du registre n’a pas pu être modifiée. Vérifiez avec votre administrateur que vous détenez les droits en écriture sur le registre et réessayez.
+errorMessageTitle=%S
+
+# MAPI Security Messages
+mapiBlindSendWarning=Une autre application essaie d’envoyer un e-mail en utilisant votre profil. Voulez-vous vraiment envoyer cet e-mail ?
+mapiBlindSendDontShowAgain=M’avertir quand d’autres applications tentent d’envoyer un e-mail en utilisant mon profil
+
+#Default Mail Display String
+# localization note, %S is the vendor name
+defaultMailDisplayTitle=%S
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger-newsblog/am-newsblog.dtd b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger-newsblog/am-newsblog.dtd
new file mode 100644
index 0000000000..6083767608
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger-newsblog/am-newsblog.dtd
@@ -0,0 +1,14 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!ENTITY biffAll.label "Activer les mises à jour pour tous les flux">
+<!ENTITY biffAll.accesskey "A">
+
+<!ENTITY newFeedSettings.label "Paramètres par défaut pour les nouveaux flux">
+
+<!ENTITY manageSubscriptions.label "Gérer les abonnements…">
+<!ENTITY manageSubscriptions.accesskey "G">
+
+<!ENTITY feedWindowTitle.label "Assistant de compte de flux">
+<!ENTITY feeds.accountName "Blogs et nouvelles">
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger-newsblog/feed-subscriptions.dtd b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger-newsblog/feed-subscriptions.dtd
new file mode 100644
index 0000000000..b2c56db331
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger-newsblog/feed-subscriptions.dtd
@@ -0,0 +1,55 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!-- Subscription Dialog -->
+<!ENTITY feedSubscriptions.label "Abonnements aux flux">
+<!ENTITY learnMore.label "En savoir plus à propos des flux">
+
+<!ENTITY feedTitle.label "Titre :">
+<!ENTITY feedTitle.accesskey "T">
+
+<!ENTITY feedLocation.label "Adresse du flux : ">
+<!ENTITY feedLocation.accesskey "U">
+<!ENTITY feedLocation2.placeholder "Saisir une adresse de flux valide">
+<!ENTITY locationValidate.label "Valider">
+<!ENTITY validateText.label "Vérifier la validité de l’adresse du flux.">
+
+<!ENTITY feedFolder.label "Conserver les articles du flux dans : ">
+<!ENTITY feedFolder.accesskey "C">
+
+<!-- Account Settings and Subscription Dialog -->
+<!ENTITY biffStart.label "Vérifier la présence de nouveaux articles chaque ">
+<!ENTITY biffStart.accesskey "V">
+<!ENTITY biffMinutes.label "minutes">
+<!ENTITY biffMinutes.accesskey "n">
+<!ENTITY biffDays.label "jours">
+<!ENTITY biffDays.accesskey "j">
+<!ENTITY recommendedUnits.label "L’éditeur recommande :">
+
+<!ENTITY quickMode.label "Afficher le résumé de l’article plutôt que de télécharger la page web">
+<!ENTITY quickMode.accesskey "m">
+
+<!ENTITY autotagEnable.label "Créer automatiquement des étiquettes depuis les noms des balises &lt;category&gt; du flux">
+<!ENTITY autotagEnable.accesskey "r">
+<!ENTITY autotagUsePrefix.label "Préfixer les étiquettes avec :">
+<!ENTITY autotagUsePrefix.accesskey "P">
+<!ENTITY autoTagPrefix.placeholder "Saisir un préfixe d’étiquette">
+
+<!-- Subscription Dialog -->
+<!ENTITY button.addFeed.label "Ajouter">
+<!ENTITY button.addFeed.accesskey "A">
+<!ENTITY button.verifyFeed.label "Vérifier">
+<!ENTITY button.verifyFeed.accesskey "f">
+<!ENTITY button.updateFeed.label "Mettre à jour">
+<!ENTITY button.updateFeed.accesskey "M">
+<!ENTITY button.removeFeed.label "Supprimer">
+<!ENTITY button.removeFeed.accesskey "S">
+<!ENTITY button.importOPML.label "Importer">
+<!ENTITY button.importOPML.accesskey "I">
+<!ENTITY button.exportOPML.label "Exporter">
+<!ENTITY button.exportOPML.accesskey "x">
+<!ENTITY button.exportOPML.tooltip "Exporter les flux avec la structure des dossiers ; Ctrl+clic ou Ctrl+Entrée pour exporter les flux en tant que liste">
+
+<!ENTITY cmd.close.commandKey "w">
+<!ENTITY button.close.label "Fermer">
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger-newsblog/newsblog.properties b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger-newsblog/newsblog.properties
new file mode 100644
index 0000000000..f34b448b32
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger-newsblog/newsblog.properties
@@ -0,0 +1,93 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+subscribe-validating-feed=Vérification du flux…
+subscribe-cancelSubscription=Voulez-vous vraiment annuler l’abonnement au flux en cours ?
+subscribe-cancelSubscriptionTitle=Abonnement à un flux…
+subscribe-feedAlreadySubscribed=Vous êtes déjà abonné à ce flux.
+subscribe-errorOpeningFile=Impossible d’ouvrir le fichier.
+subscribe-feedAdded=Flux ajouté.
+subscribe-feedUpdated=Flux mis à jour.
+subscribe-feedMoved=Abonnement au flux déplacé.
+subscribe-feedCopied=Flux copié.
+subscribe-feedRemoved=Désabonnement du flux.
+subscribe-feedNotValid=L’adresse du flux n’est pas valide.
+subscribe-feedVerified=L’adresse du flux a été vérifiée.
+subscribe-networkError=L’adresse du flux est introuvable. Veuillez la vérifier et essayez à nouveau.
+subscribe-noAuthError=L’adresse du flux n’est pas autorisée.
+subscribe-loading=Chargement, veuillez patienter…
+
+subscribe-OPMLImportTitle=Choisissez le fichier OPML à importer
+## LOCALIZATION NOTE(subscribe-OPMLExportTitleList):
+## %S is the name of the feed account folder name.
+subscribe-OPMLExportTitleList=Exporter %S dans un fichier OPML - Liste des flux
+## LOCALIZATION NOTE(subscribe-OPMLExportTitleStruct):
+## %S is the name of the feed account folder name.
+subscribe-OPMLExportTitleStruct=Exporter %S dans un fichier OPML - Flux avec structure de dossiers
+## LOCALIZATION NOTE(subscribe-OPMLExportFileDialogTitle):
+## %1$S is the brandShortName, %2$S is the name of the feed account folder name.
+subscribe-OPMLExportFileDialogTitle=Exportation OPML de %1$S - %2$S
+## LOCALIZATION NOTE(subscribe-OPMLExportDefaultFileName):
+## %1$S is the brandShortName (Thunderbird for example), %2$S is the account name.
+## The default extension (.opml) is added here as it is not automatically appended in the file picker on MacOS.
+subscribe-OPMLExportDefaultFileName=MesFlux%1$S-%2$S.opml
+## LOCALIZATION NOTE(subscribe-OPMLImportInvalidFile): %S is the name of the OPML file the user tried to import.
+subscribe-OPMLImportInvalidFile=Le fichier %S ne semble pas être un fichier OPML valide.
+## LOCALIZATION NOTE(subscribe-OPMLImportFeedCount): Semi-colon list of plural forms.
+## See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+## #1 is the count of new imported entries.
+subscribe-OPMLImportFeedCount=#1 nouveau flux importé.;#1 nouveaux flux importés.
+## LOCALIZATION NOTE(subscribe-OPMLImportUniqueFeeds): Semi-colon list of plural forms.
+## #1 is the count of new imported entries
+subscribe-OPMLImportUniqueFeeds=#1 nouveau flux importé auquel vous n’aviez pas encore d’abonnement;#1 nouveaux flux importés auxquels vous n’aviez pas encore d’abonnement
+## LOCALIZATION NOTE(subscribe-OPMLImportFoundFeeds):
+## #1 is total number of elements found in the file
+subscribe-OPMLImportFoundFeeds=(sur un total de 1);(sur un total de #1)
+## LOCALIZATION NOTE(subscribe-OPMLImportStatus):
+## This is the concatenation of the two strings defined above to compose 1 sentence.
+## %1$S = subscribe-OPMLImportUniqueFeeds
+## %2$S = subscribe-OPMLImportFoundFeeds
+subscribe-OPMLImportStatus=%1$S %2$S.
+
+subscribe-OPMLExportOPMLFilesFilterText=Fichiers OPML
+## LOCALIZATION NOTE(subscribe-OPMLExportDone): %S is the export file name.
+subscribe-OPMLExportDone=Des flux de ce compte ont été exportés vers %S.
+
+subscribe-confirmFeedDeletionTitle=Supprimer le flux
+## LOCALIZATION NOTE(subscribe-confirmFeedDeletion): %S is the name of the feed the user wants to unsubscribe from.
+subscribe-confirmFeedDeletion=Voulez-vous vraiment vous désabonner du flux : \n %S ?
+
+## LOCALIZATION NOTE(subscribe-gettingFeedItems):
+## - The first %S is the number of articles processed so far;
+## - The second %S is the total number of items
+subscribe-gettingFeedItems=Téléchargement des articles du flux (%S sur %S)…
+
+newsblog-noNewArticlesForFeed=Il n’y a aucun nouvel article pour ce flux.
+## LOCALIZATION NOTE(newsblog-networkError): %S is the feed URL
+newsblog-networkError=Impossible de trouver %S. Veuillez vérifier le nom et essayer à nouveau.
+## LOCALIZATION NOTE(newsblog-feedNotValid): %S is the feed URL
+newsblog-feedNotValid=%S n’est pas un flux valide.
+## LOCALIZATION NOTE(newsblog-badCertError): %S is the feed URL host
+newsblog-badCertError=%S utilise un certificat de sécurité invalide.
+## LOCALIZATION NOTE(newsblog-noAuthError): %S is the feed URL
+newsblog-noAuthError=L’adresse %S n’est pas autorisée.
+newsblog-getNewMsgsCheck=Recherche des nouveaux éléments dans les flux…
+
+## LOCALIZATION NOTE(feeds-accountname): This string should be the same as feeds.accountName in am-newsblog.dtd
+feeds-accountname=Blogs et nouvelles
+
+## LOCALIZATION NOTE(externalAttachmentMsg): Content in the MIME part for external link attachments.
+externalAttachmentMsg=Cette pièce jointe MIME est stockée séparément du message.
+
+## Import wizard.
+ImportFeedsCreateNewListItem=* Nouveau compte *
+ImportFeedsNewAccount=Créer et importer dans un nouveau compte de flux
+ImportFeedsExistingAccount=Importer dans un compte de flux existant
+## LOCALIZATION NOTE(ImportFeedsDone):
+## - The first %S is the import file name;
+## - The second %S is the value of either ImportFeedsNew or ImportFeedsExisting;
+## - The third %S is the feed account name.
+ImportFeedsNew=nouveau compte
+ImportFeedsExisting=compte existant
+ImportFeedsDone=L’importation d’abonnements de flux depuis le fichier %1$S vers le %2$S « %3$S » est terminée.
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger-region/region.properties b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger-region/region.properties
new file mode 100644
index 0000000000..1645dfca8a
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger-region/region.properties
@@ -0,0 +1,29 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# To make mapit buttons to disappear in the addressbook, specify empty string. For example:
+# mail.addr_book.mapit_url.format=
+# The mail.addr_book.mapit_url.format should start with the URL of the mapping
+# service and then the query part with placeholders to be subsituted from values
+# from the addressbook contact's address.
+# Available placeholders are:
+# @A1== address, part 1
+# @A2== address, part 2
+# @CI== city
+# @ST== state
+# @ZI== zip code
+# @CO== country
+# Default map service:
+mail.addr_book.mapit_url.format=https://maps.google.com/maps?q=@A1%20@A2%20@CI%20@ST%20@ZI%20@CO
+# List of available map services (up to 5 can be defined here):
+mail.addr_book.mapit_url.1.name=Google Maps
+mail.addr_book.mapit_url.1.format=https://maps.google.com/maps?q=@A1%20@A2%20@CI%20@ST%20@ZI%20@CO
+mail.addr_book.mapit_url.2.name=OpenStreetMap
+mail.addr_book.mapit_url.2.format=https://nominatim.openstreetmap.org/search.php?polygon=1&q=@A1%2C@A2%2C@CI%2C@ST%2C@ZI%2C@CO
+
+mailnews.messageid_browser.url=http://groups.google.com/search?as_umsgid=%mid
+
+# Recognize non-standard versions of "Re:" in subjects from localized versions of MS Outlook et al.
+# Specify a comma-separated list without spaces. For example: mailnews.localizedRe=AW,SV
+mailnews.localizedRe=
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger-smime/certFetchingStatus.dtd b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger-smime/certFetchingStatus.dtd
new file mode 100644
index 0000000000..6482cd421f
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger-smime/certFetchingStatus.dtd
@@ -0,0 +1,9 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!--LOCALIZATION NOTE shown while obtaining certificates from a directory -->
+
+<!ENTITY title.label "Téléchargement des certificats">
+<!ENTITY info.message "Recherche dans l’annuaire des certificats des destinataires. Cette opération peut prendre quelques minutes.">
+<!ENTITY stop.label "Arrêter la recherche">
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger-smime/msgCompSMIMEOverlay.dtd b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger-smime/msgCompSMIMEOverlay.dtd
new file mode 100644
index 0000000000..020a713182
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger-smime/msgCompSMIMEOverlay.dtd
@@ -0,0 +1,16 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!--LOCALIZATION NOTE msgCompSMIMEOverlay.dtd UI for s/mime hooks in message composition -->
+
+<!-- not yet used
+<!ENTITY menu_securityEncryptOptional.label "Allow Encryption">
+<!ENTITY menu_securityEncryptOptional.accesskey "w">
+-->
+
+<!ENTITY menu_techPGP.label "OpenPGP">
+<!ENTITY menu_techPGP.accesskey "O">
+<!ENTITY menu_techSMIME.label "S/MIME">
+<!ENTITY menu_techSMIME.accesskey "S">
+
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger-smime/msgCompSecurityInfo.dtd b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger-smime/msgCompSecurityInfo.dtd
new file mode 100644
index 0000000000..2495988380
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger-smime/msgCompSecurityInfo.dtd
@@ -0,0 +1,18 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!--LOCALIZATION NOTE msgCompSecurityInfo.dtd UI for viewing security status when composing a message -->
+
+<!ENTITY title.label "Sécurité des messages">
+<!ENTITY subject.plaintextWarning "Veuillez noter : le champ « Sujet » d’un message n’est jamais chiffré.">
+<!ENTITY status.heading "Le contenu du message sera envoyé de la façon suivante :">
+<!ENTITY status.signed "Signé numériquement :">
+<!ENTITY status.encrypted "Chiffré :">
+<!ENTITY status.certificates "Certificats :">
+<!ENTITY view.label "Voir">
+<!ENTITY view.accesskey "V">
+<!ENTITY tree.recipient "Destinataire :">
+<!ENTITY tree.status "Statut :">
+<!ENTITY tree.issuedDate "Émis le :">
+<!ENTITY tree.expiresDate "Expire le :">
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger-smime/msgCompSecurityInfo.properties b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger-smime/msgCompSecurityInfo.properties
new file mode 100644
index 0000000000..cbfc8b5562
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger-smime/msgCompSecurityInfo.properties
@@ -0,0 +1,13 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+StatusNotFound=Non trouvé
+StatusValid=Valide
+StatusExpired=Expiré
+StatusUntrusted=Non vérifié
+StatusRevoked=Révoqué
+StatusInvalid=Invalide
+StatusYes=Oui
+StatusNo=Non
+StatusNotPossible=Impossible
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger-smime/msgReadSMIMEOverlay.properties b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger-smime/msgReadSMIMEOverlay.properties
new file mode 100644
index 0000000000..21f50fd681
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger-smime/msgReadSMIMEOverlay.properties
@@ -0,0 +1,11 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+ImapOnDemand=Le message actuellement affiché a été signé numériquement, mais toutes ses pièces jointes n’ont pas encore été téléchargées. Ce faisant, la signature ne peut pas être validée. Cliquez sur OK pour télécharger le message complet et valider la signature.
+#
+#NOTE To translater, anything between %..% and <..> should not be translated.
+# the former will be replaced by java script, and the latter is HTML formatting.
+#
+CantDecryptTitle=%brand% ne peut pas déchiffrer ce message
+CantDecryptBody=L’expéditeur a chiffré ce message à votre intention en utilisant un de vos certificats numériques. Cependant, %brand% n’a pas trouvé ce certificat ni la clé privée associée. <br> Les solutions possibles : <br><ul><li>si vous possédez une carte à puce, veuillez l’insérer ;</li><li>si vous avez changé d’ordinateur ou si vous utilisez un nouveau profil pour %brand%, il vous faut restaurer votre certificat et la clé privée depuis une sauvegarde. Les copies de sauvegarde de certificat sont des fichiers dont l’extension est « .p12 ».</li></ul>
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger-smime/msgReadSecurityInfo.dtd b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger-smime/msgReadSecurityInfo.dtd
new file mode 100644
index 0000000000..70ad073807
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger-smime/msgReadSecurityInfo.dtd
@@ -0,0 +1,17 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!--LOCALIZATION NOTE msgReadSecurityInfo.dtd UI for viewing security status when reading a received message -->
+
+<!ENTITY status.label "Sécurité des messages">
+<!ENTITY signatureCert.label "Voir le certificat de signature">
+<!ENTITY encryptionCert.label "Voir le certificat de chiffrement">
+
+<!ENTITY signer.name "Signé par :">
+<!ENTITY recipient.name "Chiffré pour :">
+<!ENTITY email.address "Adresse e-mail :">
+<!ENTITY issuer.name "Certificat émis par :">
+
+<!-- LOCALIZATION NOTE(SMIME.label): This a name for a technical standard. You should not translate it, but if applicable, you may write it using localized characters. -->
+<!ENTITY SMIME.label "S/MIME">
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger-smime/msgSecurityInfo.properties b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger-smime/msgSecurityInfo.properties
new file mode 100644
index 0000000000..62b2040825
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger-smime/msgSecurityInfo.properties
@@ -0,0 +1,36 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+## Signature Information strings
+SINoneLabel=Ce message n’inclut pas de signature numérique
+SINone=Ce message n’inclut pas la signature numérique de l’expéditeur. L’absence d’une signature numérique signifie que le message peut avoir été envoyé par quelqu’un prétendant détenir cette adresse e-mail. Il est aussi possible que ce message ait été modifié pendant son transfert sur le réseau. Cependant, il est peu probable qu’un de ces deux évènements soit survenu.
+SIValidLabel=Ce message est signé
+SIValid=Ce message inclut une signature numérique valide. Ce message n’a pas été modifié depuis qu’il a été envoyé.
+SIInvalidLabel=La signature numérique est invalide
+SIInvalidHeader=Ce message inclut une signature numérique mais elle est invalide.
+SIContentAltered=La signature ne correspond pas exactement au contenu du message. Le message semble avoir été altéré après que l’expéditeur l’a signé. Vous ne devriez pas avoir confiance dans la validité de ce message avant d’avoir vérifié son contenu avec l’expéditeur.
+SIExpired=Le certificat utilisé pour signer ce message semble avoir expiré. Assurez-vous que l’horloge de votre ordinateur est configurée correctement.
+SIRevoked=Le certificat utilisé pour signer ce message a été révoqué. Vous ne devriez pas avoir confiance dans la validité de ce message avant d’avoir vérifié son contenu avec l’expéditeur.
+SINotYetValid=Le certificat utilisé pour signer ce message semble ne plus être valide. Assurez-vous que l’horloge de votre ordinateur est configurée correctement.
+SIUnknownCA=Le certificat utilisé pour signer ce message provient d’une autorité de certification inconnue.
+SIUntrustedCA=Le certificat utilisé pour signer ce message provient d’une autorité de certification à laquelle vous ne faites pas confiance pour l’émission de ce type de certificat.
+SIExpiredCA=Le certificat utilisé pour signer ce message provient d’une autorité de certification dont le certificat a expiré. Assurez-vous que l’horloge de votre ordinateur est configurée correctement.
+SIRevokedCA=Le certificat utilisé pour signer ce message provient d’une autorité de certification dont le certificat a été révoqué. Vous ne devriez pas avoir confiance dans la validité de ce message avant d’avoir vérifié son contenu avec l’expéditeur.
+SINotYetValidCA=Le certificat utilisé pour signer ce message provient d’une autorité de certification dont le certificat n’est plus valide. Assurez-vous que l’horloge de votre ordinateur est configurée correctement.
+SIInvalidCipher=Le message a été signé en utilisant une puissance de chiffrement que votre logiciel ne prend pas en charge.
+SIClueless=Il y a des problèmes inconnus avec cette signature numérique. Vous ne devriez pas avoir confiance dans la validité de ce message avant d’avoir vérifié son contenu avec l’expéditeur.
+SIPartiallyValidLabel=Le message est signé
+SIPartiallyValidHeader=Bien que la signature numérique soit valide, il est impossible de savoir si l’expéditeur et le signataire sont la même personne.
+SIHeaderMismatch=L’adresse e-mail indiquée dans le certificat du signataire diffère de l’adresse utilisée pour envoyer ce message. Veuillez examiner les détails du certificat de signature pour savoir qui a signé ce message.
+SICertWithoutAddress=Le certificat utilisé pour signer ce message ne contient aucune adresse e-mail. Veuillez examiner les détails du certificat de signature pour savoir qui a signé ce message.
+
+## Encryption Information strings
+EINoneLabel2=Ce message n’est pas chiffré
+EINone=Ce message n’a pas été chiffré avant d’être envoyé. Les informations envoyées sur Internet sans être chiffrées peuvent être vues par d’autres personnes pendant leur parcours.
+EIValidLabel=Message chiffré
+EIValid=Le message a été chiffré avant d’être envoyé. Le chiffrement rend très difficile pour les autres personnes la visualisation des informations pendant leur parcours sur le réseau.
+EIInvalidLabel=Le message ne peut pas être déchiffré.
+EIInvalidHeader=Le message a été chiffré avant de vous être envoyé mais il ne peut pas être déchiffré.
+EIContentAltered=Le contenu du message semble avoir été altéré pendant la transmission.
+EIClueless=Il y a des problèmes inconnus avec ce message chiffré.
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/AccountManager.dtd b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/AccountManager.dtd
new file mode 100644
index 0000000000..84344bc16a
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/AccountManager.dtd
@@ -0,0 +1,23 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!-- extracted from AccountManager.xhtml -->
+
+<!ENTITY accountManagerTitle.label "Paramètres des comptes">
+<!ENTITY accountManagerCloseButton.label "Fermer">
+
+<!ENTITY accountActionsButton.label "Gestion des comptes">
+<!ENTITY accountActionsButton.accesskey "G">
+<!ENTITY addMailAccountButton.label "Ajouter un compte de messagerie…">
+<!ENTITY addMailAccountButton.accesskey "A">
+<!ENTITY addIMAccountButton.label "Ajouter un compte de messagerie instantanée…">
+<!ENTITY addIMAccountButton.accesskey "m">
+<!ENTITY addFeedAccountButton.label "Ajouter un compte de flux…">
+<!ENTITY addFeedAccountButton.accesskey "f">
+<!ENTITY setDefaultButton.label "Compte par défaut">
+<!ENTITY setDefaultButton.accesskey "d">
+<!ENTITY removeButton.label "Supprimer le compte">
+<!ENTITY removeButton.accesskey "S">
+
+<!ENTITY addonsButton.label "Extensions et thèmes">
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/AccountWizard.dtd b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/AccountWizard.dtd
new file mode 100644
index 0000000000..c7e03d1ae2
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/AccountWizard.dtd
@@ -0,0 +1,51 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!-- Entities for AccountWizard -->
+
+<!ENTITY windowTitle.label "Assistant de création de compte">
+<!ENTITY accountWizard.size "width: 42em; height: 38em;">
+
+<!-- Entities for Identity page -->
+
+<!ENTITY identityTitle.label "Identité">
+<!ENTITY identityDesc.label "Chaque compte a sa propre identité. Il contient des informations vous identifiant lorsque vous envoyez un message.">
+
+<!-- LOCALIZATION NOTE (fullnameDesc.label) : do not translate two of "&quot;" in below line -->
+<!ENTITY fullnameDesc.label "Saisissez le nom que vous souhaitez afficher dans le champ « De : » pour les messages que vous envoyez">
+<!-- LOCALIZATION NOTE (fullnameExample.label) : use following directions for below line
+ 1, do not translate two of "&quot;"
+ 2, Use localized full name instead of "John Smith"
+-->
+<!ENTITY fullnameExample.label "(par exemple, « Jules César »).">
+<!ENTITY fullnameLabel.label "Votre nom :">
+<!ENTITY fullnameLabel.accesskey "V">
+
+<!ENTITY emailLabel.label "Adresse e-mail :">
+<!ENTITY emailLabel.accesskey "A">
+
+<!-- Entities for Incoming Server page -->
+
+<!ENTITY incomingTitle.label "Informations sur le serveur de réception">
+<!ENTITY incomingUsername.label "Nom d’utilisateur du serveur de réception :">
+<!-- LOCALIZATION NOTE (newsServerNameDesc.label) : Do not translate "NNTP" or the "&quot;" entities in below line -->
+<!ENTITY newsServerNameDesc.label "Saisissez le nom de votre serveur de groupes (NNTP) (par exemple, « news.example.net »).">
+<!ENTITY newsServerLabel.label "Serveurs de groupes :">
+<!ENTITY newsServerLabel.accesskey "S">
+
+<!-- Entities for Account name page -->
+
+<!ENTITY accnameTitle.label "Nom du compte ">
+<!-- LOCALIZATION NOTE (accnameDesc.label) : do not translate any "&quot;" in below line -->
+<!ENTITY accnameDesc.label "Saisissez le nom avec lequel vous souhaitez vous référer à ce compte (par exemple « Compte Travail », « Compte personnel » ou « Compte groupes »).">
+<!ENTITY accnameLabel.label "Nom du compte :">
+<!ENTITY accnameLabel.accesskey "c">
+
+<!-- Entities for Done (Congratulations) page -->
+
+<!ENTITY completionTitle.label "Félicitations !">
+<!ENTITY completionText.label "Veuillez vérifier que les informations ci-dessous sont correctes.">
+<!ENTITY newsServerNamePrefix.label "Nom du serveur de groupes (NNTP) :">
+<!ENTITY clickFinish.label "Cliquez sur Terminer pour enregistrer ces paramètres et quitter l’assistant de création de compte.">
+<!ENTITY clickFinish.labelMac "Cliquez sur Terminer pour enregistrer ces paramètres et quitter l’assistant de création de compte.">
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/CustomHeaders.dtd b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/CustomHeaders.dtd
new file mode 100644
index 0000000000..253733b6a7
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/CustomHeaders.dtd
@@ -0,0 +1,11 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!ENTITY window.title "Configurer les en-têtes">
+<!ENTITY addButton.label "Ajouter">
+<!ENTITY addButton.accesskey "A">
+<!ENTITY removeButton.label "Supprimer">
+<!ENTITY removeButton.accesskey "S">
+<!ENTITY newMsgHeader.label "Nouvel en-tête de message :">
+<!ENTITY newMsgHeader.accesskey "N">
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/FilterEditor.dtd b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/FilterEditor.dtd
new file mode 100644
index 0000000000..3ea4310bf0
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/FilterEditor.dtd
@@ -0,0 +1,67 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!ENTITY window.title "Règles de filtrage">
+<!ENTITY filterName.label "Nom du filtre :">
+<!ENTITY filterName.accesskey "i">
+
+<!ENTITY junk.label "Indésirable">
+<!ENTITY notJunk.label "Acceptable">
+
+<!ENTITY lowestPriorityCmd.label "Minimale">
+<!ENTITY lowPriorityCmd.label "Basse">
+<!ENTITY normalPriorityCmd.label "Normale">
+<!ENTITY highPriorityCmd.label "Haute">
+<!ENTITY highestPriorityCmd.label "Maximale">
+
+<!ENTITY contextDesc.label "Appliquer le filtre :">
+<!ENTITY contextIncomingMail.label "Lors de la réception du courrier :">
+<!ENTITY contextIncomingMail.accesskey "L">
+<!ENTITY contextManual.label "Lors de son exécution manuelle">
+<!ENTITY contextManual.accesskey "r">
+<!ENTITY contextBeforeCls.label "Filtrer avant la vérification des indésirables">
+<!ENTITY contextAfterCls.label "Filtrer après la vérification des indésirables">
+<!ENTITY contextOutgoing.label "Après l’envoi">
+<!ENTITY contextOutgoing.accesskey "s">
+<!ENTITY contextArchive.label "Lors de l’archivage">
+<!ENTITY contextArchive.accesskey "a">
+
+<!ENTITY contextPeriodic.accesskey "e">
+
+<!ENTITY filterActionDesc.label "Exécuter ces actions :">
+<!ENTITY filterActionDesc.accesskey "x">
+
+<!ENTITY filterActionOrderWarning.label "Note : les actions des filtres sont exécutées dans un ordre différent.">
+<!ENTITY filterActionOrder.label "Voir l’ordre d’exécution">
+
+<!-- New Style Filter Rule Actions -->
+<!ENTITY moveMessage.label "Déplacer le message vers">
+<!ENTITY copyMessage.label "Copier le message vers">
+<!ENTITY forwardTo.label "Transférer le message à">
+<!ENTITY replyWithTemplate.label "Répondre avec le modèle">
+<!ENTITY markMessageRead.label "Marquer comme lu">
+<!ENTITY markMessageUnread.label "Marquer comme non lu">
+<!ENTITY markMessageStarred.label "Suivre ce message">
+<!ENTITY setPriority.label "Définir la priorité à">
+<!ENTITY addTag.label "Étiqueter le message">
+<!ENTITY setJunkScore.label "Définir le statut indésirable à">
+<!ENTITY deleteMessage.label "Supprimer le message">
+<!ENTITY deleteFromPOP.label "Supprimer du serveur POP">
+<!ENTITY fetchFromPOP.label "Télécharger depuis le serveur POP">
+<!ENTITY ignoreThread.label "Ignorer la discussion">
+<!ENTITY ignoreSubthread.label "Ignorer le sous-fil de discussion">
+<!ENTITY watchThread.label "Surveiller la discussion">
+<!ENTITY stopExecution.label "Arrêter l’exécution du filtre">
+
+<!ENTITY addAction.tooltip "Ajouter une nouvelle action">
+<!ENTITY removeAction.tooltip "Supprimer cette action">
+
+<!-- LOCALIZATION NOTE
+ The values below are used to control the widths of the filter action widgets.
+ Change the values only when the localized strings in the popup menus
+ are truncated in the widgets.
+ -->
+<!-- Flex Attribute: https://developer.mozilla.org/docs/XUL/Attribute/flex -->
+<!ENTITY filterActionTypeFlexValue "1">
+<!ENTITY filterActionTargetFlexValue "4">
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/FilterListDialog.dtd b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/FilterListDialog.dtd
new file mode 100644
index 0000000000..d61fb7012e
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/FilterListDialog.dtd
@@ -0,0 +1,43 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!ENTITY window.title "Filtres de messages">
+<!ENTITY nameColumn.label "Nom">
+<!ENTITY activeColumn.label "Actif">
+<!ENTITY newButton.label "Nouveau…">
+<!ENTITY newButton.accesskey "N">
+<!ENTITY newButton.popupCopy.label "Copier…">
+<!ENTITY newButton.popupCopy.accesskey "C">
+<!ENTITY editButton.label "Modifier…">
+<!ENTITY editButton.accesskey "E">
+<!ENTITY deleteButton.label "Supprimer">
+<!ENTITY deleteButton.accesskey "S">
+<!ENTITY reorderTopButton "Placer tout en haut">
+<!ENTITY reorderTopButton.accessKey "h">
+<!ENTITY reorderTopButton.toolTip "Réordonner le filtre afin qu’il s’exécute avant tous les autres">
+<!ENTITY reorderUpButton.label "Monter">
+<!ENTITY reorderUpButton.accesskey "M">
+<!ENTITY reorderDownButton.label "Descendre">
+<!ENTITY reorderDownButton.accesskey "D">
+<!ENTITY reorderBottomButton "Placer tout en bas">
+<!ENTITY reorderBottomButton.accessKey "b">
+<!ENTITY reorderBottomButton.toolTip "Réordonner le filtre afin qu’il s’exécute après tous les autres">
+<!ENTITY filterHeader.label "Les filtres actifs seront appliqués dans l’ordre suivant :">
+<!ENTITY filtersForPrefix.label "Filtres pour :">
+<!ENTITY filtersForPrefix.accesskey "F">
+<!ENTITY viewLogButton.label "Journal de filtrage">
+<!ENTITY viewLogButton.accesskey "J">
+<!ENTITY runFilters.label "Exécuter">
+<!ENTITY runFilters.accesskey "x">
+<!ENTITY stopFilters.label "Arrêter">
+<!ENTITY stopFilters.accesskey "r">
+<!ENTITY folderPickerPrefix.label "Exécuter le(s) filtre(s) sélectionné(s) sur :">
+<!ENTITY folderPickerPrefix.accesskey "l">
+<!ENTITY helpButton.label "Aide">
+<!ENTITY helpButton.accesskey "e">
+<!ENTITY closeCmd.key "W">
+<!ENTITY searchBox.emptyText "Rechercher les filtres par nom…">
+
+
+
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/SearchDialog.dtd b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/SearchDialog.dtd
new file mode 100644
index 0000000000..99cef0e3be
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/SearchDialog.dtd
@@ -0,0 +1,38 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!-- for SearchDialog.xul -->
+<!ENTITY searchHeading.label "Rechercher des messages dans :">
+<!ENTITY searchHeading.accesskey "d">
+<!ENTITY searchSubfolders.label "Rechercher dans les sous-dossiers">
+<!ENTITY searchSubfolders.accesskey "s">
+<!ENTITY searchOnServer.label "Rechercher sur le serveur">
+<!ENTITY searchOnServer.accesskey "e">
+<!ENTITY resetButton.label "Effacer">
+<!ENTITY resetButton.accesskey "f">
+<!ENTITY openButton.label "Ouvrir">
+<!ENTITY openButton.accesskey "o">
+<!ENTITY deleteButton.label "Supprimer">
+<!ENTITY deleteButton.accesskey "e">
+<!ENTITY searchDialogTitle.label "Recherche avancée dans le courrier">
+<!ENTITY results.label "Résultats">
+<!ENTITY moveButton.label "Classer">
+<!ENTITY moveButton.accesskey "l">
+<!ENTITY closeCmd.key "W">
+<!ENTITY openInFolder.label "Ouvrir dans le dossier">
+<!ENTITY openInFolder.accesskey "l">
+<!ENTITY saveAsVFButton.label "Enregistrer comme dossier virtuel">
+<!ENTITY saveAsVFButton.accesskey "v">
+
+<!-- for ABSearchDialog.xul -->
+<!ENTITY abSearchHeading.label "Rechercher dans :">
+<!ENTITY abSearchHeading.accesskey "d">
+<!ENTITY propertiesButton.label "Propriétés">
+<!ENTITY propertiesButton.accesskey "P">
+<!ENTITY composeButton.label "Écrire">
+<!ENTITY composeButton.accesskey "c">
+<!ENTITY deleteCardButton.label "Supprimer">
+<!ENTITY deleteCardButton.accesskey "S">
+<!ENTITY abSearchDialogTitle.label "Recherche avancée dans le carnet d’adresses">
+
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/aboutDownloads.dtd b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/aboutDownloads.dtd
new file mode 100644
index 0000000000..c887fdd6b3
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/aboutDownloads.dtd
@@ -0,0 +1,23 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!ENTITY aboutDownloads.title "Fichiers enregistrés">
+<!-- LOCALIZATION NOTE (cmd.show.label, cmd.show.accesskey, cmd.showMac.label,
+ cmd.showMac.accesskey):
+ The show and showMac commands are never shown together, thus they can share
+ the same access key (though the two access keys can also be different).
+ -->
+<!ENTITY cmd.show.label "Ouvrir le dossier contenant le fichier">
+<!ENTITY cmd.show.accesskey "r">
+<!ENTITY cmd.showMac.label "Afficher dans le Finder">
+<!ENTITY cmd.showMac.accesskey "F">
+<!ENTITY cmd.open.label "Ouvrir">
+<!ENTITY cmd.open.accesskey "O">
+<!ENTITY cmd.removeFromHistory.label "Retirer de l’historique">
+<!ENTITY cmd.removeFromHistory.accesskey "e">
+<!ENTITY cmd.clearList.label "Effacer la liste">
+<!ENTITY cmd.clearList.accesskey "l">
+<!ENTITY cmd.clearList.tooltip "Supprimer toutes les entrées de la liste des fichiers enregistrés, à l’exception des téléchargements en cours.">
+<!ENTITY cmd.searchDownloads.label "Rechercher…">
+<!ENTITY cmd.searchDownloads.key "F">
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/aboutRights.properties b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/aboutRights.properties
new file mode 100644
index 0000000000..3aca924414
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/aboutRights.properties
@@ -0,0 +1,6 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+buttonLabel=Vos droits…
+buttonAccessKey=V
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/aboutSupportMail.properties b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/aboutSupportMail.properties
new file mode 100644
index 0000000000..409c12c44e
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/aboutSupportMail.properties
@@ -0,0 +1,15 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE (warningLabel): Label for warning text that shows up when private data is included
+warningLabel=ATTENTION :
+# LOCALIZATION NOTE (warningText): Warning text that shows up when private data is included
+warningText=Ceci contient des informations sensibles qui ne devraient pas être transférées ou publiées sans autorisation.
+
+# LOCALIZATION NOTE (fsType.local): Indicator that the displayed directory is on a local drive
+fsType.local = (Lecteur local)
+# LOCALIZATION NOTE (fsType.network): Indicator that the displayed directory is on the network
+fsType.network = (Lecteur réseau)
+# LOCALIZATION NOTE (fsType.unknown): Indicator that we couldn't figure out whether the directory is local or on a network
+fsType.unknown = (Emplacement inconnu)
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/accountCreationModel.properties b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/accountCreationModel.properties
new file mode 100644
index 0000000000..29f68ec258
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/accountCreationModel.properties
@@ -0,0 +1,20 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# This file has the strings, mostly error strings, for the logic / JS backend / model
+# files: fetchConfig.js, readFromXML.js, guessConfig.js, verifyConfig.js, createInBackend.js
+
+
+# readFromXML.js
+no_emailProvider.error=Le fichier de configuration XML ne contient pas de paramètres de compte de messagerie.
+outgoing_not_smtp.error=Le serveur de courrier sortant doit être de type SMTP.
+
+# verifyConfig.js
+cannot_login.error=Connexion au serveur impossible. La configuration, l’identifiant ou le mot de passe sont probablement incorrects.
+
+# guessConfig.js
+cannot_find_server.error=Impossible de trouver un serveur
+
+# exchangeAutoDiscover.js
+no_autodiscover.error=Le code XML AutoDiscover Exchange n’est pas valide.
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/accountCreationUtil.properties b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/accountCreationUtil.properties
new file mode 100644
index 0000000000..d10191ca44
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/accountCreationUtil.properties
@@ -0,0 +1,34 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# This file has the strings, mostly error strings, for the logic / JS backend / model
+# files: sanitizeDatatypes.js, fetchhttp.js, util.js
+
+
+# sanitizeDatatypes.js
+hostname_syntax.error=Le nom d’hôte est vide ou contient des caractères interdits. Seuls les lettres, les nombres, les tirets (« - ») et les points (« . ») sont autorisés.
+alphanumdash.error=La chaîne contient des caractères non gérés. Seuls les lettres, les nombres, les tirets (« - ») et les soulignements (« _ ») sont autorisés.
+allowed_value.error=La valeur fournie n’est pas la liste autorisée
+url_scheme.error=Schéma d’URL non autorisé
+url_parsing.error=URL non reconnue
+string_empty.error=Vous devez fournir une valeur pour cette chaîne
+boolean.error=N’est pas un booléen
+no_number.error=N’est pas un nombre
+number_too_large.error=Nombre trop grand
+number_too_small.error=Nombre trop petit
+
+
+# fetchhttp.js
+cannot_contact_server.error=Contact du serveur impossible
+bad_response_content.error=Réponse sur le contenu incorrecte
+
+# verifyConfig.js
+# LOCALIZATION NOTE(auth_failed_generic.error): The login failed (server refused to allow the user in), but the server did not give any meaningful error message. This is a common case when the user entered a wrong password or is otherwise not allowed.
+auth_failed_generic.error=La connexion a échoué. Le nom d’utilisateur et le mot de passe sont-ils corrects ?
+# LOCALIZATION NOTE(auth_failed_with_reason.error): The login failed (server refused to allow the user in), and the server gave an error message which we can present to the user. This is a common case when the user entered a wrong password or is otherwise not allowed. %1$S will be the IMAP/POP3/SMTP server hostname. %2$S will be the error message from the server (usually in the local language where the server is or in English).
+auth_failed_with_reason.error=La connexion a échoué. Le serveur %1$S a répondu : %2$S
+# LOCALIZATION NOTE(verification_failed.error): We had some other error, not during authentication with the server, but at earlier points, e.g. locally or we entirely failed to contact the given server, and we unfortunately have no detailed error message.
+verification_failed.error=La vérification de la connexion a échoué pour une raison inconnue.
+# LOCALIZATION NOTE(verification_failed_with_exception.error): We had some other error, not during authentication with the server, but at earlier points, e.g. locally or we entirely failed to contact the given server, and we have an error message. %1$S will be an error message, possibly in English
+verification_failed_with_exception.error=La vérification de la connexion a échoué avec le message : %1$S
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/activity.dtd b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/activity.dtd
new file mode 100644
index 0000000000..91fca17c0b
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/activity.dtd
@@ -0,0 +1,19 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!-- LOCALIZATION NOTE (window.width2, window.height): These values should be
+close to the golden ratio (1.618:1) while making sure it's wide enough for long
+file names and tall enough to hint that there are more activities in the list -->
+<!ENTITY window.width2 "485">
+<!ENTITY window.height "300">
+
+<!ENTITY activity.title "Activités">
+
+<!ENTITY cmd.close.commandkey "w">
+<!ENTITY cmd.close2.commandkey "j">
+<!ENTITY cmd.close2Unix.commandkey "y">
+<!ENTITY cmd.clearList.label "Vider la liste">
+<!ENTITY cmd.clearList.tooltip "Retirer les téléchargements terminés, annulés et ayant échoué de la liste">
+<!ENTITY cmd.clearList.accesskey "V">
+
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/activity.properties b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/activity.properties
new file mode 100644
index 0000000000..b8ed17e053
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/activity.properties
@@ -0,0 +1,99 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# Status Text
+paused2=En pause
+processing=Traitement en cours
+notStarted=Non démarrée
+failed=Échec
+waitingForInput=En attente d’une information
+waitingForRetry=En attente avant nouvel essai
+completed=Terminée
+canceled=Annulée
+
+# LOCALIZATION NOTE (sendingMessages): this is used as a title for grouping processes in the activity manager when sending email.
+sendingMessages=Envoi des messages
+sendingMessage=Envoi d’un message
+# LOCALIZATION NOTE (sendingMessageWithSubject): %S will be replaced by the subject of the message being sent.
+sendingMessageWithSubject=Envoi du message : %S
+copyMessage=Copie du message dans le dossier « Envoyés »
+sentMessage=Message envoyé
+# LOCALIZATION NOTE (sentMessageWithSubject): %S will be replaced by the subject of the message being sent.
+sentMessageWithSubject=Message envoyé à : %S
+failedToSendMessage=Échec d’envoi d’un message
+failedToCopyMessage=Échec de la copie d’un message
+# LOCALIZATION NOTE (failedToSendMessageWithSubject): %S will be replaced by the subject of the message being sent.
+failedToSendMessageWithSubject=Échec de l’envoi du message : %S
+# LOCALIZATION NOTE (failedToCopyMessageWithSubject): %S will be replaced by the subject of the message being sent.
+failedToCopyMessageWithSubject=Échec de la copie du message : %S
+
+# LOCALIZATION NOTE (autosyncProcessProgress2): Do not translate the words "%1$S", "%2$S", "%3$S" and "%4$S" below.
+# Place the word %1$S in your translation where the number of the message being downloaded should appear.
+# Place the word %2$S in your translation where the total number of messages to be downloaded should appear.
+# Place the word %3$S in your translation where the name of the folder being processed should appear.
+# Place the word %4$S in your translation where the name of account being processed should appear.
+# EXAMPLE: Ted's account: Downloading message 334 of 1008 in Inbox…
+autosyncProcessProgress2=%4$S : téléchargement du message %1$S sur %2$S dans %3$S…
+# LOCALIZATION NOTE (autosyncProcessDisplayText): %S will be replaced by the folder name
+autosyncProcessDisplayText=Mise à jour du dossier %S
+# LOCALIZATION NOTE (autosyncEventDisplayText): %S will be replaced by the account name
+autosyncEventDisplayText=%S est à jour
+# LOCALIZATION NOTE (autosyncEventStatusText): %S will be replaced by total number of downloaded messages
+autosyncEventStatusText=Nombre total de messages téléchargés : %S
+autosyncEventStatusTextNoMsgs=Aucun message téléchargé
+# LOCALIZATION NOTE (autosyncContextDisplayText): %S will be replaced by the account name
+autosyncContextDisplayText=Synchronisation : %S
+
+# LOCALIZATION NOTE (pop3EventStartDisplayText2): Do not translate the words "%1$S" and "%2$S" below.
+# Place the word %1$S in your translation where the name of the account being checked for new messages should appear.
+# Place the word %2$S in your translation where the name of the folder being checked for new messages should appear.
+# EXAMPLE: George's account: Checking Inbox for new messages…
+pop3EventStartDisplayText2=%1$S : vérification des nouveaux messages pour le compte %2$S…
+# LOCALIZATION NOTE (pop3EventDisplayText): %S will be replaced by the account name
+pop3EventDisplayText=Le compte %S est à jour
+# LOCALIZATION NOTE (pop3EventStatusText): #1 will be replaced by total number of downloaded messages
+pop3EventStatusText=#1 message téléchargé;#1 messages téléchargés
+pop3EventStatusTextNoMsgs=Aucun message à télécharger
+
+# Message actions that show up in activity manager
+# LOCALIZATION NOTE (deletedMessages2): #1 number of messages, #2 folder name
+deletedMessages2=#1 message supprimé dans #2;#1 messages supprimés dans #2
+# LOCALIZATION NOTE (movedMessages): #1 number of messages, #2 and #3: folder names
+movedMessages=#1 message déplacé de #2 vers #3;#1 messages déplacés de #2 vers #3
+# LOCALIZATION NOTE (copiedMessages): #1 number of messages, #2 and #3: folder names
+copiedMessages=#1 message copié de #2 vers #3;#1 messages copiés de #2 vers #3
+# LOCALIZATION NOTE (fromServerToServer): #1 source server, #2 destination server
+fromServerToServer=de #1 vers #2
+# LOCALIZATION NOTE (deletedFolder): #1 folder name
+deletedFolder=Dossier #1 supprimé
+emptiedTrash=Corbeille vidée
+# LOCALIZATION NOTE (movedFolder): #1 and #2 are folder names
+movedFolder=Dossier #1 déplacé dans le dossier #2
+# LOCALIZATION NOTE (movedFolderToTrash): #1 is the folder name
+movedFolderToTrash=Dossier #1 déplacé dans la corbeille
+# LOCALIZATION NOTE (copiedFolder): #1 and #2 are folder names
+copiedFolder=Dossier #1 copié dans le dossier #2
+# LOCALIZATION NOTE (renamedFolder): #1 and #2 are folder names
+renamedFolder=Dossier #1 renommé en #2
+indexing=Indexation des messages
+# LOCALIZATION NOTE (indexingFolder): #1 is a folder name
+indexingFolder=Indexation des messages dans #1
+indexingStatusVague=Choix des messages à indexer
+# LOCALIZATION NOTE (indexingFolderStatusVague): #1 is a folder name
+indexingFolderStatusVague=Choix des messages à indexer dans #1
+# LOCALIZATION NOTE (indexingStatusExact):
+# #1 is the number of the message currently being indexed
+# #2 is the total number of messages being indexed
+# #3 is the percentage of indexing that is complete
+indexingStatusExact=Indexation du message #1 sur #2;Indexation du message #1 sur #2 (terminée à #3%)
+# LOCALIZATION NOTE (indexingFolderStatusExact):
+# #1 is the number of the message currently being indexed
+# #2 is the total number of messages being indexed
+# #3 is the percentage of indexing that is complete
+# #4 is a folder name
+indexingFolderStatusExact=Indexation du message #1 sur #2 dans #4;Indexation du message #1 sur #2 dans #4 (#3% effectués)
+# LOCALIZATION NOTE (indexedFolder): #1 number of messages; #2 folder name
+indexedFolder=Indexation d’un message dans #2;Indexation de #1 messages dans #2
+# LOCALIZATION NOTE (indexedFolderStatus): #1 number of seconds spent indexing
+indexedFolderStatus=#1 seconde écoulée;#1 secondes écoulées
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/addbuddy.dtd b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/addbuddy.dtd
new file mode 100644
index 0000000000..e8b9645d1d
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/addbuddy.dtd
@@ -0,0 +1,7 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!ENTITY addBuddyWindow.title "Ajouter un contact">
+<!ENTITY name.label "Nom d’utilisateur">
+<!ENTITY account.label "Compte">
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/addressbook/abAddressBookNameDialog.dtd b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/addressbook/abAddressBookNameDialog.dtd
new file mode 100644
index 0000000000..4d28096cb9
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/addressbook/abAddressBookNameDialog.dtd
@@ -0,0 +1,7 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!-- Labels -->
+<!ENTITY name.label "Nom du carnet d’adresses :">
+<!ENTITY name.accesskey "A">
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/addressbook/abContactsPanel.dtd b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/addressbook/abContactsPanel.dtd
new file mode 100644
index 0000000000..193080fbbe
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/addressbook/abContactsPanel.dtd
@@ -0,0 +1,49 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!ENTITY propertiesMenu.label "Propriétés">
+<!ENTITY propertiesMenu.accesskey "i">
+<!ENTITY propertiesCmd.key "i">
+<!ENTITY abPropertiesMenu.label "Propriétés du carnet d’adresses">
+<!ENTITY abPropertiesMenu.accesskey "i">
+<!ENTITY contactPropertiesMenu.label "Propriétés des contacts">
+<!ENTITY contactPropertiesMenu.accesskey "i">
+<!ENTITY mailingListPropertiesMenu.label "Propriétés des listes de diffusion">
+<!ENTITY mailingListPropertiesMenu.accesskey "i">
+
+<!ENTITY abContextMenuButton.tooltip "Afficher le menu contextuel du carnet d’adresses">
+<!ENTITY addressbookPicker.label "Carnet d’adresses :">
+<!ENTITY addressbookPicker.accesskey "C">
+<!ENTITY searchContacts.label "Rechercher des contacts :">
+<!ENTITY searchContacts.accesskey "h">
+<!ENTITY SearchNameOrEmail.label "Nom ou adresse">
+
+<!ENTITY addtoToFieldMenu.label "Ajouter au champ Pour">
+<!ENTITY addtoToFieldMenu.accesskey "t">
+<!ENTITY addtoCcFieldMenu.label "Ajouter au champ Copie à">
+<!ENTITY addtoCcFieldMenu.accesskey "e">
+<!ENTITY addtoBccFieldMenu.label "Ajouter au champ Copie cachée à">
+<!ENTITY addtoBccFieldMenu.accesskey "r">
+<!ENTITY deleteAddrBookCard.label "Supprimer">
+<!ENTITY deleteAddrBookCard.accesskey "S">
+<!ENTITY propertiesContext.label "Propriétés">
+<!ENTITY propertiesContext.accesskey "i">
+<!ENTITY abPropertiesContext.label "Propriétés">
+<!ENTITY abPropertiesContext.accesskey "i">
+<!ENTITY editContactContext.label "Modifier le contact">
+<!ENTITY editContactContext.accesskey "M">
+<!ENTITY editMailingListContext.label "Modifier la liste">
+<!ENTITY editMailingListContext.accesskey "M">
+
+<!ENTITY newContactAbContext.label "Nouveau contact">
+<!ENTITY newContactAbContext.accesskey "c">
+<!ENTITY newListAbContext.label "Nouvelle liste">
+<!ENTITY newListAbContext.accesskey "l">
+
+<!ENTITY toButton.label "Ajout Pour :">
+<!ENTITY toButton.accesskey "A">
+<!ENTITY ccButton.label "Ajout Copie à :">
+<!ENTITY ccButton.accesskey "o">
+<!ENTITY bccButton.label "Ajout Copie cachée à :">
+<!ENTITY bccButton.accesskey "u">
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/addressbook/abMailListDialog.dtd b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/addressbook/abMailListDialog.dtd
new file mode 100644
index 0000000000..703b6af326
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/addressbook/abMailListDialog.dtd
@@ -0,0 +1,22 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!-- Title -->
+<!ENTITY mailListWindowAdd.title "Nouvelle liste de diffusion">
+
+<!-- Labels and Access Keys -->
+<!ENTITY addToAddressBook.label "Ajouter à :">
+<!ENTITY addToAddressBook.accesskey "A">
+<!ENTITY ListName.label "Nom de la liste :">
+<!ENTITY ListName.accesskey "L">
+<!ENTITY ListNickName.label "Pseudo de la liste :">
+<!ENTITY ListNickName.accesskey "P">
+<!ENTITY ListDescription.label "Description :">
+<!ENTITY ListDescription.accesskey "e">
+<!-- See bug 58485, when we implement drag and drop, add 'or drag addresses' back in -->
+<!ENTITY AddressTitle.label "Saisissez les adresses à ajouter à la liste de diffusion :">
+<!ENTITY AddressTitle.accesskey "S">
+<!ENTITY UpButton.label "Vers le haut">
+<!ENTITY DownButton.label "Vers le bas">
+
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/addressbook/abMainWindow.dtd b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/addressbook/abMainWindow.dtd
new file mode 100644
index 0000000000..efd931877e
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/addressbook/abMainWindow.dtd
@@ -0,0 +1,14 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!ENTITY showAsDefault.label "Annuaire par défaut">
+<!ENTITY showAsDefault.accesskey "f">
+
+<!-- Search Bar -->
+<!ENTITY SearchNameOrEmail.label "Le nom ou l’adresse">
+
+<!-- Results Pane -->
+<!ENTITY Addrbook.label "Carnet d’adresses">
+<!ENTITY GeneratedName.label "Nom">
+<!ENTITY PrimaryEmail.label "Adresse e-mail">
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/addressbook/abResultsPane.dtd b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/addressbook/abResultsPane.dtd
new file mode 100644
index 0000000000..ef8f717ea5
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/addressbook/abResultsPane.dtd
@@ -0,0 +1,38 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!ENTITY Addrbook.label "Carnet d’adresses">
+<!ENTITY Addrbook.accesskey "C">
+<!ENTITY GeneratedName.label "Nom">
+<!ENTITY GeneratedName.accesskey "N">
+<!ENTITY PrimaryEmail.label "Adresse e-mail">
+<!ENTITY PrimaryEmail.accesskey "e">
+<!ENTITY Company.label "Société">
+<!ENTITY Company.accesskey "i">
+<!ENTITY _PhoneticName.label "Nom phonétique">
+<!ENTITY _PhoneticName.accesskey "o">
+<!ENTITY NickName.label "Surnom">
+<!ENTITY NickName.accesskey "s">
+<!ENTITY SecondEmail.label "Adresse alternative">
+<!ENTITY SecondEmail.accesskey "d">
+<!ENTITY Department.label "Service">
+<!ENTITY Department.accesskey "r">
+<!ENTITY JobTitle.label "Fonction">
+<!ENTITY JobTitle.accesskey "T">
+<!ENTITY CellularNumber.label "Tél. mobile">
+<!ENTITY CellularNumber.accesskey "b">
+<!ENTITY PagerNumber.label "Pager">
+<!ENTITY PagerNumber.accesskey "P">
+<!ENTITY FaxNumber.label "Fax">
+<!ENTITY FaxNumber.accesskey "F">
+<!ENTITY HomePhone.label "Tél. domicile">
+<!ENTITY HomePhone.accesskey "m">
+<!ENTITY WorkPhone.label "Tél. travail">
+<!ENTITY WorkPhone.accesskey "l">
+<!ENTITY ChatName.label "Pseudo IM">
+<!ENTITY ChatName.accesskey "u">
+<!ENTITY sortAscending.label "Ordre croissant">
+<!ENTITY sortAscending.accesskey "A">
+<!ENTITY sortDescending.label "Ordre décroissant">
+<!ENTITY sortDescending.accesskey "D">
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/addressbook/addressBook.properties b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/addressbook/addressBook.properties
new file mode 100644
index 0000000000..ea2982f0cb
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/addressbook/addressBook.properties
@@ -0,0 +1,178 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# The following are used by the Mailing list dialog.
+# LOCALIZATION NOTE (mailingListTitleEdit): %S will be replaced by the Mailing List's display name.
+mailingListTitleEdit=Modifier %S
+emptyListName=Vous devez saisir un nom de liste.
+badListNameCharacters=Un nom de liste ne peut contenir aucun des caractères suivants : < > ; , "
+badListNameSpaces=Un nom de liste ne peut pas contenir plusieurs espaces consécutifs.
+lastFirstFormat=%S, %S
+firstLastFormat=%S %S
+
+allAddressBooks=Tous les carnets d’adresses
+
+newContactTitle=Nouveau contact
+# %S will be the contact's display name
+newContactTitleWithDisplayName=Nouvelle fiche pour %S
+editContactTitle=Modifier la fiche du contact
+# %S will be the contact's display name
+editContactTitleWithDisplayName=Modifier la fiche de %S
+# don't translate vCard
+editVCardTitle=Modifier la vCard
+# %S will be the card's display name, don't translate vCard
+editVCardTitleWithDisplayName=Modifier la vCard de %S
+
+## LOCALIZATION NOTE (cardRequiredDataMissingMessage): do not localize \n
+cardRequiredDataMissingMessage=Vous devez saisir au moins un des éléments suivants :\nl’adresse e-mail, le prénom, le nom, le nom à afficher ou la société.
+cardRequiredDataMissingTitle=Informations requises manquantes
+incorrectEmailAddressFormatMessage=L’adresse e-mail principale doit être de la forme utilisateur@domaine.
+incorrectEmailAddressFormatTitle=Format d’adresse e-mail incorrect
+
+viewListTitle=Liste de diffusion : %S
+mailListNameExistsTitle=Liste de diffusion existante
+mailListNameExistsMessage=Il y a déjà une liste de diffusion portant ce nom. Veuillez en choisir un autre.
+
+propertyPrimaryEmail=Adresse e-mail
+propertyListName=Nom de la liste
+propertySecondaryEmail=Adresse alternative
+propertyNickname=Surnom
+propertyDisplayName=Nom à afficher
+propertyWork=Travail
+propertyHome=Domicile
+propertyFax=Fax
+propertyCellular=Mobile
+propertyPager=Pager
+propertyBirthday=Anniversaire
+propertyCustom1=Divers 1
+propertyCustom2=Divers 2
+propertyCustom3=Divers 3
+propertyCustom4=Divers 4
+
+propertyGtalk=Google Talk
+propertyAIM=AIM
+propertyYahoo=Yahoo!
+propertySkype=Skype
+propertyQQ=QQ
+propertyMSN=MSN
+propertyICQ=ICQ
+propertyXMPP=ID Jabber
+propertyIRC=Pseudo IRC
+
+## LOCALIZATION NOTE (cityAndStateAndZip):
+## %1$S is city, %2$S is state, %3$S is zip
+cityAndStateAndZip=%1$S, %2$S %3$S
+## LOCALIZATION NOTE (cityAndStateNoZip):
+## %1$S is city, %2$S is state
+cityAndStateNoZip=%1$S, %2$S
+## LOCALIZATION NOTE (cityOrStateAndZip):
+## %1$S is city or state, %2$S is zip
+cityOrStateAndZip=%1$S %2$S
+
+stateZipSeparator=
+
+prefixTo=Pour
+prefixCc=Copie à
+prefixBcc=Copie cachée à
+addressBook=Carnet d’adresses
+
+# Contact photo management
+browsePhoto=Photo du contact
+stateImageSave=Enregistrement de l’image…
+errorInvalidUri=Erreur : image source non valide.
+errorNotAvailable=Erreur : le fichier n’est pas accessible.
+errorInvalidImage=Erreur : seules les images au format JPG, PNG ou GIF sont prises en charge.
+errorSaveOperation=Erreur : impossible d’enregistrer l’image.
+
+# mailnews.js
+ldap_2.servers.pab.description=Adresses personnelles
+ldap_2.servers.history.description=Adresses collectées
+## LOCALIZATION NOTE (ldap_2.servers.osx.description is only used on Mac OS X)
+ldap_2.servers.osx.description=Carnet d’adresses Mac OS X
+## LOCALIZATION NOTE (ldap_2.servers.outlook.description is only used on Windows)
+ldap_2.servers.outlook.description=Carnet d’adresses d’Outlook
+
+# status bar stuff
+## LOCALIZATION NOTE (totalContactStatus):
+## %1$S is address book name, %2$S is contact count
+totalContactStatus=Nombre de contacts dans %1$S : %2$S
+noMatchFound=Aucune occurrence trouvée
+## LOCALIZATION NOTE (matchesFound1):
+## Semicolon-separated list of singular and plural forms.
+## See: https://developer.mozilla.org/docs/Mozilla/Localization/Localization_and_Plurals
+## #1 is the number of matching contacts found
+matchesFound1=#1 correspondance trouvée;#1 correspondances trouvées
+
+## LOCALIZATION NOTE (contactsCopied): Semi-colon list of plural forms
+## %1$S is the number of contacts that were copied. This should be used multiple
+## times wherever you need it. Do not replace by %S.
+contactsCopied=%1$S contact copié;%1$S contacts copiés
+
+## LOCALIZATION NOTE (contactsMoved): Semi-colon list of plural forms
+## %1$S is the number of contacts that were moved. This should be used multiple
+## times wherever you need it. Do not replace by %S.
+contactsMoved=%1$S contact déplacé;%1$S contacts déplacés
+
+# LDAP directory stuff
+invalidName=Veuillez saisir un nom valide.
+invalidHostname=Veuillez saisir un nom d’hôte valide.
+invalidPortNumber=Veuillez saisir un numéro de port valide.
+invalidResults=Veuillez saisir un nombre valide dans le champ des résultats.
+abReplicationOfflineWarning=Vous devez être connecté pour effectuer une réplication LDAP.
+abReplicationSaveSettings=Le paramétrage doit être enregistré avant de pouvoir télécharger un répertoire.
+
+# For importing / exporting
+## LOCALIZATION NOTE (ExportAddressBookNameTitle): %S is the name of exported addressbook
+ExportAddressBookNameTitle=Exportation d’un carnet d’adresses - %S
+LDIFFiles=LDIF
+CSVFiles=Séparé par des virgules
+CSVFilesSysCharset=Séparé par des virgules (encodage du système)
+CSVFilesUTF8=Séparé par des virgules (UTF-8)
+TABFiles=Délimité par des tabulations
+TABFilesSysCharset=Délimité par des tabulations (encodage du système)
+TABFilesUTF8=Délimité par des tabulations (UTF-8)
+VCFFiles=vCard
+SupportedABFiles=Fichiers de carnets d’adresses pris en charge
+failedToExportTitle=Échec de l’exportation
+failedToExportMessageNoDeviceSpace=Échec de l’exportation du carnet d’adresses. Espace insuffisant sur le périphérique.
+failedToExportMessageFileAccessDenied=Échec de l’exportation du carnet d’adresses. Accès au fichier refusé.
+
+# For getting authDN for replication using dlg box
+AuthDlgTitle=Réplication du carnet d’adresses LDAP
+AuthDlgDesc=Pour accéder au serveur d’annuaire, saisissez un nom d’utilisateur et un mot de passe.
+
+# LOCALIZATION NOTE(joinMeInThisChat)
+# use + for spaces
+joinMeInThisChat=Rejoins-moi+dans+ce+salon.
+
+# For printing
+headingHome=Domicile
+headingWork=Travail
+headingOther=Autre
+headingChat=Discussion
+headingPhone=Tél.
+headingDescription=Description
+headingAddresses=Adresses
+
+## For address books
+addressBookTitleNew=Nouveau carnet d’adresses
+# LOCALIZATION NOTE (addressBookTitleEdit):
+# %S is the current name of the address book.
+# Example: My Custom AB Properties
+addressBookTitleEdit=Propriétés de %S
+duplicateNameTitle=Nom de carnet d’adresses en double
+# LOCALIZATION NOTE (duplicateNameText):
+# Don't localize "\n• %S" unless your local layout comes out wrong.
+# %S is the name of the existing address book.
+# Example: An address book with this name already exists:
+# • My Custom AB
+duplicateNameText=Un carnet d’adresses du même nom existe déjà :\n• %S
+
+# For corrupt .mab files
+corruptMabFileTitle=Fichier de carnet d’adresses corrompu
+corruptMabFileAlert=Un de vos fichiers de carnet d’adresses (fichier %1$S) est illisible. Un nouveau fichier appelé %2$S va être créé et l’ancien fichier sera sauvegardé dans le même répertoire sous le nom %3$S.
+
+# For locked .mab files
+lockedMabFileTitle=Échec de chargement du fichier carnet d’adresses
+lockedMabFileAlert=Échec de chargement du fichier carnet d’adresses %S. Il est peut-être en lecture seule ou verrouillé par une autre application. Veuillez réessayer plus tard.
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/addressbook/ldapAutoCompErrs.properties b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/addressbook/ldapAutoCompErrs.properties
new file mode 100644
index 0000000000..557b6c2da2
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/addressbook/ldapAutoCompErrs.properties
@@ -0,0 +1,109 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# These are error strings for problems that happen while in the
+# various states declared in nsILDAPAutoCompFormatter.idl. Note that
+# the number that indexes each error state is the same as the number
+# corresponding to that state in nsILDAPAutoCompFormatter.idl.
+
+# These are error strings for problems that happen while in the
+# various states declared in nsILDAPAutoCompFormatter.idl. Note that
+# the number that indexes each error state is the same as the number
+# corresponding to that state in nsILDAPAutoCompFormatter.idl.
+
+## @name ERR_STATE_UNBOUND
+## @loc none
+0=Problème d’initialisation LDAP
+
+## @name ERR_STATE_INITIALIZING
+## @loc none
+1=Échec de la connexion au serveur LDAP
+
+## @name ERR_STATE_BINDING
+## @loc none
+2=Échec de la connexion au serveur LDAP
+
+## @name ERR_STATE_BOUND
+## @loc none
+3=Problème de communication avec le serveur LDAP
+
+## @name ERR_STATE_SEARCHING
+## @loc none
+4=Problème de recherche sur le serveur LDAP
+
+
+# The format of the alert dialog itself
+#
+## @name ALERT_FORMAT
+## @loc None of %1$S, %2$S and %3$S should be localized.
+## %1$S is the error code itself, %2$S is an LDAP SDK error message from
+## chrome://mozldap/locale/ldap.properties, and %3$S is a hint relating
+## to that specific error, found in this file.
+errorAlertFormat=Code d’erreur %1$S : %2$S\n\n %3$S
+
+## The following errors are for error codes other than LDAP-specific ones.
+## Someday mozilla will actually have a system for mapping nsresults to
+## error strings that's actually widely used, unlike nsIErrorService. But
+## until it does, these strings live here...
+
+## @name HOST_NOT_FOUND
+## @loc none
+5000=Hôte non trouvé
+
+## @name GENERIC_ERROR
+## @loc none
+9999=Erreur inconnue
+
+
+# Hints to for the user, associated with specific error codes (ie error code
+# + 10000)
+
+
+## @name TIMELIMIT_EXCEEDED_HINT
+## @loc none
+10003=Veuillez essayer plus tard ou contactez votre administrateur système.
+
+## @name STRONGAUTH_REQUIRED_HINT
+## @loc none
+10008=L’authentification forte n’est actuellement pas gérée.
+
+## @name INVALID_SYNTAX_HINT
+## @loc none
+10021=Vérifiez que le filtre de recherche est correct et essayez à nouveau, sinon contactez votre administrateur système. Pour vérifier le filtre, allez dans le menu Édition, choisissez Préférences puis Rédaction et enfin Adressage. Cliquez sur Modifier les annuaires, et sélectionnez le serveur LDAP en cours. Cliquez sur Modifier puis sur Avancé pour afficher le filtre de recherche.
+
+## @name NO_SUCH_OBJECT_HINT
+## @loc none
+10032=Vérifiez que le nom distinct de base est correct et essayez à nouveau, sinon contactez votre administrateur système. Pour vérifier votre nom distinct de base, allez dans le menu Édition, choisissez Préférences puis Rédaction et enfin Adressage. Cliquez sur Modifier les annuaires, et sélectionnez le serveur LDAP en cours. Cliquez sur Modifier pour afficher le nom distinct de base.
+
+## @name BUSY_HINT
+## @loc none
+10051=Veuillez réessayer plus tard.
+
+## @name SERVER_DOWN_HINT
+## @loc none
+10081=Vérifiez que le nom d’hôte et le numéro du port sont corrects et essayez à nouveau, sinon contactez votre administrateur système. Pour vérifier le nom d’hôte et le numéro du port, allez dans le menu Édition, choisissez Préférences puis Rédaction et enfin Adressage. Cliquez sur Modifier les annuaires, et sélectionnez le serveur LDAP en cours. Cliquez sur Modifier pour afficher le nom d’hôte. Cliquez sur Avancé pour afficher le numéro de port.
+
+## @name TIMEOUT_HINT
+## @loc none
+10085=Veuillez réessayer plus tard.
+
+## @name FILTER_ERROR_HINT
+## @loc none
+10087=Vérifiez que le filtre de recherche est correct et essayez à nouveau, sinon contactez votre administrateur système. Pour vérifier le filtre, allez dans le menu Édition, choisissez Préférences puis Rédaction et enfin Adressage. Cliquez sur Modifier les annuaires, et sélectionnez le serveur LDAP en cours. Cliquez sur Modifier puis sur Avancé pour afficher le filtre de recherche.
+
+## @name NO_MEMORY_HINT
+## @loc none
+10090=Veuillez fermer d’autres fenêtres ou d’autres applications et essayer à nouveau.
+
+## @name CONNECT_ERROR_HINT
+## @loc none
+10091=Vérifiez que le nom d’hôte et le numéro du port sont corrects et essayez à nouveau, sinon contactez votre administrateur système. Pour vérifier le nom d’hôte et le numéro du port, allez dans le menu Édition, choisissez Préférences puis Rédaction et enfin Adressage. Cliquez sur Modifier les annuaires, et sélectionnez le serveur LDAP en cours. Cliquez sur Modifier pour afficher le nom d’hôte. Cliquez sur Avancé pour afficher le numéro de port.
+
+## @name HOST_NOT_FOUND_HINT
+## @loc none
+15000=Vérifiez que le nom d’hôte est correct et essayez à nouveau, sinon contactez votre administrateur système. Pour vérifier le nom d’hôte, allez dans le menu Édition, choisissez Préférences puis Rédaction et enfin Adressage. Cliquez sur Modifier les annuaires, et sélectionnez le serveur LDAP en cours. Cliquez sur Modifier pour afficher le nom d’hôte.
+
+## @name GENERIC_HINT
+## @loc none
+19999=Veuillez contacter votre administrateur système.
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/addressbook/pref-directory-add.dtd b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/addressbook/pref-directory-add.dtd
new file mode 100644
index 0000000000..a0d40fdcef
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/addressbook/pref-directory-add.dtd
@@ -0,0 +1,45 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!ENTITY directoryName.label "Nom :">
+<!ENTITY directoryName.accesskey "n">
+<!ENTITY directoryHostname.label "Nom d’hôte :">
+<!ENTITY directoryHostname.accesskey "o">
+<!ENTITY directoryBaseDN.label "Nom distinct de base :">
+<!ENTITY directoryBaseDN.accesskey "b">
+<!ENTITY findButton.label "Rechercher">
+<!ENTITY findButton.accesskey "h">
+<!ENTITY directorySecure.label "Utiliser une connexion chiffrée (SSL)">
+<!ENTITY directorySecure.accesskey "U">
+<!ENTITY directoryLogin.label "Connecter avec l’utilisateur :">
+<!ENTITY directoryLogin.accesskey "C">
+<!ENTITY General.tab "Général">
+<!ENTITY Offline.tab "Hors connexion">
+<!ENTITY Advanced.tab "Avancé">
+<!ENTITY portNumber.label "Numéro de port :">
+<!ENTITY portNumber.accesskey "p">
+<!ENTITY searchFilter.label "Filtre de recherche :">
+<!ENTITY searchFilter.accesskey "f">
+<!ENTITY scope.label "Étendue :">
+<!ENTITY scope.accesskey "e">
+<!ENTITY scopeOneLevel.label "Un niveau">
+<!ENTITY scopeOneLevel.accesskey "i">
+<!ENTITY scopeSubtree.label "Sous-arbre">
+<!ENTITY scopeSubtree.accesskey "S">
+<!ENTITY return.label "Ne pas retourner plus de">
+<!ENTITY return.accesskey "r">
+<!ENTITY results.label "résultats">
+<!ENTITY offlineText.label "Vous pouvez créer une copie locale de cet annuaire pour pouvoir l’utiliser une fois hors connexion.">
+<!ENTITY saslMechanism.label "Méthode d’identification : ">
+<!ENTITY saslMechanism.accesskey "M">
+<!ENTITY saslOff.label "Simple">
+<!ENTITY saslOff.accesskey "l">
+<!ENTITY saslGSSAPI.label "Kerberos (GSSAPI)">
+<!ENTITY saslGSSAPI.accesskey "K">
+
+<!-- Localization note: this is here because the width of the dialog
+ is determined by the width of the base DN box; and that is likely
+ to vary somewhat with the language.
+-->
+<!ENTITY newDirectoryWidth "42em">
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/addressbook/pref-directory.dtd b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/addressbook/pref-directory.dtd
new file mode 100644
index 0000000000..e4efaafe41
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/addressbook/pref-directory.dtd
@@ -0,0 +1,17 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!-- LOCALIZATION NOTE (window.title) : do not translate "LDAP" in below line -->
+<!ENTITY pref.ldap.window.title "Serveurs d’annuaire LDAP">
+<!-- LOCALIZATION NOTE (directories.label) : do not translate "LDAP" in below line -->
+<!ENTITY directories.label "Serveur d’annuaire LDAP :">
+<!-- LOCALIZATION NOTE (directoriesText.label) : do not translate "LDAP" in below line -->
+<!ENTITY directoriesText.label "Sélectionner un serveur d’annuaire LDAP :">
+<!ENTITY directoriesText.accesskey "S">
+<!ENTITY addDirectory.label "Ajouter">
+<!ENTITY addDirectory.accesskey "o">
+<!ENTITY editDirectory.label "Modifier">
+<!ENTITY editDirectory.accesskey "e">
+<!ENTITY deleteDirectory.label "Supprimer">
+<!ENTITY deleteDirectory.accesskey "u">
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/addressbook/replicationProgress.properties b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/addressbook/replicationProgress.properties
new file mode 100644
index 0000000000..5d8578cd09
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/addressbook/replicationProgress.properties
@@ -0,0 +1,20 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+replicationStarted=Réplication lancée…
+changesStarted=Recherche des changements à répliquer…
+replicationSucceeded=Succès de la réplication
+replicationFailed=Échec de la réplication
+replicationCancelled=Réplication annulée
+# LOCALIZATION NOTE
+# do not localize %S. %S is the current entry number (an integer)
+currentCount=Réplication de l’entrée d’annuaire : %S
+
+downloadButton=Télécharger maintenant
+downloadButton.accesskey=T
+cancelDownloadButton=Annuler le téléchargement
+cancelDownloadButton.accesskey=A
+
+directoryTitleNew=Nouvel annuaire LDAP
+## LOCALIZATION NOTE (directoryTitleEdit): %S will be replaced by the LDAP directory's display name
+directoryTitleEdit=Propriétés de %S
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/am-addressing.dtd b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/am-addressing.dtd
new file mode 100644
index 0000000000..47b456d5fb
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/am-addressing.dtd
@@ -0,0 +1,51 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!-- extracted from am-addressing.xul -->
+
+<!-- extracted from am-addressing.xhtml -->
+
+<!ENTITY addressing.label "Rédaction et adressage">
+<!ENTITY addressingGroupTitle.label "Adressage">
+<!ENTITY addressingText.label "Lors de la recherche d’adresses :">
+<!-- LOCALIZATION NOTE (override.label) : do not translate "LDAP" in below line -->
+<!ENTITY useGlobal.label "Utiliser mes préférences globales de serveur LDAP pour ce compte">
+<!ENTITY useGlobal.accesskey "U">
+<!ENTITY editDirectories.label "Modifier les annuaires…">
+<!ENTITY editDirectories.accesskey "M">
+<!-- LOCALIZATION NOTE (directories.label) : do not translate "LDAP" in below line -->
+<!ENTITY directories.label "Utiliser un serveur LDAP différent :">
+<!ENTITY directories.accesskey "d">
+<!ENTITY directoriesNone.label "Aucun">
+
+<!-- am-addressing.xul -->
+
+<!-- am-addressing.xhtml -->
+
+<!ENTITY compositionGroupTitle.label "Rédaction des messages">
+<!-- LOCALIZATION NOTE (useHtml.label) : do not translate "html" in below line -->
+<!ENTITY useHtml.label "Rédiger les messages en HTML">
+<!ENTITY useHtml.accesskey "R">
+<!ENTITY autoQuote.label "Citer le message original dans la réponse">
+<!ENTITY autoQuote.accesskey "a">
+<!-- LOCALIZATION NOTE (quoting.label): This will concatenate with the 4 strings that follow. -->
+<!ENTITY quoting.label "Dans ce cas,">
+<!ENTITY quoting.accesskey "c">
+<!ENTITY aboveQuote.label "la réponse commence avant la citation">
+<!ENTITY belowQuote.label "la réponse commence après la citation">
+<!ENTITY selectAndQuote.label "la citation est sélectionnée">
+<!ENTITY place.label "et la signature est placée">
+<!ENTITY place.accesskey "s">
+<!ENTITY belowText.label "sous la citation (recommandé)">
+<!ENTITY aboveText.label "sous ma réponse (au-dessus de la citation)">
+<!ENTITY includeSigOnReply.label "Ajouter la signature pour les réponses">
+<!ENTITY includeSigOnReply.accesskey "o">
+<!ENTITY includeSigOnForward.label "Ajouter la signature pour les transferts">
+<!ENTITY includeSigOnForward.accesskey "e">
+
+<!ENTITY globalComposingPrefs.label "Préférences globales de rédaction…">
+<!ENTITY globalComposingPrefs.accesskey "g">
+
+<!ENTITY globalAddressingPrefs.label "Préférences globales d’adressage…">
+<!ENTITY globalAddressingPrefs.accesskey "P">
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/am-advanced.dtd b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/am-advanced.dtd
new file mode 100644
index 0000000000..327258cdd1
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/am-advanced.dtd
@@ -0,0 +1,30 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!-- extracted from am-advanced.xul -->
+
+<!-- extracted from am-advanced.xhtml -->
+
+<!-- LOCALIZATION NOTE (smtpServer.label): do not translate "SMTP" in below line -->
+<!ENTITY smtpServer.label "Serveur SMTP">
+
+<!-- LOCALIZATION NOTE (smtpDescription.label): do not translate "SMTP" in below line -->
+<!ENTITY smtpDescription.label "Lorsque vous gérez vos identités, vous pouvez utiliser un serveur de cette liste en le sélectionnant comme Serveur sortant (SMTP), ou utiliser le serveur par défaut de cette liste en sélectionnant « Utiliser le serveur par défaut ».">
+
+<!ENTITY smtpListAdd.label "Ajouter…">
+<!ENTITY smtpListAdd.accesskey "A">
+<!ENTITY smtpListEdit.label "Modifier…">
+<!ENTITY smtpListEdit.accesskey "M">
+<!ENTITY smtpListDelete.label "Supprimer">
+<!ENTITY smtpListDelete.accesskey "S">
+<!ENTITY smtpListSetDefault.label "Utiliser par défaut">
+<!ENTITY smtpListSetDefault.accesskey "d">
+
+<!ENTITY serverDetails.label "Détails du serveur sélectionné :">
+<!ENTITY serverDescription.label "Description : ">
+<!ENTITY serverName.label "Nom du serveur : ">
+<!ENTITY serverPort.label "Port : ">
+<!ENTITY userName.label "Nom d’utilisateur : ">
+<!ENTITY connectionSecurity.label "Sécurité de la connexion : ">
+<!ENTITY authMethod.label "Méthode d’authentification : ">
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/am-archiveoptions.dtd b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/am-archiveoptions.dtd
new file mode 100644
index 0000000000..f9593d8828
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/am-archiveoptions.dtd
@@ -0,0 +1,25 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!-- extracted from am-archiveoptions.xul -->
+
+<!-- extracted from am-archiveoptions.xhtml -->
+
+<!ENTITY dialogTitle.label "Options d’archivage">
+<!ENTITY archiveGranularityPrefix.label "Lors de l’archivage des messages, les placer dans :">
+<!ENTITY archiveFlat.label "Un simple dossier">
+<!ENTITY archiveFlat.accesskey "U">
+<!ENTITY archiveYearly.label "Les dossiers archivés annuellement">
+<!ENTITY archiveYearly.accesskey "a">
+<!ENTITY archiveMonthly.label "Les dossiers archivés mensuellement">
+<!ENTITY archiveMonthly.accesskey "m">
+<!ENTITY keepFolderStructure.label "Conserver la structure existante des dossiers archivés">
+<!ENTITY keepFolderStructure.accesskey "C">
+<!ENTITY archiveExample.label "Exemple">
+<!-- LOCALIZATION NOTE (archiveFolderName.label): this should match the default
+ name for the "Archives" folder -->
+<!ENTITY archiveFolderName.label "Archives">
+<!-- LOCALIZATION NOTE (inboxFolderName.label): this should match the default
+ name for the "Inbox" folder -->
+<!ENTITY inboxFolderName.label "Courrier entrant">
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/am-copies.dtd b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/am-copies.dtd
new file mode 100644
index 0000000000..a428f6f9fe
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/am-copies.dtd
@@ -0,0 +1,52 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!-- extracted from am-copies.xul -->
+
+<!-- extracted from am-copies.xhtml -->
+
+<!ENTITY copyAndFolderTitle.label "Copies et dossiers">
+<!ENTITY sendingPrefix.label "Lors de l’envoi de messages, automatiquement :">
+<!ENTITY fccMailFolder.label "Placer une copie dans :">
+<!ENTITY fccMailFolder.accesskey "P">
+<!ENTITY fccReplyFollowsParent.label "Placer les réponses dans le dossier du message auquel il a été répondu">
+<!ENTITY fccReplyFollowsParent.accesskey "n">
+<!-- LOCALIZATION NOTE (ccAddress.label): do not translate "Cc" in below line -->
+<!ENTITY ccAddress.label "Mettre en copie ces adresses :">
+<!ENTITY ccAddress.accesskey "M">
+<!ENTITY ccAddressList.placeholder "Adresses séparées par des virgules">
+<!-- LOCALIZATION NOTE (bccAddress.label): do not translate "Bcc" in below line -->
+<!ENTITY bccAddress.label "Mettre en copie cachée ces adresses :">
+<!ENTITY bccAddress.accesskey "c">
+<!ENTITY bccAddressList.placeholder "Adresses séparées par des virgules">
+<!ENTITY saveMessageDlg.label "Demander une confirmation quand les messages sont enregistrés">
+<!ENTITY saveMessageDlg.accesskey "q">
+<!-- LOCALIZATION NOTE (sentFolderOn.label): OK to translate this, bug #57440 -->
+<!ENTITY sentFolderOn.label "Dossier « Envoyés » de :">
+<!ENTITY sentFolderOn.accesskey "v">
+<!ENTITY sentInOtherFolder.label "Autre dossier :">
+<!ENTITY sentInOtherFolder.accesskey "A">
+<!-- LOCALIZATION NOTE (archivesFolderOn.label): OK to translate this, bug #57440 -->
+<!ENTITY archivesTitle.label "Archives des messages">
+<!ENTITY keepArchives.label "Conserver les archives dans :">
+<!ENTITY keepArchives.accesskey "h">
+<!ENTITY archiveHierarchyButton.label "Options d’archivage…">
+<!ENTITY archiveHierarchyButton.accesskey "O">
+<!ENTITY archivesFolderOn.label "Dossier « Archives » dans :">
+<!ENTITY archivesFolderOn.accesskey "D">
+<!ENTITY archiveInOtherFolder.label "Autre :">
+<!ENTITY archiveInOtherFolder.accesskey "u">
+<!ENTITY specialFolders.label "Brouillons et modèles">
+<!ENTITY keepDrafts2.label "Conserver les brouillons dans :">
+<!-- LOCALIZATION NOTE (draftsFolderOn.label): OK to translate this, bug #57440 -->
+<!ENTITY draftsFolderOn.label "Dossier « Brouillons » de :">
+<!ENTITY draftsFolderOn.accesskey "r">
+<!ENTITY draftInOtherFolder.label "Autre dossier :">
+<!ENTITY draftInOtherFolder.accesskey "t">
+<!ENTITY keepTemplates.label "Conserver les modèles dans :">
+<!-- LOCALIZATION NOTE (templatesFolderOn.label): OK to translate this, bug #57440 -->
+<!ENTITY templatesFolderOn.label "Dossier « Modèles » de :">
+<!ENTITY templatesFolderOn.accesskey "l">
+<!ENTITY templateInOtherFolder.label "Autre dossier :">
+<!ENTITY templateInOtherFolder.accesskey "e">
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/am-e2e.properties b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/am-e2e.properties
new file mode 100644
index 0000000000..4c1f10c6d4
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/am-e2e.properties
@@ -0,0 +1,5 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+prefPanel-e2e=Chiffrement de bout en bout
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/am-identities-list.dtd b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/am-identities-list.dtd
new file mode 100644
index 0000000000..2e3e414cf6
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/am-identities-list.dtd
@@ -0,0 +1,15 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!ENTITY identitiesListManageDesc.label "Gérer les identités pour ce compte. La première identité est utilisée par défaut.">
+<!ENTITY identitiesListAdd.label "Ajouter…">
+<!ENTITY identitiesListAdd.accesskey "A">
+<!ENTITY identitiesListEdit.label "Modifier…">
+<!ENTITY identitiesListEdit.accesskey "M">
+<!ENTITY identitiesListDefault.label "Définir par défaut">
+<!ENTITY identitiesListDefault.accesskey "D">
+<!ENTITY identitiesListDelete.label "Supprimer">
+<!ENTITY identitiesListDelete.accesskey "S">
+<!ENTITY identitiesListClose.label "Fermer">
+<!ENTITY identitiesListClose.accesskey "F">
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/am-identity-edit.dtd b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/am-identity-edit.dtd
new file mode 100644
index 0000000000..f2d07da712
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/am-identity-edit.dtd
@@ -0,0 +1,14 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!ENTITY identityListDesc.label "Configuration des paramètres pour cette identité :">
+
+<!ENTITY settingsTab.label "Paramètres">
+<!ENTITY copiesFoldersTab.label "Copies et dossiers">
+<!ENTITY addressingTab.label "Rédaction et adressage">
+
+<!ENTITY publicData.label "Données publiques">
+<!ENTITY privateData.label "Données privées">
+<!ENTITY identityAlias.label "Étiquette de l’identité :">
+<!ENTITY identityAlias.accesskey "d">
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/am-im.dtd b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/am-im.dtd
new file mode 100644
index 0000000000..96f7056e36
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/am-im.dtd
@@ -0,0 +1,16 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!ENTITY accountWindow.title "Propriétés du compte">
+<!ENTITY accountWindow.width "300">
+<!ENTITY account.general "Général">
+<!ENTITY account.advanced "Options avancées">
+<!ENTITY account.name "Nom d’utilisateur :">
+<!ENTITY account.password "Mot de passe :">
+<!ENTITY account.alias "Alias :">
+<!ENTITY account.newMailNotification "Signaler les nouveaux e-mails">
+<!ENTITY account.autojoin "Rejoindre automatiquement les salons :">
+<!ENTITY account.proxySettings.caption "Paramètre de proxy :">
+<!ENTITY account.proxySettings.change.label "Modifier…">
+<!ENTITY account.proxySettings.change.accessKey "M">
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/am-junk.dtd b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/am-junk.dtd
new file mode 100644
index 0000000000..093117ffff
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/am-junk.dtd
@@ -0,0 +1,31 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!ENTITY junkSettings.label "Paramètres pour les indésirables">
+<!ENTITY trainingDescription.label "Quand cette fonctionnalité est activée, vous devez d’abord entraîner &brandShortName; à identifier les e-mails indésirables en utilisant le bouton « Indésirables » de la barre d’outils pour marquer les messages comme indésirables ou pas. Vous devez identifier à la fois les e-mails indésirables et ceux qui ne le sont pas. Par la suite, &brandShortName; sera en mesure de détecter les indésirables automatiquement.">
+<!ENTITY level.label "Activer les contrôles adaptatifs d’e-mails indésirables pour ce compte">
+<!ENTITY level.accesskey "A">
+
+<!ENTITY move.label "Déplacer les nouveaux e-mails indésirables vers :">
+<!ENTITY move.accesskey "D">
+<!ENTITY junkFolderOn.label "Dossier « Indésirables » sur :">
+<!ENTITY junkFolderOn.accesskey "I">
+<!ENTITY otherFolder.label "Autre :">
+<!ENTITY otherFolder.accesskey "u">
+<!ENTITY purge1.label "Supprimer automatiquement les e-mails indésirables âgés de plus de ">
+<!ENTITY purge1.accesskey "S">
+<!ENTITY purge2.label "jours">
+
+<!ENTITY whitelistHeader.label "Ne pas marquer automatiquement les messages comme indésirables si l’expéditeur est dans : ">
+<!ENTITY whitelistHeader.accesskey "N">
+
+<!ENTITY ispHeadersWarning.label "Quand cette fonctionnalité est activée, &brandShortName; considère automatiquement les messages désignés par cet outil externe comme indésirables.">
+<!ENTITY ispHeaders.label "Se fier aux en-têtes de courrier indésirable placés par : ">
+<!ENTITY ispHeaders.accesskey "f">
+
+<!ENTITY junkClassification.label "Sélection">
+<!ENTITY junkActions.label "Destination et rétention">
+
+<!ENTITY globalJunkPrefs.label "Préférences globales des indésirables…">
+<!ENTITY globalJunkPrefs.accesskey "P">
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/am-main.dtd b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/am-main.dtd
new file mode 100644
index 0000000000..63e58aab62
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/am-main.dtd
@@ -0,0 +1,47 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!-- extracted from am-main.xhtml -->
+
+<!ENTITY accountTitle.label "Paramètres du compte">
+<!ENTITY accountName.label "Nom du compte :">
+<!ENTITY accountName.accesskey "c">
+<!ENTITY identityTitle.label "Identité par défaut">
+<!ENTITY identityDesc.label "Chaque compte dispose d’informations sur l’expéditeur qui sont systématiquement transmises avec les messages. Elles vous identifient auprès de vos correspondants.">
+<!ENTITY name.label "Nom :">
+<!ENTITY name.accesskey "N">
+<!ENTITY email.label "Adresse e-mail :">
+<!ENTITY email.accesskey "A">
+<!ENTITY catchAll.label "Répondre avec cette identité lorsque les en-têtes de distribution correspondent à :">
+<!ENTITY catchAll.accesskey "d">
+<!ENTITY replyTo.label "Adresse pour la réponse :">
+<!ENTITY replyTo.accesskey "d">
+<!ENTITY replyTo.placeholder "Les destinataires enverront leur réponse à cette autre adresse">
+<!ENTITY organization.label "Organisation :">
+<!ENTITY organization.accesskey "O">
+<!ENTITY signatureText.label "Texte de signature :">
+<!ENTITY signatureText.accesskey "x">
+<!ENTITY signatureHtml.label "Utiliser HTML (par ex., &lt;b&gt;bold&lt;/b&gt;)">
+<!ENTITY signatureHtml.accesskey "U">
+<!ENTITY signatureFile.label "Apposer la signature à partir d’un fichier (texte, HTML ou image) :">
+<!ENTITY signatureFile.accesskey "H">
+<!ENTITY edit.label "Modifier…">
+<!ENTITY choose.label "Choisir…">
+<!ENTITY choose.accesskey "i">
+<!ENTITY editVCard.label "Modifier la carte…">
+<!ENTITY editVCard.accesskey "M">
+<!-- LOCALIZATION NOTE (attachVCard.label) : do not translate "vCard" in below line -->
+<!ENTITY attachVCard.label "Joindre ma carte de visite aux messages">
+<!ENTITY attachVCard.accesskey "v">
+
+<!ENTITY manageIdentities.label "Gérer les identités…">
+<!ENTITY manageIdentities.accesskey "G">
+
+<!-- LOCALIZATION NOTE (smtpName.label) : do not translate "SMTP" in below line -->
+<!ENTITY smtpName.label "Serveur sortant (SMTP) :">
+<!ENTITY smtpName.accesskey "s">
+<!ENTITY smtpDefaultServer.label "Utiliser le serveur par défaut">
+
+<!ENTITY smtpServerEdit.label "Modifier le serveur SMTP…">
+<!ENTITY smtpServerEdit.accesskey "P">
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/am-mdn.dtd b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/am-mdn.dtd
new file mode 100644
index 0000000000..06713a54e5
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/am-mdn.dtd
@@ -0,0 +1,33 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!ENTITY pane.title "Accusés de réception">
+<!ENTITY useGlobalPrefs.label "Utiliser mes préférences globales d’accusés de réception pour ce compte">
+<!ENTITY useGlobalPrefs.accesskey "U">
+<!ENTITY globalReceipts.label "Préférences globales…">
+<!ENTITY globalReceipts.accesskey "f">
+<!ENTITY useCustomPrefs.label "Personnaliser les accusés de réception pour ce compte">
+<!ENTITY useCustomPrefs.accesskey "P">
+<!ENTITY requestReceipt.label "Lors de l’envoi d’un message, toujours demander un accusé de réception">
+<!ENTITY requestReceipt.accesskey "L">
+<!ENTITY receiptArrive.label "Lorsqu’un accusé de réception arrive :">
+<!ENTITY leaveIt.label "Le laisser dans le dossier « Courrier entrant »">
+<!ENTITY leaveIt.accesskey "i">
+<!-- LOCALIZATION NOTE moveToSent.label Translate: 'Sent' according to Netscape glossary -->
+<!ENTITY moveToSent.label "Le déplacer dans le dossier « Envoyés »">
+<!ENTITY moveToSent.accesskey "e">
+<!ENTITY requestMDN.label "Lors de la réception d’une demande d’accusé de réception :">
+<!ENTITY returnSome.label "Autoriser les accusés de réception pour certains messages">
+<!ENTITY returnSome.accesskey "r">
+<!ENTITY never.label "Ne jamais envoyer d’accusé de réception">
+<!ENTITY never.accesskey "N">
+<!ENTITY notInToCc.label "Si je ne suis ni le destinataire ni en copie du message :">
+<!ENTITY notInToCc.accesskey "S">
+<!ENTITY outsideDomain.label "Si l’expéditeur est hors de mon domaine :">
+<!ENTITY outsideDomain.accesskey "x">
+<!ENTITY otherCases.label "Dans tous les autres cas :">
+<!ENTITY otherCases.accesskey "D">
+<!ENTITY askMe.label "Me demander">
+<!ENTITY alwaysSend.label "Toujours envoyer">
+<!ENTITY neverSend.label "Ne jamais envoyer">
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/am-mdn.properties b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/am-mdn.properties
new file mode 100644
index 0000000000..4213e30f5a
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/am-mdn.properties
@@ -0,0 +1,6 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+## Strings used in prefs.
+prefPanel-mdn=Accusés de réception
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/am-offline.dtd b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/am-offline.dtd
new file mode 100644
index 0000000000..4c334cf694
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/am-offline.dtd
@@ -0,0 +1,57 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!ENTITY doNotDownloadPop3Movemail.label "Pour économiser de l’espace disque, ne pas télécharger :">
+<!ENTITY doNotDownloadNntp.label "Pour économiser de l’espace disque, ne pas télécharger pour utilisation hors connexion :">
+<!ENTITY doNotDownloadImap.label "Pour économiser de l’espace disque, le téléchargement des messages depuis le serveur et la conservation des copies peuvent être restreints par âge et par taille.">
+<!ENTITY allFoldersOffline2.label "Conserver les messages de tous les dossiers de ce compte sur cet ordinateur">
+<!ENTITY allFoldersOffline2.accesskey "o">
+<!ENTITY allFoldersOfflineNote.label "Remarque : cette modification affecte tous les dossiers de ce compte. Pour définir des dossiers individuels, utilisez le bouton Avancé…">
+<!ENTITY offlineNotDownload.label "Les messages dont la taille dépasse">
+<!ENTITY offlineNotDownload.accesskey "t">
+<!ENTITY autosyncNotDownload.label "Ne pas télécharger les messages dont la taille dépasse">
+<!ENTITY autosyncNotDownload.accesskey "m">
+<!ENTITY kb.label "Ko">
+<!ENTITY daysOld.label "jours">
+<!ENTITY message.label "plus récents">
+<!ENTITY nntpNotDownloadRead.label "Les messages lus">
+<!ENTITY nntpNotDownloadRead.accesskey "L">
+<!ENTITY nntpDownloadMsg.label "Les messages ayant plus de">
+<!ENTITY nntpDownloadMsg.accesskey "e">
+<!ENTITY retentionCleanup.label "Afin de gagner de l’espace disque, les anciens messages peuvent être supprimés définitivement.">
+<!ENTITY retentionCleanupImap.label "Afin de gagner de l’espace disque, les anciens messages peuvent être supprimés définitivement. Les copies locales et les originaux sur le serveur distant seront supprimés.">
+<!ENTITY retentionCleanupPop.label "Afin de gagner de l’espace disque, les anciens messages peuvent être supprimés définitivement, y compris sur le serveur distant.">
+<!ENTITY retentionKeepMsg.label "Supprimer les messages ayant plus de">
+<!ENTITY retentionKeepMsg.accesskey "S">
+<!ENTITY retentionKeepAll.label "Ne supprimer aucun message">
+<!ENTITY retentionKeepAll.accesskey "N">
+<!ENTITY retentionKeepRecent.label "Supprimer tous les messages, sauf les">
+<!ENTITY retentionKeepRecent.accesskey "r">
+<!ENTITY retentionApplyToFlagged.label "Toujours conserver les messages suivis">
+<!ENTITY retentionApplyToFlagged.accesskey "T">
+<!ENTITY nntpRemoveMsgBody.label "Supprimer les corps des messages de plus de">
+<!ENTITY nntpRemoveMsgBody.accesskey "o">
+<!ENTITY offlineSelectNntp.label "Sélection groupes pour utilisation hors connexion…">
+<!ENTITY offlineSelectNntp.accesskey "S">
+<!ENTITY offlineImapAdvancedOffline.label "Avancé…">
+<!ENTITY offlineImapAdvancedOffline.accesskey "A">
+<!ENTITY syncGroupTitle.label "Synchronisation des messages">
+<!ENTITY diskspaceGroupTitle.label "Espace disque ">
+
+<!-- LOCALIZATION NOTE: (ageAutosyncBefore.label, ageAutosyncMiddle.label, ageAutosyncAfter.label):
+ The entities ageAutosyncBefore.label, ageAutosyncMiddle.label, and ageAutosyncAfter.label appear
+ on a single line within the scope of useAutosync.ByAge as follows:
+
+ &ageAutosyncBefore.label [textbox for autosync value] &ageAutosyncMiddle.label; [dropdown for autosync interval] &ageAutosyncAfter.label;
+-->
+<!ENTITY allAutosync.label "Synchroniser tous les messages localement sans critère d’âge">
+<!ENTITY allAutosync.accesskey "c">
+<!ENTITY ageAutosyncBefore.label "Synchroniser les plus récents">
+<!ENTITY ageAutosync.accesskey "l">
+<!ENTITY ageAutosyncMiddle.label "">
+<!ENTITY dayAgeInterval.label "jours">
+<!ENTITY weekAgeInterval.label "semaines">
+<!ENTITY monthAgeInterval.label "mois">
+<!ENTITY yearAgeInterval.label "années">
+<!ENTITY ageAutosyncAfter.label "">
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/am-server-advanced.dtd b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/am-server-advanced.dtd
new file mode 100644
index 0000000000..001ff7b22a
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/am-server-advanced.dtd
@@ -0,0 +1,31 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!ENTITY serverAdvanced.label "Paramètres avancés des comptes">
+<!-- LOCALIZATION NOTE (serverDirectory.label): Do not translate "IMAP" -->
+<!ENTITY serverDirectory.label "Dossier sur le serveur IMAP :">
+<!ENTITY serverDirectory.accesskey "D">
+<!ENTITY usingSubscription.label "Afficher uniquement les dossiers avec abonnement">
+<!ENTITY usingSubscription.accesskey "A">
+<!ENTITY dualUseFolders.label "Le serveur prend en charge les dossiers qui contiennent des sous-dossiers et des messages">
+<!ENTITY dualUseFolders.accesskey "L">
+<!ENTITY maximumConnectionsNumber.label "Nombre maximum de connexions au serveur à garder en cache">
+<!ENTITY maximumConnectionsNumber.accesskey "N">
+<!-- LOCALIZATION NOTE (namespaceDesc.label): Do not translate "IMAP" -->
+<!ENTITY namespaceDesc.label "Ces préférences spécifient les espaces de noms sur votre serveur IMAP">
+<!ENTITY personalNamespace.label "Espace de noms personnel :">
+<!ENTITY personalNamespace.accesskey "E">
+<!ENTITY publicNamespace.label "Public (partagé) :">
+<!ENTITY publicNamespace.accesskey "P">
+<!ENTITY otherUsersNamespace.label "Autres utilisateurs :">
+<!ENTITY otherUsersNamespace.accesskey "u">
+<!ENTITY overrideNamespaces.label "Permettre au serveur d’outrepasser ces espaces de noms">
+<!ENTITY overrideNamespaces.accesskey "r">
+<!ENTITY pop3DeferringDesc.label "Lorsque vous téléchargez du courrier depuis le compte de ce serveur, utiliser les répertoires de Courrier entrant suivants pour stocker les messages :" >
+<!ENTITY accountInbox.label "Courrier entrant de ce compte">
+<!ENTITY accountInbox.accesskey "e">
+<!ENTITY deferToServer.label "Courrier entrant d’un autre compte">
+<!ENTITY deferToServer.accesskey "o">
+<!ENTITY deferGetNewMail.label "Inclure ce serveur lors de la récupération des messages">
+<!ENTITY deferGetNewMail.accesskey "I">
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/am-server-top.dtd b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/am-server-top.dtd
new file mode 100644
index 0000000000..2e176154c8
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/am-server-top.dtd
@@ -0,0 +1,89 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!ENTITY messageStorage.label "Stockage des messages">
+<!ENTITY securitySettings.label "Paramètres de sécurité">
+<!ENTITY serverSettings.label "Paramètres du serveur">
+<!ENTITY serverType.label "Type de serveur :">
+<!ENTITY serverName.label "Nom du serveur :">
+<!ENTITY serverName.accesskey "N">
+<!ENTITY userName.label "Nom d’utilisateur :">
+<!ENTITY userName.accesskey "m">
+<!ENTITY port.label "Port :">
+<!ENTITY port.accesskey "P">
+<!ENTITY serverPortDefault.label "Défaut :">
+<!-- LOCALIZATION NOTE (biffStart.label) : translate below 2 line with grammar dependency
+ For example, in Japanese cases:
+ biffStart.label "every"
+ biffEnd.label "minutes for new messages Check"
+-->
+<!ENTITY biffStart.label "Vérifier les nouveaux messages toutes les ">
+<!ENTITY biffStart.accesskey "V">
+<!ENTITY biffEnd.label "minutes">
+<!ENTITY useIdleNotifications.label "Autoriser les notifications instantanées lorsque de nouveaux messages arrivent">
+<!ENTITY useIdleNotifications.accesskey "A">
+<!ENTITY connectionSecurity.label "Sécurité de la connexion :">
+<!ENTITY connectionSecurity.accesskey "S">
+<!ENTITY connectionSecurityType-0.label "Aucune">
+<!ENTITY connectionSecurityType-1.label "STARTTLS, si disponible">
+<!ENTITY connectionSecurityType-2.label "STARTTLS">
+<!ENTITY connectionSecurityType-3.label "SSL/TLS">
+<!ENTITY authMethod.label "Méthode d’authentification :">
+<!ENTITY authMethod.accesskey "i">
+<!ENTITY leaveOnServer.label "Laisser les messages sur le serveur">
+<!ENTITY leaveOnServer.accesskey "g">
+<!ENTITY headersOnly.label "Télécharger uniquement les en-têtes">
+<!ENTITY headersOnly.accesskey "e">
+<!ENTITY deleteByAgeFromServer.label "Pendant au maximum">
+<!ENTITY deleteByAgeFromServer.accesskey "x">
+<!ENTITY daysEnd.label "jours">
+<!ENTITY deleteOnServer2.label "Jusqu’à ce que je les supprime ">
+<!ENTITY deleteOnServer2.accesskey "u">
+<!ENTITY downloadOnBiff.label "Télécharger automatiquement les nouveaux messages">
+<!ENTITY downloadOnBiff.accesskey "m">
+<!ENTITY deleteMessagePrefix.label "Lorsque je supprime un message :">
+<!ENTITY modelMoveToTrash.label "le mettre dans ce dossier :">
+<!ENTITY modelMoveToTrash.accesskey "o">
+<!ENTITY modelMarkDeleted.label "le marquer comme supprimé">
+<!ENTITY modelMarkDeleted.accesskey "q">
+<!ENTITY modelDeleteImmediately.label "le supprimer immédiatement">
+<!ENTITY modelDeleteImmediately.accesskey "d">
+<!-- LOCALIZATION NOTE (expungeOnExit.label) : do not translate two of "&quot;" in below line -->
+<!ENTITY expungeOnExit.label "Nettoyer le dossier « Courrier entrant » en quittant.">
+<!ENTITY expungeOnExit.accesskey "y">
+<!ENTITY emptyTrashOnExit.label "Vider la corbeille en quittant">
+<!ENTITY emptyTrashOnExit.accesskey "b">
+<!ENTITY loginAtStartup.label "Vérifier le courrier au lancement">
+<!ENTITY loginAtStartup.accesskey "r">
+<!-- LOCALIZATION NOTE (maxMessagesStart.label) : translate below 2 lines with grammar dependency
+ maxMessengerStart.label will be followed by maxMessagesEnd.label with the number
+ of messages between them
+-->
+<!ENTITY maxMessagesStart.label "Me demander avant de télécharger plus de ">
+<!ENTITY maxMessagesStart.accesskey "t">
+<!-- LOCALIZATION NOTE (maxMessagesEnd.label) : see note for maxMessagesStart.label -->
+<!ENTITY maxMessagesEnd.label "messages.">
+<!ENTITY alwaysAuthenticate.label "Toujours demander une authentification lors de la connexion à ce serveur">
+<!ENTITY alwaysAuthenticate.accesskey "j">
+<!ENTITY newsrcFilePath1.label "Fichier News.rc :">
+<!ENTITY newsrcPicker1.label "Sélectionner un fichier News.rc">
+<!ENTITY abbreviate.label "Afficher les noms des groupes de discussion dans le panneau des dossiers de courrier comme :">
+<!ENTITY abbreviateOn.label "des noms complets (par exemple « mozilla.dev.apps.thunderbird »)">
+<!ENTITY abbreviateOff.label "des noms abrégés (par exemple « m.d.a.thunderbird »)">
+<!ENTITY advancedButton.label "Avancés…">
+<!ENTITY advancedButton.accesskey "s">
+<!ENTITY serverDefaultCharset2.label "Encodage de texte par défaut :">
+<!ENTITY localPath1.label "Répertoire local :">
+<!ENTITY localFolderPicker.label "Sélection du répertoire local">
+<!ENTITY browseFolder.label "Parcourir…">
+<!ENTITY browseFolder.accesskey "P">
+<!ENTITY browseNewsrc.label "Parcourir…">
+<!ENTITY browseNewsrc.accesskey "a">
+
+<!ENTITY accountTitle.label "Paramètres du compte">
+<!ENTITY accountSettingsDesc.label "Ce compte est spécial, aucune identité ne lui est associée.">
+<!ENTITY storeType.label "Type de stockage des messages :">
+<!ENTITY storeType.accesskey "k">
+<!ENTITY mboxStore2.label "Un fichier par dossier (mbox)">
+<!ENTITY maildirStore.label "Un fichier par message (maildir)">
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/am-serverwithnoidentities.dtd b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/am-serverwithnoidentities.dtd
new file mode 100644
index 0000000000..8b9c9f0455
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/am-serverwithnoidentities.dtd
@@ -0,0 +1,6 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!ENTITY accountName.label "Nom du compte :">
+<!ENTITY accountName.accesskey "N">
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/am-smime.dtd b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/am-smime.dtd
new file mode 100644
index 0000000000..d270456452
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/am-smime.dtd
@@ -0,0 +1,47 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!ENTITY e2eTitle.label "Chiffrement de bout en bout">
+<!ENTITY e2eLearnMore.label "En savoir plus">
+
+<!ENTITY e2eEnc.description "Sans chiffrement de bout en bout, le contenu des messages est facilement exposé à votre fournisseur de messagerie et à une surveillance de masse.">
+
+<!ENTITY e2eTechPref.description "Technologie de chiffrement préférée :">
+
+<!ENTITY encryptionCert2.message "Certificat personnel pour le chiffrement :">
+<!ENTITY digitalSign.certificate.button "Sélectionner un certificat…">
+<!ENTITY digitalSign.certificate.accesskey "S">
+<!ENTITY digitalSign.certificate_clear.button "Effacer">
+<!ENTITY digitalSign.certificate_clear.accesskey "E">
+<!ENTITY encryption.certificate.button "Sélectionner…">
+<!ENTITY encryption.certificate.accesskey "c">
+<!ENTITY encryption.certificate_clear.button "Effacer">
+<!ENTITY encryption.certificate_clear.accesskey "r">
+<!ENTITY signingGroupTitle.label "Signature">
+
+<!ENTITY signingCert2.message "Certificat personnel pour la signature numérique :">
+
+<!ENTITY sendingDefaults.label "Paramètres par défaut pour l’envoi de messages">
+
+<!ENTITY technologyAutomatic.label "Sélectionner automatiquement en fonction des clés ou certificats disponibles">
+
+<!ENTITY certificates2.label "S/MIME">
+<!ENTITY manageCerts3.label "Gestion des certificats S/MIME">
+<!ENTITY manageCerts3.accesskey "M">
+<!ENTITY manageDevices2.label "Périphériques de sécurité S/MIME">
+<!ENTITY manageDevices2.accesskey "h">
+
+<!ENTITY technologySMIME.label "Privilégier S/MIME">
+<!ENTITY technologyOpenPGP.label "Privilégier OpenPGP">
+
+<!ENTITY openpgpKeys.label "OpenPGP">
+
+<!-- Strings for the cert picker dialog -->
+<!ENTITY certPicker.title "Sélectionner un certificat">
+<!ENTITY certPicker.info "Certificat :">
+<!ENTITY certPicker.detailsLabel "Détails du certificat sélectionné :">
+
+<!ENTITY openpgpKey.message "Clé personnelle pour le chiffrement et la signature numérique :">
+<!ENTITY openpgpKey.button "Définir la clé personnelle…">
+<!ENTITY openpgpKey.accesskey "o">
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/am-smime.properties b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/am-smime.properties
new file mode 100644
index 0000000000..7888aadda8
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/am-smime.properties
@@ -0,0 +1,40 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+## S/MIME error strings.
+## Note to localization: %S is a placeholder
+NoSenderSigningCert=Vous avez demandé la signature numérique de ce message, mais l’application n’a pas trouvé le certificat spécifié dans les préférences, ou alors le certificat a expiré.
+NoSenderEncryptionCert=Vous avez demandé le chiffrement de ce message, mais l’application n’a pas trouvé le certificat spécifié dans les préférences, ou alors le certificat a expiré.
+MissingRecipientEncryptionCert=Vous avez demandé le chiffrement de ce message, mais l’application n’a pas trouvé de certificat de chiffrement pour %S.
+ErrorEncryptMail=Impossible de chiffrer le message. Veuillez vérifier que vous avez un certificat de courrier valide pour chaque destinataire. Veuillez vérifier pour les courriers la validité et la confiance accordées aux certificats spécifiés dans les paramètres des comptes.
+ErrorCanNotSignMail=Impossible de signer le message. Veuillez vérifier pour les courriers la validité et la confiance accordées aux certificats spécifiés dans les paramètres de ce compte.
+
+## Strings used for in the prefs.
+NoSigningCert=Le gestionnaire de certificats ne trouve pas de certificat valide qui puisse être utilisé pour signer numériquement vos messages.
+NoSigningCertForThisAddress=Le gestionnaire de certificats ne trouve pas de certificat valide qui puisse être utilisé pour signer numériquement vos messages avec une adresse <%S>.
+NoEncryptionCert=Le gestionnaire de certificats ne trouve pas de certificat valide que d’autres personnes pourraient utiliser pour vous envoyer du courrier chiffré.
+NoEncryptionCertForThisAddress=Le gestionnaire de certificats ne trouve pas de certificat valide que d’autres personnes pourraient utiliser pour vous envoyer des e-mails chiffrés à l’adresse <%S>.
+
+encryption_needCertWantSame=Vous devriez aussi spécifier un certificat que d’autres personnes peuvent utiliser pour vous envoyer des e-mails chiffrés. Voulez-vous utiliser le même certificat pour chiffrer et déchiffrer les messages qui vous sont envoyés ?
+encryption_wantSame=Voulez-vous utiliser le même certificat pour chiffrer et déchiffrer les messages qui vous sont envoyés ?
+encryption_needCertWantToSelect=Vous devriez aussi spécifier un certificat que d’autres personnes peuvent utiliser pour vous envoyer des e-mails chiffrés. Voulez-vous configurer un certificat de chiffrement maintenant ?
+signing_needCertWantSame=Vous devriez également spécifier un certificat à utiliser pour signer numériquement vos messages. Voulez-vous utiliser le même certificat pour signer numériquement vos messages ?
+signing_wantSame=Voulez-vous utiliser le même certificat pour signer numériquement vos messages ?
+signing_needCertWantToSelect=Vous devriez également spécifier un certificat à utiliser pour signer numériquement vos messages. Voulez-vous configurer un certificat de signature numérique de messages maintenant ?
+
+## Strings used by nsMsgComposeSecure
+mime_smimeEncryptedContentDesc=Message chiffré S/MIME
+mime_smimeSignatureContentDesc=Signature cryptographique S/MIME
+
+## Strings used by the cert picker.
+CertInfoIssuedFor=Émis pour :
+CertInfoIssuedBy=Émis par :
+CertInfoValid=Valide
+CertInfoFrom=du
+CertInfoTo=au
+CertInfoPurposes=Usages
+CertInfoEmail=Adresse e-mail
+CertInfoStoredIn=Stocké dans :
+NicknameExpired=(expiré)
+NicknameNotYetValid=(pas encore valide)
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/appUpdate.properties b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/appUpdate.properties
new file mode 100644
index 0000000000..12b0f8189c
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/appUpdate.properties
@@ -0,0 +1,40 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE (updateAvailableTitle): %S will be replaced with brandShortName
+updateAvailableTitle=Une nouvelle mise à jour de %S est disponible.
+# LOCALIZATION NOTE (updateAvailableMessage): %S will be replaced with brandShortName
+updateAvailableMessage=Mettez à jour votre %S pour bénéficier des dernières nouveautés en matière de vitesse et de confidentialité.
+updateAvailablePrimaryButtonLabel=Télécharger la mise à jour
+updateAvailablePrimaryButtonAccessKey=T
+updateAvailableSecondaryButtonLabel=Plus tard
+updateAvailableSecondaryButtonAccessKey=P
+
+# LOCALIZATION NOTE (updateManualTitle): %S will be replaced with brandShortName
+updateManualTitle=%S ne peut pas se mettre à jour vers la dernière version.
+# LOCALIZATION NOTE (updateManualMessage): %S will be replaced with brandShortName
+updateManualMessage=Téléchargez une nouvelle version de %S et nous pourrons vous guider pour l’installer.
+# LOCALIZATION NOTE (updateManualPrimaryButtonLabel): %S will be replaced with brandShortName
+updateManualPrimaryButtonLabel=Télécharger %S
+updateManualPrimaryButtonAccessKey=T
+updateManualSecondaryButtonLabel=Plus tard
+updateManualSecondaryButtonAccessKey=P
+
+# LOCALIZATION NOTE (updateUnsupportedTitle): %S will be replaced with brandShortName
+updateUnsupportedTitle=%S ne peut pas se mettre à jour vers la dernière version.
+# LOCALIZATION NOTE (updateUnsupportedMessage): %S will be replaced with brandShortName
+updateUnsupportedMessage=La dernière version de %S n’est pas prise en charge sur votre système.
+updateUnsupportedPrimaryButtonLabel=En savoir plus
+updateUnsupportedPrimaryButtonAccessKey=E
+updateUnsupportedSecondaryButtonLabel=Fermer
+updateUnsupportedSecondaryButtonAccessKey=F
+
+# LOCALIZATION NOTE (updateRestartTitle): %S will be replaced with brandShortName
+updateRestartTitle=Redémarrez pour mettre à jour %S.
+# LOCALIZATION NOTE (updateRestartMessage): %S will be replaced with brandShortName
+updateRestartMessage=Après un rapide redémarrage, %S restaurera l’ensemble de vos fenêtres et onglets ouverts.
+updateRestartPrimaryButtonLabel=Redémarrer
+updateRestartPrimaryButtonAccessKey=R
+updateRestartSecondaryButtonLabel=Plus tard
+updateRestartSecondaryButtonAccessKey=P
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/appleMailImportMsgs.properties b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/appleMailImportMsgs.properties
new file mode 100644
index 0000000000..d86737deed
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/appleMailImportMsgs.properties
@@ -0,0 +1,20 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# Short name of import module
+ApplemailImportName=Apple Mail
+
+# Description of import module
+ApplemailImportDescription=Importer les e-mails locaux à partir de Mac OS X Mail
+
+# Success Message
+# LOCALIZATION NOTE(ApplemailImportMailboxSuccess): Do not translate the word "%S" below.
+ApplemailImportMailboxSuccess=Les messages locaux ont été importés avec succès depuis %S.
+
+# Error Message
+ApplemailImportMailboxBadparam=Une erreur interne est survenue. L’importation a échoué. Veuillez essayer à nouveau.
+
+# Error message
+# LOCALIZATION NOTE(ApplemailImportMailboxConverterror): Do not translate the word "%S" below.
+ApplemailImportMailboxConverterror=Une erreur est survenue lors de l’importation des messages à partir de %S. Les messages n’ont pas été importés. Libérez de l’espace disque et essayez à nouveau.
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/baseMenuOverlay.dtd b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/baseMenuOverlay.dtd
new file mode 100644
index 0000000000..628aeb8c36
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/baseMenuOverlay.dtd
@@ -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/. -->
+
+<!-- Help Menu -->
+<!ENTITY helpMenu.label "Aide">
+<!ENTITY helpMenu.accesskey "e">
+<!-- LOCALIZATION NOTE some localizations of Windows use "?"
+ for the help button in the menubar but Gnome does not. -->
+<!ENTITY helpMenuWin.label "Aide">
+<!ENTITY helpMenuWin.accesskey "e">
+<!ENTITY aboutProduct2.label "À propos de &brandShorterName;">
+<!ENTITY aboutProduct2.accesskey "p">
+<!ENTITY productHelp.label "Aide de &brandShortName;">
+<!ENTITY productHelp.accesskey "e">
+
+<!ENTITY productHelp.commandkey "VK_F1">
+<!ENTITY productHelpMac.commandkey "?">
+<!ENTITY productHelpMac.modifiers "accel">
+
+<!ENTITY helpKeyboardShortcuts.label "Raccourcis clavier">
+<!ENTITY helpKeyboardShortcuts.accesskey "R">
+
+<!ENTITY helpFeedbackPage.label "Donner votre avis…">
+<!ENTITY helpFeedbackPage.accesskey "D">
+
+<!ENTITY helpShowTour2.label "Visite guidée de &brandShorterName;">
+<!ENTITY helpShowTour2.accesskey "V">
+
+<!ENTITY helpGetInvolvedPage.label "S’impliquer">
+<!ENTITY helpGetInvolvedPage.accesskey "S">
+
+<!ENTITY helpDonationsPage.label "Faire un don">
+<!ENTITY helpDonationsPage.accesskey "F">
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/beckyImportMsgs.properties b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/beckyImportMsgs.properties
new file mode 100644
index 0000000000..2186c696b5
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/beckyImportMsgs.properties
@@ -0,0 +1,19 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+#
+# The following are used by the becky import code to display status/error
+# and informational messages
+
+# Short name of import module
+BeckyImportName=Becky! Internet Mail
+
+# Description of import module
+BeckyImportDescription=Importer les e-mails locaux à partir de Becky! Internet Mail
+
+# Success Message
+# LOCALIZATION NOTE : Do not translate the word "%S" below.
+# The variable %S will contain the name of the Mailbox
+BeckyImportMailboxSuccess=Les e-mails locaux ont été correctement importés depuis %S.
+
+BeckyImportAddressSuccess=Carnet d’adresses importé
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/charsetTitles.properties b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/charsetTitles.properties
new file mode 100644
index 0000000000..c220536ab3
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/charsetTitles.properties
@@ -0,0 +1,84 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+## Rule of this file:
+## 1. key should always be in lower case ascii so we can do case insensitive
+## comparison in the code faster.
+
+## Format of this file:
+## charset_name.title = a_title - specifies the human readable title for
+## this charset
+
+## Format of this file:
+## charset_name.title = a_title - specifies the human readable title for
+## this charset
+
+iso-8859-1.title = Occidental (ISO-8859-1)
+iso-8859-2.title = Europe centrale (ISO-8859-2)
+iso-8859-3.title = Europe méridionale (ISO-8859-3)
+iso-8859-4.title = Balte (ISO-8859-4)
+iso-8859-10.title = Nordique (ISO-8859-10)
+iso-8859-13.title = Balte (ISO-8859-13)
+iso-8859-14.title = Celtique (ISO-8859-14)
+iso-8859-15.title = Occidental (Euro) (ISO-8859-15)
+iso-8859-16.title = Roumain (ISO-8859-16)
+windows-1250.title = Europe centrale (Windows-1250)
+windows-1252.title = Occidental (Windows-1252)
+windows-1254.title = Turc (Windows-1254)
+windows-1257.title = Balte (Windows-1257)
+macintosh.title = Occidental (MacRoman)
+x-mac-ce.title = Europe centrale (MacCE)
+x-mac-turkish.title = Turc (MacTurkish)
+x-mac-croatian.title = Croate (MacCroatian)
+x-mac-romanian.title = Roumain (MacRomanian)
+x-mac-icelandic.title = Islandais (MacIcelandic)
+iso-2022-jp.title = Japonais (ISO-2022-JP)
+shift_jis.title = Japonais (Shift_JIS)
+euc-jp.title = Japonais (EUC-JP)
+big5.title = Chinois traditionnel (Big5)
+big5-hkscs.title = Chinois traditionnel (Big5-HKSCS)
+gb2312.title = Chinois simplifié (GB2312)
+gbk.title = Chinois simplifié (GBK)
+euc-kr.title = Coréen (EUC-KR)
+utf-7.title = Unicode (UTF-7)
+utf-8.title = Unicode (UTF-8)
+utf-16.title = Unicode (UTF-16)
+utf-16le.title = Unicode (UTF-16LE)
+utf-16be.title = Unicode (UTF-16BE)
+iso-8859-5.title = Cyrillique (ISO-8859-5)
+windows-1251.title = Cyrillique (Windows-1251)
+x-mac-cyrillic.title = Cyrillique (MacCyrillic)
+x-mac-ukrainian.title = Cyrillique/Ukrainien (MacUkrainian)
+koi8-r.title = Cyrillique (KOI8-R)
+koi8-u.title = Cyrillique/Ukrainien (KOI8-U)
+iso-8859-7.title = Grec (ISO-8859-7)
+windows-1253.title = Grec (Windows-1253)
+x-mac-greek.title = Grec (MacGreek)
+windows-1258.title = Vietnamien (Windows-1258)
+windows-874.title = Thaï (Windows-874)
+iso-8859-6.title = Arabe (ISO-8859-6)
+iso-8859-8.title = Hébreu visuel (ISO-8859-8)
+iso-8859-8-i.title = Hébreu (ISO-8859-8-I)
+windows-1255.title = Hébreu (Windows-1255)
+windows-1256.title = Arabe (Windows-1256)
+x-user-defined.title = Défini par l’utilisateur
+ibm866.title = Cyrillique/Russe (IBM-866)
+gb18030.title = Chinois simplifié (GB18030)
+x-mac-arabic.title = Arabe (MacArabic)
+x-mac-farsi.title = Farsi (MacFarsi)
+x-mac-hebrew.title = Hébreu (MacHebrew)
+x-mac-devanagari.title = Hindi (MacDevanagari)
+x-mac-gujarati.title = Gujarati (MacGujarati)
+x-mac-gurmukhi.title = Gurmukhi (MacGurmukhi)
+
+chardet.off.title = (Désactivée)
+chardet.universal_charset_detector.title = Universel
+chardet.ja_parallel_state_machine.title = Japonais
+chardet.ko_parallel_state_machine.title = Coréen
+chardet.zhtw_parallel_state_machine.title = Chinois traditionnel
+chardet.zhcn_parallel_state_machine.title = Chinois simplifié
+chardet.zh_parallel_state_machine.title = Chinois
+chardet.cjk_parallel_state_machine.title = Est-asiatique
+chardet.ruprob.title = Russe
+chardet.ukprob.title = Ukrainien
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/chat.dtd b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/chat.dtd
new file mode 100644
index 0000000000..028c76e8b2
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/chat.dtd
@@ -0,0 +1,44 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!ENTITY onlineContactsHeader.label "Contacts en ligne">
+<!ENTITY offlineContactsHeader.label "Contacts déconnectés">
+<!ENTITY conversationsHeader.label "Conversations">
+<!ENTITY searchResultConversation.label "Résultats de recherche">
+<!ENTITY chat.noConv.title "Les conversations seront affichées ici.">
+<!ENTITY chat.noConv.description "Utiliser la liste de contacts dans le panneau de gauche pour débuter une conversation.">
+<!ENTITY chat.noPreviousConv.description "&brandShortName; n’a pas de conversations stockées pour ce contact.">
+<!ENTITY chat.noAccount.title "Vous n’avez pas encore défini de compte de messagerie instantanée.">
+<!ENTITY chat.noAccount.description "Laissez &brandShortName; vous guider dans le processus de création de compte.">
+<!ENTITY chat.accountWizard.button "Démarrer">
+<!ENTITY chat.noConnectedAccount.title "Vos comptes de messagerie instantanée ne sont pas connectés.">
+<!ENTITY chat.noConnectedAccount.description "Vous pouvez lancer les connexions à partir du dialogue « État des connexions » :">
+<!ENTITY chat.showAccountManager.button "Afficher les états de connexion">
+
+<!ENTITY chat.participants "Participants :">
+<!ENTITY chat.previousConversations "Conversations précédentes :">
+<!ENTITY chat.ongoingConversation "Conversation en cours">
+
+<!ENTITY openConversationCmd.label "Démarrer une conversation">
+<!ENTITY openConversationCmd.accesskey "c">
+<!ENTITY closeConversationCmd.label "Fermer la conversation">
+<!ENTITY closeConversationCmd.accesskey "C">
+<!ENTITY aliasCmd.label "Renommer">
+<!ENTITY aliasCmd.accesskey "R">
+<!ENTITY deleteCmd.label "Supprimer le contact">
+<!ENTITY deleteCmd.accesskey "S">
+
+<!ENTITY openConversationButton.tooltip "Démarrer une conversation">
+<!ENTITY closeConversationButton.tooltip "Fermer une conversation">
+
+<!ENTITY addBuddyButton.label "Ajouter un contact">
+<!ENTITY joinChatButton.label "Rejoindre une discussion">
+<!ENTITY chatAccountsButton.label "Afficher les comptes">
+
+<!ENTITY status.available "Disponible">
+<!ENTITY status.unavailable "Occupé">
+<!ENTITY status.offline "Déconnecté">
+
+<!ENTITY openLinkCmd.label "Ouvrir le lien…">
+<!ENTITY openLinkCmd.accesskey "O">
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/chat.properties b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/chat.properties
new file mode 100644
index 0000000000..2fce286d4c
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/chat.properties
@@ -0,0 +1,110 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+chatTabTitle=Messagerie instantanée
+goBackToCurrentConversation.button=Retour à la conversation en cours
+# LOCALIZATION NOTE (startAConversationWith.button):
+# %S is replaced with the display name of a contact.
+startAConversationWith.button=Démarrer une conversation avec %S
+
+# LOCALIZATION NOTE (defaultGroup):
+# this is used in the addBuddies dialog if the list of existing groups is empty
+defaultGroup=Contacts
+
+# LOCALIZATION NOTE (buddy.authRequest.label):
+# This string appears in a notification bar at the
+# top of the Contacts window when someone added the user to his/her
+# contact list, to request the permission from the user to share
+# status information with this potential new contact.
+# %S is replaced with the user name of the potential new contact.
+buddy.authRequest.label=%S souhaite discuter avec vous
+buddy.authRequest.allow.label=Autoriser
+buddy.authRequest.allow.accesskey=A
+buddy.authRequest.deny.label=Refuser
+buddy.authRequest.deny.accesskey=R
+
+## LOCALIZATION NOTE (buddy.verificationRequest):
+# Strings used in a notification bar at the top of the chat tab when someone
+# sends a verification request for end-to-end encryption keys.
+# %S is replaced with the display name of the user or, if this is to verify a
+# session of yourself, a string that identifies the session.
+buddy.verificationRequest.label=%S demande la vérification de l’identité de chacun des autres
+buddy.verificationRequest.allow.label=Démarrer la vérification
+buddy.verificationRequest.allow.accesskey=D
+buddy.verificationRequest.deny.label=Refuser
+buddy.verificationRequest.deny.accesskey=R
+
+# LOCALIZATION NOTE (buddy.deletePrompt.title):
+# %S here will be replaced by the alias (or username) of a buddy about
+# to be removed from the buddy list.
+buddy.deletePrompt.title=Supprimer %S ?
+
+# LOCALIZATION NOTE (buddy.deletePrompt.message):
+# %1$S will be replaced by the name of a buddy (either the alias
+# followed by the username between parenthesis if an alias is set, or
+# only the username otherwise).
+# %2$S will be the name of the protocol on which this buddy is removed
+# (for example: AIM, MSN, Google Talk).
+#
+# Please find a wording that will keep the username as close as
+# possible to the beginning of the string, because this is the
+# important information that an user should see when looking quickly
+# at this prompt.
+buddy.deletePrompt.message=%1$S sera supprimé définitivement de votre liste d’amis %2$S si vous continuez.
+
+# LOCALIZATION NOTE (buddy.deletePrompt.displayName):
+# This is used to format the display name inserted in buddy.deletePrompt.message
+# %1$S is the alias, %2$S is the username.
+buddy.deletePrompt.displayName=%1$S (%2$S)
+
+# LOCALIZATION NOTE (buddy.deletePrompt.button):
+# the & symbol indicates the position of the character that should be
+# used as the accesskey for this button.
+buddy.deletePrompt.button=&Supprimer
+
+displayNameEmptyText=Nom à afficher
+userIconFilePickerTitle=Sélectionner un nouvel avatar…
+
+# LOCALIZATION NOTE (chat.isTyping, chat.hasStoppedTyping):
+# The contact display name is displayed with a big font on a first
+# line and these two strings are displayed on a second line with a
+# smaller font. Please try to find a wording that make this look
+# almost like a sentence.
+chat.isTyping=est en train d’écrire…
+chat.hasStoppedTyping=a arrêté d’écrire.
+# LOCALIZATION NOTE (chat.contactIsTyping, chat.contactHasStoppedTyping):
+# These strings are displayed in a tooltip when hovering the status type icon.
+# %S is replaced with the display name of the contact.
+chat.contactIsTyping=%S est en train d’écrire.
+chat.contactHasStoppedTyping=%S a arrêté d’écrire.
+
+# LOCALIZATION NOTE (unknownCommand):
+# This is shown when an unknown command (/foo) is attempted. %S is the command.
+unknownCommand=%S n’est pas une commande connue. Saisissez /help pour afficher une liste des commandes.
+
+#LOCALIZATION NOTE
+# These are special entries in the log tree for the corresponding days.
+log.today=Aujourd’hui
+log.yesterday=Hier
+
+#LOCALIZATION NOTE
+# These are special groups in the log tree for the last 3-7 days and
+# the last 8-14 days.
+log.currentWeek=Cette semaine
+log.previousWeek=La semaine dernière
+
+# LOCALIZATION NOTE (messagePreview):
+# This is the default message preview to be shown
+# when the user has chosen not to show any info in the notification about the
+# incoming message being notified.
+messagePreview=Nouveau message de discussion instantanée
+
+#LOCALIZATION NOTE (bundledMessagePreview): Semi-colon list of plural forms.
+# Used when multiple incoming messages from the same sender are bundled
+# into a single notification.
+# #1 is the number of incoming messages the user is being notified about. When #1
+# is greater than one, the plural form after the semicolon is used.
+# Do not translate %1$S, it is the message preview to be shown in the
+# notification, i.e. the first incoming message.
+bundledMessagePreview=%1$S… (et #1 message de plus);%1$S… (et #1 messages de plus)
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/configEditorOverlay.dtd b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/configEditorOverlay.dtd
new file mode 100644
index 0000000000..3d78799d68
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/configEditorOverlay.dtd
@@ -0,0 +1,5 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!ENTITY closeCmd.key "W">
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/converterDialog.dtd b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/converterDialog.dtd
new file mode 100644
index 0000000000..1e05301986
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/converterDialog.dtd
@@ -0,0 +1,11 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!ENTITY converterDialog.title "Conversion du type de stockage des messages">
+<!ENTITY converterDialog.continueButton "Continuer">
+<!ENTITY converterDialog.cancelButton "Annuler">
+<!ENTITY converterDialog.finishButton "Terminer">
+<!ENTITY converterDialog.complete "La conversion est terminée. &brandShortName; va redémarrer.">
+<!ENTITY converterDialog.error "Échec de la conversion.">
+
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/converterDialog.properties b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/converterDialog.properties
new file mode 100644
index 0000000000..0a29068886
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/converterDialog.properties
@@ -0,0 +1,41 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE (converterDialog.warning):
+# %1$S will be replaced by the name of the account which is going to be converted.
+# %2$S will be replaced by the format into which the account will be converted.
+# %3$S will be replaced by $BrandShortName.
+converterDialog.warning=Les messages du compte %1$S seront convertis au format %2$S. %3$S redémarrera une fois la conversion terminée.
+
+# LOCALIZATION NOTE (converterDialog.message):
+# %1$S will be replaced by the name of the account which is being converted.
+# %2$S will be replaced by the format into which the account will be converted.
+converterDialog.message=Conversion du compte %1$S vers %2$S…
+
+# LOCALIZATION NOTE (converterDialog.warningForDeferredAccount):
+# %1$S will be replaced by the name of the deferred account for which migration is initiated by the user.
+# %2$S will be replaced by the name of the account to which the deferred account is deferred ie the name of the deferred-to account.
+# %3$S will be replaced by the name of the deferred-to account.
+# %4$S will be replaced by a comma separated list of names of accounts which are deferred to the deferred-to account.
+# %5$S will be replaced by a comma separated list of names of accounts which are going to get converted.
+# %6$S will be replaced by the format into which the accounts will be converted.
+# %7$S will be replaced by $BrandShortName.
+converterDialog.warningForDeferredAccount=%1$S est délégué à %2$S. Comptes délégués à %3$S : %4$S. Les messages des comptes %5$S seront convertis au format %6$S. %7$S redémarrera une fois la conversion terminée.
+
+# LOCALIZATION NOTE (converterDialog.warningForDeferredToAccount):
+# %1$S will be replaced by the name of the deferred-to account for which migration is initiated by the user and to which other accounts are deferred.
+# %2$S will be replaced by a comma separated list of names of accounts which are deferred to the deferred-to account.
+# %3$S will be replaced by a comma separated list of names of accounts which are going to get converted.
+# %4$S will be replaced by the format into which the accounts will be converted.
+# %5$S will be replaced by $BrandShortName.
+converterDialog.warningForDeferredToAccount=Comptes délégués à %1$S : %2$S. Les messages des comptes %3$S seront convertis au format %4$S. %5$S redémarrera une fois la conversion terminée.
+
+# LOCALIZATION NOTE (converterDialog.messageForDeferredAccount):
+# %1$S will be replaced by a comma separated list of names of accounts which are being converted.
+# %2$S will be replaced by the format into which the accounts will be converted.
+converterDialog.messageForDeferredAccount=Conversion des comptes %1$S vers %2$S…
+
+# LOCALIZATION NOTE (converterDialog.percentDone):
+# %1$S will be replaced by the percentage of conversion that is complete.
+converterDialog.percentDone=Progression : %1$S %%
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/custom.properties b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/custom.properties
new file mode 100644
index 0000000000..0424f81797
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/custom.properties
@@ -0,0 +1,5 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+colonInHeaderName=L’en-tête que vous avez saisi contient un caractère invalide (tel que « : »), un caractère non imprimable, un caractère non ASCII ou un caractère ASCII 8 bits. Veuillez enlever le caractère invalide et réessayer.
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/customizeToolbar.dtd b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/customizeToolbar.dtd
new file mode 100644
index 0000000000..094a78896f
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/customizeToolbar.dtd
@@ -0,0 +1,18 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!ENTITY dialog.title "Modification des barres d’outils">
+<!ENTITY dialog.dimensions "width: 94ch; height: 36em;">
+<!ENTITY instructions.description "Ajoutez ou supprimez des éléments en les faisant glisser vers ou hors des barres d’outils.">
+<!ENTITY show.label "Afficher :">
+<!ENTITY iconsAndText.label "Texte et icônes">
+<!ENTITY icons.label "Icônes">
+<!ENTITY text.label "Texte">
+<!ENTITY iconsBesideText.label "Texte à côté des icônes">
+<!ENTITY useSmallIcons.label "Petites icônes">
+<!ENTITY restoreDefaultSet.label "Configuration par défaut">
+<!ENTITY showTitlebar2.label "Barre de titre">
+<!ENTITY extraDragSpace2.label "Espace pour saisir la fenêtre">
+<!ENTITY saveChanges.label "Terminé">
+<!ENTITY undoChanges.label "Annuler les changements">
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/customizeToolbar.properties b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/customizeToolbar.properties
new file mode 100644
index 0000000000..a9b4e22a28
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/customizeToolbar.properties
@@ -0,0 +1,11 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+enterToolbarTitle=Nouvelle barre d’outils
+enterToolbarName=Saisissez un nom pour cette barre d’outils :
+enterToolbarDup=La barre d’outils « %S » existe déjà. Veuillez saisir un nom différent.
+enterToolbarBlank=Vous devez saisir un nom pour créer une nouvelle barre d’outils.
+separatorTitle=Séparateur
+springTitle=Espace flexible
+spacerTitle=Espace
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/downloadheaders.dtd b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/downloadheaders.dtd
new file mode 100644
index 0000000000..e1908e3923
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/downloadheaders.dtd
@@ -0,0 +1,27 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!ENTITY all.label "Télécharger tous les en-têtes">
+<!ENTITY all.accesskey "T">
+<!--LOCALIZATION NOTE (download.label):
+ consider the download.label and headers.label as a single sentence
+ with the number of headers to be downloaded inserted between them:
+ EXAMPLE: "Download" <some number> "headers"
+ Either label could be set to null ("") if required grammatically.
+-->
+
+<!--LOCALIZATION NOTE (download.label):
+ consider the download.label and headers.label as a single sentence
+ with the number of headers to be downloaded inserted between them:
+ EXAMPLE: "Download" <some number> "headers"
+ Either label could be set to null ("") if required grammatically.
+-->
+
+<!ENTITY download.label "Téléchargement de">
+<!ENTITY download.accesskey "l">
+<!--LOCALIZATION NOTE (headers.label): see note for download.label -->
+<!ENTITY headers.label "en-têtes">
+<!ENTITY headers.accesskey "e">
+<!ENTITY mark.label "Marquer les en-têtes restants comme lus">
+<!ENTITY mark.accesskey "M">
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/editContactOverlay.dtd b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/editContactOverlay.dtd
new file mode 100644
index 0000000000..e5940dcf43
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/editContactOverlay.dtd
@@ -0,0 +1,20 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!ENTITY editContactPanelDeleteContact.label "Supprimer">
+<!ENTITY editContactPanelDeleteContact.accesskey "S">
+
+<!ENTITY editContactName.label "Nom :">
+<!ENTITY editContactName.accesskey "N">
+
+<!ENTITY editContactEmail.label "Adresse e-mail :">
+<!ENTITY editContactEmail.accesskey "d">
+
+<!ENTITY editContactAddressBook.label "Carnet d’adresses :">
+<!ENTITY editContactAddressBook.accesskey "C">
+
+<!ENTITY editContactPanelDone.label "Terminé">
+<!ENTITY editContactPanelDone.accesskey "T">
+
+<!ENTITY contactMoveDisabledWarning.description "Vous ne pouvez modifier le carnet d’adresses car le contact est dans une liste de diffusion.">
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/editContactOverlay.properties b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/editContactOverlay.properties
new file mode 100644
index 0000000000..814a1fcae1
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/editContactOverlay.properties
@@ -0,0 +1,14 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+editTitle=Modifier le contact
+viewTitle=Afficher le contact
+
+editDetailsLabel=Modifier les détails
+editDetailsAccessKey=M
+viewDetailsLabel=Afficher les détails
+viewDetailsAccessKey=A
+
+deleteContactTitle=Supprimer le contact
+deleteContactMessage=Voulez-vous vraiment supprimer ce contact ?
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/fieldMapImport.dtd b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/fieldMapImport.dtd
new file mode 100644
index 0000000000..35da5780ec
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/fieldMapImport.dtd
@@ -0,0 +1,17 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!ENTITY fieldMapImport.next.label "Suivant">
+<!ENTITY fieldMapImport.next.accesskey "S">
+<!ENTITY fieldMapImport.previous.label "Précédent">
+<!ENTITY fieldMapImport.previous.accesskey "P">
+<!ENTITY fieldMapImport.text "Utiliser Monter et Descendre pour faire correspondre les champs dans le carnet d’adresses à gauche avec les bonnes données à importer à droite. Ne pas cocher les articles que vous ne voulez pas importer.">
+<!ENTITY fieldMapImport.up.label "Monter">
+<!ENTITY fieldMapImport.up.accesskey "M">
+<!ENTITY fieldMapImport.down.label "Descendre">
+<!ENTITY fieldMapImport.down.accesskey "D">
+<!ENTITY fieldMapImport.fieldListTitle "Champs du carnet d’adresses :">
+<!ENTITY fieldMapImport.dataTitle "Données d’enregistrement à importer :">
+<!ENTITY fieldMapImport.skipFirstRecord.label "Le premier enregistrement contient le nom des champs">
+<!ENTITY fieldMapImport.skipFirstRecord.accessKey "n">
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/filter.properties b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/filter.properties
new file mode 100644
index 0000000000..4ec90f589b
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/filter.properties
@@ -0,0 +1,108 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+mustSelectFolder=Vous devez sélectionner un dossier cible.
+enterValidEmailAddress=Saisissez une adresse e-mail valide pour faire suivre le message.
+pickTemplateToReplyWith=Choisissez un modèle pour la réponse.
+mustEnterName=Vous devez donner un nom à ce filtre.
+cannotHaveDuplicateFilterTitle=Nom de filtre existant
+cannotHaveDuplicateFilterMessage=Le nom du filtre que vous avez saisi est déjà utilisé. Veuillez en saisir un autre.
+mustHaveFilterTypeTitle=Aucun évènement de filtre sélectionné
+mustHaveFilterTypeMessage=Vous devez sélectionner au moins un évènement lorsque ce filtre est appliqué. Si vous souhaitez que le filtre ne s’exécute temporairement à aucun évènement, décochez-le depuis le dialogue des filtres de messages.
+deleteFilterConfirmation=Voulez-vous vraiment supprimer le(s) filtre(s) sélectionné(s) ?
+matchAllFilterName=Sélectionner tous les messages
+filterListBackUpMsg=Vos filtres ne fonctionnent pas car le fichier msgFilterRules.dat, qui contient les filtres, ne peut être lu. Un nouveau fichier msgFilterRules.dat sera créé et une sauvegarde de l’ancien, nommée rulesbackup.dat, sera créée dans le même répertoire.
+customHeaderOverflow=Vous avez dépassé la limite de 50 en-têtes personnalisés. Veuillez en supprimer un ou plusieurs et essayez à nouveau.
+filterCustomHeaderOverflow=Vos filtres ont dépassé la limite de 50 en-têtes personnalisés. Veuillez modifier le fichier msgFilterRules.dat, qui contient vos filtres, afin d’en utiliser moins.
+invalidCustomHeader=Un de vos filtres utilise un en-tête personnalisé qui contient un caractère invalide, tel que « : », un caractère non imprimable, un caractère non ASCII ou un caractère ASCII sur 8 bits. Veuillez modifier le fichier msgFilterRules.dat, qui contient vos filtres, afin de supprimer les caractères invalides de vos en-têtes personnalisés.
+continueFilterExecution=L’application du filtre %S a échoué. Désirez-vous continuer à appliquer les filtres ?
+promptTitle=Application des filtres
+promptMsg=Vous êtes dans la phase de filtrage des messages.\nDésirez-vous continuer ?
+stopButtonLabel=Arrêter
+continueButtonLabel=Continuer
+# LOCALIZATION NOTE(cannotEnableIncompatFilter)
+# %S=the name of the application
+cannotEnableIncompatFilter=Ce filtre a probablement été créé par une version plus récente de %S. Vous ne pouvez activer ce filtre car le programme ne sait pas comment l’appliquer.
+dontWarnAboutDeleteCheckbox=Ne plus demander à l’avenir
+# LOCALIZATION NOTE(copyToNewFilterName)
+# %S=the name of the filter that is being copied
+copyToNewFilterName=Copie de %S
+# LOCALIZATION NOTE(contextPeriodic.label): Semi-colon list of plural forms.
+# #1=the number of minutes
+contextPeriodic.label=Périodiquement, chaque minute;Périodiquement, toutes les #1 minutes
+
+# LOCALIZATION NOTE(filterFailureWarningPrefix)
+# %1$S=filter error action
+# %2$S=error code as hexadecimal string.
+filterFailureWarningPrefix=Échec d’une action de filtre : « %1$S » avec le code d’erreur=%2$S lors de la tentative d’exécution de :
+filterFailureSendingReplyError=Erreur d’envoi de la réponse
+filterFailureSendingReplyAborted=Envoi de la réponse interrompu
+filterFailureMoveFailed=Échec du déplacement
+filterFailureCopyFailed=Échec de la copie
+filterFailureAction=Échec de l’application du filtre
+
+searchTermsInvalidTitle=Termes recherchés invalides
+# LOCALIZATION NOTE(searchTermsInvalidRule)
+# %1$S=search attribute name from the invalid rule
+# %2$S=search operator from the bad rule
+searchTermsInvalidRule=Ce filtre ne peut pas être enregistré car le terme recherché « %1$S %2$S » est invalide dans le contexte actuel.
+# LOCALIZATION NOTE(filterActionOrderExplanation)
+# Keep the \n\n that mean 2 linebreaks.
+filterActionOrderExplanation=Lorsqu’un message correspond à ce filtre, les actions sont exécutées dans cet ordre :\n\n
+filterActionOrderTitle=Ordre d’exécution des actions
+## LOCALIZATION NOTE(filterActionItem):
+# %1$S=sequence number of the action, %2$S=action text, %3$S=action argument
+filterActionItem=%1$S. %2$S %3$S\n
+
+## LOCALIZATION NOTE(filterCountVisibleOfTotal):
+# %1$S=number of matching filters, %2$S=total number of filters
+filterCountVisibleOfTotal=%1$S sur %2$S
+## LOCALIZATION NOTE(filterCountItems):
+## Semicolon-separated list of singular and plural forms.
+## See: https://developer.mozilla.org/en/docs/Localization_and_Plurals
+## #1 is the count of items in the list.
+filterCountItems=#1 élément; #1 éléments
+# for junk mail logging / mail filter logging
+# LOCALIZATION NOTE(junkLogDetectStr)
+# %1$S=author, %2$S=subject, %3$S=date
+junkLogDetectStr=Message indésirable de %1$S détecté - %2$S le %3$S
+# LOCALIZATION NOTE(logMoveStr)
+# %1$S=message id, %2$S=folder URI
+logMoveStr=message id = %1$S déplacé vers %2$S
+# LOCALIZATION NOTE(logCopyStr)
+# %1$S=message id, %2$S=folder URI
+logCopyStr=message id = %1$S copié vers %2$S
+# LOCALIZATION NOTE(filterLogLine):
+# %1$S=timestamp, %2$S=log message
+filterLogLine=[%1$S] %2$S
+# LOCALIZATION NOTE(filterMessage):
+# %1$S=filter name, %1$S=log message
+filterMessage=Message du filtre « %1$S » : %2$S
+# LOCALIZATION NOTE(filterLogDetectStr)
+# %1$S=filter name %2$S=author, %3$S=subject, %4$S=date
+filterLogDetectStr=Filtre « %1$S » appliqué au message de %2$S - %3$S le %4$S
+filterMissingCustomAction=Action personnalisée manquante
+filterAction2=priorité modifiée
+filterAction3=supprimé
+filterAction4=marqué comme lu
+filterAction5=discussion ignorée
+filterAction6=discussion surveillée
+filterAction7=suivi
+filterAction8=étiqueté
+filterAction9=répondu
+filterAction10=transféré
+filterAction11=exécution arrêtée
+filterAction12=supprimé du serveur POP3
+filterAction13=laissé sur le serveur POP3
+filterAction14=marqué indésirable
+filterAction15=corps du message récupéré du serveur POP3
+filterAction16=copié dans le dossier
+filterAction17=étiqueté
+filterAction18=sous-fil de discussion ignoré
+filterAction19=marquer comme non lu
+# LOCALIZATION NOTE(filterAutoNameStr)
+# %1$S=Header or item to match, e.g. "From", "Tag", "Age in days", etc.
+# %2$S=Operator, e.g. "Contains", "is", "is greater than", etc.
+# %3$S=Value, e.g. "Steve Jobs", "Important", "42", etc.
+filterAutoNameStr=%1$S %2$S : %3$S
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/folderProps.dtd b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/folderProps.dtd
new file mode 100644
index 0000000000..7cdf890faa
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/folderProps.dtd
@@ -0,0 +1,70 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!ENTITY folderProps.windowtitle.label "Propriétés">
+
+<!ENTITY generalInfo.label "Informations générales">
+<!ENTITY folderRebuildSummaryFileTip2.label "Reconstruit l’index du dossier">
+<!ENTITY folderRebuildSummaryFile2.label "Réparer le dossier">
+<!ENTITY folderRebuildSummaryFile2.accesskey "R">
+<!ENTITY folderRebuildSummaryFile.explanation "Il arrive que le fichier d’index du dossier (.msf) soit endommagé et que des messages semblent manquants alors que d’autres messages supprimés sont visibles ; la réparation du dossier peut résoudre ces problèmes.">
+<!ENTITY folderIncludeInGlobalSearch.label "Inclure les messages de ce dossier dans les résultats de recherche globale">
+<!ENTITY folderIncludeInGlobalSearch.accesskey "I">
+
+<!ENTITY retention.label "Règles de conservation">
+<!ENTITY retentionUseAccount.label "Utiliser mes paramètres de compte">
+<!ENTITY retentionUseAccount.accesskey "m">
+<!ENTITY daysOld.label "jours">
+<!ENTITY message.label "messages les plus récents">
+<!ENTITY retentionCleanup.label "Afin de gagner de l’espace disque, les anciens messages peuvent être supprimés définitivement.">
+<!ENTITY retentionCleanupImap.label "Afin de gagner de l’espace disque, les anciens messages peuvent être supprimés définitivement. Les copies locales et les originaux sur le serveur distant seront supprimés.">
+<!ENTITY retentionCleanupPop.label "Afin de gagner de l’espace disque, les anciens messages peuvent être supprimés définitivement, y compris sur le serveur distant.">
+<!ENTITY retentionDeleteMsg.label "Supprimer les messages ayant plus de">
+<!ENTITY retentionDeleteMsg.accesskey "u">
+<!ENTITY retentionKeepAll.label "Ne supprimer aucun message">
+<!ENTITY retentionKeepAll.accesskey "N">
+<!ENTITY retentionKeepRecent.label "Supprimer tous les messages, sauf les">
+<!ENTITY retentionKeepRecent.accesskey "l">
+<!ENTITY retentionApplyToFlagged.label "Toujours conserver les messages suivis">
+<!ENTITY retentionApplyToFlagged.accesskey "o">
+
+<!ENTITY folderSynchronizationTab.label "Synchronisation">
+<!ENTITY folderCheckForNewMessages2.label "Lors de la réception de nouveaux messages pour ce compte, toujours vérifier ce dossier">
+<!ENTITY folderCheckForNewMessages2.accesskey "L">
+
+<!ENTITY offlineFolder.check.label "Sélectionner ce dossier pour une utilisation hors connexion">
+<!ENTITY offlineFolder.check.accesskey "l">
+<!ENTITY offlineFolder.button.label "Télécharger maintenant">
+<!ENTITY offlineFolder.button.accesskey "h">
+
+<!ENTITY selectofflineNewsgroup.check.label "Sélectionner ce groupe pour une utilisation hors connexion">
+<!ENTITY selectofflineNewsgroup.check.accesskey "o">
+<!ENTITY offlineNewsgroup.button.label "Télécharger maintenant">
+<!ENTITY offlineNewsgroup.button.accesskey "m">
+
+<!ENTITY folderProps.name.label "Nom :">
+<!ENTITY folderProps.name.accesskey "N">
+<!ENTITY folderProps.color.label "Couleur de l’icône :">
+<!ENTITY folderProps.color.accesskey "I">
+<!ENTITY folderProps.reset.tooltip "Restaurer la couleur par défaut">
+<!ENTITY folderProps.location.label "Emplacement :">
+<!ENTITY folderProps.location.accesskey "E">
+
+<!ENTITY folderSharingTab.label "Partage">
+<!ENTITY privileges.button.label "Privilèges…">
+<!ENTITY privileges.button.accesskey "P">
+<!ENTITY permissionsDesc.label "Vous avez les permissions suivantes :">
+<!ENTITY folderOtherUsers.label "Autres personnes ayant accès à ce dossier :">
+<!ENTITY folderType.label "Type de dossier :">
+
+<!ENTITY folderQuotaTab.label "Quotas">
+<!ENTITY folderQuotaUsage.label "Utilisation :">
+<!ENTITY folderQuotaStatus.label "Statut :">
+
+<!ENTITY numberOfMessages.label "Nombre de messages :">
+<!-- LOCALIZATION NOTE: When the number of messages can't be determined, this string is displayed as the number -->
+<!ENTITY numberUnknown.label "inconnu">
+<!ENTITY sizeOnDisk.label "Taille sur le disque :">
+<!-- LOCALIZATION NOTE: When the size can't be determined, this string is displayed as the size -->
+<!ENTITY sizeUnknown.label "inconnue">
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/folderWidgets.properties b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/folderWidgets.properties
new file mode 100644
index 0000000000..1027d9d618
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/folderWidgets.properties
@@ -0,0 +1,12 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE(globalInbox)
+# %S=name of the Local folders account
+globalInbox=Boîte globale (%S)
+# LOCALIZATION NOTE(verboseFolderFormat): %1$S is folder name, %2$S is server name
+verboseFolderFormat=%1$S sur %2$S
+chooseFolder=Choisir le dossier…
+chooseAccount=Choisir le compte…
+noFolders=Aucun dossier disponible
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/folderpane.dtd b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/folderpane.dtd
new file mode 100644
index 0000000000..a3e1a09116
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/folderpane.dtd
@@ -0,0 +1,7 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+<!ENTITY nameColumn.label "Nom">
+<!ENTITY unreadColumn.label "Non lus">
+<!ENTITY totalColumn.label "Total">
+<!ENTITY folderSizeColumn.label "Taille">
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/gloda.properties b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/gloda.properties
new file mode 100644
index 0000000000..8338a2e356
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/gloda.properties
@@ -0,0 +1,175 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE (*.facetNameLabel): These are the labels used to label the facet
+# displays in the global search facet display mechanism. They should be
+# compact descriptions of the facet type (e.g. "Folder", and don't need to
+# refer to the objects being faceted (e.g. "Message" or "Mail").
+
+# LOCALIZATION NOTE (*.includeLabel): The label to use for the included group
+# in the facet display. If not provided, we will fall back to
+# "glodaFacetView.facets.included.fallbackLabel".
+
+# LOCALIZATION NOTE (*.excludeLabel): The label to use for the excluded group
+# in the facet display. If not provided, we will fall back to
+# "glodaFacetView.facets.excluded.fallbackLabel".
+
+# LOCALIZATION NOTE (*.remainderLabel): The label to use for the remaining items
+# that are neither part of the included group or the excluded group in the
+# facet display. If not provided, we will fall back to
+# "glodaFacetView.facets.remainder.fallbackLabel".
+
+# LOCALIZATION NOTE (*.mustMatchLabel): The label to use for the popup menu
+# to indicate that the results should be restricted to messages which match
+# a particular value. If not provided, we will fall back to
+# "glodaFacetView.facets.mustMatch.fallbackLabel". #1, if present, is
+# replaced by the value of the facet (name, folder, mailing list, etc.)
+
+# LOCALIZATION NOTE (*.cantMatchLabel): The label to use for the popup menu
+# to indicate that the results should be restricted to messages which match
+# a particular value. If not provided, we will fall back to
+# "glodaFacetView.facets.cantMatch.fallbackLabel". #1, if present, is
+# replaced by the value of the facet (name, folder, mailing list, etc.)
+
+# LOCALIZATION NOTE (*.mayMatchLabel): The label to use for the popup menu
+# to indicate that the results should no longer be restricted relative to
+# this particular facet value. If not provided, we will fall back to
+# "glodaFacetView.facets.mayMatch.fallbackLabel". #1, if present, is
+# replaced by the value of the facet (name, folder, mailing list, etc.)
+
+# LOCALIZATION NOTE (*.mustMatchSomeLabel): The label to use for the popup menu
+# to indicate that the results should be restricted to messages which have
+# _some_ value (e.g. at least one tag is set). If not provided, we will fall
+# back to "glodaFacetView.facets.mustMatchSome.fallbackLabel". #1, if present,
+# is replaced by the value of the facet (name, folder, mailing list, etc.)
+
+# LOCALIZATION NOTE (*.mustMatchNoneLabel): The label to use for the popup menu
+# to indicate that the results should be restricted to messages which have _no_
+# value (e.g. no tags are set). If not provided, we will fall back to
+# "glodaFacetView.facets.mustMatchNoneLabel.fallbackLabel". #1, if present, is
+# replaced by the value of the facet (name, folder, mailing list, etc.)
+
+# LOCALIZATION NOTE (*.mayMatchAnyLabel): The label to use for the popup menu
+# to indicate that the results should not be restricted to messages which have
+# any or no value (e.g. no requirements on any tags are set). If not provided,
+# we will fall back to "glodaFacetView.facets.mayMatchAnyLabel.fallbackLabel".
+# #1, if present, is replaced by the value of the facet (name, folder, mailing
+# list, etc.)
+
+# LOCALIZATION NOTE (gloda.message.attr.account.*): Stores the account in which
+# a message's folder is located.
+gloda.message.attr.account.facetNameLabel=Compte
+gloda.message.attr.account.includeLabel=stocké parmi :
+gloda.message.attr.account.excludeLabel=non stocké dans :
+gloda.message.attr.account.remainderLabel=autres comptes :
+gloda.message.attr.account.mustMatchLabel=doit être dans #1
+gloda.message.attr.account.cantMatchLabel=ne doit pas être dans #1
+
+# LOCALIZATION NOTE (gloda.message.attr.folder.*): Stores the message folder in
+# which the message is stored.
+gloda.message.attr.folder.facetNameLabel=Dossier Courrier
+gloda.message.attr.folder.includeLabel=stocké parmi :
+gloda.message.attr.folder.excludeLabel=non stocké dans :
+gloda.message.attr.folder.remainderLabel=autres dossiers :
+gloda.message.attr.folder.mustMatchLabel=doit être dans #1
+gloda.message.attr.folder.cantMatchLabel=ne doit pas être dans #1
+
+# LOCALIZATION NOTE (gloda.message.attr.fromMe.*): Stores everyone involved
+# with the message. This means from/to/cc/bcc.
+gloda.message.attr.fromMe.facetNameLabel=De moi
+
+# LOCALIZATION NOTE (gloda.message.attr.toMe.*): Stores everyone involved
+# with the message. This means from/to/cc/bcc.
+gloda.message.attr.toMe.facetNameLabel=Pour moi
+
+# LOCALIZATION NOTE (gloda.message.attr.involves.*): Stores everyone involved
+# with the message. This means from/to/cc/bcc.
+gloda.message.attr.involves.facetNameLabel=Personne
+gloda.message.attr.involves.includeLabel=concernant quiconque parmi :
+gloda.message.attr.involves.excludeLabel=ne concernant pas :
+gloda.message.attr.involves.remainderLabel=autres participants :
+gloda.message.attr.involves.mustMatchLabel=doit concerner #1
+gloda.message.attr.involves.cantMatchLabel=ne doit pas concerner #1
+
+# LOCALIZATION NOTE (gloda.message.attr.date.*): Stores the date of the message.
+# Thunderbird normally stores the date the message claims it was composed
+# according to the "Date" header. This is not the same as when the message
+# was sent or when it was eventually received by the user. In the future we
+# may change this to be one of the other dates, but not anytime soon.
+gloda.message.attr.date.facetNameLabel=Date
+
+# LOCALIZATION NOTE (gloda.message.attr.attachmentTypes.*): Stores the list of
+# MIME types (ex: image/png, text/plain) of real attachments (not just part of
+# the message content but explicitly named attachments) on the message.
+# Although we hope to be able to provide localized human-readable explanations
+# of the MIME type (ex: "PowerPoint document"), I don't know if that is going
+# to happen.
+gloda.message.attr.attachmentTypes.facetNameLabel=Pièces jointes
+
+# LOCALIZATION NOTE (gloda.message.attr.mailing-list.*): Stores the mailing
+# lists detected in the message. This will normally be the e-mail address of
+# the mailing list and only be detected in messages received from the mailing
+# list. Extensions may contribute additional detected mailing-list-like
+# things.
+gloda.message.attr.mailing-list.facetNameLabel=Liste de diffusion
+gloda.message.attr.mailing-list.noneLabel=Aucune
+gloda.message.attr.mailing-list.includeLabel=reçu à une de ces dates :
+gloda.message.attr.mailing-list.excludeLabel=non reçu à une de ces dates :
+gloda.message.attr.mailing-list.remainderLabel=autres listes de diffusion :
+gloda.message.attr.mailing-list.mustMatchLabel=doit être dans #1
+gloda.message.attr.mailing-list.cantMatchLabel=ne doit pas être dans #1
+gloda.message.attr.mailing-list.mustMatchSomeLabel=doit être dans une liste de diffusion
+gloda.message.attr.mailing-list.mustMatchNoneLabel=ne doit pas être dans une liste de diffusion
+
+# LOCALIZATION NOTE (gloda.message.attr.tag.*): Stores the tags applied to the
+# message. Notably, gmail's labels are not currently exposed via IMAP and we
+# do not do anything clever with gmail, so this is independent of gmail labels
+# This may change in the future, but it's a safe bet it's not happening on
+# Thunderbird's side prior to 3.0.
+gloda.message.attr.tag.facetNameLabel=Étiquettes
+gloda.message.attr.tag.noneLabel=Aucune
+gloda.message.attr.tag.includeLabel=avec une de ces étiquettes :
+gloda.message.attr.tag.excludeLabel=non étiqueté :
+gloda.message.attr.tag.remainderLabel=autres étiquettes :
+gloda.message.attr.tag.mustMatchLabel=doit être marqué comme #1
+gloda.message.attr.tag.cantMatchLabel=ne doit pas être marqué comme #1
+gloda.message.attr.tag.mustMatchSomeLabel=doit être marqué
+gloda.message.attr.tag.mustMatchNoneLabel=ne doit pas être marqué
+
+# LOCALIZATION NOTE (gloda.message.attr.star.*): Stores whether the message is
+# starred or not, as indicated by a pretty star icon. In the past, the icon
+# used to be a flag. The IMAP terminology continues to be "flagged".
+gloda.message.attr.star.facetNameLabel=Suivi
+
+# LOCALIZATION NOTE (gloda.message.attr.read.*): Stores whether the user has
+# read the message or not.
+gloda.message.attr.read.facetNameLabel=Lu
+
+# LOCALIZATION NOTE (gloda.message.attr.repliedTo.*): Stores whether we believe
+# the user has ever replied to the message. We normally show a little icon in
+# the thread pane when this is the case.
+gloda.message.attr.repliedTo.facetNameLabel=En réponse à
+
+# LOCALIZATION NOTE (gloda.message.attr.forwarded.*): Stores whether we believe
+# the user has ever forwarded the message. We normally show a little icon in
+# the thread pane when this is the case.
+gloda.message.attr.forwarded.facetNameLabel=Transféré
+
+# LOCALIZATION NOTE (gloda.mimetype.category.*.label): Map categories of MIME
+# types defined in MimeTypeCategories.jsm to labels.
+# LOCALIZATION NOTE (gloda.mimetype.category.archives.label): Archive is
+# referring to things like zip files, tar files, tar.gz files, etc.
+gloda.mimetype.category.archives.label=Archives
+gloda.mimetype.category.documents.label=Documents
+gloda.mimetype.category.images.label=Images
+# LOCALIZATION NOTE (gloda.mimetype.category.media.label): Media is meant to
+# encompass both audio and video. This is because video and audio streams are
+# frequently stored in the same type of container and we cannot rely on the
+# sending e-mail client to have been clever enough to figure out what was
+# really in the file. So we group them together.
+gloda.mimetype.category.media.label=Médias (audio, vidéo)
+gloda.mimetype.category.pdf.label=Fichiers PDF
+# LOCALIZATION NOTE (gloda.mimetype.category.other.label): Other is the category
+# for MIME types that we don't really know what it is.
+gloda.mimetype.category.other.label=Autres
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/glodaComplete.properties b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/glodaComplete.properties
new file mode 100644
index 0000000000..682d80ab3c
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/glodaComplete.properties
@@ -0,0 +1,19 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE (glodaComplete.messagesTagged.label): The label used
+# in the autocomplete widget to refer to a query for all messages tagged
+# by a particular tag (replacing #1).
+glodaComplete.messagesTagged.label=Messages étiquetés : #1
+
+# LOCALIZATION NOTE (glodaComplete.messagesMentioning.label): The label used
+# in the autocomplete widget to refer to a search for all messages mentioning
+# a particular word (replacing #1).
+glodaComplete.messagesMentioning.label=Messages citant : #1
+
+# LOCALIZATION NOTE (glodaComplete.messagesWithMany.label): The label used
+# in the autocomplete widget to refer to a search for all messages mentioning
+# a set of words, or a phrase containing multiple words (e.g. "red pepper")
+# We use the same words in en-US, but maybe that's not always true.
+glodaComplete.messagesMentioningMany.label=Messages contenant : #1
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/glodaFacetView.dtd b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/glodaFacetView.dtd
new file mode 100644
index 0000000000..93c2bb2235
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/glodaFacetView.dtd
@@ -0,0 +1,29 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!-- LOCALIZATION NOTE (glodaFacetView.filters.label): Label at the top of the
+ faceting sidebar. Serves as a header both for the checkboxes under it as
+ well for labeled facets with multiple options. -->
+<!ENTITY glodaFacetView.filters.label "Filtres :">
+
+<!-- LOCALIZATION NOTE (glodaFacetView.loading.label): Label that appears when
+ the search results take a long time to appear. -->
+<!ENTITY glodaFacetView.loading.label "Recherche…">
+
+<!-- LOCALIZATION NOTE (glodaFacetView.empty.label): Label that appears when
+ there are no results that match the search query. -->
+<!ENTITY glodaFacetView.empty.label "Aucun message ne correspond à votre recherche">
+
+<!-- LOCALIZATION NOTE (glodaFacetView.pageMore.label): Label at the bottom
+ of the results list to show more hits. -->
+<!ENTITY glodaFacetView.pageMore.label "Plus &#187;">
+
+<!-- LOCALIZATION NOTE(glodaFacetView.results.message.openEmailAsList.label2): The
+ label for the button/link that causes us to display all of the emails in
+ the active set in a new thread pane display tab. -->
+<!ENTITY glodaFacetView.openEmailAsList.label "Afficher les résultats sous forme de liste">
+
+<!-- LOCALIZATION NOTE(glodaFacetView.results.message.openEmailAsList.tooltip):
+ The tooltip to display when hovering over the openEmailAsList label. -->
+<!ENTITY glodaFacetView.openEmailAsList.tooltip "Afficher tous les messages de l’ensemble actif dans un nouvel onglet">
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/glodaFacetView.properties b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/glodaFacetView.properties
new file mode 100644
index 0000000000..c8db2a6990
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/glodaFacetView.properties
@@ -0,0 +1,171 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE (glodaFacetView.tab.query.label):
+# The tab title to display for tabs that are based on a gloda (global database)
+# query or collection rather than a user search. At some point we might try
+# and explain what the query/collection is in automatic fashion, but not today.
+glodaFacetView.tab.query.label=Rechercher
+
+# LOCALIZATION NOTE (glodaFacetView.tab.search.label):
+# The tab title to display for tabs with a new gloda (global database)
+# user search (rather than a query or collection) without a search string.
+# After the search has been started, we just display the search string entered
+# by the user.
+glodaFacetView.tab.search.label=Recherche
+
+# LOCALIZATION NOTE(glodaFacetView.search.label2):
+# The heading for the search page.
+# A short description of user's search query will be appended.
+glodaFacetView.search.label2=Résultats pour :
+
+# LOCALIZATION NOTE(glodaFacetView.constraints.query.fulltext.label):
+# The label to display to describe when our base query was a fulltext search
+# across messages. The value is displayed following the label.
+glodaFacetView.constraints.query.fulltext.label=Recherche de #1
+glodaFacetView.constraints.query.fulltext.andJoinWord=et
+glodaFacetView.constraints.query.fulltext.orJoinWord=ou
+
+# LOCALIZATION NOTE(glodaFacetView.constraints.query.initial):
+# The label to display to describe when our base query is not a full-text
+# search. Additional labels are appended describing each constraint.
+glodaFacetView.constraints.query.initial=Recherche des messages
+
+# LOCALIZATION NOTE(glodaFacetView.constraints.query.involves.label):
+# The label to display to describe when our base query was on messages
+# involving a given contact from the address book. The value is displayed
+# where the #1 is.
+glodaFacetView.constraints.query.involves.label=concernant #1
+
+# LOCALIZATION NOTE(glodaFacetView.constraints.query.contact.label):
+# The label to display to describe when our base query was on messages
+# tagged with a specific tag. The tag is displayed following the label.
+glodaFacetView.constraints.query.tagged.label=étiquetés :
+
+
+# LOCALIZATION NOTE (glodaFacetView.facets.mode.top.listAllLabel): The label to
+# use when we are only displaying the top entries for a facet. When the
+# label is clicked on, it results in us displaying all of the values for that
+# facet. The value "#1" (if present) is replaced with the total number of
+# values that will be displayed (rather than the number currently hidden).
+# This string supports pluralization. See
+# https://developer.mozilla.org/en/Localization_and_Plurals for details on
+# how this stuff works.
+glodaFacetView.facets.mode.top.listAllLabel=Lister les #1;Lister les #1
+
+# LOCALIZATION NOTE (glodaFacetView.facets.included.fallbackLabel): The label to
+# use for groups in a facet that have been explicitly included by the user if
+# there is no explicit attribute "includeLabel" defined. (The explicit label
+# would be named "gloda.message.attr.ATTRIBUTE.includeLabel".)
+glodaFacetView.facets.included.fallbackLabel=y compris :
+# LOCALIZATION NOTE (glodaFacetView.facets.excluded.fallbackLabel): The label to
+# use for groups in a facet that have been explicitly excluded by the user if
+# there is no explicit attribute "excludeLabel" defined. (The explicit label
+# would be named "gloda.message.attr.ATTRIBUTE.excludeLabel".)
+glodaFacetView.facets.excluded.fallbackLabel=à l’exclusion de :
+# LOCALIZATION NOTE (glodaFacetView.facets.remainder.fallbackLabel): The label
+# to use for groups in a facet that are neither part of the included group or
+# the excluded group if there is no explicit attribute "remainderLabel"
+# defined. (The explicit label would be named
+# "gloda.message.attr.ATTRIBUTE.remainderLabel".)
+glodaFacetView.facets.remainder.fallbackLabel=autres :
+
+# LOCALIZATION NOTE (glodaFacetView.facets.mustMatchLabel.fallbackLabel): The label
+# to use to restrict a facet by a particular value if there is no explicit
+# attribute "mustMatchLabel" defined. (The explicit label would be named
+# "gloda.message.attr.ATTRIBUTE.mustMatchLabel".)
+glodaFacetView.facets.mustMatchLabel.fallbackLabel=doit vérifier #1
+glodaFacetView.facets.mustMatchNoneLabel.fallbackLabel=ne doit pas avoir de valeur
+
+# LOCALIZATION NOTE (glodaFacetView.facets.cantMatchLabel.fallbackLabel): The label
+# to use to restrict a facet by the absence of a particular value if there is
+# no explicit attribute "cantMatchLabel" defined. (The explicit label would be
+# named "gloda.message.attr.ATTRIBUTE.cantMatchLabel".)
+glodaFacetView.facets.cantMatchLabel.fallbackLabel=ne doit pas vérifier #1
+glodaFacetView.facets.mustMatchSomeLabel.fallbackLabel=doit avoir une valeur
+
+# LOCALIZATION NOTE (glodaFacetView.facets.mayMatchLabel.fallbackLabel): The label
+# to use to undo the restriction of a facet by a particular value if there is
+# no explicit attribute "mayMatchLabel" defined. (The explicit label would be
+# named "gloda.message.attr.ATTRIBUTE.mayMatchLabel".)
+glodaFacetView.facets.mayMatchLabel.fallbackLabel=supprimer la condition
+glodaFacetView.facets.mayMatchAnyLabel.fallbackLabel=supprimer la condition
+
+# LOCALIZATION NOTE (glodaFacetView.facets.noneLabel): The text to display when
+# a facet needs to indicate that an attribute omitted a value or was otherwise
+# empty.
+glodaFacetView.facets.noneLabel=Aucun
+
+# LOCALIZATION NOTE (glodaFacetView.facets.filter.attachmentTypes.allLabel):
+# The label to use when all types of attachments are being displayed.
+glodaFacetView.facets.filter.attachmentTypes.allLabel=Tout type
+
+# LOCALIZATION NOTE (glodaFacetView.result.message.fromLabel): Used in the
+# faceted search message display to indicate the author of a message.
+# An example usage is "from: Bob".
+glodaFacetView.result.message.fromLabel=de :
+
+# LOCALIZATION NOTE (glodaFacetView.result.message.toLabel): Used in the
+# faceted search message display to indicate the recipients of a message.
+# An example usage is "to: Bob, Chuck, Don".
+glodaFacetView.result.message.toLabel=pour :
+
+# LOCALIZATION NOTE (glodaFacetView.result.message.noSubject): Used in the
+# faceted search message display to act as a click target for messages with
+# no subject.
+glodaFacetView.result.message.noSubject=(pas de sujet)
+
+# LOCALIZATION NOTE(glodaFacetView.results.header.countLabel):
+# This label is displayed above the list of result messages; it tells the user
+# how many messages we are displaying in the list out of the total number of
+# messages in the active set (the set of messages remaining after the
+# application of the facet constraints.)
+# The goal of the various sub-parts here is to make a label along the lines of
+# "M of N". Because there are two numbers, this is split into two parts,
+# 'NMessages' for what in English is just the first number and 'ofN' for the
+# "of N" part. We then use 'grouping' to decide how to combine the two. This
+# was suggested by Rimas Kudelis.
+# LOCALIZATION NOTE(glodaFacetView.results.header.countLabel.NMessages):
+# The first part of the countLabel string (although you can change the order
+# in 'grouping'). This is pluralized using the mechanism described at
+# https://developer.mozilla.org/en/Localization_and_Plurals. We replace
+# "#1" with the number of messages being shown in the result list.
+glodaFacetView.results.header.countLabel.NMessages=#1;#1
+# LOCALIZATION NOTE(glodaFacetView.results.header.countLabel.ofN):
+# The second part of the countLabel string (although you can change the order
+# in 'grouping'). This is pluralized using the mechanism described at
+# https://developer.mozilla.org/en/Localization_and_Plurals. We replace
+# "#1" with the total number of messagse in the active set.
+glodaFacetView.results.header.countLabel.ofN=sur #1;sur #1
+# LOCALIZATION NOTE(glodaFacetView.results.header.countLabel.grouping):
+# Combines the pluralized
+# "glodaFacetView.results.header.countLabel.NMessages" string (as #1) with
+# the pluralized "glodaFacetView.results.header.countLabel.ofN" (as #2)
+# to make a single label.
+glodaFacetView.results.header.countLabel.grouping=#1 #2
+
+glodaFacetView.results.message.timeline.label=Afficher/masquer la chronologie
+# LOCALIZATION NOTE(glodaFacetView.results.message.sort.relevance2):
+# a clickable label causing the sort to be done by most relevant messages first.
+glodaFacetView.results.message.sort.relevance2=Trier par pertinence
+# LOCALIZATION NOTE(glodaFacetView.results.message.sort.date2):
+# a clickable label causing the sort to be done by most recent messages first.
+glodaFacetView.results.message.sort.date2=Trier par date
+
+# LOCALIZATION NOTE(glodaFacetView.results.message.recipientSeparator): This is
+# the string in between the names of recipients (see
+# glodaFacetView.results.message.andOthers for more information). The \u0020
+# character is a Unicode space character, which is needed as otherwise the
+# trailing whitespace is trimmed before it gets to the code.
+glodaFacetView.results.message.recipientSeparator=,\u0020
+
+# LOCALIZATION NOTE(glodaFacetView.results.message.andOthers):
+# When a message has too many recipients, we only show the first few and then
+# display this label to express how many are not displayed. So if a message
+# has 5 recipients, we might only show the first 3, and then use this label
+# to indicate that there are 2 that are not displayed. This string can be
+# pluralized; see https://developer.mozilla.org/en/Localization_and_Plurals
+# for details on how to do that. Note that in English, we use the "serial
+# comma", but other languages may not need a leading separator there.
+glodaFacetView.results.message.andOthers=\u0020et #1 autre;\u0020et #1 autres
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/imAccountWizard.dtd b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/imAccountWizard.dtd
new file mode 100644
index 0000000000..df67ff2f95
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/imAccountWizard.dtd
@@ -0,0 +1,32 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!ENTITY windowTitle.label "Assistant de création de compte de messagerie instantanée">
+
+<!ENTITY accountProtocolTitle.label "Réseau de messagerie instantanée">
+<!ENTITY accountProtocolInfo.label "Veuillez choisir le réseau pour votre compte.">
+<!ENTITY accountProtocolField.label "Réseau :">
+<!ENTITY accountProtocolGetMore.label "Obtenir plus de réseaux…">
+
+<!ENTITY accountUsernameTitle.label "Nom d’utilisateur">
+<!ENTITY accountUsernameDuplicate.label "Ce compte est déjà configuré !">
+
+<!ENTITY accountPasswordTitle.label "Mot de passe">
+<!ENTITY accountPasswordInfo.label "Veuillez saisir votre mot de passe.">
+<!ENTITY accountPasswordField.label "Mot de passe :">
+<!ENTITY accountPasswordManager.label "Ce mot de passe sera conservé dans le gestionnaire de mots de passe. Laissez cette boîte vide si vous voulez que le mot de passe vous soit demandé à chaque connexion.">
+
+<!ENTITY accountAdvancedTitle.label "Options avancées">
+<!ENTITY accountAdvancedInfo.label "Vous pouvez sauter cette étape si vous le désirez.">
+<!ENTITY accountAdvanced.newMailNotification.label "Signaler les nouveaux e-mails">
+<!ENTITY accountAliasGroupbox.caption "Alias local">
+<!ENTITY accountAliasField.label "Alias :">
+<!ENTITY accountAliasInfo.label "Ceci ne sera affiché que dans vos conversations lorsque vous discutez, vos contacts ne le verront pas.">
+<!ENTITY accountProxySettings.caption "Paramètres de proxy">
+<!ENTITY accountProxySettings.change.label "Modifier…">
+<!ENTITY accountProxySettings.change.accessKey "M">
+
+<!ENTITY accountSummaryTitle.label "Résumé">
+<!ENTITY accountSummaryInfo.label "Un résumé des informations que vous avez saisies est affiché ci-dessous. Veuillez le vérifier avant la création du compte.">
+<!ENTITY accountSummary.connectNow.label "Se connecter à ce compte maintenant.">
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/imAccounts.properties b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/imAccounts.properties
new file mode 100644
index 0000000000..3919bb09f1
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/imAccounts.properties
@@ -0,0 +1,63 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE (protoOptions):
+# %S is replaced by the name of a protocol
+protoOptions=Options %S
+accountUsername=Nom d’utilisateur :
+# LOCALIZATION NOTE (accountColon):
+# This string is used to append a colon after the label of each
+# option. It's localizable so that the typography can be adapted.
+accountColon=%S :
+# LOCALIZATION NOTE (accountUsernameInfo):
+# %S is replaced by the name of a protocol
+accountUsernameInfo=Veuillez saisir votre nom d’utilisateur pour le compte %S.
+# LOCALIZATION NOTE (accountUsernameInfoWithDescription):
+# %1$S is a hint for the expected format of the username
+# %2$S is the name of a protocol
+accountUsernameInfoWithDescription=Veuillez saisir le nom d’utilisateur (%1$S) pour le compte %2$S.
+
+# LOCALIZATION NOTE (account.connection.error):
+# %S is the error message.
+account.connection.error=Erreur : %S
+# LOCALIZATION NOTE (account.connection.errorUnknownPrpl)
+# %S is the id (not very user friendly; hence the quotes) of the missing plugin.
+account.connection.errorUnknownPrpl=Pas de plugin pour le protocole « %S ».
+account.connection.errorEnteringPasswordRequired=La saisie du mot de passe est nécessaire pour connecter ce compte.
+account.connection.errorCrashedAccount=Un plantage est survenu lors de la connexion de ce compte.
+# LOCALIZATION NOTE (account.connection.progress):
+# %S is a message indicating progress of the connection process
+account.connection.progress=Connexion : %S…
+account.connecting=Connexion en cours…
+account.connectedForSeconds=Connecté depuis quelques secondes.
+# LOCALIZATION NOTE (account.connectedFor{Double,Single},
+# account.reconnectIn{Double,Single}):
+# Each pair of %S is a number followed by a unit. The units are
+# already localized in a downloads.properties file of the toolkit.
+account.connectedForDouble=Connecté depuis %1$S %2$S et %3$S %4$S.
+account.connectedForSingle=Connecté depuis %1$S %2$S.
+account.reconnectInDouble=Reconnexion dans %1$S %2$S et %3$S %4$S.
+account.reconnectInSingle=Reconnexion dans %1$S %2$S.
+
+requestAuthorizeTitle=Demande d’autorisation
+# LOCALIZATION NOTE (requestAuthorizeAllow, requestAuthorizeDeny):
+# the & symbol indicates the position of the character that should be
+# used as the accesskey for this button.
+requestAuthorizeAllow=&Autoriser
+requestAuthorizeDeny=&Refuser
+# LOCALIZATION NOTE (requestAuthorizeText):
+# %S is a contact username.
+requestAuthorizeText=%S vous a ajouté à sa liste d’amis, voulez-vous l’autoriser à vous voir ?
+
+accountsManager.notification.button.accessKey=c
+accountsManager.notification.button.label=Se connecter maintenant
+accountsManager.notification.userDisabled.label=Vous avez désactivé les connexions automatiques.
+accountsManager.notification.safeMode.label=Les paramètres de connexion automatique ont été ignorés car l’application fonctionne actuellement en mode sans échec.
+accountsManager.notification.startOffline.label=Les paramètres de connexion automatique ont été ignorés car l’application a été démarrée en mode hors-ligne.
+accountsManager.notification.crash.label=La dernière exécution s’est arrêtée inopinément lors de la connexion. Les connexions automatiques ont été désactivées pour vous permettre de modifier vos paramètres.
+# LOCALIZATION NOTE (accountsManager.notification.singleCrash.label): Semi-colon list of plural forms.
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# #1 is the number of accounts that are suspected to have caused a crash.
+accountsManager.notification.singleCrash.label=Une précédente exécution s’est arrêtée inopinément lors de la connexion d’un nouveau compte ou d’un compte existant. Il n’a pas été reconnecté pour que vous puissiez modifier ses paramètres.;Une précédente exécution s’est arrêtée inopinément lors de la connexion de #1 comptes nouveaux ou existants. Ils n’ont pas été connectés pour que vous puissiez modifier leurs paramètres.
+accountsManager.notification.other.label=La connexion automatique a été désactivée.
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/imapMsgs.properties b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/imapMsgs.properties
new file mode 100644
index 0000000000..696abae39c
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/imapMsgs.properties
@@ -0,0 +1,266 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+#
+# The following are used by the imap code to display progress/status/error messages
+#
+
+#LOCALIZATION NOTE(imapAlertDialogTile): Do not translate the word "%S"
+# below. Place the word %S where the account name should appear.
+imapAlertDialogTitle=Alerte pour le compte %S
+
+# Status - opening folder
+imapStatusSelectingMailbox=Ouverture du dossier %S…
+
+# Status - create folder
+imapStatusCreatingMailbox=Création du dossier…
+
+# Status - deleting a folder
+# LOCALIZATION NOTE (imapStatusDeletingMailbox): The "%S" below should not be translated.
+# Instead, insert "%S" in your translation where you wish to display the name
+# of the folder being deleted.
+imapStatusDeletingMailbox=Suppression du dossier %S…
+
+# Status - renaming mailbox
+# LOCALIZATION NOTE (imapStatusRenamingMailbox): The "%S" below should not be translated.
+# Instead, insert "%S" in your translation where you wish to display the name
+# of the folder being renamed.
+imapStatusRenamingMailbox=Renommage du dossier %S…
+
+# Status - looking for mailboxes
+imapStatusLookingForMailbox=Recherche des dossiers…
+
+# Status - subscribing to mailbox
+# LOCALIZATION NOTE (imapStatusSubscribeToMailbox): The "%S" below should not be translated.
+# Instead, insert "%S" in your translation where you wish to display the name
+# of the folder being subscribed to.
+imapStatusSubscribeToMailbox=Abonnement au dossier %S…
+
+# Status - unsubscribing from mailbox
+# LOCALIZATION NOTE (imapStatusUnsubscribeMailbox): The "%S" below should not be translated.
+# Instead, insert "%S" in your translation where you wish to display the name
+# of the folder being unsubscribed from.
+imapStatusUnsubscribeMailbox=Désabonnement au dossier %S…
+
+# Status - searching imap folder
+imapStatusSearchMailbox=Recherche du dossier…
+
+# Status - closing a folder
+imapStatusCloseMailbox=Fermeture du dossier…
+
+# Status - compacting a folder
+imapStatusExpungingMailbox=Compactage du dossier…
+
+# Status - logging out
+imapStatusLoggingOut=Déconnexion…
+
+# Status - checking server capabilities
+imapStatusCheckCompat=Vérification des capacités du serveur de courrier…
+
+# Status - logging on
+imapStatusSendingLogin=Envoi des informations pour la connexion…
+
+# Status - auth logon
+imapStatusSendingAuthLogin=Envoi des informations pour la connexion sécurisée…
+
+imapDownloadingMessage=Téléchargement des messages…
+
+# LOCALIZATION NOTE (imapGettingACLForFolder): Do not translate the word "ACL" below.
+imapGettingACLForFolder=Réception de l’ACL du dossier…
+
+imapGettingServerInfo=Réception des informations de configuration du serveur…
+
+imapGettingMailboxInfo=Réception des informations de configuration de votre boîte aux lettres…
+
+imapEmptyMimePart=Le corps de ce message sera téléchargé à votre demande.
+
+# LOCALIZATION NOTE (imapReceivingMessageHeaders3): Do not translate the words "%1$S", "%2$S", and "%3$S" below.
+# Place the word %1$S in your translation where the number of the header being downloaded should appear.
+# Place the word %2$S in your translation where the total number of headers to be downloaded should appear.
+# Place the word %3$S in your translation where the name of the folder being processed should appear.
+# Note: The account name and separators (e.g. colon, space) are automatically added to the status message.
+# Example: "Joe's Account: Downloading message header 100 of 1000 in Drafts…"
+imapReceivingMessageHeaders3=Téléchargement de l’en-tête de message %1$S sur %2$S dans %3$S…
+
+# LOCALIZATION NOTE (imapReceivingMessageFlags3): Do not translate the words "%1$S", "%2$S", and "%3$S" below.
+# Place the word %1$S in your translation where the number of the flag being downloaded should appear.
+# Place the word %2$S in your translation where the total number of flags to be downloaded should appear.
+# Place the word %3$S in your translation where the name of the folder being processed should appear.
+# Note: The account name and separators (e.g. colon, space) are automatically added to the status message.
+# Example: "Jim's Account: Downloading message flag 100 of 1000 in INBOX…"
+imapReceivingMessageFlags3=Téléchargement du message marqué %1$S sur %2$S dans %3$S…
+
+imapDeletingMessages=Suppression des messages…
+
+imapDeletingMessage=Suppression du message…
+
+# LOCALIZATION NOTE (imapMovingMessages): Do not translate the word "%S" below.
+# Place the word %S in your translation where the name of the folder should appear.
+imapMovingMessages=Déplacement des messages vers %S…
+
+# LOCALIZATION NOTE (imapMovingMessage): Do not translate the word "%S" below.
+# Place the word %S in your translation where the name of the folder should appear.
+imapMovingMessage=Déplacement du message vers %S…
+
+# LOCALIZATION NOTE (imapCopyingMessages): Do not translate the word "%S" below.
+# Place the word %S in your translation where the name of the folder should appear.
+imapCopyingMessages=Copie des messages dans %S…
+
+# LOCALIZATION NOTE (imapCopyingMessage): Do not translate the word "%S" below.
+# Place the word %S in your translation where the name of the folder should appear.
+imapCopyingMessage=Copie du message dans %S…
+
+# LOCALIZATION NOTE (imapFolderReceivingMessageOf3): Do not translate the words "%1$S", "%2$S", and "%3$S" below.
+# Place the word %1$S in your translation where the number of the message being downloaded should appear.
+# Place the word %2$S in your translation where the total number of messages to be downloaded should appear.
+# Place the word %3$S in your translation where the name of the folder being processed should appear.
+# Note: The account name and separators (e.g. colon, space) are automatically added to the status message.
+# Example: "Juan's Account: Downloading message 100 of 1000 in Sent…"
+imapFolderReceivingMessageOf3=Téléchargement du message %1$S sur %2$S dans %3$S…
+
+# LOCALIZATION NOTE (imapDiscoveringMailbox): Do not translate the word "%S" below.
+# Place the word %S in your translation where the name of the folder should appear.
+imapDiscoveringMailbox=Dossier trouvé : %S
+
+# LOCALIZATION NOTE (imapEnterServerPasswordPrompt): Do not translate the words %1$S and %2$S below.
+# Place the word %1$S in your translation where the username should appear.
+# Place the word %2$S in your translation where the servername should appear.
+imapEnterServerPasswordPrompt=Saisissez votre mot de passe pour %1$S sur %2$S :
+
+# LOCALIZATION NOTE (imapServerNotImap4): Do not translate the word "IMAP4" below.
+imapServerNotImap4=Le serveur de courrier %S n’est pas un serveur de type IMAP4.
+
+# This is intentionally left blank.
+imapDone=
+
+# LOCALIZATION NOTE (imapEnterPasswordPromptTitleWithUsername): Do not translate the
+# word %1$S. Place the word %1$S where the user name should appear.
+imapEnterPasswordPromptTitleWithUsername=Saisissez votre mot de passe pour %1$S
+
+imapUnknownHostError=Échec lors de la connexion au serveur %S.
+imapOAuth2Error=Échec de l’authentification lors de la connexion au serveur %S.
+
+imapConnectionRefusedError=Impossible de se connecter au serveur de courrier %S : la connexion a été refusée.
+
+imapNetTimeoutError=Temps limite de connexion au serveur %S dépassé.
+
+imapTlsError=Une erreur TLS non récupérable s’est produite. Erreur d’établissement de la liaison ou bien, probablement, la version TLS ou le certificat utilisé par le serveur %S est incompatible.
+
+# Status - no messages to download
+imapNoNewMessages=Pas de nouveau message sur le serveur.
+
+imapDefaultAccountName=Du courrier pour %S
+
+imapSpecialChar2=Le caractère %S est réservé sur ce serveur IMAP. Veuillez choisir un autre nom.
+
+imapPersonalSharedFolderTypeName=Dossier personnel
+
+imapPublicFolderTypeName=Dossier public
+
+imapOtherUsersFolderTypeName=Autre dossier d’utilisateur.
+
+imapPersonalFolderTypeDescription=Ceci est un dossier de courrier personnel. Il n’est pas partagé.
+
+imapPersonalSharedFolderTypeDescription=Ceci est un dossier de courrier personnel. Il est partagé.
+
+imapPublicFolderTypeDescription=Ceci est un dossier public.
+
+imapOtherUsersFolderTypeDescription=Ceci est un dossier de courrier partagé par l’utilisateur « %S ».
+
+imapAclFullRights=Plein contrôle
+
+imapAclLookupRight=Afficher
+
+imapAclReadRight=Lire
+
+imapAclSeenRight=Changer l’état Lu/Non lu
+
+imapAclWriteRight=Écrire
+
+imapAclInsertRight=Insérer (copier dans)
+
+imapAclPostRight=Poster
+
+imapAclCreateRight=Créer un sous-dossier
+
+imapAclDeleteRight=Supprimer les messages
+
+imapAclAdministerRight=Administrer le dossier
+
+imapServerDoesntSupportAcl=Ce serveur ne prend pas en charge les dossiers partagés.
+
+imapAclExpungeRight=Vider
+
+imapServerDisconnected= Le serveur %S s’est déconnecté. Il s’est peut-être arrêté, ou il y a un problème sur le réseau.
+
+# LOCALIZATION NOTE (autoSubscribeText): %1$S is the imap folder.
+imapSubscribePrompt=Voulez-vous vous abonner à %1$S ?
+
+imapServerDroppedConnection=Impossible de se connecter au serveur IMAP. Vous avez peut-être dépassé le nombre maximal de connexions au serveur. Si c’est le cas, utilisez les paramètres avancés de serveur IMAP pour diminuer le nombre de connexions conservées en mémoire cache.
+
+# This will occur when a folder that has never been imap selected or opened
+# (left-clicked) is first right-clicked to access quota properties.
+imapQuotaStatusFolderNotOpen=Les informations de quota ne sont pas disponibles car le dossier n’est pas ouvert.
+
+# The imap capability response reports that QUOTA is not supported.
+imapQuotaStatusNotSupported=Ce serveur ne prend pas en charge les quotas.
+
+# The getqutaroot command succeeded but reported no quota information.
+imapQuotaStatusNoQuota2=Aucune information sur les quotas n’est fournie pour ce dossier.
+
+# Folder properties were requested by the user (right-click) before the getquotaroot
+# command was sent.
+imapQuotaStatusInProgress=Les informations sur les quotas ne sont pas encore disponibles.
+
+# Out of memory
+imapOutOfMemory=Mémoire saturée.
+
+# LOCALIZATION NOTE (imapCopyingMessageOf2): Do not translate the word "%S" below.
+# Place the word %3$S in your translation where the name of the destination folder should appear.
+# Place the word %1$S where the currently copying message should appear.
+# Place the word %2$S where the total number of messages should appear.
+imapCopyingMessageOf2=Copie du message %1$S sur %2$S vers %3$S…
+
+# LOCALIZATION NOTE (imapMoveFolderToTrash): Do not translate the word %S below.
+# "%S" is the the name of the folder.
+imapMoveFolderToTrash=Voulez-vous vraiment supprimer le dossier « %S » ?
+
+# LOCALIZATION NOTE (imapDeleteNoTrash): Do not translate the word %S below.
+# "%S" is the the name of the folder.
+imapDeleteNoTrash=La suppression de ce dossier sera irréversible et vous perdrez tous les messages qu’il contient ainsi que ses sous-dossiers. Voulez-vous vraiment supprimer le dossier « %S » ?
+
+imapDeleteFolderDialogTitle=Supprimer le dossier
+
+imapDeleteFolderButtonLabel=&Supprimer le dossier
+
+# LOCALIZATION NOTE (imapAuthChangeEncryptToPlainSSL): %S is the server hostname
+imapAuthChangeEncryptToPlainSSL=Le serveur IMAP %S ne semble pas gérer les mots de passe chiffrés. Si vous venez juste de définir le compte, veuillez modifier la « Méthode d’authentification » pour « Mot de passe normal » dans le menu « Paramètres des comptes | Paramètres serveur ». Si cela fonctionnait auparavant et que cela échoue à présent, veuillez contacter votre administrateur de messagerie ou votre fournisseur.
+
+# LOCALIZATION NOTE (imapAuthChangePlainToEncrypt): %S is the server hostname
+imapAuthChangePlainToEncrypt=Le serveur IMAP %S n’autorise pas les mots de passe non chiffrés. Veuillez modifier la « Méthode d’authentification » pour « Mot de passe chiffré » dans le menu « Paramètres des comptes | Paramètres serveur ».
+
+# LOCALIZATION NOTE (imapAuthChangeEncryptToPlainNoSSL): %S is the server hostname
+imapAuthChangeEncryptToPlainNoSSL=Le serveur IMAP %S ne semble pas gérer les mots de passe chiffrés. Si vous venez juste de définir le compte, veuillez modifier la « Méthode d’authentification » pour « Mot de passe, transmission non sécurisée » dans le menu « Paramètres des comptes | Paramètres serveur ». Si cela fonctionnait auparavant et que cela échoue à présent, il se pourrait que quelqu’un ait dérobé votre mot de passe.
+
+# LOCALIZATION NOTE (imapAuthMechNotSupported): %S is the server hostname
+imapAuthMechNotSupported=Le serveur IMAP %S ne gère pas la méthode d’authentification sélectionnée. Veuillez modifier la « Méthode d’authentification » dans le menu « Paramètres des comptes | Paramètres serveur ».
+
+# LOCALIZATION NOTE (imapAuthGssapiFailed): %S is the server hostname
+imapAuthGssapiFailed=Le ticket Kerberos/GSSAPI n’a pas été accepté par le serveur IMAP %S. Veuillez vérifier que vous êtes connecté dans le flux Kerberos/GSSAPI.
+
+# LOCALIZATION NOTE (imapServerCommandFailed):
+# Place the word %1$S in your translation where the name of the account name should appear.
+# Place the word %2$S in your translation where the server response should appear.
+imapServerCommandFailed=La commande courante n’a pas abouti. Le serveur de courrier pour le compte %1$S a répondu : %2$S
+
+# LOCALIZATION NOTE (imapFolderCommandFailed): Do not translate the word %S below.
+# Place the word %1$S in your translation where the name of the account should appear.
+# Place the word %2$S in your translation where the name of the folder should appear.
+# Place the word %3$S in your translation where the server response should appear.
+imapFolderCommandFailed=L’opération courante « %2$S » n’a pas abouti. Le serveur de courrier pour le compte %1$S a répondu : %3$S
+
+# LOCALIZATION NOTE (imapServerAlert):
+# Place the word %1$S in your translation where the name of the account should appear.
+# Place the word %2$S in your translation where the alert from the server should appear.
+imapServerAlert=Alerte pour le compte %1$S : %2$S
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/importDialog.dtd b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/importDialog.dtd
new file mode 100644
index 0000000000..8a635e1139
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/importDialog.dtd
@@ -0,0 +1,48 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!--
+LOCALIZATION NOTE : 'Communicator 4.x' is the used for previous versions of
+Netscape Communicator, Please translate using the brandname in respective
+languages for Netscape Communicator 4 releases.
+LOCALIZATION NOTE : Do not translate any of the occurrences of the word
+"&brandShortName;" below.
+-->
+
+<!ENTITY importDialog.windowTitle "Importer">
+<!ENTITY importAll.label "Tout importer">
+<!ENTITY importAll.accesskey "T">
+<!ENTITY importMail.label "Messages">
+<!ENTITY importMail.accesskey "M">
+<!ENTITY importFeeds.label "Abonnements à des flux">
+<!ENTITY importFeeds.accesskey "d">
+<!ENTITY importAddressbook.label "Carnets d’adresses">
+<!ENTITY importAddressbook.accesskey "a">
+<!ENTITY importSettings.label "Paramètres">
+<!ENTITY importSettings.accesskey "P">
+<!ENTITY importFilters.label "Filtres">
+<!ENTITY importFilters.accesskey "F">
+
+<!ENTITY importTitle.label "Assistant d’importation de &brandShortName;">
+<!ENTITY importShortDesc.label "Importer les e-mails, les paramètres, les carnets d’adresses et les filtres d’autres logiciels">
+
+<!ENTITY importDescription1.label "Cet assistant importera dans &brandShortName; les messages, carnets d’adresses, abonnements à des flux, préférences et/ou filtres d’autres logiciels de messagerie et ainsi que des carnets d’adresses de formats courants.">
+<!ENTITY importDescription2.label "Une fois importées, ces données seront accessibles depuis &brandShortName;.">
+
+<!ENTITY selectDescription.label "Veuillez sélectionner le type de fichier à importer :">
+<!ENTITY selectDescriptionB.label "Veuillez sélectionner un compte existant ou créer un nouveau compte :">
+<!ENTITY selectDescription.accesskey "V">
+<!ENTITY acctName.label "Nom :">
+<!ENTITY acctName.accesskey "N">
+<!ENTITY noModulesFound.label "Aucune application ni aucun fichier à partir duquel ou de laquelle importer des données n’a été trouvé.">
+
+<!ENTITY back.label "&lt; Précédent">
+<!ENTITY forward.label "Suivant &gt;">
+<!ENTITY finish.label "Terminer">
+<!ENTITY cancel.label "Annuler">
+
+<!ENTITY select.label "ou sélectionnez les données que vous désirez importer :">
+
+<!ENTITY title.label "Titre">
+<!ENTITY processing.label "Importation…">
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/importMsgs.properties b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/importMsgs.properties
new file mode 100644
index 0000000000..b449c25345
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/importMsgs.properties
@@ -0,0 +1,304 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# The following are used by the import code to display status/error
+# and informational messages
+
+# Success message when no address books are found to import
+## @name IMPORT_NO_ADDRBOOKS
+## @loc None
+2000=Aucun carnet d’adresses à importer.
+
+# Error: Address book import not initialized
+## @name IMPORT_ERROR_AB_NOTINITIALIZED
+## @loc None
+2001=Impossible d’importer les carnets d’adresses : erreur d’initialisation.
+
+# Error: Unable to create the import thread
+## @name IMPORT_ERROR_AB_NOTHREAD
+## @loc None
+2002=Impossible d’importer les carnets d’adresses : création du fil d’importation impossible.
+
+# Error: Unable to create the import thread
+## @name IMPORT_ERROR_GETABOOK
+## @loc None
+# LOCALIZATION NOTE (Error 2003): Do not translate the word "%S" below.
+2003=Erreur lors de l’importation de %S, impossible de créer le carnet d’adresses.
+
+# Success message when no mailboxes are found to import
+## @name IMPORT_NO_MAILBOXES
+## @loc None
+2004=Aucune boîte aux lettres à importer.
+
+# Error: Mailbox import not initialized
+## @name IMPORT_ERROR_MB_NOTINITIALIZED
+## @loc None
+2005=Impossible d’importer la boîte aux lettres : erreur d’initialisation.
+
+# Error: Unable to create the import thread
+## @name IMPORT_ERROR_MB_NOTHREAD
+## @loc None
+2006=Impossible d’importer la boîte aux lettres : création du fil d’importation impossible.
+
+# Error: Unable to create the proxy object for importing mailboxes
+## @name IMPORT_ERROR_MB_NOPROXY
+## @loc None
+2007=Impossible d’importer la boîte aux lettres, création de l’objet proxy pour la boîte de destination impossible.
+
+# Error: Error creating destination mailboxes
+## @name IMPORT_ERROR_MB_FINDCHILD
+## @loc None
+# LOCALIZATION NOTE (Error 2008): Do not translate the word "%S" below.
+# Place %S in your translation where the name of the mailbox should appear.
+2008=Erreur lors de la création de la boîte aux lettres de destination : impossible de trouver la boîte %S.
+
+# Error: Error creating destination mailboxes
+## @name IMPORT_ERROR_MB_CREATE
+## @loc None
+# LOCALIZATION NOTE (Error 2009): Do not translate the word "%S" below.
+# Place %S in your translation where the name of the mailbox should appear.
+2009=Erreur lors de l’importation de la boîte %S, impossible de créer la boîte de destination.
+
+# Error: No destination folder to import mailboxes
+## @name IMPORT_ERROR_MB_NODESTFOLDER
+## @loc None
+2010=Impossible de créer un compte dans lequel importer le courrier.
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC_START
+## @loc None
+2100=Prénom
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2101=Nom de famille
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2102=Nom à afficher
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2103=Surnom
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2104=Adresse e-mail principale
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2105=Adresse e-mail secondaire
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2106=Tél. professionnel
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2107=Tél. personnel
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2108=Fax
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2109=Pager
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2110=Portable
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2111=Adresse privée
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2112=Adresse privée 2
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2113=Ville
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2114=Pays/État
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2115=Code postal
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2116=Pays/Région (domicile)
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2117=Adresse professionnelle
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2118=Adresse professionnelle 2
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2119=Ville
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2120=Pays/État
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2121=Code postal
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2122=Pays/Région (bureau)
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2123=Profession
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2124=Service
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2125=Société
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2126=Site web 1
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2127=Site web 2
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2128=Année de naissance
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2129=Mois
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2130=Jour
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2131=Divers 1
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2132=Divers 2
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2133=Divers 3
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2134=Divers 4
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2135=Notes
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC_END
+## @loc None
+2136=Nom de l’écran
+
+#Error strings
+ImportAlreadyInProgress=Une opération d’importation est en cours ; essayez à nouveau lorsque cette opération sera terminée.
+
+#Error strings for settings import
+ImportSettingsBadModule=Impossible de charger le module des paramètres.
+ImportSettingsNotFound=Impossible de trouver les paramètres. Vérifiez que cette application est installée sur votre ordinateur.
+ImportSettingsFailed=Erreur lors de l’importation des paramètres. Certains, sinon la totalité, des paramètres risquent de ne pas avoir été importés.
+# LOCALIZATION NOTE : Do not translate the word "%S" below.
+ImportSettingsSuccess=Les paramètres ont été importés à partir de %S.
+
+#Error string for mail import
+ImportMailBadModule=Impossible de charger le module d’importation du courrier.
+ImportMailNotFound=Impossible de trouver du courrier à importer. Vérifiez que l’application de courrier est correctement installée sur votre ordinateur.
+ImportEmptyAddressBook=Impossible d’importer le carnet d’adresses %S car il est vide.
+# LOCALIZATION NOTE: Do not translate the word "%S" below.
+ImportMailFailed=Une erreur est survenue lors de l’importation du courrier à partir de %S.
+# LOCALIZATION NOTE: Do not translate the word "%S" below.
+ImportMailSuccess=Le courrier a été correctement importé à partir de %S.
+
+# Error string for address import
+ImportAddressBadModule=Impossible de charger le module d’importation des carnets d’adresses.
+ImportAddressNotFound=Impossible de trouver un carnet d’adresses à importer. Vérifiez que l’application ou le format est correctement installé sur cet ordinateur.
+# LOCALIZATION NOTE : Do not translate the word "%S" below.
+ImportAddressFailed=Erreur lors de l’importation d’adresses à partir de %S.
+# LOCALIZATION NOTE : Do not translate the word "%S" below.
+ImportAddressSuccess=Des adresses ont été correctement importées à partir de %S.
+
+# Error string for filters import
+ImportFiltersBadModule=Impossible de charger le module d’importation des filtres.
+# LOCALIZATION NOTE : The %S will get replaced by the name of the import module.
+ImportFiltersFailed=Une erreur est survenue lors de l’importation des filtres de « %S ».
+# LOCALIZATION NOTE : The %S will get replaced by the name of the import module.
+ImportFiltersSuccess=Filtres importés avec succès à partir de « %S ».
+# LOCALIZATION NOTE : The %S will get replaced by the name of the import module.
+ImportFiltersPartial=Filtres partiellement importés à partir de « %S ». Voir les avertissements :
+
+#Progress strings
+# LOCALIZATION NOTE : Do not translate the word "%S" below.
+MailProgressMeterText=Conversion de boîtes aux lettres à partir de %S
+# LOCALIZATION NOTE : Do not translate the word "%S" below.
+AddrProgressMeterText=Conversion des carnets d’adresses à partir de %S
+
+#Import file dialog strings
+ImportSelectSettings=Sélectionner le fichier des paramètres.
+ImportSelectMailDir=Sélectionner le répertoire du courrier.
+ImportSelectAddrDir=Sélectionner le répertoire du carnet d’adresses.
+ImportSelectAddrFile=Sélectionner le fichier du carnet d’adresses.
+
+# Folder Names for imported Mail
+DefaultFolderName=Courrier importé.
+# LOCALIZATION NOTE: Do not translate the word "%S" below.
+ImportModuleFolderName=Importation %S
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/joinChat.dtd b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/joinChat.dtd
new file mode 100644
index 0000000000..ae2daf32b5
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/joinChat.dtd
@@ -0,0 +1,10 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!ENTITY joinChatWindow.title "Rejoindre une discussion">
+<!ENTITY name.label "Canal">
+<!ENTITY optional.label "(facultatif)">
+<!ENTITY account.label "Compte">
+<!ENTITY autojoin.label "Rejoindre automatiquement">
+<!ENTITY autojoin.accesskey "R">
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/junkLog.dtd b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/junkLog.dtd
new file mode 100644
index 0000000000..2754216d52
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/junkLog.dtd
@@ -0,0 +1,10 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!ENTITY adaptiveJunkLog.title "Journal des indésirables">
+<!ENTITY adaptiveJunkLogInfo.label "Journal d’activité du contrôle adaptatif des indésirables.">
+<!ENTITY clearLog.label "Vider le journal">
+<!ENTITY clearLog.accesskey "E">
+<!ENTITY closeLog.label "Fermer">
+<!ENTITY closeLog.accesskey "F">
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/localMsgs.properties b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/localMsgs.properties
new file mode 100644
index 0000000000..74cf21da59
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/localMsgs.properties
@@ -0,0 +1,140 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+#
+# The following are used by the local mail code to display progress/status/error messages
+#
+
+# LOCALIZATION NOTE(pop3ErrorDialogTitle): Do not translate the word "%S"
+# below. Place the word %S where the account name should appear.
+pop3ErrorDialogTitle=Erreur avec le compte %S
+
+# LOCALIZATION NOTE (pop3EnterPasswordPromptTitleWithUsername): Do not translate the
+# word %1$S. Place the word %1$S where the user name should appear.
+pop3EnterPasswordPromptTitleWithUsername=Saisissez votre mot de passe pour %1$S
+
+# LOCALIZATION NOTE(pop3EnterPasswordPrompt): Do not translate the words "%1$S"
+# and "%2$S" below. Place the word %1$S where the user name should appear, and
+# %2$S where the host name should appear.
+pop3EnterPasswordPrompt=Saisissez votre mot de passe pour %1$S sur %2$S :
+
+# LOCALIZATION NOTE(pop3PreviouslyEnteredPasswordIsInvalidPrompt): Do not
+# translate the words "%1$S" and "%2$S" below. Place the word %1$S where the
+# user name should appear, and %2$S where the host name should appear.
+pop3PreviouslyEnteredPasswordIsInvalidPrompt=Veuillez saisir un nouveau mot de passe pour l’utilisateur %1$S sur %2$S :
+
+# Status - Downloading message n of m
+# LOCALIZATION NOTE (receivingMessages): Do not translate %1$S or %2$S in the following lines.
+# Place the word %1$S where the number of messages downloaded so far should appear.
+# Place the word %2$S where the total number of messages to receive should appear;
+receivingMessages=Téléchargement du message %1$S sur %2$S…
+
+# Status - connecting to host
+hostContact=Hôte contacté, envoi des informations de connexion…
+
+# Status - no messages to download
+noNewMessages=Aucun nouveau message.
+
+# Status - messages received after the download
+#LOCALIZATION NOTE : Do not translate %1$S or %2$S in the following line.
+# %1$S will receive the number of messages received
+# %2$S will receive the total number of messages
+receivedMsgs=Réception de %1$S messages sur %2$S
+
+# Status - parsing folder
+#LOCALIZATION NOTE (buildingSummary): Do not translate %S in the following line.
+# Place the word %S where the name of the mailbox should appear
+buildingSummary=Construction d’un fichier sommaire pour %S…
+
+# Status - parsing folder
+localStatusDocumentDone=Chargé
+
+# Status - pop3 server error
+#LOCALIZATION NOTE (pop3ServerError): Do not translate POP3 in the following line.
+pop3ServerError=Une erreur s’est produite avec le serveur de courrier POP3. Contactez l’administrateur de ce serveur ou essayez à nouveau.
+
+# Status - pop3 user name failed
+pop3UsernameFailure=Échec de l’envoi du nom d’utilisateur.
+
+# Status - password failed
+#LOCALIZATION NOTE (pop3PasswordFailed): Do not translate "%1$S" below.
+# Place the word %1$S where the user name should appear.
+pop3PasswordFailed=Échec de l’envoi du mot de passe pour l’utilisateur %1$S.
+
+# Status - write error occurred
+pop3MessageWriteError=Une erreur s’est produite pendant l’enregistrement de vos messages. Assurez-vous que le système de fichiers vous donne les permissions d’écriture et que vous avez suffisamment d’espace disque disponible pour copier la boîte de reception.
+
+# Status - retr failure from the server
+pop3RetrFailure=La commande RETR a échoué. Erreur lors de la récupération d’un message.
+
+# Status - password undefined
+pop3PasswordUndefined=Erreur pendant la lecture du mot de passe pour le courrier.
+
+# Status - username undefined
+pop3UsernameUndefined=Vous n’avez pas spécifié de nom d’utilisateur pour ce serveur. Veuillez fournir un nom d’utilisateur dans les paramètres de votre compte de courrier et essayer à nouveau.
+
+# Status - list failure
+pop3ListFailure=La commande LIST a échoué. Erreur lors de la récupération de l’ID et de la taille d’un message.
+
+# Status - delete error
+pop3DeleFailure=La commande DELE a échoué. Erreur lors du marquage d’un message pour suppression.
+
+# Status - stat failed
+pop3StatFail=La commande STAT a échoué. Erreur lors de la récupération des tailles et du nombre de messages.
+
+#LOCALIZATION NOTE (pop3ServerSaid): Do not remove the leading space during translation.
+pop3ServerSaid= Le serveur de courrier %S a répondu :
+
+#LOCALIZATION NOTE (pop3TempServerError): %S is where the POP3 server name will appear.
+pop3TempServerError=Erreur temporaire de %S lors de la récupération des nouveaux messages. \
+L’opération sera relancée lors de la prochaine recherche de nouveaux messages.
+
+copyingMessagesStatus=Copie de %S messages sur %S vers %S…
+
+movingMessagesStatus=Déplacement de %S messages sur %S vers %S…
+
+# Status - pop3 server or folder busy
+# LOCALIZATION NOTE (pop3ServerBusy): Do not translate the word "%S" below.
+# Place %S where the account name should appear.
+pop3ServerBusy=Le compte %S est en cours de traitement. Veuillez attendre la fin du processus pour récupérer les messages.
+
+pop3TmpDownloadError=Une erreur est survenue lors du téléchargement du message suivant : \nDe : %S\n Sujet : %S\n Ce message contient peut-être un virus ou il n’y a plus assez d’espace disque. Ignorer ce message ?
+
+# Status - the server doesn't support UIDL…
+# LOCALIZATION NOTE(pop3ServerDoesNotSupportUidlEtc): The following sentence should be translated in this way:
+# Do not translate "POP3"
+# Do not translate "%S". Place %S in your translation where the name of the server should appear.
+# Do not translate "UIDL"
+pop3ServerDoesNotSupportUidlEtc=Le serveur de courrier POP3 (%S) ne gère pas UIDL ou XTND XLST, qui sont nécessaires pour la mise en œuvre des options « Laisser sur le serveur », « Taille maximale de message » ou « Télécharger les en-têtes seulement ». Pour télécharger votre courrier, désactivez ces options dans « Paramètres serveur » pour votre serveur de courrier dans la fenêtre « Paramètres des comptes ».
+
+# Status - the server doesn't support the top command
+# LOCALIZATION NOTE(pop3ServerDoesNotSupportTopCommand): The following sentence should be translated in this way:
+# Do not translate "POP3"
+# Do not translate "%S". Place %S in your translation where the name of the server should appear.
+# Do not translate "TOP"
+pop3ServerDoesNotSupportTopCommand=Le serveur de courrier POP3 (%S) ne gère pas la commande TOP. Si le serveur ne gère pas cette commande, nous ne pouvons pas mettre en œuvre les préférences « Taille maximale d’un message » et « Télécharger les en-têtes uniquement ». Cette option a été désactivée et les messages seront téléchargés quelle que soit leur taille.
+
+nsErrorCouldNotConnectViaTls=Impossible d’établir une connexion TLS vers le serveur POP3. Le serveur est peut-être éteint ou mal configuré. Veuillez vérifier que la configuration est correcte dans « Paramètres serveur » de votre serveur de courrier dans la fenêtre « Paramètres des comptes » et essayer à nouveau.
+
+# LOCALIZATION NOTE (pop3MoveFolderToTrash): Do not translate the word %S below.
+# "%S" is the the name of the folder.
+pop3MoveFolderToTrash=Voulez-vous vraiment supprimer le dossier « %S » ?
+
+pop3DeleteFolderDialogTitle=Supprimer le dossier
+
+pop3DeleteFolderButtonLabel=&Supprimer le dossier
+
+pop3AuthInternalError=Une erreur interne est survenue durant l’authentification au serveur POP3. C’est une erreur interne et inattendue de l’application. Veuillez signaler ce bug.
+
+pop3AuthChangeEncryptToPlainNoSSL=Ce serveur POP3 ne semble pas gérer les mots de passe chiffrés. Si vous venez juste de configurer ce compte, veuillez modifier la « Méthode d’authentification » pour « Mot de passe, transmission non sécurisée » dans le menu « Paramètres des comptes | Paramètres serveur ». Si cela fonctionnait auparavant et que cela échoue à présent, il se pourrait que quelqu’un ait dérobé votre mot de passe.
+
+pop3AuthChangeEncryptToPlainSSL=Ce serveur POP3 ne semble pas gérer les mots de passe chiffrés. Si vous venez juste de configurer ce compte, veuillez modifier la « Méthode d’authentification » pour « Mot de passe normal » dans le menu « Paramètres des comptes | Paramètres serveur ». Si cela fonctionnait auparavant et que cela échoue à présent, veuillez contacter votre administrateur de messagerie ou votre fournisseur.
+
+pop3AuthChangePlainToEncrypt=Ce serveur POP3 n’autorise pas les mots de passe non chiffrés. Veuillez modifier la « Méthode d’authentification » pour « Mot de passe chiffré » dans le menu « Paramètres des comptes | Paramètres serveur ».
+
+# Authentication server caps and pref don't match
+pop3AuthMechNotSupported=Le serveur ne gère pas la méthode d’authentification sélectionnée. Veuillez modifier la « Méthode d’authentification » dans le menu « Paramètres des comptes | Paramètres serveur ».
+
+# Status - Could not log in to GSSAPI, and it was the only method
+pop3GssapiFailure=Le ticket Kerberos/GSSAPI n’a pas été accepté par le serveur POP. Veuillez vérifier que vous êtes connecté dans le flux Kerberos/GSSAPI.
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/mailEditorOverlay.dtd b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/mailEditorOverlay.dtd
new file mode 100644
index 0000000000..b47b73fbfb
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/mailEditorOverlay.dtd
@@ -0,0 +1,6 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!ENTITY sendPage.label "Envoyer la page…">
+<!ENTITY sendPage.accesskey "E">
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/mailOverlay.dtd b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/mailOverlay.dtd
new file mode 100644
index 0000000000..f69fee1eb6
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/mailOverlay.dtd
@@ -0,0 +1,11 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!ENTITY newMessageCmd2.key "N">
+<!ENTITY newMessageCmd.key "M">
+<!ENTITY newMessageCmd.label "Message">
+<!ENTITY newMessageCmd.accesskey "M">
+
+<!ENTITY newContactCmd.label "Contact…">
+<!ENTITY newContactCmd.accesskey "o">
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/mailViewList.dtd b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/mailViewList.dtd
new file mode 100644
index 0000000000..7edd5f9245
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/mailViewList.dtd
@@ -0,0 +1,8 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!--LOCALIZATION NOTE msgViewPickerOverlay.dtd UI for showing various views on a folder -->
+
+<!ENTITY mailViewListTitle.label "Personnaliser les vues de messages">
+
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/mailViewSetup.dtd b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/mailViewSetup.dtd
new file mode 100644
index 0000000000..027703be89
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/mailViewSetup.dtd
@@ -0,0 +1,11 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!--LOCALIZATION NOTE msgViewPickerOverlay.dtd UI for showing various views on a folder -->
+
+<!ENTITY mailViewSetupTitle.label "Préférences des vues de messages">
+<!ENTITY mailViewHeading.label "Nom de la vue de messages :">
+<!ENTITY mailViewHeading.accesskey "e">
+<!ENTITY searchTermCaption.label "Quand cette vue est sélectionnée, afficher uniquement les messages qui :">
+
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/mailviews.properties b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/mailviews.properties
new file mode 100644
index 0000000000..3015e0ff79
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/mailviews.properties
@@ -0,0 +1,13 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+#
+# Mail Views
+#
+
+mailViewPeopleIKnow=Connaissances
+mailViewRecentMail=Messages récents
+mailViewLastFiveDays=Ces 5 derniers jours
+mailViewNotJunk=Acceptables
+mailViewHasAttachments=Avec pièces jointes
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/markByDate.dtd b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/markByDate.dtd
new file mode 100644
index 0000000000..aafe24ebd3
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/markByDate.dtd
@@ -0,0 +1,9 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!ENTITY messageMarkByDate.label "Marquer comme lus par date">
+<!ENTITY markByDateLower.label "Marquer les messages comme lus du :">
+<!ENTITY markByDateLower.accesskey "d">
+<!ENTITY markByDateUpper.label "Au :">
+<!ENTITY markByDateUpper.accesskey "A">
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/messenger.dtd b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/messenger.dtd
new file mode 100644
index 0000000000..734732b7a8
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/messenger.dtd
@@ -0,0 +1,945 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!ENTITY titledefault.label "&brandFullName;">
+<!ENTITY titleSeparator.label " - ">
+
+<!-- File Menu -->
+<!ENTITY newFolderCmd.label "Dossier…">
+<!ENTITY newFolderCmd.accesskey "D">
+<!ENTITY closeTabCmd2.label "Fermer l’onglet">
+<!ENTITY closeTabCmd2.accesskey "m">
+<!ENTITY closeOtherTabsCmd2.label "Fermer les autres onglets">
+<!ENTITY closeOtherTabsCmd2.accesskey "F">
+<!ENTITY recentlyClosedTabsCmd.label "Onglets récemment fermés">
+<!ENTITY recentlyClosedTabsCmd.accesskey "r">
+
+<!ENTITY undoCloseTabCmd.commandkey "T">
+<!-- LOCALIZATION NOTE (moveToNewWindow.label):
+ Menu option to cause the current tab to be migrated to a new Thunderbird
+ window.
+ -->
+<!ENTITY moveToNewWindow.label "Basculer dans une nouvelle fenêtre">
+<!ENTITY moveToNewWindow.accesskey "B">
+<!ENTITY newVirtualFolderCmd.label "Dossier virtuel…">
+<!ENTITY newVirtualFolderCmd.accesskey "v">
+<!ENTITY newCreateEmailAccountCmd.label "Obtenir un nouveau compte courrier…">
+<!ENTITY newCreateEmailAccountCmd.accesskey "b">
+<!ENTITY newExistingEmailAccountCmd.label "Compte courrier existant…">
+<!ENTITY newExistingEmailAccountCmd.accesskey "e">
+<!ENTITY newIMAccountCmd.label "Compte de messagerie instantanée…">
+<!ENTITY newIMAccountCmd.accesskey "C">
+<!ENTITY newFeedAccountCmd.label "Compte de flux…">
+<!ENTITY newFeedAccountCmd.accesskey "d">
+<!ENTITY newIMContactCmd.label "Contact de messagerie instantanée…">
+<!ENTITY newIMContactCmd.accesskey "n">
+<!ENTITY newMessageCmd2.key "N">
+<!ENTITY newMessageCmd.key "M">
+<!ENTITY newMessageCmd.label "Message">
+<!ENTITY newMessageCmd.accesskey "m">
+<!ENTITY newContactCmd.label "Nouveau contact…">
+<!ENTITY newContactCmd.accesskey "c">
+<!ENTITY openMenuCmd.label "Ouvrir">
+<!ENTITY openMenuCmd.accesskey "O">
+<!ENTITY openMessageFileCmd.label "Ouvrir un fichier…">
+<!ENTITY openMessageFileCmd.accesskey "O">
+<!ENTITY saveAsMenu.label "Enregistrer comme">
+<!ENTITY saveAsMenu.accesskey "s">
+<!ENTITY saveAsFileCmd.key "s">
+<!ENTITY saveAsTemplateCmd.label "Modèle">
+<!ENTITY saveAsTemplateCmd.accesskey "M">
+<!ENTITY getNewMsgForCmd.label "Relever les nouveaux messages pour">
+<!ENTITY getNewMsgForCmd.accesskey "l">
+<!ENTITY getAllNewMsgCmdPopupMenu.label "Tous les comptes">
+<!ENTITY getAllNewMsgCmdPopupMenu.accesskey "T">
+<!ENTITY getNewMsgCurrentAccountCmdPopupMenu.label "Le compte en cours d’utilisation">
+<!ENTITY getNewMsgCurrentAccountCmdPopupMenu.accesskey "L">
+<!ENTITY getNextNMsgCmd2.label "Relever les prochains messages">
+<!ENTITY getNextNMsgCmd2.accesskey "p">
+<!ENTITY sendUnsentCmd.label "Envoyer les messages en attente">
+<!ENTITY sendUnsentCmd.accesskey "a">
+<!ENTITY subscribeCmd.label "S’abonner…">
+<!ENTITY subscribeCmd.accesskey "b">
+<!ENTITY deleteFolder.label "Supprimer le dossier">
+<!ENTITY deleteFolder.accesskey "d">
+<!ENTITY renameFolder.label "Renommer le dossier…">
+<!ENTITY renameFolder.accesskey "R">
+<!ENTITY renameFolder.key "VK_F2">
+<!ENTITY compactFolders.label "Compacter les dossiers">
+<!ENTITY compactFolders.accesskey "C">
+<!ENTITY emptyTrashCmd.label "Vider la corbeille">
+<!ENTITY emptyTrashCmd.accesskey "V">
+<!ENTITY offlineMenu.label "Hors connexion">
+<!ENTITY offlineMenu.accesskey "H">
+<!ENTITY offlineGoOfflineCmd.label "Travailler hors connexion">
+<!ENTITY offlineGoOfflineCmd.accesskey "h">
+<!ENTITY synchronizeOfflineCmd.label "Synchroniser…">
+<!ENTITY synchronizeOfflineCmd.accesskey "S">
+<!ENTITY settingsOfflineCmd2.label "Paramètres hors connexion">
+<!ENTITY settingsOfflineCmd2.accesskey "P">
+<!ENTITY downloadSelectedCmd.label "Relever les messages sélectionnés">
+<!ENTITY downloadSelectedCmd.accesskey "R">
+<!ENTITY downloadStarredCmd.label "Relever les messages suivis">
+<!ENTITY downloadStarredCmd.accesskey "v">
+<!ENTITY printCmd.label "Imprimer…">
+<!ENTITY printCmd.accesskey "p">
+<!ENTITY printCmd.key "p">
+
+<!-- Edit Menu -->
+<!ENTITY deleteMsgCmd.label "Supprimer le message">
+<!ENTITY deleteMsgCmd.accesskey "S">
+<!ENTITY undeleteMsgCmd.label "Restaurer le message">
+<!ENTITY undeleteMsgCmd.accesskey "R">
+<!ENTITY deleteMsgsCmd.label "Supprimer les messages sélectionnés">
+<!ENTITY deleteMsgsCmd.accesskey "S">
+<!ENTITY undeleteMsgsCmd.label "Restaurer les messages sélectionnés">
+<!ENTITY undeleteMsgsCmd.accesskey "R">
+<!ENTITY deleteFolderCmd.label "Supprimer le dossier">
+<!ENTITY deleteFolderCmd.accesskey "d">
+<!ENTITY unsubscribeNewsgroupCmd.label "Se désabonner">
+<!ENTITY unsubscribeNewsgroupCmd.accesskey "n">
+<!ENTITY selectMenu.label "Sélectionner">
+<!ENTITY selectMenu.accesskey "t">
+<!ENTITY all.label "Tout">
+<!ENTITY all.accesskey "T">
+<!ENTITY selectThreadCmd.label "Discussion">
+<!ENTITY selectThreadCmd.accesskey "D">
+<!ENTITY selectThreadCmd.key "a">
+<!ENTITY selectFlaggedCmd.label "Messages suivis">
+<!ENTITY selectFlaggedCmd.accesskey "u">
+<!ENTITY menuFavoriteFolder.label "Dossier préféré">
+<!ENTITY menuFavoriteFolder.accesskey "D">
+<!ENTITY folderPropsCmd2.label "Propriétés du dossier">
+<!ENTITY folderPropsFolderCmd2.label "Propriétés du dossier">
+<!ENTITY folderPropsNewsgroupCmd2.label "Propriétés du groupe">
+<!ENTITY folderPropsCmd.accesskey "o">
+<!ENTITY undoDeleteMsgCmd.label "Annuler l’effacement">
+<!ENTITY redoDeleteMsgCmd.label "Restaurer le message effacé">
+<!ENTITY undoMoveMsgCmd.label "Annuler le déplacement de message">
+<!ENTITY redoMoveMsgCmd.label "Rétablir le déplacement de message">
+<!ENTITY undoCopyMsgCmd.label "Annuler la copie de message">
+<!ENTITY redoCopyMsgCmd.label "Rétablir la copie de message">
+<!ENTITY undoMarkAllCmd.label "Annuler le marquage de tous les messages comme lus">
+<!ENTITY redoMarkAllCmd.label "Rétablir le marquage de tous les messages comme lus">
+<!ENTITY undoDefaultCmd.label "Annuler">
+<!ENTITY undoDefaultCmd.accesskey "A">
+<!ENTITY redoDefaultCmd.label "Rétablir">
+<!ENTITY redoDefaultCmd.accesskey "R">
+
+<!-- View Menu -->
+<!ENTITY menubarCmd.label "Barre de menus">
+<!ENTITY menubarCmd.accesskey "m">
+<!ENTITY showMessengerToolbarCmd.label "Barre d’outils courrier">
+<!ENTITY showMessengerToolbarCmd.accesskey "t">
+<!ENTITY customizeToolbar.label "Personnaliser…">
+<!ENTITY customizeToolbar.accesskey "P">
+
+<!ENTITY messagePaneLayoutStyle.label "Disposition">
+<!ENTITY messagePaneLayoutStyle.accesskey "p">
+<!ENTITY messagePaneClassic.label "Classique">
+<!ENTITY messagePaneClassic.accesskey "C">
+<!ENTITY messagePaneWide.label "Large">
+<!ENTITY messagePaneWide.accesskey "L">
+<!ENTITY messagePaneVertical.label "Verticale">
+<!ENTITY messagePaneVertical.accesskey "V">
+<!ENTITY showFolderPaneCmd.label "Panneau des dossiers">
+<!ENTITY showFolderPaneCmd.accesskey "o">
+<!ENTITY showFolderPaneColsCmd.label "Colonnes du panneau des dossiers">
+<!ENTITY showFolderPaneColsCmd.accesskey "e">
+<!ENTITY showMessageCmd.label "Panneau d’affichage des messages">
+<!ENTITY showMessageCmd.accesskey "n">
+
+<!ENTITY folderView.label "Dossiers">
+<!ENTITY folderView.accesskey "r">
+<!ENTITY unifiedFolders.label "Unifiés">
+<!ENTITY unifiedFolders.accesskey "U">
+<!ENTITY allFolders.label "Tous">
+<!ENTITY allFolders.accesskey "T">
+<!ENTITY unreadFolders.label "Avec des messages non lus">
+<!ENTITY unreadFolders.accesskey "A">
+<!ENTITY favoriteFolders.label "Préférés">
+<!ENTITY favoriteFolders.accesskey "P">
+<!ENTITY recentFolders.label "Récents">
+<!ENTITY recentFolders.accesskey "R">
+<!ENTITY compactVersion.label "Vue compacte">
+<!ENTITY compactVersion.accesskey "V">
+
+<!-- Sort Menu -->
+<!ENTITY sortMenu.label "Trier par">
+<!ENTITY sortMenu.accesskey "e">
+<!ENTITY sortByDateCmd.label "Date">
+<!ENTITY sortByDateCmd.accesskey "t">
+<!ENTITY sortByReceivedCmd.label "Reçu">
+<!ENTITY sortByReceivedCmd.accesskey "R">
+<!ENTITY sortByStarCmd.label "Suivi">
+<!ENTITY sortByStarCmd.accesskey "v">
+<!ENTITY sortByAttachmentsCmd.label "Pièces jointes">
+<!ENTITY sortByAttachmentsCmd.accesskey "j">
+<!ENTITY sortByPriorityCmd.label "Priorité">
+<!ENTITY sortByPriorityCmd.accesskey "P">
+<!ENTITY sortBySizeCmd.label "Taille">
+<!ENTITY sortBySizeCmd.accesskey "i">
+<!ENTITY sortByStatusCmd.label "Statut">
+<!ENTITY sortByStatusCmd.accesskey "u">
+<!ENTITY sortByTagsCmd.label "Étiquettes">
+<!ENTITY sortByTagsCmd.accesskey "q">
+<!ENTITY sortByJunkStatusCmd.label "Statut indésirable">
+<!ENTITY sortByJunkStatusCmd.accesskey "b">
+<!ENTITY sortBySubjectCmd.label "Sujet">
+<!ENTITY sortBySubjectCmd.accesskey "S">
+<!ENTITY sortByFromCmd.label "Expéditeur">
+<!ENTITY sortByFromCmd.accesskey "x">
+<!ENTITY sortByRecipientCmd.label "Destinataire">
+<!ENTITY sortByRecipientCmd.accesskey "i">
+<!ENTITY sortByCorrespondentCmd.label "Correspondants">
+<!ENTITY sortByCorrespondentCmd.accesskey "d">
+<!ENTITY sortByUnreadCmd.label "Lu">
+<!ENTITY sortByUnreadCmd.accesskey "L">
+<!ENTITY sortByOrderReceivedCmd.label "Ordre de réception">
+<!ENTITY sortByOrderReceivedCmd.accesskey "O">
+<!ENTITY sortAscending.label "Ordre croissant">
+<!ENTITY sortAscending.accesskey "a">
+<!ENTITY sortDescending.label "Ordre décroissant">
+<!ENTITY sortDescending.accesskey "n">
+<!ENTITY sortThreaded.label "Discussions groupées">
+<!ENTITY sortThreaded.accesskey "c">
+<!ENTITY sortUnthreaded.label "Discussions non groupées">
+<!ENTITY sortUnthreaded.accesskey "g">
+<!ENTITY groupBySort.label "Groupées par critère de tri">
+<!ENTITY groupBySort.accesskey "e">
+<!ENTITY msgsMenu.label "Message">
+<!ENTITY msgsMenu.accesskey "M">
+<!ENTITY threads.label "Discussions">
+<!ENTITY threads.accesskey "D">
+<!ENTITY allMsgsCmd.label "Toutes">
+<!ENTITY allMsgsCmd.accesskey "T">
+<!ENTITY expandAllThreadsCmd.label "Développer toutes les discussions">
+<!ENTITY expandAllThreadsCmd.accesskey "D">
+<!ENTITY expandAllThreadsCmd.key "*">
+<!ENTITY collapseAllThreadsCmd.label "Réduire toutes les discussions">
+<!ENTITY collapseAllThreadsCmd.accesskey "R">
+<!ENTITY collapseAllThreadsCmd.key "\">
+<!ENTITY unreadMsgsCmd.label "Non lues">
+<!ENTITY unreadMsgsCmd.accesskey "N">
+<!ENTITY threadsWithUnreadCmd.label "Avec des messages non lus">
+<!ENTITY threadsWithUnreadCmd.accesskey "A">
+<!ENTITY watchedThreadsWithUnreadCmd.label "Surveillées avec des messages non lus">
+<!ENTITY watchedThreadsWithUnreadCmd.accesskey "S">
+<!ENTITY ignoredThreadsCmd.label "Ignorées">
+<!ENTITY ignoredThreadsCmd.accesskey "I">
+
+<!ENTITY headersMenu.label "En-têtes">
+<!ENTITY headersMenu.accesskey "t">
+<!ENTITY headersAllCmd.label "Complets">
+<!ENTITY headersAllCmd.accesskey "C">
+<!ENTITY headersNormalCmd.label "Normaux">
+<!ENTITY headersNormalCmd.accesskey "N">
+<!ENTITY bodyMenu.label "Corps du message en">
+<!ENTITY bodyMenu.accesskey "o">
+<!ENTITY bodyAllowHTML.label "HTML original">
+<!ENTITY bodyAllowHTML.accesskey "H">
+<!ENTITY bodySanitized.label "HTML simple">
+<!ENTITY bodySanitized.accesskey "s">
+<!ENTITY bodyAsPlaintext.label "Texte seul">
+<!ENTITY bodyAsPlaintext.accesskey "x">
+<!ENTITY bodyAllParts.label "Tous les éléments">
+<!ENTITY bodyAllParts.accesskey "T">
+
+<!ENTITY bodyMenuFeed.label "Corps de message du flux">
+<!ENTITY bodyMenuFeed.accesskey "C">
+<!ENTITY viewFeedWebPage.label "Page web">
+<!ENTITY viewFeedWebPage.accesskey "W">
+<!ENTITY viewFeedSummary.label "Résumé">
+<!ENTITY viewFeedSummary.accesskey "R">
+<!ENTITY viewFeedSummaryFeedPropsPref.label "Format par défaut">
+<!ENTITY viewFeedSummaryFeedPropsPref.accesskey "F">
+
+<!ENTITY viewAttachmentsInlineCmd.label "Afficher les pièces jointes dans les messages">
+<!ENTITY viewAttachmentsInlineCmd.accesskey "A">
+
+<!ENTITY pageSourceCmd.label "Code source du message">
+<!ENTITY pageSourceCmd.accesskey "s">
+<!ENTITY pageSourceCmd.key "u">
+<!ENTITY getNewMessagesCmd.key "y">
+<!ENTITY getAllNewMessagesCmd.key "Y">
+
+<!-- Search Menu -->
+<!ENTITY findMenu.label "Rechercher">
+<!ENTITY findMenu.accesskey "h">
+<!ENTITY findCmd.label "Rechercher…">
+<!ENTITY findCmd.accesskey "R">
+<!ENTITY findCmd.key "f">
+<!ENTITY findAgainCmd.label "Rechercher le suivant">
+<!ENTITY findAgainCmd.accesskey "v">
+<!ENTITY findAgainCmd.key "g">
+<!ENTITY findAgainCmd.key2 "VK_F3">
+<!ENTITY findPrevCmd.key "g">
+<!ENTITY findPrevCmd.key2 "VK_F3">
+<!ENTITY searchMailCmd.label "Rechercher dans les messages…">
+<!ENTITY searchMailCmd.accesskey "c">
+<!ENTITY searchMailCmd.key "f">
+<!ENTITY glodaSearchCmd.label "Recherche globale…">
+<!ENTITY glodaSearchCmd.accesskey "R">
+<!ENTITY searchAddressesCmd.label "Rechercher dans les adresses…">
+<!ENTITY searchAddressesCmd.accesskey "a">
+
+<!-- Go Menu -->
+<!ENTITY goMenu.label "Aller à">
+<!ENTITY goMenu.accesskey "l">
+<!ENTITY nextMenu.label "Prochain">
+<!ENTITY nextMenu.accesskey "P">
+<!ENTITY nextMsgCmd.label "Message">
+<!ENTITY nextMsgCmd.accesskey "m">
+<!ENTITY nextMsgCmd.key "f">
+<!ENTITY nextUnreadMsgCmd.label "Message non lu">
+<!ENTITY nextUnreadMsgCmd.accesskey "n">
+<!ENTITY nextUnreadMsgCmd.key "n">
+<!ENTITY nextStarredMsgCmd.label "Message suivi">
+<!ENTITY nextStarredMsgCmd.accesskey "v">
+<!ENTITY nextUnreadThread.label "Discussion non lue">
+<!ENTITY nextUnreadThread.accesskey "s">
+<!ENTITY nextUnreadThread.key "t">
+<!ENTITY prevMenu.label "Précédent">
+<!ENTITY prevMenu.accesskey "r">
+<!ENTITY prevMsgCmd.label "Message">
+<!ENTITY prevMsgCmd.accesskey "M">
+<!ENTITY prevMsgCmd.key "b">
+<!ENTITY prevUnreadMsgCmd.label "Message non lu">
+<!ENTITY prevUnreadMsgCmd.accesskey "n">
+<!ENTITY prevUnreadMsgCmd.key "p">
+<!ENTITY goForwardCmd.label "Suivant">
+<!ENTITY goForwardCmd.accesskey "S">
+<!ENTITY goForwardCmd.commandKey "]">
+<!ENTITY goBackCmd.label "Précédent">
+<!ENTITY goBackCmd.accesskey "c">
+<!ENTITY goBackCmd.commandKey "[">
+<!ENTITY goChatCmd.label "Messagerie instantanée">
+<!ENTITY goChatCmd.accesskey "s">
+<!ENTITY prevStarredMsgCmd.label "Message suivi">
+<!ENTITY prevStarredMsgCmd.accesskey "v">
+<!ENTITY folderMenu.label "Dossier">
+<!ENTITY folderMenu.accesskey "o">
+<!ENTITY goRecentlyClosedTabs.label "Onglets récemment fermés">
+<!ENTITY goRecentlyClosedTabs.accesskey "r">
+<!ENTITY startPageCmd.label "Page de démarrage">
+<!ENTITY startPageCmd.accesskey "g">
+
+<!-- Message Menu -->
+<!ENTITY msgMenu.label "Messages">
+<!ENTITY msgMenu.accesskey "M">
+<!ENTITY newMsgCmd.label "Nouveau message">
+<!ENTITY newMsgCmd.accesskey "N">
+<!ENTITY newNewMsgCmd.label "Message">
+<!ENTITY newNewMsgCmd.accesskey "M">
+<!ENTITY archiveMsgCmd.label "Archiver">
+<!ENTITY archiveMsgCmd.accesskey "A">
+<!ENTITY archiveMsgCmd.key "a">
+<!ENTITY cancelNewsMsgCmd.label "Annuler le message">
+<!ENTITY cancelNewsMsgCmd.accesskey "A">
+<!ENTITY replyMsgCmd.label "Répondre">
+<!ENTITY replyMsgCmd.accesskey "R">
+<!ENTITY replyMsgCmd.key "r">
+<!ENTITY replySenderCmd.label "Répondre à l’exp. seulement">
+<!ENTITY replySenderCmd.accesskey "R">
+<!ENTITY replyNewsgroupCmd2.label "Faire suivre au groupe">
+<!ENTITY replyNewsgroupCmd2.accesskey "g">
+<!ENTITY replyToAllMsgCmd.label "Répondre à tous">
+<!ENTITY replyToAllMsgCmd.accesskey "t">
+<!ENTITY replyToAllMsgCmd.key "r">
+<!ENTITY replyToListMsgCmd.label "Répondre à la liste">
+<!ENTITY replyToListMsgCmd.accesskey "o">
+<!ENTITY replyToListMsgCmd.key "l">
+<!ENTITY forwardMsgCmd.label "Transférer">
+<!ENTITY forwardMsgCmd.accesskey "f">
+<!ENTITY forwardMsgCmd.key "l">
+<!ENTITY forwardAsMenu.label "Transférer au format">
+<!ENTITY forwardAsMenu.accesskey "s">
+<!ENTITY forwardAsInline.label "Intégré">
+<!ENTITY forwardAsInline.accesskey "I">
+<!ENTITY forwardAsAttachmentCmd.label "Pièce jointe">
+<!ENTITY forwardAsAttachmentCmd.accesskey "P">
+<!ENTITY editAsNewMsgCmd.label "Modifier comme un nouveau message">
+<!ENTITY editAsNewMsgCmd.accesskey "e">
+<!ENTITY editAsNewMsgCmd.key "e">
+<!ENTITY editDraftMsgCmd.label "Modifier le brouillon">
+<!ENTITY editDraftMsgCmd.accesskey "b">
+<!ENTITY editTemplateMsgCmd.label "Modifier le modèle">
+<!ENTITY editTemplateMsgCmd.accesskey "M">
+<!ENTITY newMsgFromTemplateCmd.label "Nouveau message depuis un modèle">
+<!ENTITY newMsgFromTemplateCmd.keycode "VK_RETURN"><!-- do not change "VK_RETURN" -->
+<!ENTITY createFilter.label "Créer un filtre à partir du message…">
+<!ENTITY createFilter.accesskey "i">
+<!ENTITY moveMsgToMenu.label "Déplacer le message vers">
+<!ENTITY moveMsgToMenu.accesskey "D">
+<!ENTITY moveCopyMsgRecentMenu.label "Récent">
+<!ENTITY moveCopyMsgRecentMenu.accesskey "R">
+<!ENTITY copyMessageLocation.label "Copier l’adresse du message">
+<!ENTITY copyMessageLocation.accesskey "m">
+<!ENTITY copyMsgToMenu.label "Copier le message vers">
+<!ENTITY copyMsgToMenu.accesskey "C">
+<!ENTITY moveToFolderAgain.label "Déplacer à nouveau">
+<!ENTITY moveToFolderAgain.accesskey "v">
+<!ENTITY moveToFolderAgainCmd.key "m">
+<!ENTITY killThreadMenu.label "Ignorer la discussion">
+<!ENTITY killThreadMenu.accesskey "I">
+<!ENTITY killThreadMenu.key "k">
+<!ENTITY killSubthreadMenu.label "Ignorer les sous-fils de discussion">
+<!ENTITY killSubthreadMenu.accesskey "n">
+<!ENTITY killSubthreadMenu.key "k">
+<!ENTITY watchThreadMenu.label "Surveiller la discussion">
+<!ENTITY watchThreadMenu.accesskey "S">
+<!ENTITY watchThreadMenu.key "w">
+<!ENTITY tagMenu.label "Étiquette">
+<!ENTITY tagMenu.accesskey "q">
+<!ENTITY tagCmd0.key "0">
+<!ENTITY tagCmd1.key "1">
+<!ENTITY tagCmd2.key "2">
+<!ENTITY tagCmd3.key "3">
+<!ENTITY tagCmd4.key "4">
+<!ENTITY tagCmd5.key "5">
+<!ENTITY tagCmd6.key "6">
+<!ENTITY tagCmd7.key "7">
+<!ENTITY tagCmd8.key "8">
+<!ENTITY tagCmd9.key "9">
+<!ENTITY markMenu.label "Marquer">
+<!ENTITY markMenu.accesskey "a">
+<!ENTITY toggleReadCmd.key "m">
+<!ENTITY markAsReadCmd.label "Comme lu">
+<!ENTITY markAsReadCmd.accesskey "l">
+<!ENTITY markAsUnreadCmd.label "Comme non lu">
+<!ENTITY markAsUnreadCmd.accesskey "m">
+<!ENTITY markThreadAsReadCmd.label "La discussion comme lue">
+<!ENTITY markThreadAsReadCmd.accesskey "d">
+<!ENTITY markThreadAsReadCmd.key "r">
+<!ENTITY markReadByDateCmd.label "Comme lus par date…">
+<!ENTITY markReadByDateCmd.accesskey "t">
+<!ENTITY markReadByDateCmd.key "c">
+<!ENTITY markAllReadCmd.label "Tous les messages comme lus">
+<!ENTITY markAllReadCmd.accesskey "g">
+<!ENTITY markAllReadCmd.key "c">
+<!ENTITY markStarredCmd.label "Ajouter un suivi">
+<!ENTITY markStarredCmd.accesskey "v">
+<!ENTITY markStarredCmd.key "S">
+<!ENTITY markAsJunkCmd.label "Comme indésirable">
+<!ENTITY markAsJunkCmd.accesskey "i">
+<!ENTITY markAsJunkCmd.key "j">
+<!ENTITY markAsNotJunkCmd.label "Comme acceptable">
+<!ENTITY markAsNotJunkCmd.accesskey "a">
+<!ENTITY markAsNotJunkCmd.key "j">
+<!ENTITY recalculateJunkScoreCmd.label "Lancer le contrôle des indésirables">
+<!ENTITY recalculateJunkScoreCmd.accesskey "s">
+<!ENTITY openMessageWindowCmd.label "Ouvrir le message">
+<!ENTITY openMessageWindowCmd.accesskey "O">
+<!ENTITY openMessageWindowCmd.key "o">
+<!ENTITY openInConversationCmd.label "Ouvrir dans la discussion">
+<!ENTITY openInConversationCmd.accesskey "u">
+<!ENTITY openInConversationCmd.key "o">
+<!ENTITY openAttachmentListCmd.label "Pièces jointes">
+<!ENTITY openAttachmentListCmd.accesskey "j">
+<!ENTITY openFeedMessage1.label "À l’ouverture des messages de flux">
+<!ENTITY openFeedMessage1.accesskey "x">
+<!ENTITY openFeedWebPage.label "Ouvrir en tant que page web">
+<!ENTITY openFeedWebPage.accesskey "w">
+<!ENTITY openFeedSummary.label "Ouvrir en tant que résumé">
+<!ENTITY openFeedSummary.accesskey "t">
+<!ENTITY openFeedWebPageInMP.label "Basculer entre page web et résumé dans le panneau de message">
+<!ENTITY openFeedWebPageInMP.accesskey "B">
+
+<!-- Windows Menu -->
+<!ENTITY windowMenu.label "Fenêtre">
+
+<!-- Tools Menu -->
+<!ENTITY tasksMenu.label "Outils">
+<!ENTITY tasksMenu.accesskey "O">
+<!ENTITY messengerCmd.label "Courrier et groupes">
+<!ENTITY messengerCmd.accesskey "g">
+<!ENTITY addressBookCmd.label "Carnet d’adresses">
+<!ENTITY addressBookCmd.accesskey "a">
+<!ENTITY addressBookCmd.key "B">
+<!ENTITY addonNoPrefs.label "Aucun paramètre de module n’a été trouvé.">
+<!ENTITY activitymanager.label "Activités">
+<!ENTITY activitymanager.accesskey "v">
+<!ENTITY imAccountsStatus.label "État de messagerie instantanée">
+<!ENTITY imAccountsStatus.accesskey "d">
+<!ENTITY imStatus.available "Disponible">
+<!ENTITY imStatus.unavailable "Occupé">
+<!ENTITY imStatus.offline "Déconnecté">
+<!ENTITY imStatus.showAccounts "Afficher les comptes…">
+<!ENTITY joinChatCmd.label "Rejoindre la discussion…">
+<!ENTITY joinChatCmd.accesskey "o">
+<!ENTITY savedFiles.label "Fichiers enregistrés">
+<!ENTITY savedFiles.accesskey "F">
+<!ENTITY savedFiles.key "j">
+<!ENTITY filtersCmd2.label "Filtres de messages">
+<!ENTITY filtersCmd2.accesskey "t">
+<!ENTITY filtersApply.label "Appliquer les filtres sur le dossier">
+<!ENTITY filtersApply.accesskey "l">
+<!ENTITY filtersApplyToSelection.label "Appliquer les filtres sur les messages sélectionnés">
+<!ENTITY filtersApplyToSelection.accesskey "A">
+<!ENTITY filtersApplyToMessage.label "Appliquer les filtres sur le message">
+<!ENTITY filtersApplyToMessage.accesskey "m">
+<!ENTITY runJunkControls.label "Traquer les indésirables dans le dossier">
+<!ENTITY runJunkControls.accesskey "q">
+<!ENTITY deleteJunk.label "Supprimer les indésirables de ce dossier">
+<!ENTITY deleteJunk.accesskey "e">
+<!ENTITY importCmd.label "Importer…">
+<!ENTITY importCmd.accesskey "I">
+<!ENTITY exportCmd.label "Exporter…">
+<!ENTITY exportCmd.accesskey "x">
+<!ENTITY clearRecentHistory.label "Supprimer l’historique récent…">
+<!ENTITY clearRecentHistory.accesskey "h">
+<!ENTITY accountManagerCmd2.label "Paramètres des comptes">
+<!ENTITY accountManagerCmd2.accesskey "m">
+<!-- LOCALIZATION NOTE (accountManagerCmdUnix.accesskey):
+ Belongs to accountManagerCmd.label, which is placed under the Edit menu
+ on Unix systems
+ -->
+<!ENTITY accountManagerCmdUnix2.accesskey "a">
+
+<!-- Developer Tools Submenu -->
+<!ENTITY devtoolsMenu.label "Outils de développement">
+<!ENTITY devtoolsMenu.accesskey "o">
+<!ENTITY devToolboxCmd.label "Boîte à outils de développement">
+<!ENTITY devToolboxCmd.accesskey "B">
+<!ENTITY devToolboxCmd.commandkey "i">
+<!ENTITY debugAddonsCmd.label "Déboguer les modules">
+<!ENTITY debugAddonsCmd.accesskey "M">
+<!ENTITY errorConsoleCmd.label "Console d’erreurs">
+<!ENTITY errorConsoleCmd.accesskey "s">
+<!ENTITY errorConsoleCmd.commandkey "j">
+
+<!-- Mail Toolbar -->
+<!ENTITY getMsgButton1.label "Relever">
+<!ENTITY newMsgButton.label "Écrire">
+<!ENTITY replyButton.label "Répondre">
+<!ENTITY replyAllButton.label "Rép. à tous">
+<!ENTITY replyListButton.label "Rép. à la liste">
+<!ENTITY forwardButton.label "Transférer">
+<!ENTITY fileButton.label "Classer">
+<!ENTITY archiveButton.label "Archiver">
+<!ENTITY openConversationButton.label "Conversation">
+<!ENTITY nextButton.label "Suivant">
+<!ENTITY nextButtonToolbarItem.label "Non lu suivant">
+<!ENTITY nextMsgButton.label "Suivant">
+<!ENTITY previousButton.label "Précédent">
+<!ENTITY previousButtonToolbarItem.label "Non lu précédent">
+<!ENTITY previousMsgButton.label "Précédent">
+<!ENTITY backButton1.label "Reculer">
+<!ENTITY goForwardButton1.label "Avancer">
+<!ENTITY deleteItem.title "Supprimer">
+<!ENTITY markButton.label "Marquer">
+<!ENTITY printButton.label "Imprimer">
+<!ENTITY stopButton.label "Arrêter">
+<!ENTITY throbberItem.title "Indicateur d’activité">
+<!ENTITY junkItem.title "Indésirable">
+<!ENTITY addressBookButton.label "Adresses">
+<!ENTITY chatButton.label "Messagerie instantanée">
+<!ENTITY glodaSearch.title "Recherche globale">
+<!ENTITY searchItem.title "Recherche rapide">
+<!ENTITY mailViewsToolbarItem.title "Vues de courrier">
+<!ENTITY folderLocationToolbarItem.title "Emplacement du dossier">
+<!ENTITY tagButton.label "Étiquette">
+<!ENTITY compactButton.label "Compacter">
+<!ENTITY appmenuButton.label "Menu de l’application">
+
+<!-- Mail Toolbar Tooltips-->
+<!ENTITY advancedButton.tooltip "Rechercher dans les messages…">
+<!ENTITY getMsgButton.tooltip "Relever les nouveaux messages">
+<!ENTITY getAllNewMsgCmd.label "Relever tous les nouveaux messages">
+<!ENTITY getAllNewMsgCmd.accesskey "l">
+<!ENTITY newMsgButton.tooltip "Créer un nouveau message">
+<!ENTITY replyButton.tooltip "Répondre au message">
+<!ENTITY replyAllButton.tooltip "Répondre à l’expéditeur et à tous les destinataires">
+<!ENTITY replyListButton.tooltip "Répondre à la liste de diffusion">
+<!ENTITY forwardButton.tooltip "Transférer le message sélectionné">
+<!ENTITY forwardAsInline.tooltip "Transférer le message sélectionné au format intégré">
+<!ENTITY forwardAsAttachment.tooltip "Transférer le message sélectionné au format pièce jointe">
+<!ENTITY fileButton.tooltip "Classer les messages sélectionnés">
+<!ENTITY archiveButton.tooltip "Archiver les messages sélectionnés">
+<!ENTITY openMsgConversationButton.tooltip "Afficher la conversation du message sélectionné">
+<!ENTITY nextButton.tooltip "Aller au prochain message non lu">
+<!ENTITY nextMsgButton.tooltip "Aller au prochain message">
+<!ENTITY previousButton.tooltip "Aller au précédent message non lu">
+<!ENTITY previousMsgButton.tooltip "Aller au précédent message">
+<!ENTITY goForwardButton.tooltip "Avancer d’un message">
+<!ENTITY goBackButton.tooltip "Reculer d’un message">
+<!ENTITY markButton.tooltip "Marquer les messages">
+<!ENTITY printButton.tooltip "Imprimer ce message">
+<!ENTITY stopButton.tooltip "Arrêter le transfert courant">
+<!ENTITY addressBookButton.tooltip "Ouvrir le carnet d’adresses">
+<!ENTITY chatButton.tooltip "Afficher l’onglet de messagerie instantanée">
+<!ENTITY tagButton.tooltip "Étiqueter les messages">
+<!ENTITY compactButton.tooltip "Retirer les messages supprimés du dossier sélectionné">
+<!ENTITY appmenuButton1.tooltip "Afficher le menu de &brandShortName;">
+
+<!-- Toolbar Button Popup -->
+<!ENTITY buttonMenuForwardAsInline.label "Transférer au format intégré">
+<!ENTITY buttonMenuForwardAsAttachment.label "Transférer au format pièce jointe">
+
+<!-- Remote Content Button Popup -->
+<!ENTITY remoteContentOptionsAllowForMsg.label "Afficher le contenu distant dans ce message">
+<!ENTITY remoteContentOptionsAllowForMsg.accesskey "h">
+<!ENTITY editRemoteContentSettings.label "Modifier les options pour le contenu distant…">
+<!ENTITY editRemoteContentSettings.accesskey "M">
+<!ENTITY editRemoteContentSettingsUnix.label "Modifier les préférences pour le contenu distant…">
+<!ENTITY editRemoteContentSettingsUnix.accesskey "M">
+
+<!-- Phishing Button Popup -->
+<!ENTITY phishingOptionIgnore.label "Ignorer l’avertissement pour ce message">
+<!ENTITY phishingOptionIgnore.accesskey "n">
+<!ENTITY phishingOptionSettings.label "Modifier les options de détection des courriers frauduleux…">
+<!ENTITY phishingOptionSettings.accesskey "d">
+<!ENTITY phishingOptionSettingsUnix.label "Modifier les préférences de détection des courriers frauduleux…">
+<!ENTITY phishingOptionSettingsUnix.accesskey "d">
+
+<!-- AppMenu Popup -->
+<!ENTITY appmenuNewMsgCmd.label "Nouveau message">
+<!ENTITY appmenuNewContactCmd.label "Contact du carnet d’adresses…">
+<!ENTITY appmenuEditMenu.label "Édition">
+<!ENTITY appmenuToolbarLayout.label "Personnaliser les barres d’outils…">
+<!ENTITY appmenuSelectThread.label "Sélectionner la discussion">
+<!ENTITY appmenuSelectFlagged.label "Sélectionner les messages suivis">
+
+<!-- Tags Menu Popup -->
+<!ENTITY addNewTag.label "Nouvelle étiquette…">
+<!ENTITY addNewTag.accesskey "N">
+<!ENTITY manageTags.label "Gérer les étiquettes…">
+<!ENTITY manageTags.accesskey "G">
+
+<!-- Folder Pane -->
+<!ENTITY folderNameColumn.label "Nom">
+<!ENTITY folderUnreadColumn.label "Non lu">
+<!ENTITY folderTotalColumn.label "Total">
+<!ENTITY folderSizeColumn.label "Taille">
+
+<!-- Folder Pane Context Menu -->
+<!ENTITY folderContextGetMessages.label "Relever les nouveaux messages">
+<!ENTITY folderContextGetMessages.accesskey "R">
+<!ENTITY folderContextMarkAllFoldersRead.label "Marquer tous les dossiers comme lus">
+<!ENTITY folderContextPauseAllUpdates.label "Mettre en pause toutes les mises à jour">
+<!ENTITY folderContextPauseUpdates.label "Mettre en pause les mises à jour">
+<!ENTITY folderContextPauseUpdates.accesskey "M">
+<!ENTITY folderContextOpenInNewWindow.label "Ouvrir dans une nouvelle fenêtre">
+<!ENTITY folderContextOpenInNewWindow.accesskey "O">
+<!ENTITY folderContextOpenNewTab.label "Ouvrir dans un nouvel onglet">
+<!ENTITY folderContextOpenNewTab.accesskey "u">
+<!ENTITY folderContextNew.label "Nouveau sous-dossier…">
+<!ENTITY folderContextNew.accesskey "v">
+<!ENTITY folderContextRename.label "Renommer">
+<!ENTITY folderContextRename.accesskey "R">
+<!ENTITY folderContextRemove.label "Supprimer">
+<!ENTITY folderContextRemove.accesskey "e">
+<!ENTITY folderContextCompact.label "Compacter">
+<!ENTITY folderContextCompact.accesskey "p">
+<!ENTITY folderContextEmptyTrash.label "Vider cette corbeille maintenant">
+<!ENTITY folderContextEmptyTrash.accesskey "V">
+<!ENTITY folderContextEmptyJunk.label "Vider le dossier des indésirables">
+<!ENTITY folderContextEmptyJunk.accesskey "s">
+<!ENTITY folderContextSendUnsentMessages.label "Envoyer les messages non envoyés">
+<!ENTITY folderContextSendUnsentMessages.accesskey "n">
+<!ENTITY folderContextUnsubscribe.label "Se désabonner du groupe…">
+<!ENTITY folderContextUnsubscribe.accesskey "u">
+<!ENTITY folderContextMarkNewsgroupRead.label "Marquer le groupe comme lu">
+<!ENTITY folderContextMarkNewsgroupRead.accesskey "q">
+<!ENTITY folderContextMarkMailFolderRead.label "Marquer le dossier comme lu">
+<!ENTITY folderContextMarkMailFolderRead.accesskey "d">
+<!ENTITY folderContextSubscribe.label "S’abonner…">
+<!ENTITY folderContextSubscribe.accesskey "b">
+<!ENTITY folderContextSearchForMessages.label "Rechercher dans les messages…">
+<!ENTITY folderContextSearchForMessages.accesskey "c">
+<!ENTITY folderContextProperties2.label "Propriétés">
+<!ENTITY folderContextProperties2.accesskey "t">
+<!ENTITY folderContextFavoriteFolder.label "Dossier préféré">
+<!ENTITY folderContextFavoriteFolder.accesskey "f">
+<!ENTITY folderContextSettings2.label "Paramètres">
+<!ENTITY folderContextSettings2.accesskey "a">
+
+<!-- Search Bar -->
+<!ENTITY SearchNameOrEmail.label "Le nom ou le message contient :">
+<!ENTITY SearchNameOrEmail.accesskey "n">
+
+<!-- Gloda Search Bar -->
+<!ENTITY glodaSearchBar.placeholder "Recherche dans les messages…">
+
+<!-- Quick Search Menu Bar -->
+<!ENTITY searchSubjectMenu.label "Sujet">
+<!ENTITY searchFromMenu.label "Expéditeur">
+<!ENTITY searchSubjectOrFromMenu.label "Sujet ou Expéditeur">
+<!ENTITY searchRecipient.label "Pour ou Copie à">
+<!ENTITY searchSubjectOrRecipientMenu.label "Sujet, Pour ou Copie à">
+<!ENTITY searchMessageBody.label "Message complet">
+<!ENTITY saveAsVirtualFolderMenu.label "Enregistrer la recherche comme dossier…">
+
+<!-- Thread Pane -->
+<!ENTITY selectColumn.label "Sélectionner des messages">
+<!ENTITY threadColumn.label "Discussion">
+<!ENTITY fromColumn.label "Expéditeur">
+<!ENTITY recipientColumn.label "Destinataire">
+<!ENTITY correspondentColumn.label "Correspondants">
+<!ENTITY subjectColumn.label "Sujet">
+<!ENTITY dateColumn.label "Date">
+<!ENTITY priorityColumn.label "Priorité">
+<!ENTITY tagsColumn.label "Étiquettes">
+<!ENTITY accountColumn.label "Compte">
+<!ENTITY statusColumn.label "Statut">
+<!ENTITY sizeColumn.label "Taille">
+<!ENTITY junkStatusColumn.label "Statut indésirable">
+<!ENTITY unreadColumn.label "Non lu">
+<!ENTITY totalColumn.label "Total">
+<!ENTITY readColumn.label "Lu">
+<!ENTITY receivedColumn.label "Reçu">
+<!ENTITY starredColumn.label "Suivi">
+<!ENTITY locationColumn.label "Emplacement">
+<!ENTITY idColumn.label "Ordre de réception">
+<!ENTITY attachmentColumn.label "Pièces jointes">
+<!ENTITY deleteColumn.label "Supprimer">
+
+<!-- Thread Pane Tooltips -->
+<!ENTITY columnChooser2.tooltip "Choisir les colonnes à afficher">
+<!ENTITY selectColumn.tooltip "Sélectionner/désélectionner tous les messages">
+<!ENTITY threadColumn2.tooltip "Afficher les fils de discussion">
+<!ENTITY fromColumn2.tooltip "Trier par expéditeur">
+<!ENTITY recipientColumn2.tooltip "Trier par destinataire">
+<!ENTITY correspondentColumn2.tooltip "Trier par correspondants">
+<!ENTITY subjectColumn2.tooltip "Trier par sujet">
+<!ENTITY dateColumn2.tooltip "Trier par date">
+<!ENTITY priorityColumn2.tooltip "Trier par priorité">
+<!ENTITY tagsColumn2.tooltip "Trier par étiquettes">
+<!ENTITY accountColumn2.tooltip "Trier par compte">
+<!ENTITY statusColumn2.tooltip "Trier par statut">
+<!ENTITY sizeColumn2.tooltip "Trier par taille">
+<!ENTITY junkStatusColumn2.tooltip "Trier par statut indésirable">
+<!ENTITY unreadColumn2.tooltip "Nombre de messages non lus dans le fil">
+<!ENTITY totalColumn2.tooltip "Nombre total de messages dans le fil">
+<!ENTITY readColumn2.tooltip "Trier par statut de lecture">
+<!ENTITY receivedColumn2.tooltip "Trier par date de réception">
+<!ENTITY starredColumn2.tooltip "Trier par suivi">
+<!ENTITY locationColumn2.tooltip "Trier par adresse">
+<!ENTITY idColumn2.tooltip "Trier par ordre de réception">
+<!ENTITY attachmentColumn2.tooltip "Trier par pièces jointes">
+<!ENTITY deleteColumn.tooltip "Supprimer un message">
+
+<!-- Thread Pane Context Menu -->
+<!ENTITY contextNewMsgFromTemplate.label "Nouveau message depuis un modèle">
+<!ENTITY contextOpenNewWindow.label "Ouvrir dans une nouvelle fenêtre">
+<!ENTITY contextOpenNewWindow.accesskey "n">
+<!-- The contextOpenNewTab.accesskey ("T") potentially conflicts with
+ cutCmd.accessKey which is defined in textcontext.dtd from toolkit. Right
+ now, both menu items can't be visible at the same time, but should someone
+ enable copy/paste of message, this key would probably need to be changed. -->
+<!ENTITY contextOpenNewTab.label "Ouvrir dans un nouvel onglet">
+<!ENTITY contextOpenNewTab.accesskey "u">
+<!ENTITY contextOpenConversation.label "Ouvrir le message dans la discussion">
+<!ENTITY contextOpenConversation.accesskey "v">
+<!ENTITY contextOpenContainingFolder.label "Ouvrir le message dans le dossier qui le contient">
+<!ENTITY contextOpenContainingFolder.accesskey "i">
+<!ENTITY contextEditMsgAsNew.label "Modifier comme un nouveau message">
+<!ENTITY contextEditMsgAsNew.accesskey "e">
+<!ENTITY contextEditDraftMsg.label "Modifier le brouillon">
+<!ENTITY contextEditTemplate.label "Modifier le modèle">
+<!ENTITY contextEditTemplate.accesskey "M">
+<!ENTITY contextArchive.label "Archiver">
+<!ENTITY contextArchive.accesskey "h">
+<!ENTITY contextReplySender.label "Répondre à l’expéditeur">
+<!ENTITY contextReplySender.accesskey "x">
+<!ENTITY contextReplyNewsgroup2.label "Faire suivre au groupe">
+<!ENTITY contextReplyNewsgroup2.accesskey "g">
+<!ENTITY contextReplyAll.label "Répondre à tout le monde">
+<!ENTITY contextReplyAll.accesskey "t">
+<!ENTITY contextReplyList.label "Répondre à la liste">
+<!ENTITY contextReplyList.accesskey "l">
+<!ENTITY contextForward.label "Transférer">
+<!ENTITY contextForward.accesskey "f">
+<!ENTITY contextForwardAsMenu.label "Transférer au format">
+<!ENTITY contextForwardAsMenu.accesskey "m">
+<!ENTITY contextForwardAsInline.label "Intégré">
+<!ENTITY contextForwardAsInline.accesskey "I">
+<!ENTITY contextForwardAsAttachmentItem.label "Pièce jointe">
+<!ENTITY contextForwardAsAttachmentItem.accesskey "P">
+<!ENTITY contextMultiForwardAsAttachment.label "Transférer au format pièce jointe">
+<!ENTITY contextMultiForwardAsAttachment.accesskey "p">
+<!ENTITY contextMoveMsgMenu.label "Déplacer vers">
+<!ENTITY contextMoveMsgMenu.accesskey "D">
+<!ENTITY contextMoveCopyMsgRecentMenu.label "Récent">
+<!ENTITY contextMoveCopyMsgRecentMenu.accesskey "R">
+<!ENTITY contextMoveCopyMsgFavoritesMenu.label "Préférés">
+<!ENTITY contextMoveCopyMsgFavoritesMenu.accesskey "P">
+<!ENTITY contextCopyMsgMenu.label "Copier vers">
+<!ENTITY contextCopyMsgMenu.accesskey "c">
+<!ENTITY contextKillThreadMenu.label "Ignorer la discussion">
+<!ENTITY contextKillSubthreadMenu.accesskey "g">
+<!ENTITY contextKillThreadMenu.accesskey "I">
+<!ENTITY contextKillSubthreadMenu.label "Ignorer le sous-fil de discussion">
+<!ENTITY contextWatchThreadMenu.label "Surveiller la discussion">
+<!-- LOCALIZATION NOTE (contextWatchThreadMenu.accesskey):
+ In the en-US locale we ran out of access keys, so there is an empty access key for
+ Watch Thread. Localizers can pick a suitable key
+ -->
+<!ENTITY contextWatchThreadMenu.accesskey "">
+<!ENTITY contextSaveAs.label "Enregistrer sous…">
+<!ENTITY contextSaveAs.accesskey "r">
+<!ENTITY contextPrint.label "Imprimer…">
+<!ENTITY contextPrint.accesskey "p">
+<!ENTITY contextPrintPreview.label "Aperçu avant impression">
+<!ENTITY contextPrintPreview.accesskey "o">
+
+<!-- LOCALIZATION NOTE (columnPicker.applyTo.label):
+ This option in the thread pane column picker pops up a sub-menu containing
+ the "columnPicker.applyToFolder.label" and
+ "columnPicker.applyToFolderAndChildren.label" options. This item indicates
+ a desire to apply the currently displayed set of columns to some other
+ folder(s). The sub-menu items indicate whether we want to apply it to just
+ a folder or also its children.
+ -->
+<!ENTITY columnPicker.applyTo.label "Appliquer ces paramètres à…">
+<!-- LOCALIZATION NOTE (columnPicker.applyToFolder.label):
+ This option in the thread pane column picker is found on a sub-menu beneath
+ the "columnPicker.applyTo.label" alongside
+ "columnPicker.applyToFolderAndChildren.label". It indicates a desire to
+ apply the currently display thread pane column settings to a single folder
+ that the user selects using the same widget as the move to/copy to
+ mechanism (via a series of popups).
+ -->
+<!ENTITY columnPicker.applyToFolder.label "Dossier…">
+<!-- LOCALIZATION NOTE (columnPicker.applyToFolderAndChildren.label):
+ This option in the thread pane column picker is found on a sub-menu beneath
+ the "columnPicker.applyTo.label" alongside
+ "columnPicker.applyToFolder.label". It indicates a desire to
+ apply the currently display thread pane column settings to a folder and all
+ of its descendents. The user selects the folder using the same widget as the
+ move to/copy to mechanism (via a series of popups).
+ -->
+<!ENTITY columnPicker.applyToFolderAndChildren.label "Dossier et sous-dossiers…">
+<!-- LOCALIZATION NOTE (columnPicker.thisFolder.label):
+ This is used in the folder selection widget for the
+ "columnPicker.applyToFolder.label" and
+ "columnPicker.applyToFolderAndChildren.label" menu options. Whenever
+ a folder has children, it results in a menu popup; the first menu item
+ in that popup is given this label to indicate that that folder should be
+ selected. For example, if folder "A" has two children, "B" and "C", then
+ when the user hovers over "A", a new popup menu will be displayed whose
+ items are "This folder", "B", and "C". This is the equivalent of the
+ "File here" option for the move to/copy to widget.
+ -->
+<!ENTITY columnPicker.thisFolder.label "Ce dossier">
+
+<!-- Media (video/audio) controls -->
+<!ENTITY contextPlay.label "Lire">
+<!ENTITY contextPlay.accesskey "L">
+<!ENTITY contextPause.label "Pause">
+<!ENTITY contextPause.accesskey "P">
+<!ENTITY contextMute.label "Muet">
+<!ENTITY contextMute.accesskey "u">
+<!ENTITY contextUnmute.label "Audible">
+<!ENTITY contextUnmute.accesskey "A">
+
+<!-- Quick Search Bar -->
+<!-- LOCALIZATION NOTE (quickSearchCmd.key):
+ This is actually the key used for the global message search box; we have
+ not changed
+ -->
+<!ENTITY quickSearchCmd.key "k">
+<!-- LOCALIZATION NOTE (search.label.base1):
+ This is the base of the empty text for the global search box. We replace
+ #1 with the contents of the appropriate search.keyLabel.* value for the
+ platform.
+ The goal is to convey to the user that typing in the box will allow them
+ to search for messages globally and that there is a hotkey they can press
+ to get to the box faster. If the global indexer is disabled, the search
+ box will be collapsed and the user will never see this message.
+ -->
+<!ENTITY search.label.base1 "Rechercher #1">
+<!-- LOCALIZATION NOTE (search.keyLabel.nonmac):
+ The description of the key-binding to get into the global search box on
+ windows and linux (which use the control key). We use the key defined in
+ the quickSearchCmd.key entity defined above, the letter should match it.
+ -->
+<!ENTITY search.keyLabel.nonmac "&lt;Ctrl+K&gt;">
+<!-- LOCALIZATION NOTE (search.keyLabel.mac):
+ The description of the key-binding to get into the global search box on mac
+ systems. We use the key defined in the quickSearchCmd.key entity defined
+ above, the letter should match it.
+ -->
+<!ENTITY search.keyLabel.mac "&lt;&#x2318;K&gt;">
+
+<!-- Message Header Context Menu -->
+<!ENTITY AddToAddressBook.label "Ajouter l’adresse au carnet d’adresses">
+<!ENTITY AddToAddressBook.accesskey "j">
+<!ENTITY AddDirectlyToAddressBook.label "Ajouter au carnet d’adresses">
+<!ENTITY AddDirectlyToAddressBook.accesskey "o">
+<!ENTITY EditContact1.label "Modifier le contact">
+<!ENTITY EditContact1.accesskey "M">
+<!ENTITY ViewContact.label "Afficher le contact">
+<!ENTITY ViewContact.accesskey "A">
+<!ENTITY SubscribeToNewsgroup.label "S’abonner à un groupe de discussion">
+<!ENTITY SubscribeToNewsgroup.accesskey "N">
+<!ENTITY SendMessageTo.label "Envoyer un message à">
+<!ENTITY SendMessageTo.accesskey "y">
+<!ENTITY CopyEmailAddress.label "Copier l’adresse e-mail">
+<!ENTITY CopyEmailAddress.accesskey "C">
+<!ENTITY CopyNameAndEmailAddress.label "Copier le nom et l’adresse e-mail">
+<!ENTITY CopyNameAndEmailAddress.accesskey "l">
+<!ENTITY CopyNewsgroupName.label "Copier le nom du groupe de discussion">
+<!ENTITY CopyNewsgroupName.accesskey "g">
+<!ENTITY CopyNewsgroupURL.label "Copier l’adresse du groupe de discussion">
+<!ENTITY CopyNewsgroupURL.accesskey "d">
+<!ENTITY CreateFilterFrom.label "Créer un filtre…">
+<!ENTITY CreateFilterFrom.accesskey "f">
+<!ENTITY reportPhishingURL.label "Signaler un message frauduleux">
+<!ENTITY reportPhishingURL.accesskey "S">
+
+<!-- Spell checker context menu items -->
+<!ENTITY spellAddDictionaries.label "Ajouter des dictionnaires…">
+<!ENTITY spellAddDictionaries.accesskey "A">
+
+<!-- Content Pane Context Menu -->
+<!ENTITY saveLinkAsCmd.label "Enregistrer le lien sous…">
+<!ENTITY saveLinkAsCmd.accesskey "e">
+<!ENTITY saveImageAsCmd.label "Enregistrer l’image sous…">
+<!ENTITY saveImageAsCmd.accesskey "a">
+<!ENTITY copyLinkCmd.label "Copier l’adresse du lien">
+<!ENTITY copyLinkCmd.accesskey "n">
+<!ENTITY copyImageAllCmd.label "Copier l’image">
+<!ENTITY copyImageAllCmd.accesskey "m">
+<!ENTITY copyEmailCmd.label "Copier l’adresse e-mail">
+<!ENTITY copyEmailCmd.accesskey "e">
+<!ENTITY stopCmd.label "Arrêter">
+<!ENTITY stopCmd.accesskey "r">
+<!ENTITY reloadCmd.label "Actualiser">
+<!ENTITY reloadCmd.accesskey "c">
+<!ENTITY openInBrowser.label "Ouvrir dans le navigateur">
+<!ENTITY openInBrowser.accesskey "n">
+<!ENTITY openLinkInBrowser.label "Ouvrir le lien dans le navigateur">
+<!ENTITY openLinkInBrowser.accesskey "a">
+
+<!-- Statusbar -->
+<!ENTITY statusText.label "Chargé">
+
+<!-- Mac OS X Window Menu -->
+<!ENTITY minimizeWindow.label "Réduire">
+<!ENTITY minimizeWindow.key "m">
+<!ENTITY bringAllToFront.label "Tout amener à l’avant-plan">
+<!ENTITY zoomWindow.label "Zoom">
+
+<!-- Mac OS X Application Menu (Cocoa widgets) -->
+<!ENTITY preferencesCmdMac2.label "Préférences">
+<!ENTITY preferencesCmdMac.commandkey ",">
+<!ENTITY preferencesCmdMac.modifiers "accel">
+<!ENTITY servicesMenuMac.label "Services">
+<!ENTITY hideThisAppCmdMac.label "Masquer &brandShortName;">
+<!ENTITY hideThisAppCmdMac.commandkey "H">
+<!ENTITY hideThisAppCmdMac.modifiers "accel">
+<!ENTITY hideOtherAppsCmdMac.label "Masquer les autres">
+<!ENTITY hideOtherAppsCmdMac.commandkey "H">
+<!ENTITY hideOtherAppsCmdMac.modifiers "accel,alt">
+<!ENTITY showAllAppsCmdMac.label "Tout afficher">
+
+<!-- Mac OS X Dock Icon pop-up menu -->
+<!ENTITY dockOptions.label "Options de l’icône de l’application…">
+<!ENTITY writeNewMessageDock.label "Rédiger un nouveau message">
+<!ENTITY openAddressBookDock.label "Ouvrir le carnet d’adresses">
+
+<!-- Content tab Navigation buttons -->
+<!ENTITY browseBackButton.tooltip "Page précédente">
+<!ENTITY browseForwardButton.tooltip "Page suivante">
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/messenger.properties b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/messenger.properties
new file mode 100644
index 0000000000..60a796f7d4
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/messenger.properties
@@ -0,0 +1,768 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# The following are used by the messenger application
+#
+
+# LOCALIZATION NOTE(statusMessage):
+# Do not translate the words %1$S and %2$S below. Place the word %1$S where the
+# account name should appear and %2$S where the status message should appear.
+# EXAMPLE: Jim's Account: Downloading messages...
+statusMessage=%1$S : %2$S
+
+removeAccount=Supprimer le compte…
+newFolderMenuItem=Dossier…
+newSubfolderMenuItem=Sous-dossier…
+newFolder=Nouveau dossier…
+newSubfolder=Nouveau sous-dossier…
+markFolderRead=Marquer le dossier comme lu;Marquer les dossiers comme lus
+markNewsgroupRead=Marquer le groupe comme lu;Marquer les groupes comme lus
+folderProperties=Propriétés du dossier…
+newTag=Nouvelle étiquette…
+# LOCALIZATION NOTE (getNextNewsMessages): Semi-colon list of plural forms.
+# #1 is the number of news messages to get.
+getNextNewsMessages=Relever le prochain message du groupe;Relever les #1 prochains messages du groupe
+advanceNextPrompt=Avancer au prochain message non lu dans %S ?
+titleNewsPreHost=sur
+replyToSender=Répondre à l’expéditeur
+reply=Répondre
+EMLFiles=Fichiers de message
+OpenEMLFiles=Ouvrir le message
+# LOCALIZATION NOTE(defaultSaveMessageAsFileName): Do not translate ".eml"
+# in the line below. Also, the complete file name should be 8.3.
+defaultSaveMessageAsFileName=message.eml
+# LOCALIZATION NOTE(longMsgSubjectTruncator): A suffix string appended to the filename
+# (created from message subject) if it needed to be truncated due to length.
+longMsgSubjectTruncator=…
+SaveMailAs=Enregistrer le message sous
+SaveAttachment=Enregistrer la pièce jointe
+SaveAllAttachments=Enregistrer toutes les pièces jointes
+DetachAttachment=Retirer la pièce jointe
+DetachAllAttachments=Retirer toutes les pièces jointes
+ChooseFolder=Choisir un dossier
+MessageLoaded=Message chargé…
+PreviewTitle=%S - %S
+saveAttachmentFailed=Impossible d’enregistrer la pièce jointe. Veuillez vérifier le nom du fichier et essayer à nouveau.
+saveMessageFailed=Impossible d’enregistrer le message. Veuillez vérifier le nom du fichier et essayer à nouveau.
+fileExists=%S existe déjà. Voulez-vous le remplacer ?
+# LOCALIZATION NOTE(failedToReadFile): %1$S is replaced by the file name, %2$S is replaced by the reason the file load failed.
+failedToReadFile=Échec de la lecture du fichier : %1$S. Raison : %2$S
+
+downloadingNewsgroups=Téléchargement des groupes pour une utilisation hors connexion
+downloadingMail=Téléchargement du courrier pour son utilisation hors connexion
+sendingUnsent=Envoi des messages en attente
+
+folderExists=Un dossier portant ce nom existe déjà. Choisissez-en un autre.
+# LOCALIZATION NOTE(confirmDuplicateFolderRename): %1$S is name of folder being moved, %2$S is parent folder name, %3$S is proposed new folder name
+confirmDuplicateFolderRename=Un sous-dossier portant le nom « %1$S » existe déjà dans le dossier « %2$S ». Voulez-vous déplacer ce dossier en utilisant le nouveau nom « %3$S » ?
+folderCreationFailed=Le dossier ne peut être créé car le nom contient un caractère inconnu. Veuillez saisir un nom différent et essayer à nouveau.
+
+compactingFolder=Compactage du dossier %S…
+# LOCALIZATION NOTE(compactingDone): %1$S is the compaction gain.
+compactingDone=Compactage terminé (gain : environ %1$S).
+
+confirmFolderDeletionForFilter=Supprimer le dossier « %S » désactivera les filtres associés. Voulez-vous vraiment effacer ce dossier ?
+alertFilterChanged=Les filtres associés à ce dossier vont être mis à jour.
+filterDisabled=Le dossier « %S » est introuvable. Les filtres qui lui sont associés vont être désactivés. Vérifiez que ce dossier existe réellement et que les filtres pointent vers un dossier de destination valide.
+filterFolderDeniedLocked=Les messages ne peuvent être filtrés vers le dossier « %S » car une autre opération est en cours.
+parsingFolderFailed=Impossible d’ouvrir le dossier %S car il est utilisé par une autre opération. Veuillez attendre la fin de cette opération et choisir à nouveau le dossier.
+deletingMsgsFailed=Impossible de supprimer les messages dans le dossier %S car il est utilisé par une autre opération. Veuillez attendre la fin de cette opération et essayer à nouveau.
+alertFilterCheckbox=Ne plus m’avertir.
+compactFolderDeniedLock=Le dossier « %S » ne peut être compacté car une autre opération est en cours. Veuillez essayer plus tard.
+compactFolderWriteFailed=Le dossier « %S » ne peut être compacté à cause d’une erreur d’écriture. Vérifiez qu’il reste assez d’espace disque et que vous possédez le droit d’écriture sur ce système de fichiers avant d’essayer à nouveau.
+compactFolderInsufficientSpace=Certains dossiers (par exemple « %S ») ne peuvent être compactés car il n’y a plus assez d’espace disque. Supprimez des fichiers puis essayez à nouveau.
+filterFolderHdrAddFailed=Les messages ne peuvent être filtrés vers le dossier « %S » car il est impossible d’ajouter un message. Vérifiez que le dossier s’affiche correctement ou essayez de le réparer depuis les propriétés du dossier.
+filterFolderWriteFailed=Les messages ne peuvent être filtrés vers le dossier « %S » car il est impossible d’écrire dans ce répertoire. Vérifiez qu’il reste assez d’espace disque et que vous possédez le droit d’écriture dans le dossier avant d’essayer à nouveau.
+copyMsgWriteFailed=Les messages ne peuvent être déplacés ou copiés vers le dossier « %S » parce que l’écriture dans le dossier a échoué. Pour récupérer de l’espace disque, à partir du menu « Fichier », choisissez d’abord « Vider la corbeille », puis « Compacter les dossiers » et essayez à nouveau.
+cantMoveMsgWOBodyOffline=Quand vous travaillez hors connexion, vous ne pouvez pas déplacer ou copier des messages qui n’ont pas été téléchargés pour une utilisation hors connexion. À partir de la fenêtre de Courrier, ouvrez le menu Fichier et choisissez Hors connexion. Décochez ensuite Travailler hors connexion, et essayez à nouveau.
+operationFailedFolderBusy=Impossible de terminer l’opération car un autre processus utilise le dossier. Veuillez attendre la fin de cette opération et essayer à nouveau.
+folderRenameFailed=Le dossier ne peut être renommé. Il se peut qu’il soit en cours d’analyse ou que le nouveau nom ne soit pas un nom de dossier valide.
+# LOCALIZATION NOTE(verboseFolderFormat): %1$S is folder name, %2$S is server name
+verboseFolderFormat=%1$S sur %2$S
+# LOCALIZATION NOTE(filterFolderTruncateFailed): %1$S is replaced by the folder name, %2$S is replaced by the brandShortName
+filterFolderTruncateFailed=Une erreur est survenue lors de la troncature du dossier Courrier entrant après le filtrage d’un message vers le dossier « %1$S ». Il est possible que vous deviez fermer %2$S et supprimer le fichier INBOX.msf.
+
+mailboxTooLarge=Le dossier %S est plein et ne peut pas contenir davantage de messages. Afin de faire de la place pour d’autres messages, supprimez les messages les plus anciens ou sans intérêt puis compactez le dossier.
+outOfDiskSpace=Il n’y a plus assez d’espace disque pour télécharger les nouveaux messages. Essayez de supprimer d’anciens messages, de vider la corbeille ou de compacter les dossiers de courrier et essayez à nouveau.
+errorGettingDB=Impossible d’ouvrir le fichier de résumé pour %S. Il se peut qu’il y ait une erreur sur le disque ou que le chemin complet soit trop long.
+defaultServerTag=(Défaut)
+
+# Used in message database list view to provide a text value for graphic based cells.
+messageUnread=Non lu
+messageHasFlag=Suivi
+messageHasAttachment=Avec pièce jointe
+messageJunk=Indésirable
+messageExpanded=Développé
+messageCollapsed=Réduit
+
+# Used in the SMTP Account Settings panel when a server value has no properties
+smtpServerList-NotSpecified=<non spécifié>
+smtpServer-ConnectionSecurityType-0=Aucune
+smtpServer-ConnectionSecurityType-1=STARTTLS, si disponible
+smtpServer-ConnectionSecurityType-2=STARTTLS
+smtpServer-ConnectionSecurityType-3=SSL/TLS
+smtpServers-confirmServerDeletionTitle=Supprimer le serveur
+smtpServers-confirmServerDeletion=Voulez-vous vraiment supprimer le serveur : \n %S ?
+
+# Account Settings - Both Incoming and SMTP server
+authNo=Pas d’authentification
+authOld=Mot de passe, méthode d’origine (non sécurisé)
+authPasswordCleartextInsecurely=Mot de passe, transmission non sécurisée
+authPasswordCleartextViaSSL=Mot de passe normal
+authPasswordEncrypted=Mot de passe chiffré
+authKerberos=Kerberos / GSSAPI
+authExternal=Certificat TLS
+authNTLM=NTLM
+authOAuth2=OAuth2
+authAnySecure=Toute méthode sécurisée (obsolète)
+authAny=Toute méthode (non sécurisé)
+
+# OAuth2 window title
+# LOCALIZATION NOTE(oauth2WindowTitle):
+# %1$S is the username (or full email address) used for authentication.
+# %2$S is the hostname of the account being authenticated.
+oauth2WindowTitle=Veuillez saisir le mot de passe de %1$S sur %2$S
+
+# LOCALIZATION NOTE(serverType-nntp): Do not translate "NNTP" in the line below
+serverType-nntp=Serveur de groupes (NNTP)
+# LOCALIZATION NOTE(serverType-pop3): Do not translate "POP" in the line below
+serverType-pop3=Serveur de courrier POP
+# LOCALIZATION NOTE(serverType-imap): Do not translate "IMAP" in the line below
+serverType-imap=Serveur de courrier IMAP
+serverType-none=Stockage local du courrier
+
+sizeColumnTooltip2=Trier par taille
+sizeColumnHeader=Taille
+linesColumnTooltip2=Trier par nombre de lignes
+linesColumnHeader=Lignes
+
+# LOCALIZATION NOTE (getMsgButtonTooltip): Do not translate the word "%S" below.
+# Place the word "%S" in your translation where the name of the comma separated accounts should appear.
+getMsgButtonTooltip=Relever les nouveaux messages pour %S
+# Used to separate email addresses in a list. Note the trailing space ', '
+getMsgButtonTooltip.listSeparator=,\u0020
+
+# status feedback stuff
+documentDone=
+documentLoading=Chargement du message…
+
+# LOCALIZATION NOTE (autosyncProgress): Do not translate the word "%1$S" or "%2$S" below.
+# Place the word %1$S in your translation where the name of the comma separated folders should appear.
+# Place the word %2$S in your translation where the name of the comma separated accounts should appear.
+autosyncProgress=Synchronisation des messages du dossier %1$S du compte %2$S…
+
+unreadMsgStatus=Non lus : %S
+selectedMsgStatus=Sélectionnés : %S
+totalMsgStatus=Total : %S
+
+# localized folder names
+
+localFolders=Dossiers locaux
+
+# LOCALIZATION NOTE (inboxFolderName): OK to translate all foldernames, bugzilla #57440 & bugzilla #23625 fixed
+inboxFolderName=Courrier entrant
+trashFolderName=Corbeille
+sentFolderName=Envoyés
+draftsFolderName=Brouillons
+templatesFolderName=Modèles
+outboxFolderName=Messages en attente
+junkFolderName=Indésirables
+archivesFolderName=Archives
+
+# "Normal" priority is often blank,
+# depending on the consumers of these strings
+priorityLowest=Minimale
+priorityLow=Basse
+priorityNormal=Normale
+priorityHigh=Haute
+priorityHighest=Maximale
+
+#Group by date thread pane titles
+today=Aujourd’hui
+yesterday=Hier
+lastWeek=La semaine dernière
+last7Days=Ces 7 derniers jours
+twoWeeksAgo=Il y a deux semaines
+last14Days=Ces 14 derniers jours
+older=Anciens messages
+futureDate=Futurs messages
+
+#Grouped By Tags
+untaggedMessages=Messages sans étiquette
+
+# Grouped by status
+messagesWithNoStatus=Aucun statut
+
+#Grouped by priority
+noPriority=Aucune priorité
+
+#Grouped by has attachments
+noAttachments=Sans pièces jointes
+attachments=Avec pièces jointes
+
+#Grouped by starred
+notFlagged=Non suivis
+groupFlagged=Suivis
+
+# defaults descriptions for tag prefs listed in mailnews.js
+# (we keep the .labels. names for backwards compatibility)
+mailnews.tags.remove=Supprimer toutes les étiquettes
+mailnews.labels.description.1=Important
+mailnews.labels.description.2=Travail
+mailnews.labels.description.3=Personnel
+mailnews.labels.description.4=À faire
+mailnews.labels.description.5=En attente
+
+# Format definition tag menu texts.
+# This is necessary in order to get the accesskeys to be the on the first
+# character of the menu text instead of after the menu text.
+# If a key definition exists for the tag at index n, that key's key will be
+# taken as the accesskey, eg.
+# <key id="key_tag3" key="&tagCmd3.key;" oncommand="ToggleMessageTagKey(3);"/>
+# makes the third tag have the accesskey &tagCmd3.key;.
+# In the menuitem's label, this accesskey appears at %1$S below; %2$S will be
+# replaced by the tag label.
+mailnews.tags.format=%1$S %2$S
+
+replied=Répondu
+forwarded=Transféré
+redirected=Redirigé
+new=Nouveau
+read=Lu
+flagged=Suivi
+
+# for junk status picker in search and mail views
+junk=Indésirable
+
+# for junk score origin picker in search and mail views
+junkScoreOriginPlugin=Plugin
+junkScoreOriginFilter=Filtre
+junkScoreOriginWhitelist=Liste blanche
+junkScoreOriginUser=Utilisateur
+junkScoreOriginImapFlag=Étiquette IMAP
+
+# for the has attachment picker in search and mail views
+hasAttachments=Avec pièces jointes
+
+# for the Tag picker in search and mail views.
+tag=Étiquettes
+
+# LOCALIZATION NOTE(andOthers):
+# for multiple authors, add this abbreviation to the first author to indicate
+# there are more; for the From column in the threadpane message list.
+andOthers=et d’autres
+
+# whether to also show phonetic fields in the addressbook
+# LOCALIZATION NOTE(mail.addr_book.show_phonetic_fields):
+# the only valid values are: true OR false (choose from the untranslated English words)
+mail.addr_book.show_phonetic_fields=false
+
+# valid format options are:
+# 1: yyyy/mm/dd
+# 2: yyyy/dd/mm
+# 3: mm/dd/yyyy
+# 4: mm/yyyy/dd
+# 5: dd/mm/yyyy
+# 6: dd/yyyy/mm
+#
+# 0: auto-detect the current locale format
+# a separator has to be either '/', '-', '.' and the year in Christian year
+# otherwise mm/dd/yyyy (option 3) is used
+#
+mailnews.search_date_format=0
+# separator for search date (e.g. "/", "-"), or empty when search_date_format is zero
+mailnews.search_date_separator=
+# leading zeros for day and month values, not used if mailnews.search_date_format is not zero
+mailnews.search_date_leading_zeros=true
+
+# offline msg
+nocachedbodybody2=Le corps de ce message n’a pas été téléchargé depuis \
+le serveur pour une lecture hors connexion. Pour lire ce message, \
+vous devez vous reconnecter au réseau. Choisissez « Hors connexion » à partir \
+du menu Fichier et ensuite décochez « Travailler hors connexion ». \
+Dans le futur, vous pourrez choisir quels messages ou dossiers sont disponibles pour une lecture hors connexion. Pour ce \
+faire, choisissez « Hors connexion » à partir du menu Fichier et ensuite choisissez « Synchroniser ». Vous pouvez aussi \
+ajuster le paramètre d’espace disque pour éviter le téléchargement de messages trop volumineux.
+
+# LOCALIZATION NOTE(acctCentralTitleFormat): %1$S is brand, %2$S is account type, %3$S is account name
+acctCentralTitleFormat=%1$S %2$S - %3$S
+mailAcctType=Courrier
+newsAcctType=Groupes
+feedsAcctType=Nouvelles et Blogs
+
+# LOCALIZATION NOTE(nocachedbodytitle): Do not translate "<TITLE>" or "</TITLE>" in the line below
+nocachedbodytitle=<TITLE>Se connecter pour voir ce message</TITLE>\n
+
+# mailWindowOverlay.js
+confirmUnsubscribeTitle=Confirmation du désabonnement
+confirmUnsubscribeText=Voulez-vous vraiment vous désabonner de %S ?
+confirmUnsubscribeManyText=Voulez-vous vraiment vous désabonner de ces groupes ?
+restoreAllTabs=Restaurer tous les onglets
+
+confirmMarkAllFoldersReadTitle=Marquer tous les dossiers comme lus
+confirmMarkAllFoldersReadMessage=Voulez-vous vraiment marquer tous les messages dans tous les dossiers de ce compte comme lus ?
+
+# LOCALIZATION NOTE(junkBarMessage): %S is brand
+junkBarMessage=%S pense que ce message est frauduleux.
+junkBarButton=Acceptable
+junkBarButtonKey=c
+junkBarInfoButton=En savoir plus
+junkBarInfoButtonKey=s
+
+# LOCALIZATION NOTE(remoteContentBarMessage): %S is brand
+remoteContentBarMessage=Pour protéger votre vie privée, %S a bloqué l’affichage du contenu distant dans ce message.
+remoteContentPrefLabel=Options
+remoteContentPrefAccesskey=O
+remoteContentPrefLabelUnix=Préférences
+remoteContentPrefAccesskeyUnix=P
+
+# LOCALIZATION NOTE(remoteAllowResource): %S is origin
+remoteAllowResource=Autoriser le contenu distant depuis %S
+# LOCALIZATION NOTE(remoteAllowAll): Semi-colon list of plural forms.
+# See: https://developer.mozilla.org/en/Localization_and_Plurals
+# #1 is the number of origins
+remoteAllowAll=Autoriser le contenu distant depuis la source listée ci-dessus;Autoriser le contenu distant depuis les #1 sources listées ci-dessus
+
+phishingBarMessage=Ce message est peut-être frauduleux.
+phishingBarPrefLabel=Options
+phishingBarPrefAccesskey=O
+phishingBarPrefLabelUnix=Préférences
+phishingBarPrefAccesskeyUnix=P
+
+mdnBarIgnoreButton=Ignorer la demande
+mdnBarIgnoreButtonKey=I
+mdnBarSendReqButton=Envoyer l’accusé de réception
+mdnBarSendReqButtonKey=y
+
+draftMessageMsg=Ceci est un brouillon.
+draftMessageButton=Modifier
+draftMessageButtonKey=d
+
+# msgHdrViewOverlay.js
+openLabel=Ouvrir
+openLabelAccesskey=O
+saveLabel=Enregistrer
+saveLabelAccesskey=E
+detachLabel=Détacher…
+detachLabelAccesskey=D
+deleteLabel=Supprimer
+deleteLabelAccesskey=S
+openFolderLabel=Ouvrir le dossier contenant le fichier
+openFolderLabelAccesskey=d
+deleteAttachments=Les pièces jointes suivantes seront définitivement supprimées du message :\n%S\nCette action ne peut être annulée. Voulez-vous vraiment continuer ?
+detachAttachments=Les pièces jointes suivantes ont été enregistrées avec succès et vont maintenant être supprimées définitivement de ce message :\n%S\nCette action ne peut être annulée. Voulez-vous vraiment continuer ?
+deleteAttachmentFailure=Échec de la suppression des pièces jointes sélectionnées.
+emptyAttachment=Cette pièce jointe est vide.\nVeuillez vérifier avec l’expéditeur.\nIl arrive que des logiciels pare-feu et antivirus détruisent les pièces jointes.
+externalAttachmentNotFound=Ce fichier détaché ou la pièce jointe est introuvable ou n’est plus accessible à cet emplacement.
+
+# LOCALIZATION NOTE (attachmentCount): Semi-colon list of plural forms.
+# See: https://developer.mozilla.org/en/Localization_and_Plurals
+# #1 number of attachments
+attachmentCount=#1 pièce jointe;#1 pièces jointes
+
+# LOCALIZATION NOTE (attachmentCountSingle): This is the format for the
+# attachment header when a message has only one attachment. This is separate
+# from attachmentCount above, since attachmentCountSingle typically ends with a
+# colon.
+attachmentCountSingle=1 pièce jointe :
+
+# LOCALIZATION NOTE (attachmentSizeUnknown): The string to show for the total
+# size of all attachments when none of the attachments' sizes can be detected.
+attachmentSizeUnknown=taille inconnue
+
+# LOCALIZATION NOTE (attachmentSizeAtLeast): The string to show for the total
+# size of all attachments when at least one (but not all) of the attachments'
+# sizes can't be detected. %1$S is the formatted size.
+attachmentSizeAtLeast=au moins %1$S
+
+# This is the format for prepending accesskeys to the
+# each of the attachments in the file|attachments menu:
+# ie: 1 file.txt
+# 2 another file.txt
+attachmentDisplayNameFormat=%S %S
+
+# This is the heading for the attachment summary when printing an email
+attachmentsPrintHeader=Pièces jointes :
+
+# Connection Error Messages
+# LOCALIZATION NOTE(unknownHostError): %S is the server name
+unknownHostError=Impossible de se connecter au serveur %S.
+# LOCALIZATION NOTE(connectionRefusedError): %S is the server name
+connectionRefusedError=Impossible de se connecter au serveur %S ; la connexion a été refusée.
+# LOCALIZATION NOTE(netTimeoutError): %S is the server name
+netTimeoutError=Temps limite de connexion au serveur %S dépassé.
+# LOCALIZATION NOTE(netResetError): %S is the server name
+netResetError=La connexion au serveur %S a été réinitialisée.
+# LOCALIZATION NOTE(netInterruptError): %S is the server name
+netInterruptError=La connexion au serveur %S a été interrompue.
+
+recipientSearchCriteria=Le sujet ou le destinataire contient :
+fromSearchCriteria=Le sujet ou l’expéditeur contient :
+
+# LOCALIZATION NOTE(biffNotification): %1$S is the number of new messages
+biffNotification_message=a %1$S nouveau message.
+biffNotification_messages=a %1$S nouveaux messages.
+
+# LOCALIZATION NOTE(newMailNotification_message): %1$S is the name of the account %2$S is the number of new messages
+newMailNotification_message=%1$S a reçu %2$S nouveau message
+
+# LOCALIZATION NOTE(newMailNotification_messages): %1$S is the name of the account %2$S is the number of new messages
+newMailNotification_messages=%1$S a reçu %2$S nouveaux messages
+
+# LOCALIZATION NOTE(newMailNotification_messagetitle): %1$S is subject of new message and %2$S is sender of new message.
+# This is UNIX only
+newMailNotification_messagetitle=%1$S de %2$S
+
+# LOCALIZATION NOTE(newMailAlert_message):
+# Semi-colon list of plural forms. See:
+# https://developer.mozilla.org/en/docs/Localization_and_Plurals
+# #1 is the name of the account, #2 is the number of new messages
+newMailAlert_message=#1 a reçu #2 nouveau message;#1 a reçu #2 nouveaux messages
+
+# For the Quota tab in the mail folder properties dialog
+quotaPercentUsed=%S%% utilisés
+# for quota in main window (commandglue.js)
+percent=%S%%
+quotaTooltip2=Quota IMAP : %S utilisés sur %S alloués. Cliquer pour plus de détails.
+
+# for message views
+confirmViewDeleteTitle=Confirmation
+confirmViewDeleteMessage=Voulez-vous vraiment supprimer cette vue ?
+
+# for virtual folders
+confirmSavedSearchTitle=Confirmation de la suppression
+confirmSavedSearchDeleteMessage=Voulez-vous vraiment supprimer ce dossier virtuel ?
+
+## @name ENTER_PASSWORD_PROMPT
+## @loc None
+# LOCALIZATION NOTE (passwordPrompt): Do not translate the word %S below.
+# Place the word "%S" in your translation where the email address
+# or the username should appear
+passwordPrompt=Saisissez votre mot de passe pour %1$S sur %2$S :
+
+## @name ENTER_PASSWORD_PROMPT_TITLE
+## @loc None
+passwordTitle=Mot de passe pour le serveur de courrier requis
+
+# for checking if the user really wants to open lots of messages in separate windows.
+openWindowWarningTitle=Ouverture de messages
+# LOCALIZATION NOTE (openWindowWarningConfirmation): Semi-colon list of plural forms.
+# #1 is the number of messages the user is attempting to open.
+openWindowWarningConfirmation=L’ouverture de ce message risque de prendre beaucoup de temps. Continuer ?;L’ouverture de #1 messages risque de prendre beaucoup de temps. Continuer ?
+
+# for checking if the user really wants to open lots of messages in tabs.
+openTabWarningTitle=Confirmer
+# LOCALIZATION NOTE (openTabWarningConfirmation): Semi-colon list of plural forms.
+# #1 is the number of messages the user is attempting to open.
+openTabWarningConfirmation=L’ouverture de ce message risque de prendre beaucoup de temps. Continuer ?;L’ouverture de #1 messages risque de prendre beaucoup de temps. Continuer ?
+
+# for warning the user that a tag they're trying to create already exists
+tagExists=Une étiquette portant le même nom existe déjà.
+
+# title of the edit tag dialog
+editTagTitle=Modifier l’étiquette
+
+# for the virtual folder list dialog title
+# %S is the name of the saved search folder
+editVirtualFolderPropertiesTitle=Modifier les propriétés du dossier virtuel %S
+# LOCALIZATION NOTE (foldersChosen): #1 number of chosen folders
+virtualFolderSourcesChosen=#1 dossier sélectionné;#1 dossiers sélectionnés
+
+#alert to inform the user to choose one or more folders to search for a saved search folder
+alertNoSearchFoldersSelected=Vous devez choisir au moins un dossier dans lequel rechercher pour le dossier virtuel.
+
+# These are displayed in the message and folder pane windows
+# LOCALIZATION NOTE %.*f is the abbreviated size in the appropriate units
+byteAbbreviation2=%.*f octets
+kiloByteAbbreviation2=%.*f Ko
+megaByteAbbreviation2=%.*f Mo
+gigaByteAbbreviation2=%.*f Go
+teraByteAbbreviation2=%.*f To
+petaByteAbbreviation2=%.*f Po
+
+## LOCALIZATION NOTE(folderWithAccount):
+## This is used to show folder name together with an account name.
+## %1$S = folder name
+## %2$S = account name
+folderWithAccount=%1$S - %2$S
+## LOCALIZATION NOTE(folderWithUnreadMsgs):
+## This is a concatenation of two strings to compose a folder label with unread messages.
+## %1$S = folder name
+## %2$S = count of unread messages
+folderWithUnreadMsgs=%1$S (%2$S)
+## LOCALIZATION NOTE(summarizedValue):
+## This string shows an indication that the value shown is actually a summary
+## accumulated from all subfolders.
+## %S = summarized value from all subfolders
+folderSummarizedSymbolValue=▾%S
+## LOCALIZATION NOTE(subfoldersExplanation):
+## This is a tooltip message shown on the values in the numeric folder pane columns.
+## %1$S = is the count of messages having the respective property, found in the folder under mouse cursor
+## %2$S = is the count of messages having the respective property, found in subfolders of the folder under mouse cursor
+subfoldersExplanation=%1$S dans ce répertoire, %2$S dans les sous-répertoires
+
+# Error message if message for a message id wasn't found
+errorOpenMessageForMessageIdTitle=Erreur lors de l’ouverture de l’identifiant de message
+errorOpenMessageForMessageIdMessage=Le message dont l’identifiant est %S est introuvable
+
+# Warnings to alert users about phishing urls
+confirmPhishingTitle=Alerte de message frauduleux
+linkMismatchTitle=Incohérence de lien détectée
+#LOCALIZATION NOTE %1$S is the brand name, %2$S is the host name of the url being visited
+confirmPhishingUrl=%1$S considère que ce message est frauduleux. Il est possible que les liens dans le message essaient de se faire passer pour les pages web que vous désirez visiter. Voulez-vous vraiment visiter %2$S ?
+#LOCALIZATION NOTE %1$S is the host name of indicated host, %2$S is the host name of the actual host.
+confirmPhishingUrlAlternate=Le lien sur lequel vous venez de cliquer semble conduire à un autre site que ce que le texte du lien indique. Cela est quelquefois utilisé pour repérer si vous avez cliqué sur le lien, mais il peut aussi s’agir d’une escroquerie.\n\nLe texte du lien indique que le lien mène à %1$S, mais il conduit à %2$S.
+#LOCALIZATION NOTE $1$S is the host name of the indicated host.
+confirmPhishingGoAhead=Ouvrir %1$S tout de même
+#LOCALIZATION NOTE %1$S is the host name that was displayed to the user.
+confirmPhishingGoDirect=Ouvrir %1$S
+
+# Check for Updates
+# LOCALIZATION NOTE (updatesItem_*): these are alternative labels for Check for Update item in Help menu.
+# Which one is used depends on Update process state.
+updatesItem_default=Rechercher des mises à jour…
+updatesItem_defaultFallback=Rechercher des mises à jour…
+updatesItem_default.accesskey=h
+updatesItem_downloading=Téléchargement de %S…
+updatesItem_downloadingFallback=Téléchargement de la mise à jour…
+updatesItem_downloading.accesskey=h
+updatesItem_resume=Reprendre le téléchargement de %S…
+updatesItem_resumeFallback=Reprendre le téléchargement de la mise à jour…
+updatesItem_resume.accesskey=h
+updatesItem_pending=Appliquer la mise à jour téléchargée…
+updatesItem_pendingFallback=Appliquer la mise à jour téléchargée…
+updatesItem_pending.accesskey=h
+
+# Folder Pane Header Title Strings
+folderPaneModeHeader_all=Tous les dossiers
+folderPaneModeHeader_unread=Dossiers non lus
+folderPaneModeHeader_favorite=Dossiers préférés
+folderPaneModeHeader_recent=Dossiers récents
+folderPaneModeHeader_smart=Dossiers unifiés
+unifiedAccountName=Dossiers unifiés
+
+# Copy / Move to Folder Again
+#LOCALIZATION NOTE %1$S is the name of the folder we will move to. moveToFolderAgainAccessKey
+# should have the same value as copyToFolderAgainAccessKey as they are the same menu item in the UI
+# moveToFolderAgainAccessKey should also be a letter that occurs before %1$S
+moveToFolderAgain=Déplacer à nouveau vers « %1$S »
+moveToFolderAgainAccessKey=v
+#LOCALIZATION NOTE %1$S is the name of the folder we will copy to
+# copyToFolderAgainAccessKey
+# should have the same value as moveToFolderAgainAccessKey as they are the same menu item in the UI
+# copyToFolderAgainAccessKey should also be a letter that occurs before %1$S
+copyToFolderAgain=Copier à nouveau vers « %1$S »
+copyToFolderAgainAccessKey=v
+
+#LOCALIZATION NOTE(mdnBarMessageNormal) %1$S is the name of the sender
+mdnBarMessageNormal=%1$S a demandé à recevoir une notification quand vous lisez ce message.
+#LOCALIZATION NOTE(mdnBarMessageAddressDiffers) %1$S is the name of the sender, %2$S is the address(es) to send return receipt to
+mdnBarMessageAddressDiffers=%1$S a demandé à recevoir une notification (sur %2$S) quand vous lisez ce message.
+
+# mailCommands.js
+emptyJunkFolderTitle=Vider « %S »
+emptyJunkFolderMessage=Supprimer tous les messages et sous-dossiers du dossier « Indésirables » ?
+emptyJunkDontAsk=Ne plus demander à l’avenir.
+emptyTrashFolderTitle=Vider « %S »
+emptyTrashFolderMessage=Supprimer tous les messages et sous-dossiers de la corbeille ?
+emptyTrashDontAsk=Ne plus demander à l’avenir.
+
+# junkCommands.js
+junkAnalysisPercentComplete=Analyse des messages indésirables terminée à %S
+processingJunkMessages=Traitement des messages indésirables en cours
+
+# Messenger bootstrapping messages
+fileNotFoundTitle = Fichier introuvable
+#LOCALIZATION NOTE(fileNotFoundMsg): %S is the filename
+fileNotFoundMsg = Le fichier %S n’existe pas.
+
+fileEmptyTitle = Fichier vide
+#LOCALIZATION NOTE(fileEmptyMsg): %S is the filename
+fileEmptyMsg = Le fichier %S est vide.
+
+# LOCALIZATION NOTE (headerMoreAddrs): semicolon separated list of plural
+# forms of the word "more" as used after the number of addresses
+# currently hidden while displaying a header such as "to", "cc", or "bcc"
+# in the message header box. English has two identical forms here, so it will
+# construct strings that look like (for example) "1 more" or "20 more".
+# <https://developer.mozilla.org/en/Localization_and_Plurals> has details
+# on this mechanism.
+headerMoreAddrs=#1 de plus;#1 de plus
+
+# LOCALIZATION NOTE (headerMoreAddrsTooltip): semicolon separated list of
+# plural forms of the phrase ", and #1 more" as used in the tooltip text
+# of the more widget displayed in the header pane (see headerMoreAddrs).
+# English has two identical forms here, so it will construct strings that
+# look like (for example) ", and 1 more" or ", and 20 more".
+# <https://developer.mozilla.org/en/Localization_and_Plurals> has details
+# on this mechanism.
+headerMoreAddrsTooltip=, et #1 de plus;, et #1 de plus
+
+# LOCALIZATION NOTE (headertoFieldMe): first person prepositional object
+# pronoun used in the "to" header of the message header pane. This is also
+# used for the fallback case if a header-specific localization is not
+# available.
+headertoFieldMe=Moi
+
+# LOCALIZATION NOTE (headerfromFieldMe): first person prepositional object
+# pronoun used in the "from" header of the message header pane.
+headerfromFieldMe=Moi
+
+# LOCALIZATION NOTE (headerreply-toFieldMe): first person prepositional
+# object pronoun used in the "reply-to" header of the message header pane.
+headerreply-toFieldMe=Moi
+
+# LOCALIZATION NOTE (headerccFieldMe): first person prepositional object
+# pronoun used in the "cc" header of the message header pane.
+headerccFieldMe=Moi
+
+# LOCALIZATION NOTE (headerbccFieldMe): first person prepositional object
+# pronoun used in the "bcc" header of the message header pane.
+headerbccFieldMe=Moi
+
+expandAttachmentPaneTooltip=Afficher le panneau des pièces jointes
+collapseAttachmentPaneTooltip=Masquer le panneau des pièces jointes
+
+# Shown when content tabs are being loaded.
+loadingTab=Chargement en cours…
+
+confirmMsgDelete.title=Confirmer la suppression
+confirmMsgDelete.collapsed.desc=Les messages dans les fils de discussion réduits seront supprimés. Voulez-vous vraiment continuer ?
+confirmMsgDelete.deleteNoTrash.desc=Les messages seront supprimés immédiatement, sans aucune copie dans la corbeille. Voulez-vous vraiment continuer ?
+confirmMsgDelete.deleteFromTrash.desc=Cette action supprimera les messages de la corbeille de façon définitive. Voulez-vous vraiment continuer ?
+confirmMsgDelete.dontAsk.label=Ne plus demander à l’avenir.
+confirmMsgDelete.delete.label=Supprimer
+
+mailServerLoginFailedTitle=Échec de l’authentification
+# LOCALIZATION NOTE (mailServerLoginFailedTitleWithAccount):
+# "%S" is the account name.
+mailServerLoginFailedTitleWithAccount=Échec de la connexion au compte « %S »
+# LOCALIZATION NOTE (mailServerLoginFailed2):
+# %1$S is the host name of the server, %2$S is the user name.
+mailServerLoginFailed2=Échec de la connexion depuis le serveur %1$S avec le nom d’utilisateur %2$S.
+mailServerLoginFailedRetryButton=&Réessayer
+mailServerLoginFailedEnterNewPasswordButton=&Saisir un nouveau mot de passe
+
+# LOCALIZATION NOTE (threadPane.columnPicker.confirmFolder.noChildren.title):
+# When the user selects a folder to apply the currently displayed columns to
+# via the "columnPicker.applyToFolder.label" menu option, this is the title of
+# the confirmation dialog used to verify they selected the correct folder. This
+# is the case in which we apply the columns only to the folder and not to any of
+# its children.
+threadPane.columnPicker.confirmFolder.noChildren.title=Appliquer les modifications ?
+# LOCALIZATION NOTE (threadPane.columnPicker.confirmFolder.noChildren.message):
+# When the user selects a folder to apply the currently displayed columns to
+# via the "columnPicker.applyToFolder.label" menu option, this is the text of
+# the confirmation dialog used to verify they selected the correct folder. The
+# string '%S' is replaced with the name of the folder the user selected in
+# order to help them confirm they picked what they thought they picked. This
+# is the case in which we apply the columns only to the folder and not to any of
+# its children.
+threadPane.columnPicker.confirmFolder.noChildren.message=Appliquer les paramètres de ce dossier à %S ?
+
+# LOCALIZATION NOTE (threadPane.columnPicker.confirmFolder.withChildren.title):
+# When the user selects a folder to apply the currently displayed columns to via
+# the "columnPicker.applyToFolderAndChildren.label" menu option, this is the
+# title of the confirmation dialog used to verify they selected the correct
+# folder. This is the case in which we apply the columns to the folder and all
+# of its children.
+threadPane.columnPicker.confirmFolder.withChildren.title=Appliquer les modifications ?
+# LOCALIZATION NOTE (threadPane.columnPicker.confirmFolder.withChildren.message):
+# When the user selects a folder to apply the currently displayed columns to via
+# the "columnPicker.applyToFolderAndChildren.label" menu option, this is the
+# text of the confirmation dialog used to verify they selected the correct
+# folder. The string '%S' is replaced with the name of the folder the user
+# selected in order to help them confirm they picked what they thought they
+# picked. This is the case in which we apply the columns to the folder and all
+# of its children.
+threadPane.columnPicker.confirmFolder.withChildren.message=Appliquer les paramètres de ce dossier à %S et ses sous-dossiers ?
+
+# LOCALIZATION NOTE (lwthemeInstallRequest.message): %S will be replaced with
+# the host name of the site.
+lwthemeInstallRequest.message=Ce site (%S) a tenté d’installer un thème.
+lwthemeInstallRequest.allowButton=Autoriser
+lwthemeInstallRequest.allowButton.accesskey=A
+
+lwthemePostInstallNotification.message=Un nouveau thème a été installé.
+lwthemePostInstallNotification.undoButton=Annuler
+lwthemePostInstallNotification.undoButton.accesskey=A
+lwthemePostInstallNotification.manageButton=Gérer les thèmes…
+lwthemePostInstallNotification.manageButton.accesskey=G
+
+# troubleshootModeRestart
+troubleshootModeRestartPromptTitle=Redémarrer en mode de dépannage
+troubleshootModeRestartPromptMessage=Le mode de dépannage désactivera tous les modules complémentaires et utilisera temporairement certaines préférences par défaut.\nVoulez-vous vraiment redémarrer ?
+troubleshootModeRestartButton=Redémarrer
+
+# LOCALIZATION NOTE (downloadAndInstallButton.label): %S is replaced by the
+# version of the update: "Update to 28.0".
+update.downloadAndInstallButton.label=Mettre à jour vers la version %S
+update.downloadAndInstallButton.accesskey=M
+
+# Sanitize
+# LOCALIZATION NOTE (sanitizeDialog2.everything.title): When "Time range to
+# clear" is set to "Everything", the Clear Recent History dialog's title is
+# changed to this. See UI mockup and comment 11 at bug 480169 -->
+sanitizeDialog2.everything.title=Supprimer tout l’historique
+sanitizeButtonOK=Effacer maintenant
+# LOCALIZATION NOTE (sanitizeEverythingWarning2): Warning that appears when
+# "Time range to clear" is set to "Everything" in Clear Recent History dialog,
+# provided that the user has not modified the default set of history items to clear.
+sanitizeEverythingWarning2=Tout l’historique sera effacé.
+# LOCALIZATION NOTE (sanitizeSelectedWarning): Warning that appears when
+# "Time range to clear" is set to "Everything" in Clear Recent History dialog,
+# provided that the user has modified the default set of history items to clear.
+sanitizeSelectedWarning=Tous les éléments sélectionnés seront effacés.
+
+learnMoreAboutIgnoreThread=En savoir plus…
+learnMoreAboutIgnoreThreadAccessKey = L
+undoIgnoreThread=Annuler ignorer la discussion
+undoIgnoreThreadAccessKey=U
+undoIgnoreSubthread=Annuler ignorer le sous-fil de discussion
+undoIgnoreSubthreadAccessKey=U
+# LOCALIZATION NOTE (ignoredThreadFeedback): #1 is the message thread title
+ignoredThreadFeedback=Les réponses à la discussion « #1 » ne seront pas affichées.
+# LOCALIZATION NOTE (ignoredSubthreadFeedback): #1 is the message subthread title
+ignoredSubthreadFeedback=Les réponses au sous-fil de discussion « #1 » ne seront pas affichées.
+# LOCALIZATION NOTE (ignoredThreadsFeedback): Semi-colon list of plural forms.
+# #1 is the number of threads
+ignoredThreadsFeedback=Les réponses à la discussion qui était sélectionnée ne seront pas affichées.;Les réponses aux #1 discussions qui étaient sélectionnées ne seront pas affichées.
+# LOCALIZATION NOTE (ignoredSubthreadsFeedback): Semi-colon list of plural forms.
+# #1 is number of subthreads
+ignoredSubthreadsFeedback=Les réponses au sous-fil de discussion qui était sélectionné ne seront pas affichées.;Les réponses aux #1 sous-fils de discussion qui étaient sélectionnés ne seront pas affichées.
+# LOCALIZATION NOTE (saveAsType): replace %S with the extension of the file to be saved.
+saveAsType=Fichier %S
+
+# LOCALIZATION NOTE (openSearch.label): The label used in the autocomplete
+# widget to refer to a search on the web for a short string containing at most
+# 15 characters. %1$S is the search provider to use. %2$S is the string to
+# search for.
+openSearch.label=Rechercher « %2$S » avec %1$S
+
+# LOCALIZATION NOTE (openSearch.label.truncated): The label used in the
+# autocomplete widget to refer to a search on the web for a short string
+# containing more than 15 characters. %1$S is the search provider to use. %2$S
+# is the string to search for, truncated to 15 characters.
+openSearch.label.truncated=Rechercher « %2$S… » avec %1$S
+
+# LOCALIZATION NOTE (aboutDialog.architecture.*):
+# The sixtyFourBit and thirtyTwoBit strings describe the architecture of the
+# current Thunderbird build: 32-bit or 64-bit. These strings are used in parentheses
+# after the Thunderbird version in the About dialog,
+# e.g.: "48.0.2 (32-bit)" or "51.0a1 (2016-09-05) (64-bit)".
+aboutDialog.architecture.sixtyFourBit = 64 bits
+aboutDialog.architecture.thirtyTwoBit = 32 bits
+
+errorConsoleTitle = Console d’erreurs
+
+# LOCALIZATION NOTE (panel.back):
+# This is used by screen readers to label the "back" button in various browser
+# popup panels, including the sliding subviews of the appmenu.
+panel.back = Retour
+
+# LOCALIZATION NOTE (folderErrorAlertTitle):
+# %S is a pretty string to identify the folder and account.
+# EXAMPLE: Error - Inbox on bob@example.com
+folderErrorAlertTitle = Erreur - %S
+
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/messengercompose/EdAdvancedEdit.dtd b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/messengercompose/EdAdvancedEdit.dtd
new file mode 100644
index 0000000000..e9d77326c7
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/messengercompose/EdAdvancedEdit.dtd
@@ -0,0 +1,18 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!ENTITY WindowTitle.label "Éditeur des propriétés avancées">
+<!ENTITY AttName.label "Nom :">
+<!ENTITY AttValue.label "Valeur :">
+<!ENTITY PropertyName.label "Propriétés :">
+<!ENTITY currentattributesfor.label "Attributs actuels de :">
+<!ENTITY tree.attributeHeader.label "Attribut">
+<!ENTITY tree.propertyHeader.label "Propriétés">
+<!ENTITY tree.valueHeader.label "Valeur">
+<!ENTITY tabHTML.label "Attributs HTML">
+<!ENTITY tabCSS.label "Style intégré">
+<!ENTITY tabJSE.label "Évènements JavaScript">
+
+<!ENTITY editAttribute.label "Cliquer sur un élément pour changer sa valeur">
+<!ENTITY removeAttribute.label "Enlever l’attribut">
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/messengercompose/EdColorPicker.dtd b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/messengercompose/EdColorPicker.dtd
new file mode 100644
index 0000000000..9908cfaeda
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/messengercompose/EdColorPicker.dtd
@@ -0,0 +1,22 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!ENTITY windowTitle.label "Couleur">
+<!ENTITY lastPickedColor.label "Dernière couleur utilisée">
+<!ENTITY lastPickedColor.accessKey "c">
+<!ENTITY chooseColor1.label "Choisissez une couleur :">
+<!ENTITY chooseColor2.label "Saisissez un nom de couleur HTML">
+<!ENTITY chooseColor2.accessKey "H">
+<!ENTITY setColorExample.label "(exemple : « #0000ff » ou « blue ») :">
+<!ENTITY default.label "Défaut">
+<!ENTITY default.accessKey "D">
+<!ENTITY palette.label "Palette :">
+<!ENTITY standardPalette.label "Standard">
+<!ENTITY webPalette.label "Toutes les couleurs web">
+<!ENTITY background.label "Fond pour :">
+<!ENTITY background.accessKey "F">
+<!ENTITY table.label "Tableau">
+<!ENTITY table.accessKey "T">
+<!ENTITY cell.label "Cellule(s)">
+<!ENTITY cell.accessKey "C">
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/messengercompose/EdConvertToTable.dtd b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/messengercompose/EdConvertToTable.dtd
new file mode 100644
index 0000000000..46a369d5f7
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/messengercompose/EdConvertToTable.dtd
@@ -0,0 +1,15 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+
+<!-- Window title -->
+<!ENTITY windowTitle.label "Convertir en tableau">
+<!ENTITY instructions1.label "Le composeur crée une nouvelle ligne dans le tableau pour chaque paragraphe de la sélection.">
+<!ENTITY instructions2.label "Choisir un caractère pour la séparation en colonnes de la sélection :">
+<!ENTITY commaRadio.label "Virgule">
+<!ENTITY spaceRadio.label "Espace">
+<!ENTITY otherRadio.label "Autre caractère :">
+<!ENTITY deleteCharCheck.label "Supprimer le caractère de séparation">
+<!ENTITY collapseSpaces.label "Ignorer les espaces supplémentaires">
+<!ENTITY collapseSpaces.tooltip "Convertir les espaces adjacents en un seul séparateur">
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/messengercompose/EdDialogOverlay.dtd b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/messengercompose/EdDialogOverlay.dtd
new file mode 100644
index 0000000000..b3e2f0ce1e
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/messengercompose/EdDialogOverlay.dtd
@@ -0,0 +1,17 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!ENTITY AdvancedEditButton.label "Édition avancée…">
+<!ENTITY AdvancedEditButton.accessKey "a">
+<!ENTITY AdvancedEditButton.tooltip "Ajouter ou modifier les attributs HTML, les attributs de style et le JavaScript">
+<!ENTITY chooseFileButton.label "Choisir un fichier…">
+<!ENTITY chooseFileButton.accessKey "C">
+<!ENTITY chooseFileLinkButton.label "Choisir un fichier…">
+<!ENTITY chooseFileLinkButton.accessKey "o">
+<!ENTITY makeUrlRelative.label "L’URL est relative à l’adresse de la page">
+<!ENTITY makeUrlRelative.accessKey "r">
+<!ENTITY makeUrlRelative.tooltip "Passer d’une URL relative à une URL absolue. Vous devez d’abord enregistrer la page pour faire ce changement.">
+
+<!ENTITY LinkURLEditField2.label "Saisissez une adresse web ou un nom de fichier, ou sélectionnez une ancre ou un en-tête depuis le menu contextuel du champ :">
+<!ENTITY LinkURLEditField2.accessKey "w">
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/messengercompose/EdNamedAnchorProperties.dtd b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/messengercompose/EdNamedAnchorProperties.dtd
new file mode 100644
index 0000000000..23292fc8df
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/messengercompose/EdNamedAnchorProperties.dtd
@@ -0,0 +1,10 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!ENTITY windowTitle.label "Propriétés de l’ancre">
+<!ENTITY anchorNameEditField.label "Nom de l’ancre :">
+<!ENTITY anchorNameEditField.accessKey "N">
+<!ENTITY nameInput.tooltip "Choisissez un nom unique pour cette ancre nommée (cible)">
+
+
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/messengercompose/EditorColorProperties.dtd b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/messengercompose/EditorColorProperties.dtd
new file mode 100644
index 0000000000..65147cf866
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/messengercompose/EditorColorProperties.dtd
@@ -0,0 +1,29 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!-- Window title -->
+<!ENTITY windowTitle.label "Couleurs et fond de la page">
+<!ENTITY pageColors.label "Couleurs de la page">
+<!ENTITY defaultColorsRadio.label "Ne pas spécifier de couleur">
+<!ENTITY defaultColorsRadio.accessKey "s">
+<!ENTITY defaultColorsRadio.tooltip "Utiliser seulement les réglages de couleurs du navigateur du lecteur.">
+<!ENTITY customColorsRadio.label "Utiliser des couleurs personnelles :">
+<!ENTITY customColorsRadio.accessKey "U">
+<!ENTITY customColorsRadio.tooltip "Ces réglages de couleurs outrepassent les réglages du navigateur">
+
+<!ENTITY normalText.label "Texte normal">
+<!ENTITY normalText.accessKey "n">
+<!ENTITY linkText.label "Texte avec un lien">
+<!ENTITY linkText.accessKey "l">
+<!ENTITY activeLinkText.label "Texte d’un lien actif">
+<!ENTITY activeLinkText.accessKey "a">
+<!ENTITY visitedLinkText.label "Texte d’un lien visité">
+<!ENTITY visitedLinkText.accessKey "v">
+<!ENTITY background.label "Fond de la page :">
+<!ENTITY background.accessKey "F">
+<!ENTITY colon.character ":">
+<!ENTITY backgroundImage.label "Image de fond :">
+<!ENTITY backgroundImage.accessKey "I">
+<!ENTITY backgroundImage.tooltip "Utiliser une image comme fond de votre page">
+<!ENTITY backgroundImage.shortenedDataURI "Données URI raccourcies (copier placera l’URI complet dans le presse-papiers)">
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/messengercompose/EditorHLineProperties.dtd b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/messengercompose/EditorHLineProperties.dtd
new file mode 100644
index 0000000000..2698bd81b3
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/messengercompose/EditorHLineProperties.dtd
@@ -0,0 +1,27 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+
+<!-- Window title -->
+<!ENTITY windowTitle.label "Propriétés des lignes horizontales">
+
+<!ENTITY dimensionsBox.label "Dimensions">
+<!ENTITY heightEditField.label "Hauteur :">
+<!ENTITY heightEditField.accessKey "H">
+<!ENTITY widthEditField.label "Largeur :">
+<!ENTITY widthEditField.accessKey "L">
+<!ENTITY pixelsPopup.value "pixels">
+<!ENTITY alignmentBox.label "Alignement">
+<!ENTITY leftRadio.label "À gauche">
+<!ENTITY leftRadio.accessKey "g">
+<!ENTITY centerRadio.label "Centré">
+<!ENTITY centerRadio.accessKey "c">
+<!ENTITY rightRadio.label "À droite">
+<!ENTITY rightRadio.accessKey "d">
+
+<!ENTITY threeDShading.label "Ombrage 3D">
+<!ENTITY threeDShading.accessKey "O">
+<!ENTITY saveSettings.label "Enregistrer les paramètres">
+<!ENTITY saveSettings.accessKey "S">
+<!ENTITY saveSettings.tooltip "Garder ces réglages pour insérer une nouvelle ligne horizontale">
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/messengercompose/EditorImageProperties.dtd b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/messengercompose/EditorImageProperties.dtd
new file mode 100644
index 0000000000..c669c8df00
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/messengercompose/EditorImageProperties.dtd
@@ -0,0 +1,79 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!-- These strings are for use specifically in the editor's image and form image dialogs. -->
+
+<!-- Window title -->
+<!ENTITY windowTitle.label "Propriétés des images">
+
+<!ENTITY pixelsPopup.value "pixels">
+
+<!-- These are in the Location tab panel -->
+<!ENTITY locationEditField.label "URL de l’image">
+<!ENTITY locationEditField.accessKey "U">
+<!ENTITY locationEditField.tooltip "Taper le nom de fichier et l’emplacement de l’image">
+<!ENTITY locationEditField.shortenedDataURI "Données URI raccourcies (copier placera l’URI complet dans le presse-papiers)">
+<!ENTITY title.label "Infobulle :">
+<!ENTITY title.accessKey "I">
+<!ENTITY title.tooltip "L’attribut HTML « title » qui apparaît dans une infobulle">
+<!ENTITY altText.label "Texte de remplacement :">
+<!ENTITY altText.accessKey "T">
+<!ENTITY altTextEditField.tooltip "Taper le texte à mettre à la place de l’image">
+<!ENTITY noAltText.label "Pas de texte de remplacement">
+<!ENTITY noAltText.accessKey "P">
+
+<!ENTITY previewBox.label "Prévisualisation de l’image">
+
+<!-- These controls are in the Dimensions tab panel -->
+<!-- actualSize.label should be same as actualSizeRadio.label + ":" -->
+<!ENTITY actualSize.label "Taille réelle :">
+<!ENTITY actualSizeRadio.label "Taille réelle">
+<!ENTITY actualSizeRadio.accessKey "T">
+<!ENTITY actualSizeRadio.tooltip "Revenir à la taille réelle de l’image">
+<!ENTITY customSizeRadio.label "Taille personnalisée">
+<!ENTITY customSizeRadio.accessKey "p">
+<!ENTITY customSizeRadio.tooltip "Changer la taille de l’image dans la page">
+<!ENTITY heightEditField.label "Hauteur :">
+<!ENTITY heightEditField.accessKey "H">
+<!ENTITY widthEditField.label "Largeur :">
+<!ENTITY widthEditField.accessKey "L">
+<!ENTITY constrainCheckbox.label "Contraindre">
+<!ENTITY constrainCheckbox.accessKey "C">
+<!ENTITY constrainCheckbox.tooltip "Maintenir les proportions de l’image">
+
+<!-- These controls are in the Image Map box of the expanded area -->
+<!ENTITY imagemapBox.label "Carte de l’image">
+<!ENTITY removeImageMapButton.label "Supprimer de la liste d’images">
+<!ENTITY removeImageMapButton.accessKey "S">
+
+<!-- These are the options for image alignment -->
+<!ENTITY alignment.label "Aligner le texte par rapport à l’image :">
+<!ENTITY bottomPopup.value "vers le bas">
+<!ENTITY topPopup.value "vers le haut">
+<!ENTITY centerPopup.value "au centre">
+<!ENTITY wrapRightPopup.value "plaquer à droite">
+<!ENTITY wrapLeftPopup.value "plaquer à gauche">
+
+<!-- These controls are in the Spacing Box -->
+<!ENTITY spacingBox.label "Espacement">
+<!ENTITY leftRightEditField.label "Gauche et droite :">
+<!ENTITY leftRightEditField.accessKey "G">
+<!ENTITY topBottomEditField.label "Haut et bas :">
+<!ENTITY topBottomEditField.accessKey "H">
+<!ENTITY borderEditField.label "Bordure pleine :">
+<!ENTITY borderEditField.accessKey "B">
+
+<!-- These controls are in the Link Box -->
+<!ENTITY showImageLinkBorder.label "Mettre un cadre autour de l’image (lien)">
+<!ENTITY showImageLinkBorder.accessKey "c">
+<!ENTITY LinkAdvancedEditButton.label "Propriétés avancées de lien…">
+<!ENTITY LinkAdvancedEditButton.accessKey "P">
+<!ENTITY LinkAdvancedEditButton.tooltip "Ajouter ou modifier des attributs HTML, des attributs de style et du JavaScript">
+
+<!-- These tabs are currently used in the image input dialog -->
+<!ENTITY imageInputTab.label "Formulaire">
+<!ENTITY imageLocationTab.label "Image">
+<!ENTITY imageDimensionsTab.label "Dimensions">
+<!ENTITY imageAppearanceTab.label "Apparence">
+<!ENTITY imageLinkTab.label "Lien">
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/messengercompose/EditorInsertChars.dtd b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/messengercompose/EditorInsertChars.dtd
new file mode 100644
index 0000000000..31860cfdbe
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/messengercompose/EditorInsertChars.dtd
@@ -0,0 +1,19 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+
+<!-- Window title -->
+<!ENTITY windowTitle.label "Insérer un caractère">
+<!ENTITY category.label "Catégorie">
+<!ENTITY letter.label "Lettre :">
+<!ENTITY letter.accessKey "L">
+<!ENTITY character.label "Caractère :">
+<!ENTITY character.accessKey "C">
+<!ENTITY accentUpper.label "Accents sur les majuscules">
+<!ENTITY accentLower.label "Accents sur les minuscules">
+<!ENTITY otherUpper.label "Autres majuscules">
+<!ENTITY otherLower.label "Autres minuscules">
+<!ENTITY commonSymbols.label "Symboles communs">
+<!ENTITY insertButton.label "Insérer">
+<!ENTITY closeButton.label "Fermer">
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/messengercompose/EditorInsertMath.dtd b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/messengercompose/EditorInsertMath.dtd
new file mode 100644
index 0000000000..2f2e4879c4
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/messengercompose/EditorInsertMath.dtd
@@ -0,0 +1,21 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!-- Window title -->
+<!ENTITY windowTitle.label "Insérer Math">
+
+<!ENTITY sourceEditField.label "Saisir du code source LaTeX :">
+
+<!ENTITY options.label "Options">
+<!ENTITY optionInline.label "Mode en ligne">
+<!ENTITY optionInline.accesskey "l">
+<!ENTITY optionDisplay.label "Mode affichage">
+<!ENTITY optionDisplay.accesskey "M">
+<!ENTITY optionLTR.label "Texte de gauche à droite">
+<!ENTITY optionLTR.accesskey "g">
+<!ENTITY optionRTL.label "Texte de droite à gauche">
+<!ENTITY optionRTL.accesskey "d">
+
+<!ENTITY insertButton.label "Insérer">
+<!ENTITY insertButton.accesskey "I">
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/messengercompose/EditorInsertSource.dtd b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/messengercompose/EditorInsertSource.dtd
new file mode 100644
index 0000000000..ec3eaefbf2
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/messengercompose/EditorInsertSource.dtd
@@ -0,0 +1,15 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!-- Window title -->
+<!ENTITY windowTitle.label "Insérer du code HTML">
+<!ENTITY sourceEditField.label "Saisissez le texte et les balises HTML :">
+<!ENTITY example.label "Exemple : ">
+<!-- LOCALIZATION NOTE (exampleOpenTag.label): DONT_TRANSLATE: they are text for HTML tagnames: "<i>" and "</i>" -->
+<!ENTITY exampleOpenTag.label "&lt;i&gt;">
+<!-- LOCALIZATION NOTE (exampleCloseTag.label): DONT_TRANSLATE: they are text for HTML tagnames: "<i>" and "</i>" -->
+<!ENTITY exampleCloseTag.label "&lt;/i&gt;">
+<!ENTITY exampleText.label "Salut les copains !">
+<!ENTITY insertButton.label "Insérer">
+<!ENTITY insertButton.accesskey "I">
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/messengercompose/EditorInsertTOC.dtd b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/messengercompose/EditorInsertTOC.dtd
new file mode 100644
index 0000000000..e6598cdde0
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/messengercompose/EditorInsertTOC.dtd
@@ -0,0 +1,16 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!ENTITY Window.title "Table des matières">
+<!ENTITY buildToc.label "Créer la table des matières à partir de :">
+<!ENTITY tag.label "Balise :">
+<!ENTITY class.label "Classe :">
+<!ENTITY header1.label "Niveau 1">
+<!ENTITY header2.label "Niveau 2">
+<!ENTITY header3.label "Niveau 3">
+<!ENTITY header4.label "Niveau 4">
+<!ENTITY header5.label "Niveau 5">
+<!ENTITY header6.label "Niveau 6">
+<!ENTITY makeReadOnly.label "Placer la table des matières en lecture seulement">
+<!ENTITY orderedList.label "Numéroter les entrées de la table des matières">
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/messengercompose/EditorInsertTable.dtd b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/messengercompose/EditorInsertTable.dtd
new file mode 100644
index 0000000000..93c61a916b
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/messengercompose/EditorInsertTable.dtd
@@ -0,0 +1,18 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!-- Window title -->
+<!ENTITY windowTitle.label "Insérer un tableau">
+
+<!ENTITY size.label "Taille">
+<!ENTITY numRowsEditField.label "Lignes :">
+<!ENTITY numRowsEditField.accessKey "N">
+<!ENTITY numColumnsEditField.label "Colonnes :">
+<!ENTITY numColumnsEditField.accessKey "c">
+<!ENTITY widthEditField.label "Largeur :">
+<!ENTITY widthEditField.accessKey "L">
+<!ENTITY borderEditField.label "Bordure :">
+<!ENTITY borderEditField.accessKey "B">
+<!ENTITY borderEditField.tooltip "Saisissez un nombre pour la bordure du tableau, ou zéro (0) si pas de bordure.">
+<!ENTITY pixels.label "pixels">
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/messengercompose/EditorLinkProperties.dtd b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/messengercompose/EditorLinkProperties.dtd
new file mode 100644
index 0000000000..5b38a8d92f
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/messengercompose/EditorLinkProperties.dtd
@@ -0,0 +1,6 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!ENTITY windowTitle.label "Propriétés des liens">
+<!ENTITY LinkURLBox.label "Lier à :">
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/messengercompose/EditorListProperties.dtd b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/messengercompose/EditorListProperties.dtd
new file mode 100644
index 0000000000..f15217ef5d
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/messengercompose/EditorListProperties.dtd
@@ -0,0 +1,20 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+
+<!-- Window title -->
+<!ENTITY windowTitle.label "Propriétés des listes">
+
+<!ENTITY ListType.label "Type de liste :">
+<!ENTITY bulletStyle.label "Type des puces :">
+<!ENTITY startingNumber.label "Premier numéro :">
+<!ENTITY startingNumber.accessKey "P">
+<!ENTITY none.value "Aucun (paragraphe normal)">
+<!ENTITY bulletList.value "Liste à puces (sans nombre)">
+<!ENTITY numberList.value "Liste numérotée">
+<!ENTITY definitionList.value "Liste de définitions">
+<!ENTITY changeEntireListRadio.label "Changer toute la liste">
+<!ENTITY changeEntireListRadio.accessKey "C">
+<!ENTITY changeSelectedRadio.label "Changer uniquement les éléments sélectionnés">
+<!ENTITY changeSelectedRadio.accessKey "i">
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/messengercompose/EditorPersonalDictionary.dtd b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/messengercompose/EditorPersonalDictionary.dtd
new file mode 100644
index 0000000000..d0fdce9dcd
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/messengercompose/EditorPersonalDictionary.dtd
@@ -0,0 +1,18 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!-- Window title -->
+<!ENTITY windowTitle.label "Dictionnaire personnel">
+
+<!ENTITY wordEditField.label "Nouveau mot :">
+<!ENTITY wordEditField.accessKey "N">
+<!ENTITY AddButton.label "Ajouter">
+<!ENTITY AddButton.accessKey "A">
+<!ENTITY DictionaryList.label "Mots du dictionnaire :">
+<!ENTITY DictionaryList.accessKey "M">
+<!ENTITY RemoveButton.label "Supprimer">
+<!ENTITY RemoveButton.accessKey "S">
+
+<!ENTITY CloseButton.label "Fermer">
+<!ENTITY CloseButton.accessKey "F">
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/messengercompose/EditorReplace.dtd b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/messengercompose/EditorReplace.dtd
new file mode 100644
index 0000000000..80e7587389
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/messengercompose/EditorReplace.dtd
@@ -0,0 +1,29 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!-- extracted from EdReplace.xul -->
+
+<!-- extracted from EdReplace.xhtml -->
+
+<!ENTITY replaceDialog.title "Rechercher et remplacer">
+<!ENTITY findField.label "Rechercher :">
+<!ENTITY findField.accesskey "e">
+<!ENTITY replaceField.label "Remplacer par :">
+<!ENTITY replaceField.accesskey "l">
+<!ENTITY caseSensitiveCheckbox.label "Distinguer majuscules et minuscules">
+<!ENTITY caseSensitiveCheckbox.accesskey "D">
+<!ENTITY wrapCheckbox.label "Boucler autour du document">
+<!ENTITY wrapCheckbox.accesskey "B">
+<!ENTITY backwardsCheckbox.label "Rechercher en arrière">
+<!ENTITY backwardsCheckbox.accesskey "a">
+<!ENTITY findNextButton.label "Rechercher le prochain">
+<!ENTITY findNextButton.accesskey "P">
+<!ENTITY replaceButton.label "Remplacer">
+<!ENTITY replaceButton.accesskey "R">
+<!ENTITY replaceAndFindButton.label "Chercher et remplacer">
+<!ENTITY replaceAndFindButton.accesskey "C">
+<!ENTITY replaceAllButton.label "Tout remplacer">
+<!ENTITY replaceAllButton.accesskey "T">
+<!ENTITY closeButton.label "Fermer">
+<!ENTITY closeButton.accesskey "F">
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/messengercompose/EditorSpellCheck.dtd b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/messengercompose/EditorSpellCheck.dtd
new file mode 100644
index 0000000000..df08fa9f58
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/messengercompose/EditorSpellCheck.dtd
@@ -0,0 +1,38 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!-- Window title -->
+<!ENTITY windowTitle.label "Vérification de l’orthographe">
+
+<!ENTITY misspelledWord.label "Mot mal orthographié :">
+<!ENTITY wordEditField.label "Remplacer par :">
+<!ENTITY wordEditField.accessKey "c">
+<!ENTITY checkwordButton.label "Vérifier le mot">
+<!ENTITY checkwordButton.accessKey "f">
+<!ENTITY suggestions.label "Suggestions :">
+<!ENTITY suggestions.accessKey "g">
+<!ENTITY ignoreButton.label "Ignorer">
+<!ENTITY ignoreButton.accessKey "I">
+<!ENTITY ignoreAllButton.label "Tout ignorer">
+<!ENTITY ignoreAllButton.accessKey "n">
+<!ENTITY replaceButton.label "Remplacer">
+<!ENTITY replaceButton.accessKey "R">
+<!ENTITY replaceAllButton.label "Tout remplacer">
+<!ENTITY replaceAllButton.accessKey "T">
+<!ENTITY stopButton.label "Arrêter">
+<!ENTITY stopButton.accessKey "A">
+<!ENTITY userDictionary.label "Dictionnaire personnel :">
+<!ENTITY moreDictionaries.label "Télécharger d’autres dictionnaires…">
+<!ENTITY addToUserDictionaryButton.label "Ajouter un mot">
+<!ENTITY addToUserDictionaryButton.accessKey "j">
+<!ENTITY editUserDictionaryButton.label "Modifier…">
+<!ENTITY editUserDictionaryButton.accessKey "M">
+<!ENTITY recheckButton2.label "Revérifier">
+<!ENTITY recheckButton2.accessKey "v">
+<!ENTITY closeButton.label "Fermer">
+<!ENTITY closeButton.accessKey "F">
+<!ENTITY sendButton.label "Envoyer">
+<!ENTITY sendButton.accessKey "E">
+<!ENTITY languagePopup.label "Langue :">
+<!ENTITY languagePopup.accessKey "L">
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/messengercompose/EditorTableProperties.dtd b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/messengercompose/EditorTableProperties.dtd
new file mode 100644
index 0000000000..14c0b94ebc
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/messengercompose/EditorTableProperties.dtd
@@ -0,0 +1,75 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!ENTITY tableWindow.title "Propriétés du tableau">
+<!ENTITY applyButton.label "Appliquer">
+<!ENTITY applyButton.accesskey "p">
+<!ENTITY closeButton.label "Fermer">
+<!ENTITY tableTab.label "Tableau">
+<!ENTITY cellTab.label "Cellules">
+<!ENTITY tableRows.label "Lignes :">
+<!ENTITY tableRows.accessKey "L">
+<!ENTITY tableColumns.label "Colonnes :">
+<!ENTITY tableColumns.accessKey "C">
+<!ENTITY tableHeight.label "Hauteur :">
+<!ENTITY tableHeight.accessKey "H">
+<!ENTITY tableWidth.label "Largeur :">
+<!ENTITY tableWidth.accessKey "a">
+<!ENTITY tableBorderSpacing.label "Bordures et espacement">
+<!ENTITY tableBorderWidth.label "Largeur de la bordure :">
+<!ENTITY tableBorderWidth.accessKey "b">
+<!ENTITY tableSpacing.label "Espacement :">
+<!ENTITY tableSpacing.accessKey "E">
+<!ENTITY tablePadding.label "Remplissage :">
+<!ENTITY tablePadding.accessKey "R">
+<!ENTITY tablePxBetwCells.label "pixels entre les cellules">
+<!ENTITY tablePxBetwBrdrCellContent.label "pixels entre la bordure et le contenu de la cellule">
+<!ENTITY tableAlignment.label "Alignement du tableau :">
+<!ENTITY tableAlignment.accessKey "A">
+<!ENTITY tableCaption.label "Légende :">
+<!ENTITY tableCaption.accessKey "g">
+<!ENTITY tableCaptionAbove.label "Au-dessus du tableau">
+<!ENTITY tableCaptionBelow.label "Sous le tableau">
+<!ENTITY tableCaptionLeft.label "À gauche du tableau">
+<!ENTITY tableCaptionRight.label "À droite du tableau">
+<!ENTITY tableCaptionNone.label "Aucune">
+<!ENTITY tableInheritColor.label "(Utiliser la couleur venant de la page)">
+
+<!ENTITY cellSelection.label "Sélection">
+<!ENTITY cellSelectCell.label "Cellule">
+<!ENTITY cellSelectRow.label "Ligne">
+<!ENTITY cellSelectColumn.label "Colonne">
+<!ENTITY cellSelectNext.label "Suivant">
+<!ENTITY cellSelectNext.accessKey "S">
+<!ENTITY cellSelectPrevious.label "Précédent">
+<!ENTITY cellSelectPrevious.accessKey "P">
+<!ENTITY applyBeforeChange.label "Les changements actuels vont être appliqués avant de changer la sélection.">
+<!ENTITY cellContentAlignment.label "Alignement du contenu :">
+<!ENTITY cellHorizontal.label "Horizontal :">
+<!ENTITY cellHorizontal.accessKey "z">
+<!ENTITY cellVertical.label "Vertical :">
+<!ENTITY cellVertical.accessKey "V">
+<!ENTITY cellStyle.label "Style de la cellule :">
+<!ENTITY cellStyle.accessKey "y">
+<!ENTITY cellNormal.label "Normal">
+<!ENTITY cellHeader.label "En-tête">
+<!ENTITY cellTextWrap.label "Reformatage du texte :">
+<!ENTITY cellTextWrap.accessKey "t">
+<!ENTITY cellWrap.label "Reformater">
+<!ENTITY cellNoWrap.label "Ne pas faire de saut à la ligne">
+<!ENTITY cellAlignTop.label "En haut">
+<!ENTITY cellAlignMiddle.label "Milieu">
+<!ENTITY cellAlignBottom.label "En bas">
+<!ENTITY cellAlignJustify.label "Justifié">
+<!ENTITY cellInheritColor.label "(Laisser traverser la couleur du tableau)">
+<!ENTITY cellUseCheckboxHelp.label "Utiliser les cases à cocher pour déterminer les propriétés à appliquer à toutes les cellules sélectionnées">
+
+<!-- Used in both Table and Cell panels -->
+<!ENTITY size.label "Taille">
+<!ENTITY pixels.label "pixels">
+<!ENTITY backgroundColor.label "Couleur du fond :">
+<!ENTITY backgroundColor.accessKey "f">
+<!ENTITY AlignLeft.label "À gauche">
+<!ENTITY AlignCenter.label "Centré">
+<!ENTITY AlignRight.label "À droite">
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/messengercompose/composeMsgs.properties b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/messengercompose/composeMsgs.properties
new file mode 100644
index 0000000000..0e0a9220bb
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/messengercompose/composeMsgs.properties
@@ -0,0 +1,463 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+#
+# The following are used by the compose back end
+#
+## LOCALIZATION NOTE (unableToOpenFile, unableToOpenTmpFile):
+## %S will be replaced with the name of file that could not be opened
+unableToOpenFile=Impossible d’ouvrir le fichier %S.
+unableToOpenTmpFile=Impossible d’ouvrir le fichier temporaire %S. Veuillez vérifier les paramètres de votre répertoire temporaire.
+unableToSaveTemplate=Impossible d’enregistrer votre message en tant que modèle.
+unableToSaveDraft=Impossible d’enregistrer votre message en tant que brouillon.
+couldntOpenFccFolder=Impossible d’ouvrir le dossier des messages envoyés. Veuillez vérifier que vos paramètres de comptes sont corrects.
+noSender=Aucun expéditeur spécifié. Veuillez indiquer votre adresse e-mail dans les paramètres du compte.
+noRecipients=Aucun destinataire spécifié. Veuillez saisir un destinataire ou un groupe de discussion dans la zone d’adressage.
+errorWritingFile=Erreur d’écriture du fichier temporaire.
+
+## LOCALIZATION NOTE (errorSendingFromCommand): argument %s is the Outgoing server (SMTP) response
+errorSendingFromCommand=Une erreur est survenue lors de l’envoi de l’e-mail. Le serveur e-mail a répondu : %s. Veuillez vérifier que votre adresse e-mail dans les paramètres du compte est correcte et essayer à nouveau.
+
+## LOCALIZATION NOTE (errorSendingDataCommand): argument %s is the Outgoing server (SMTP) response
+errorSendingDataCommand=Une erreur de serveur sortant (SMTP) est survenue lors de l’envoi de l’e-mail. Le serveur a répondu : %s.
+
+## LOCALIZATION NOTE (errorSendingMessage): argument %s is the Outgoing server (SMTP) response
+errorSendingMessage=Une erreur est survenue lors de l’envoi de l’e-mail. Le serveur a répondu : %s. Veuillez vérifier le message et essayer à nouveau.
+postFailed=Ce message n’a pas pu être posté car la connexion avec le serveur de groupes a échoué. Le serveur est peut-être indisponible ou refuse les connexions. Veuillez vérifier que les paramètres de votre serveur de groupes de discussion sont corrects et essayer à nouveau.
+errorQueuedDeliveryFailed=Une erreur est survenue lors de l’envoi des messages en attente.
+sendFailed=L’envoi du message a échoué.
+
+## LOCALIZATION NOTE (sendFailedUnexpected): argument %X is a hex error code value
+sendFailedUnexpected=Échec suite à une erreur %X inattendue. Aucune description n’est disponible.
+
+## LOCALIZATION NOTE (smtpSecurityIssue): argument %S is the Outgoing server (SMTP) response
+smtpSecurityIssue=La configuration liée à %S doit être corrigée.
+
+## LOCALIZATION NOTE (smtpServerError): argument %s is the Outgoing server (SMTP) response
+smtpServerError=Une erreur est survenue lors de l’envoi de l’e-mail : erreur du serveur SMTP. Le serveur a répondu : %s.
+unableToSendLater=Impossible d’enregistrer votre message pour l’envoyer plus tard.
+
+## LOCALIZATION NOTE (communicationsError): argument %d is the error code
+communicationsError=Une erreur de communication s’est produite : %d. Veuillez essayer à nouveau.
+dontShowAlert=THIS IS JUST A PLACEHOLDER. YOU SHOULD NEVER SEE THIS STRING.
+
+couldNotGetUsersMailAddress2=Une erreur est survenue pendant l’envoi de l’e-mail : l’adresse de l’expéditeur (de :) n’est pas valide. Veuillez vérifier que cette adresse e-mail est correcte puis essayez à nouveau.
+couldNotGetSendersIdentity=Une erreur est survenue pendant l’envoi de l’e-mail : l’identité de l’expéditeur n’est pas valide. Veuillez vérifier la configuration de votre identité puis essayez à nouveau.
+
+mimeMpartAttachmentError=Erreur de pièce jointe.
+failedCopyOperation=Le message a été envoyé avec succès, mais il n’a pas pu être copié dans le dossier Envoyés.
+nntpNoCrossPosting=Vous ne pouvez envoyer un message qu’à un seul serveur à la fois.
+msgCancelling=Abandon…
+sendFailedButNntpOk=Votre message a été envoyé dans le groupe de discussion mais pas aux autres destinataires.
+errorReadingFile=Erreur de lecture de fichier.
+followupToSenderMessage=L’auteur de ce message a demandé à ce que les réponses soient envoyées à lui seul. Si vous voulez aussi répondre dans le groupe, ajoutez une nouvelle ligne dans la partie des destinataires, choisissez Groupe dans la liste des destinataires et saisissez le nom du groupe.
+
+## LOCALIZATION NOTE (errorAttachingFile): argument %S is the file name/URI of the object to be attached
+errorAttachingFile=Une erreur est survenue en joignant %S. Veuillez vérifier que vous avez accès au fichier.
+
+## LOCALIZATION NOTE (incorrectSmtpGreeting): argument %s is the Outgoing server (SMTP) greeting
+incorrectSmtpGreeting=Une erreur est survenue lors de l’envoi de l’e-mail : le serveur de courrier a envoyé un message d’accueil incorrect : %s.
+
+## LOCALIZATION NOTE (errorSendingRcptCommand): argument %1$S is the Outgoing server (SMTP) response, argument %2$S is the intended message recipient.
+errorSendingRcptCommand=Une erreur est survenue lors de l’envoi de l’e-mail. Le serveur de courrier a répondu : %1$S. Veuillez vérifier l’adresse du destinataire %2$S et essayer à nouveau.
+
+## LOCALIZATION NOTE (startTlsFailed): argument %S is the Outgoing server (SMTP)
+startTlsFailed=Une erreur est survenue lors de l’envoi de l’e-mail : impossible d’établir un lien sécurisé avec le serveur SMTP « %S » en utilisant « STARTTLS » puisqu’il ne propose pas cette fonctionnalité. Désactivez « STARTTLS » pour ce serveur ou contactez votre fournisseur d’accès à Internet.
+
+## LOCALIZATION NOTE (smtpPasswordUndefined): argument %S is the Outgoing server (SMTP) account
+smtpPasswordUndefined=Une erreur est survenue lors de l’envoi de l’e-mail : impossible d’obtenir le mot de passe pour « %S ». Le message n’a pas été envoyé.
+
+## LOCALIZATION NOTE (smtpSendNotAllowed): argument %s is the Outgoing server (SMTP) response
+smtpSendNotAllowed=Une erreur s’est produite lors de l’envoi de l’e-mail. Le serveur de messagerie a répondu :\n%s.\nVeuillez vérifier que vous utilisez une identité correcte à envoyer et que la méthode d’authentification utilisée est correcte. Vérifiez que vous êtes autorisé à envoyer des messages via ce serveur SMTP avec vos identifiants actuels à partir de votre réseau actuel.
+
+## LOCALIZATION NOTE (smtpTempSizeExceeded): argument %s is the Outgoing server (SMTP) response
+smtpTempSizeExceeded=La taille du message que vous essayez d’envoyer excède une taille limite temporaire du serveur. Le message n’a pas été envoyé ; essayez de réduire la taille du message ou attendez un peu et essayez à nouveau. Le serveur a répondu : « %s ».
+
+## LOCALIZATION NOTE (smtpTooManyRecipients): argument %s is the Outgoing server (SMTP) response
+smtpTooManyRecipients=Le message n’a pas été envoyé car le nombre de destinataires autorisé a été dépassé. Le serveur a répondu : %s.
+
+## LOCALIZATION NOTE (smtpClientid): argument %s is the Outgoing server (SMTP) response
+smtpClientid=Le serveur sortant (SMTP) a détecté une erreur dans la commande CLIENTID. Le message n’a pas été envoyé. Le serveur a répondu : %s
+
+## LOCALIZATION NOTE (smtpClientidPermission): argument %s is the Outgoing server (SMTP) response
+smtpClientidPermission=La réponse du serveur sortant (SMTP) à la commande CLIENTID indique que votre appareil n’est pas autorisé à envoyer des e-mails. Le serveur a répondu : %s
+
+## LOCALIZATION NOTE (smtpPermSizeExceeded1): argument %d is the Outgoing server (SMTP) size limit
+smtpPermSizeExceeded1=La taille du message que vous essayez d’envoyer excède la limite de taille globale (%d octets) du serveur. Le message n’a pas été envoyé ; réduisez la taille du message et essayez à nouveau.
+
+## LOCALIZATION NOTE (smtpPermSizeExceeded2): argument %s is the Outgoing server (SMTP) response
+smtpPermSizeExceeded2=Le message que vous essayez d’envoyer excède la taille globale limite du serveur. Le message n’a pas été envoyé ; réduisez la taille du message et essayez à nouveau. Le serveur à répondu : « %s ».
+
+## LOCALIZATION NOTE (smtpSendFailedUnknownServer): argument %S is the Outgoing server (SMTP)
+smtpSendFailedUnknownServer=Une erreur est survenue lors de l’envoi de l’e-mail : le serveur sortant (SMTP) « %S » est inconnu. Le serveur est peut-être mal configuré. Veuillez vérifier que les paramètres de votre serveur sortant (SMTP) sont corrects et essayez à nouveau.
+
+## LOCALIZATION NOTE (smtpSendRequestRefused): argument %S is the Outgoing server (SMTP)
+smtpSendRequestRefused=Le message n’a pas pu être envoyé car la connexion au serveur sortant (SMTP) « %S » a échoué. Le serveur est peut-être indisponible ou refuse les connexions SMTP. Veuillez vérifier que les paramètres de votre serveur sortant (SMTP) sont corrects et essayez à nouveau.
+
+## LOCALIZATION NOTE (smtpSendInterrupted): argument %S is the Outgoing server (SMTP)
+smtpSendInterrupted=Le message n’a pas pu être envoyé car la connexion au serveur sortant (SMTP) « %S » a été perdue pendant la transaction. Veuillez essayer à nouveau.
+
+## LOCALIZATION NOTE (smtpSendTimeout): argument %S is the Outgoing server (SMTP)
+smtpSendTimeout=Le message n’a pas pu être envoyé car la connexion au serveur sortant (SMTP) « %S » a expiré. Veuillez essayer à nouveau.
+
+## LOCALIZATION NOTE (smtpSendFailedUnknownReason): argument %S is the Outgoing server (SMTP)
+smtpSendFailedUnknownReason=Le message n’a pas pu être envoyé en utilisant le serveur sortant (SMTP) « %S » pour une raison inconnue. Veuillez vérifier que les paramètres de votre serveur sortant (SMTP) sont corrects et essayez à nouveau.
+
+# LOCALIZATION NOTE (smtpHintAuthEncryptToPlainNoSsl): %S is the server hostname
+smtpHintAuthEncryptToPlainNoSsl=Le serveur sortant (SMTP) %S ne semble pas gérer les mots de passe chiffrés. Si vous venez juste de définir le compte, veuillez modifier la « Méthode d’authentification » pour « Mot de passe, transmission non sécurisée » dans le menu « Paramètres des comptes | Serveur sortant (SMTP) ». Si cela fonctionnait auparavant et que cela échoue à présent, il se pourrait que quelqu’un ait dérobé votre mot de passe.
+
+# LOCALIZATION NOTE (smtpHintAuthEncryptToPlainSsl): %S is the server hostname
+smtpHintAuthEncryptToPlainSsl=Le serveur sortant (SMTP) %S ne semble pas gérer les mots de passe chiffrés. Si vous venez juste de définir le compte, veuillez modifier la « Méthode d’authentification » pour « Mot de passe normal » dans le menu « Paramètres des comptes | Serveur sortant (SMTP) ». Si cela fonctionnait auparavant et que cela échoue à présent, veuillez contacter votre administrateur de messagerie ou votre fournisseur.
+
+# LOCALIZATION NOTE (smtpHintAuthPlainToEncrypt): %S is the server hostname
+smtpHintAuthPlainToEncrypt=Le serveur sortant (SMTP) %S n’autorise pas les mots de passe non chiffrés. Veuillez modifier la « Méthode d’authentification » pour « Mot de passe chiffré » dans le menu « Paramètres des comptes | Serveur sortant (SMTP) ».
+
+# LOCALIZATION NOTE (smtpAuthFailure): %S is the server hostname
+smtpAuthFailure=Impossible de s’authentifier sur le serveur sortant (SMTP) %S. Veuillez vérifier votre mot de passe et la « Méthode d’authentification » dans le menu « Paramètres des comptes | Serveur sortant (SMTP) ».
+
+# LOCALIZATION NOTE (smtpAuthGssapi): %S is the server hostname
+smtpAuthGssapi=Le ticket Kerberos/GSSAPI n’a pas été accepté par le serveur sortant (SMTP) %S. Veuillez vérifier que vous êtes connecté dans le flux Kerberos/GSSAPI.
+
+# LOCALIZATION NOTE (smtpAuthMechNotSupported): %S is the server hostname
+smtpAuthMechNotSupported=Le serveur sortant (SMTP) %S ne gère pas la méthode d’authentification sélectionnée. Veuillez modifier la « Méthode d’authentification » dans le menu « Paramètres des comptes | Serveur sortant (SMTP) ».
+
+# LOCALIZATION NOTE (errorIllegalLocalPart2): %s is an email address with an illegal localpart
+errorIllegalLocalPart2=Des caractères non ASCII sont présents dans la partie locale de l’adresse e-mail du destinataire %s, mais votre serveur ne prend pas en charge SMTPUTF8. Veuillez modifier cette adresse puis réessayer.
+
+## Strings used for the save message dialog shown when the user closes a message compose window
+saveDlogTitle=Enregistrer le message
+
+## LOCALIZATION NOTE (saveDlogMessages3): Do not translate the words %1$S and \n.
+## %1$S is replaced by the folder name configured for saving drafts (typically the "Drafts" folder).
+## Translate "Write" to match the translation of item "windowTitleWrite" below.
+saveDlogMessages3=Enregistrer ce message dans votre dossier Brouillons (%1$S) et fermer la fenêtre de composition ?
+discardButtonLabel=&Abandonner les modifications
+
+## generics string
+defaultSubject=(pas de sujet)
+chooseFileToAttach=Joindre les fichiers
+genericFailureExplanation=Veuillez vérifier que les paramètres de votre compte sont corrects et essayer à nouveau.
+
+## LOCALIZATION NOTE (undisclosedRecipients): this string must use only US_ASCII characters
+undisclosedRecipients=destinataires inconnus
+
+# LOCALIZATION NOTE (chooseFileToAttachViaCloud): %1$S is the cloud
+# provider to save the file to.
+chooseFileToAttachViaCloud=Joindre le(s) fichier(s) par l’intermédiaire de %1$S
+
+## Window titles
+# LOCALIZATION NOTE (windowTitleWrite):
+# %1$S is the message subject.
+# %2$S is the application name.
+# Example: Write: Re: Invitation - Thunderbird
+windowTitleWrite=Rédaction : %1$S - %2$S
+# LOCALIZATION NOTE (windowTitlePrintPreview):
+# %1$S is the message subject.
+# %2$S is the application name.
+# Example: Print Preview: Re: Invitation - Thunderbird
+windowTitlePrintPreview=Aperçu avant impression : %1$S - %2$S
+
+## From field
+msgIdentityPlaceholder=Saisir une adresse d’expédition personnalisée à utiliser à la place de %S
+customizeFromAddressTitle=Personnaliser l’adresse d’expédition
+customizeFromAddressWarning=Si votre fournisseur de messagerie le permet, personnaliser l’adresse d’expédition permet d’effectuer une modification ponctuelle de votre adresse d’expédition sans avoir à créer de nouvelle identité depuis les paramètres des comptes. Par exemple, si votre adresse d’expédition est Jules César <jules@example.com> vous souhaiterez peut-être la modifier en Jules César <jules+cesar@example.com> ou bien Jules <jules@example.com>.
+customizeFromAddressIgnore=Ne plus jamais me prévenir
+
+## Strings used by the empty subject dialog
+subjectEmptyTitle=Rappel de sujet
+subjectEmptyMessage=Votre message n’a pas de sujet.
+sendWithEmptySubjectButton=&Envoyer sans sujet
+cancelSendingButton=&Annuler l’envoi
+
+## Strings used by the dialog that informs about the lack of newsgroup support.
+noNewsgroupSupportTitle=Groupes de discussion non supportés
+recipientDlogMessage=Ce compte prend uniquement en charge les destinataires d’e-mails. En continuant, les groupes seront ignorés.
+
+## Strings used by the alert that tells the user that an email address is invalid.
+addressInvalidTitle=Adresse de destinataire invalide
+addressInvalid=%1$S n’est pas une adresse valide, car elle n’est pas au format utilisateur@domaine. Veuillez la corriger avant d’envoyer l’e-mail.
+
+## String used by the dialog that asks the user to attach a web page
+attachPageDlogTitle=Veuillez spécifier un chemin pour la pièce jointe
+attachPageDlogMessage=Page web (URL) :
+
+## String used for attachment pretty name, when the attachment is a message
+messageAttachmentSafeName=Message joint
+
+## String used for attachment pretty name, when the attachment is a message part
+partAttachmentSafeName=Portion de message joint
+
+# LOCALIZATION NOTE (attachmentBucketAttachFilesTooltip):
+# This tooltip should be same as attachFile.label in messengercompose.dtd,
+# but without ellipsis (…).
+attachmentBucketAttachFilesTooltip=Joindre fichier(s)
+attachmentBucketClearSelectionTooltip=Effacer la sélection
+attachmentBucketHeaderShowTooltip=Afficher le panneau des pièces jointes
+attachmentBucketHeaderMinimizeTooltip=Réduire le panneau des pièces jointes
+attachmentBucketHeaderRestoreTooltip=Restaurer le panneau des pièces jointes
+
+## String used by the Initialization Error dialog
+initErrorDlogTitle=Rédaction du message
+initErrorDlgMessage=Erreur lors de l’ouverture de la fenêtre de rédaction de messages. Veuillez essayer à nouveau.
+
+## String used if a file to attach does not exist when passed as
+## a command line argument
+errorFileAttachTitle=Pièce jointe
+
+## LOCALIZATION NOTE (errorFileAttachMessage): %1$S will be replaced by the non-existent file name.
+errorFileAttachMessage=Le fichier %1$S n’existe pas et n’a pu être joint au message.
+
+## String used if a file to serve as message body does not exist or cannot be loaded when passed
+## as a command line argument
+errorFileMessageTitle=Fichier de message
+
+## LOCALIZATION NOTE (errorFileMessageMessage): %1$S will be replaced by the non-existent file name.
+errorFileMessageMessage=Le fichier %1$S n’existe pas et ne peut pas être utilisé comme corps du message.
+
+## LOCALIZATION NOTE (errorLoadFileMessageMessage): %1$S will be replaced by the name of the file that can't be loaded.
+errorLoadFileMessageMessage=Le fichier %1$S n’a pas pu être chargé comme corps du message.
+
+## Strings used by the Save as Draft/Template dialog
+SaveDialogTitle=Enregistrement du message
+
+## LOCALIZATION NOTE (SaveDialogMsg): %1$S is the folder name, %2$S is the host name
+SaveDialogMsg=Votre message a été enregistré dans le dossier %1$S sous %2$S.
+CheckMsg=Ne plus afficher cette boîte de dialogue.
+
+## Strings used by the prompt when Quitting while in progress
+quitComposeWindowTitle=Envoi d’un message
+
+## LOCALIZATION NOTE (quitComposeWindowMessage2): don't translate \n
+quitComposeWindowMessage2=%1$S envoie un message.\nVoulez-vous quitter maintenant ou attendre la fin de l’envoi ?
+quitComposeWindowQuitButtonLabel2=&Quitter
+quitComposeWindowWaitButtonLabel2=&Attendre
+quitComposeWindowSaveTitle=Enregistrement du message
+
+## LOCALIZATION NOTE (quitComposeWindowSaveMessage): don't translate \n
+quitComposeWindowSaveMessage=%1$S enregistre un message.\nVoulez-vous quitter maintenant ou attendre la fin de l’enregistrement ?
+
+## Strings used by the prompt for Ctrl-Enter check before sending message
+sendMessageCheckWindowTitle=Envoyer le message
+sendMessageCheckLabel=Voulez-vous vraiment envoyer ce message tout de suite ?
+sendMessageCheckSendButtonLabel=Envoyer
+assemblingMessageDone=Assemblage du message… Terminé
+assemblingMessage=Assemblage du message…
+smtpDeliveringMail=Envoi du courrier…
+smtpMailSent=Courrier envoyé avec succès
+assemblingMailInformation=Assemblage des informations du message…
+
+## LOCALIZATION NOTE (gatheringAttachment): argument %S is the file name/URI of attachment
+gatheringAttachment=Adjonction de %S…
+creatingMailMessage=Création du message…
+
+## LOCALIZATION NOTE (copyMessageStart): argument %S is the folder name
+copyMessageStart=Copie du message vers le dossier %S…
+copyMessageComplete=Copie terminée.
+copyMessageFailed=Échec de la copie.
+filterMessageComplete=Filtrage terminé.
+filterMessageFailed=Échec du filtrage.
+
+## LOCALIZATION NOTE (largeMessageSendWarning):
+## Do not translate %S. It is the size of the message in user-friendly notation.
+largeMessageSendWarning=Attention ! Vous vous apprêtez à envoyer un message d’une taille de %S. Voulez-vous vraiment envoyer ce message ?
+sendingMessage=Envoi du message…
+sendMessageErrorTitle=Erreur d’envoi du message
+postingMessage=Expédition du message…
+sendLaterErrorTitle=Erreur d’envoi différé
+saveDraftErrorTitle=Erreur d’enregistrement du brouillon
+saveTemplateErrorTitle=Erreur d’enregistrement du modèle
+
+## LOCALIZATION NOTE (failureOnObjectEmbeddingWhileSaving): argument %.200S is the file name/URI of object to be embedded
+failureOnObjectEmbeddingWhileSaving=Un problème est survenu lors de l’insertion du fichier %.200S dans le message. Voulez-vous continuer l’enregistrement du message sans le fichier ?
+
+## LOCALIZATION NOTE (failureOnObjectEmbeddingWhileSending): argument %.200S is the file name/URI of object to be embedded
+failureOnObjectEmbeddingWhileSending=Un problème est survenu lors de l’insertion du fichier %.200S dans le message. Voulez-vous continuer l’envoi du message sans le fichier ?
+returnToComposeWindowQuestion=Voulez-vous retourner dans la fenêtre de rédaction ?
+
+## reply header in composeMsg
+## LOCALIZATION NOTE (mailnews.reply_header_authorwrotesingle): #1 is the author (name of the person replying to)
+mailnews.reply_header_authorwrotesingle=#1 a écrit :
+
+## LOCALIZATION NOTE (mailnews.reply_header_ondateauthorwrote): #1 is the author, #2 is the date, #3 is the time
+mailnews.reply_header_ondateauthorwrote=Le #2 à #3, #1 a écrit :
+
+## LOCALIZATION NOTE (mailnews.reply_header_authorwroteondate): #1 is the author, #2 is the date, #3 is the time
+mailnews.reply_header_authorwroteondate=#1 a écrit le #2 à #3 :
+
+## reply header in composeMsg
+## user specified
+mailnews.reply_header_originalmessage=-------- Message original --------
+
+## forwarded header in composeMsg
+## user specified
+mailnews.forward_header_originalmessage=-------- Message transféré --------
+
+## Strings used by the rename attachment dialog
+renameAttachmentTitle=Renommer la pièce jointe
+renameAttachmentMessage=Nouveau nom de la pièce jointe :
+
+## Attachment Reminder
+## LOCALIZATION NOTE (mail.compose.attachment_reminder_keywords): comma separated
+## words that should trigger an attachment reminder.
+mail.compose.attachment_reminder_keywords=pièce jointe,joins,joint,joints,jointe,jointes,.doc,.pdf,CV,lettre de motivation,attaché,attachée,attachées,attachés
+
+remindLaterButton=Me le rappeler plus tard
+remindLaterButton.accesskey=R
+disableAttachmentReminderButton=Désactiver le rappel pour les pièces jointes pour le message actuel
+attachmentReminderTitle=Rappel pour les pièces jointes
+attachmentReminderMsg=Avez-vous oublié de joindre un fichier ?
+
+# LOCALIZATION NOTE (attachmentReminderKeywordsMsgs): Semi-colon list of plural forms.
+# See: https://developer.mozilla.org/en/Localization_and_Plurals
+# #1 number of keywords
+attachmentReminderKeywordsMsgs=Mot-clé de pièce jointe trouvé :;#1 mots-clés de pièce jointe trouvés :
+attachmentReminderOptionsMsg=Les mots de rappel de pièce jointe peuvent être configurés dans les préférences
+attachmentReminderYesIForgot=Oui
+attachmentReminderFalseAlarm=Non, envoyer maintenant
+
+# Strings used by the Filelink offer notification bar.
+learnMore.label=En apprendre plus…
+learnMore.accesskey=E
+
+# LOCALIZATION NOTE (bigFileDescription): Semi-colon list of plural forms.
+# See: https://developer.mozilla.org/en/Localization_and_Plurals
+# #1 number of big attached files
+bigFileDescription=Ce fichier est volumineux. Il serait préférable d’utiliser un espace de stockage de fichiers.;Ces fichiers sont volumineux. Il serait préférable d’utiliser un espace de stockage de fichiers.
+bigFileShare.label=Lier
+bigFileShare.accesskey=L
+bigFileAttach.label=Ignorer
+bigFileAttach.accesskey=I
+bigFileChooseAccount.title=Choisir un compte
+bigFileChooseAccount.text=Choisir un compte pour y déposer la pièce jointe
+bigFileHideNotification.title=Ne pas télécharger mes fichiers vers un service de stockage en ligne
+bigFileHideNotification.text=Vous ne recevrez plus de notification si vous joignez d’autres fichiers volumineux à ce message.
+bigFileHideNotification.check=Ne plus jamais me prévenir.
+
+# LOCALIZATION NOTE(cloudFileUploadingTooltip): Do not translate the string
+# %S. %S is the display name for the cloud account the attachment is being
+# uploaded to.
+cloudFileUploadingTooltip=Téléchargement vers %S…
+
+# LOCALIZATION NOTE(cloudFileUploadedTooltip): Do not translate the string
+# %S. %S is the display name for the cloud account the attachment was uploaded
+# to.
+cloudFileUploadedTooltip=Téléchargé vers %S
+cloudFileUploadingNotification=Votre fichier a été lié. Le lien apparaîtra dans le corps du message lorsque le téléchargement sera terminé.;Vos fichiers ont été liés. Les liens apparaîtront dans le corps du message lorsque les téléchargements seront terminés.
+cloudFileUploadingCancel.label=Annuler
+cloudFileUploadingCancel.accesskey=A
+cloudFilePrivacyNotification=Le lien est établi. Notez bien que les pièces jointes seront accessibles à tous ceux qui peuvent voir ou deviner les liens.
+
+## LOCALIZATION NOTE(smtpEnterPasswordPrompt): Do not translate the
+## word %S. Place the word %S where the host name should appear.
+smtpEnterPasswordPrompt=Saisissez votre mot de passe pour %S :
+
+## LOCALIZATION NOTE(smtpEnterPasswordPromptWithUsername): Do not translate the
+## words %1$S and %2$S. Place the word %1$S where the host name should appear,
+## and %2$S where the user name should appear.
+smtpEnterPasswordPromptWithUsername=Saisissez votre mot de passe pour %2$S sur %1$S :
+## LOCALIZATION NOTE(smtpEnterPasswordPromptTitleWithHostname): Do not translate the
+## word %1$S. Place the word %1$S where the server host name should appear.
+smtpEnterPasswordPromptTitleWithHostname=Mot de passe requis pour le serveur sortant (SMTP) %1$S
+
+# LOCALIZATION NOTE (removeAttachmentMsgs): Semi-colon list of plural forms.
+# See: https://developer.mozilla.org/en/Localization_and_Plurals
+removeAttachmentMsgs=Supprimer la pièce jointe;Supprimer les pièces jointes
+
+## LOCALIZATION NOTE(promptToSaveSentLocally2): Do not translate the strings %1$S, %2$S, %3$S and \n.
+## %2$S will be replaced with the account name. $1$S will be replaced by the folder name
+## configured to contain saved sent messages (typically the "Sent" folder).
+## %3$S will be replaced with the local folders account name (typically "Local Folders").
+## Translate "Write" to match the translation of item "windowTitleWrite" above.
+promptToSaveSentLocally2=Votre message a été envoyé, mais une copie n’a pas été placée dans votre dossier Envoyés (%1$S) en raison d’un problème d’accès au réseau ou au fichier.\nVous pouvez recommencer ou enregistrer le message en local dans %3$S/%1$S-%2$S.
+errorFilteringMsg=Votre message a été correctement envoyé et enregistré, cependant une erreur est survenue lors de l’application des filtres de messages sur ce dernier.
+errorCloudFileAuth.title=Erreur d’authentification
+
+## LOCALIZATION NOTE(promptToSaveDraftLocally2): Do not translate the strings %1$S, %2$S, %3$S and \n.
+## %2$S will be replaced with the account name. $1$S will be replaced by the folder name
+## configured to contain saved draft messages (typically the "Drafts" folder).
+## %3$S will be replaced with the local folders account name (typically "Local Folders").
+promptToSaveDraftLocally2=Votre brouillon n’a pas été copié dans votre dossier Brouillons (%1$S) en raison d’un problème d’accès au réseau ou au fichier.\nVous pouvez recommencer ou enregistrer le brouillon en local dans %3$S/%1$S-%2$S.
+buttonLabelRetry2=&Réessayer
+
+## LOCALIZATION NOTE(promptToSaveTemplateLocally2): Do not translate the strings %1$S, %2$S, %3$S and \n.
+## %2$S will be replaced with the account name. $1$S will be replaced by the folder name
+## configured to contain saved templates (typically the "Templates" folder).
+## %3$S will be replaced with the local folders account name (typically "Local Folders").
+promptToSaveTemplateLocally2=Votre modèle n’a pas été copié dans votre dossier Modèles (%1$S) en raison d’un problème d’accès au réseau ou au fichier.\nVous pouvez recommencer ou enregistrer le modèle en local dans %3$S/%1$S-%2$S.
+
+## LOCALIZATION NOTE(saveToLocalFoldersFailed): Message appears after normal
+## save fails (e.g., to Sent) and save to Local Folders also fails. This could
+## occur if network is down and filesystem problems are present such as disk
+## full, permission issues or hardware failure.
+saveToLocalFoldersFailed=Impossible d’enregistrer votre message dans les dossiers locaux. Il est possible que le stockage de fichiers soit saturé.
+
+## LOCALIZATION NOTE(errorCloudFileAuth.message):
+## %1$S is the name of the online storage service against which the authentication failed.
+errorCloudFileAuth.message=Impossible de s’authentifier à %1$S.
+errorCloudFileUpload.title=Erreur de téléchargement
+
+## LOCALIZATION NOTE(errorCloudFileUpload.message):
+## %1$S is the name of the online storage service against which the uploading failed.
+## %2$S is the name of the file that failed to upload.
+errorCloudFileUpload.message=Impossible de télécharger %2$S vers %1$S.
+errorCloudFileQuota.title=Erreur de quota
+
+## LOCALIZATION NOTE(errorCloudFileQuota.message):
+## %1$S is the name of the online storage service being uploaded to.
+## %2$S is the name of the file that could not be uploaded due to exceeding the storage limit.
+errorCloudFileQuota.message=Télécharger %2$S vers %1$S dépasserait le quota qui vous est alloué.
+errorCloudFileLimit.title=Erreur de taille de fichier
+
+## LOCALIZATION NOTE(errorCloudFileLimit.message):
+## %1$S is the name of the online storage service being uploaded to.
+## %2$S is the name of the file that could not be uploaded due to size restrictions.
+errorCloudFileLimit.message=%2$S dépasse la taille maximale autorisée pour %1$S.
+errorCloudFileOther.title=Erreur inconnue
+
+## LOCALIZATION NOTE(errorCloudFileOther.message):
+## %1$S is the name of the online storage service that cannot be communicated with.
+errorCloudFileOther.message=Une erreur inconnue est survenue lors de la communication avec %1$S.
+errorCloudFileDeletion.title=Erreur de suppression
+
+## LOCALIZATION NOTE(errorCloudFileDeletion.message):
+## %1$S is the name of the online storage service that the file is to be deleted from.
+## %2$S is the name of the file that failed to be deleted.
+errorCloudFileDeletion.message=Il y a eu un problème lors de la suppression de %2$S sur %1$S.
+errorCloudFileUpgrade.label=Mettre à jour
+
+## LOCALIZATION NOTE(stopShowingUploadingNotification): This string is used in the Filelink
+## upload notification bar to allow the user to dismiss the notification permanently.
+stopShowingUploadingNotification.accesskey=N
+stopShowingUploadingNotification.label=Ne plus afficher ce message
+replaceButton.label=Remplacer…
+replaceButton.accesskey=l
+replaceButton.tooltip=Afficher le dialogue Rechercher et remplacer
+
+## LOCALIZATION NOTE(blockedAllowResource): %S is the URL to load.
+blockedAllowResource=Débloquer %S
+## LOCALIZATION NOTE (blockedContentMessage): Semi-colon list of plural forms.
+## See: https://developer.mozilla.org/en/docs/Localization_and_Plurals
+## %S will be replaced by brandShortName.
+## Files must be unblocked individually, therefore the plural form reads:
+## Unblocking a file (one of several) will include it (that one file) in your sent message.
+## In other words:
+## Unblocking one/several file(s) will include it/them in your message.
+blockedContentMessage=%S a bloqué le chargement d’un fichier dans ce message. Débloquer le fichier l’inclut dans le message à envoyer.;%S a bloqué le chargement de certains fichiers dans ce message. Débloquer un fichier l’inclut dans le message à envoyer.
+
+blockedContentPrefLabel=Options
+blockedContentPrefAccesskey=O
+
+blockedContentPrefLabelUnix=Préférences
+blockedContentPrefAccesskeyUnix=P
+
+## Recipient pills fields.
+## LOCALIZATION NOTE(confirmRemoveRecipientRowTitle2): %S will be replaced with the field name.
+confirmRemoveRecipientRowTitle2=Supprimer les adresses %S
+## LOCALIZATION NOTE(confirmRemoveRecipientRowBody2): %S will be replaced with the field name.
+confirmRemoveRecipientRowBody2=Voulez-vous vraiment retirer les adresses %S ?
+confirmRemoveRecipientRowButton=Supprimer
+
+## LOCALIZATION NOTE headersSpaceStyle is for aligning label of a newly create recipient row.
+## It should be larger than the largest Header label and identical to &headersSpace2.style;
+headersSpaceStyle=width: 11em;
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/messengercompose/editor.properties b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/messengercompose/editor.properties
new file mode 100644
index 0000000000..66bf69dd11
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/messengercompose/editor.properties
@@ -0,0 +1,208 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE FILE: embedded "\n" represent HTML breaks (<br>)
+# Don't translate embedded "\n".
+# Don't translate strings like this: %variable%
+# as they will be replaced using JavaScript
+#
+No=Non
+Save=Enregistrer
+More=Plus
+Less=Moins
+MoreProperties=Plus de propriétés
+FewerProperties=Moins de propriétés
+PropertiesAccessKey=P
+None=Aucun
+none=aucun
+OpenHTMLFile=Ouvrir un fichier HTML
+OpenTextFile=Ouvrir un fichier texte
+SelectImageFile=Sélectionner un fichier d’image
+SaveDocument=Enregistrer le document
+SaveDocumentAs=Enregistrer le document sous
+SaveTextAs=Enregistrer le texte sous
+EditMode=Mode d’édition
+Preview=Prévisualisation
+Publish=Publication
+PublishPage=Publier la page
+DontPublish=Ne pas publier
+SavePassword=Utiliser le gestionnaire de mots de passe pour enregistrer celui-ci.
+CorrectSpelling=(orthographe correcte)
+NoSuggestedWords=(pas de mot suggéré)
+NoMisspelledWord=Aucun mot mal écrit n’a été trouvé.
+CheckSpellingDone=Vérification d’orthographe terminée.
+CheckSpelling=Vérification d’orthographe
+InputError=Erreur
+Alert=Alerte
+CantEditFramesetMsg=Cet éditeur ne peut traiter les ensembles de cadres HTML. Essayez de modifier séparément les pages de chaque cadre. Pour les pages contenant des cadres HTML, enregistrez une copie de la page et supprimez les balises <iframe>.
+CantEditMimeTypeMsg=Ce type de page ne peut être édité.
+CantEditDocumentMsg=Pour certaines raisons, cette page ne peut être éditée.
+BeforeClosing=avant de fermer
+BeforePreview=pour avoir un aperçu
+BeforeValidate=avant de valider le document
+# LOCALIZATION NOTE (SaveFilePrompt, PublishPrompt): Don't translate %title% and %reason% (this is the reason for asking user to close, such as "before closing")
+SaveFilePrompt=Enregistrer les changements dans « %title% » %reason% ?
+PublishPrompt=Enregistrer les changements dans « %title% » %reason% ?
+SaveFileFailed=L’enregistrement du fichier a échoué !
+
+# Publishing error strings:
+# LOCALIZATION NOTE Don't translate %dir% or %file% in the Publishing error strings:
+FileNotFound=%file% non trouvé.
+SubdirDoesNotExist=Le répertoire « %dir% » n’existe pas sur ce site ou le nom de fichier « %file% » est déjà utilisé par un autre répertoire.
+FilenameIsSubdir=Le nom de fichier « %file% » est déjà utilisé par un autre répertoire.
+ServerNotAvailable=Le serveur n’est pas disponible. Vérifiez votre connexion et réessayez plus tard.
+Offline=Vous êtes actuellement déconnecté. Cliquez sur l’icône dans le coin en bas à droite de n’importe quelle fenêtre pour vous connecter.
+DiskFull=Il n’y a pas suffisamment d’espace disque disponible pour enregistrer le fichier « %file% ».
+NameTooLong=Le nom du fichier ou du sous-répertoire est trop long.
+AccessDenied=Vous n’avez pas la permission de publier à cet endroit.
+UnknownPublishError=Une erreur de publication inconnue est survenue.
+PublishFailed=La publication a échoué.
+PublishCompleted=Publication terminée
+AllFilesPublished=Tous les fichiers ont été publiés.
+# LOCALIZATION NOTE Don't translate %x% or %total%
+FailedFileMsg=%x% fichiers sur %total% ont échoué à la publication.
+# End-Publishing error strings
+Prompt=Invite
+# LOCALIZATION NOTE (PromptFTPUsernamePassword): Don't translate %host%
+PromptFTPUsernamePassword=Saisissez un nom d’utilisateur et un mot de passe pour le serveur FTP %host%
+RevertCaption=Revenir au dernier enregistrement
+Revert=Revenir
+SendPageReason=avant d’envoyer cette page
+Send=Envoyer
+## LOCALIZATION NOTE (PublishProgressCaption, PublishToSite, AbandonChanges): Don't translate %title%
+PublishProgressCaption=Publication en cours : %title%
+PublishToSite=Publication en cours vers le site : %title%
+AbandonChanges=Abandonner les changements sur « %title% » et actualiser cette page ?
+DocumentTitle=Titre du document
+NeedDocTitle=Saisissez un titre pour la page actuelle.\nLe titre identifiera la page dans la barre de titre de la fenêtre et dans les marque-pages.
+DocTitleHelp=Ceci identifie la page dans le titre de la fenêtre et dans les marque-pages.
+CancelPublishTitle=Annuler la publication ?
+## LOCALIZATION NOTE: "Continue" in this sentence must match the text for
+## the CancelPublishContinue key below
+CancelPublishMessage=Annuler une publication en cours peut faire que votre fichier n’aura pas été transféré en entier. Voulez-vous Continuer ou Annuler ?
+CancelPublishContinue=Continuer
+MissingImageError=Veuillez entrer ou choisir une image de type gif, jpg ou png.
+EmptyHREFError=Vous devez entrer ou choisir <br>une adresse (URL) pour créer un nouveau lien.
+LinkText=Texte du lien :
+LinkImage=Lier l’image :
+MixedSelection=[Sélection multiple]
+Mixed=(mélangé)
+# LOCALIZATION NOTE (NotInstalled): %S is the name of the font
+NotInstalled=%S (non installée)
+EnterLinkText=Saisissez le texte à afficher pour le lien :
+EnterLinkTextAccessKey=T
+EmptyLinkTextError=Vous devez entrer du texte pour ce lien.
+EditTextWarning=Ceci remplacera le contenu actuel.
+#LOCALIZATION NOTE (ValidateNumber):Don't translate: %n% %min% %max%
+ValidateRangeMsg=Le nombre entré (%n%) est en dehors de l’intervalle alloué
+ValidateNumberMsg=Veuillez entrer un nombre entre %min% et %max%.
+MissingAnchorNameError=Vous devez entrer un nom pour cette ancre.
+#LOCALIZATION NOTE (DuplicateAnchorNameError): Don't translate %name%
+DuplicateAnchorNameError=« %name% » existe déjà dans cette page.\nVeuillez saisir un nom différent.
+BulletStyle=Style des puces :
+SolidCircle=Cercle plein
+OpenCircle=Cercle ouvert
+SolidSquare=Carré plein
+NumberStyle=Style des nombres :
+Automatic=Automatique
+Style_1=1,2,3…
+Style_I=I,II,III…
+Style_i=i,ii,iii…
+Style_A=A,B,C…
+Style_a=a,b,c…
+Pixels=pixels
+Percent=%
+PercentOfCell=% de la cellule
+PercentOfWindow=% de la fenêtre
+PercentOfTable=% du tableau
+#LOCALIZATION NOTE (untitledTitle): %S is the window #. No plural handling needed.
+untitledTitle=sans nom - %S
+untitledDefaultFilename=sans nom
+ShowToolbar=Afficher la barre d’outils
+HideToolbar=Masquer la barre d’outils
+ImapError=Impossible de charger l’image
+ImapCheck=\nVeuillez choisir une autre adresse (URL) et recommencer.
+SaveToUseRelativeUrl=Les URL relatives ne peuvent être utilisées que sur des pages déjà enregistrées.
+NoNamedAnchorsOrHeadings=(Pas d’ancre nommée ou d’en-tête dans cette page)
+TextColor=Couleur du texte
+HighlightColor=Couleur de mise en valeur
+PageColor=Couleur de fond de la page
+BlockColor=Couleur du fond
+TableColor=Couleur de fond du tableau
+CellColor=Couleur de fond de la cellule
+TableOrCellColor=Couleur du tableau ou de la cellule
+LinkColor=Couleur du lien
+ActiveLinkColor=Couleur d’un lien actif
+VisitedLinkColor=Couleur d’un lien visité
+NoColorError=Cliquez sur une couleur ou entrer une chaîne HTML de couleur valide.
+Table=du tableau
+TableCell=de la cellule du tableau
+NestedTable=du tableau imbriqué
+HLine=de la ligne horizontale
+Link=du lien
+Image=de l’image
+ImageAndLink=Image et lien
+NamedAnchor=de l’ancre
+List=de la liste
+ListItem=Lister les éléments
+Form=du formulaire
+InputTag=du champ du formulaire
+InputImage=de l’image du formulaire
+TextArea=de la zone de texte
+Select=de la liste de sélection
+Button=du bouton
+Label=de l’étiquette
+FieldSet=de l’ensemble de champs
+Tag=Tag
+MissingSiteNameError=Veuillez entrer un nom pour ce site de publication.
+MissingPublishUrlError=Veuillez entrer une adresse pour la publication de cette page.
+MissingPublishFilename=Veuillez entrer un nom de fichier pour la page actuelle.
+#LOCALIZATION NOTE (DuplicateSiteNameError): Don't translate %name%
+DuplicateSiteNameError=« %name% » existe déjà.\nVeuillez entrer un autre nom de site.
+AdvancedProperties=Propriétés avancées…
+AdvancedEditForCellMsg=L’édition avancée n’est pas disponible lorsque plusieurs cellules sont sélectionnées
+# LOCALIZATION NOTE (ObjectProperties):Don't translate "%obj%" it will be replaced with one of above object nouns
+ObjectProperties=Propriétés %obj%
+# LOCALIZATION NOTE This character must be in the above string and not confict with other accesskeys in Format menu
+ObjectPropertiesAccessKey=o
+# LOCALIZATION NOTE (JoinSelectedCells): This variable should contain the "tableJoinCells.accesskey"
+# letter as defined in editorOverlay.dtd
+JoinSelectedCells=Fusionner les cellules sélectionnées
+# LOCALIZATION NOTE (JoinCellToRight): This variable should contain the "tableJoinCells.accesskey"
+# letter as defined in editorOverlay.dtd
+JoinCellToRight=Fusionner avec la cellule suivante
+JoinCellAccesskey=F
+# LOCALIZATION NOTE (TableSelectKey): Ctrl key on a keyboard
+TableSelectKey=Ctrl+
+# LOCALIZATION NOTE (XulKeyMac): Command key on a Mac keyboard
+XulKeyMac=Cmd+
+# LOCALIZATION NOTE (Del): Del key on a keyboard
+Del=Suppr
+Delete=Supprimer
+DeleteCells=Supprimer les cellules
+DeleteTableTitle=Supprimer des lignes ou des colonnes
+DeleteTableMsg=Diminuer le nombre de colonnes ou de lignes vous fera perdre le contenu des cellules ainsi supprimées. Voulez-vous vraiment faire cette manipulation ?
+Clear=Effacer
+#Mouse actions
+Click=Cliquer
+Drag=Glisser
+Unknown=Inconnu
+#
+# LOCALIZATION NOTE "RemoveTextStylesAccesskey" is used for both
+# menu items: "RemoveTextStyles" and "StopTextStyles"
+RemoveTextStylesAccesskey=x
+RemoveTextStyles=Enlever tous les styles de texte
+StopTextStyles=Arrêter les styles de texte
+#
+# LOCALIZATION NOTE "RemoveLinksAccesskey" is used for both
+# menu items: "RemoveLinks" and "StopLinks"
+RemoveLinksAccesskey=n
+RemoveLinks=Enlever le lien
+StopLinks=Arrêter le lien
+#
+NoFormAction=Il est recommandé de spécifier une action pour ce formulaire. Les formulaires à envoi automatique sont une technique avancée qui risque de ne pas fonctionner de la même façon dans tous les navigateurs.
+NoAltText=Il est recommandé de fournir un texte alternatif que les navigateurs en texte seulement (exemple : Lynx) pourront utiliser, et qui apparaîtra dans les autres navigateurs durant le chargement de l’image ou à la place des images si elles ne sont pas autorisées à être chargées.
+#
+Malformed=Le code source HTML n’a pas pu être réintégré dans le document parce que ce n’est pas du XHTML valide.
+NoLinksToCheck=Il n’y a pas d’éléments avec des liens à vérifier
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/messengercompose/editorOverlay.dtd b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/messengercompose/editorOverlay.dtd
new file mode 100644
index 0000000000..6da0c2e353
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/messengercompose/editorOverlay.dtd
@@ -0,0 +1,303 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!-- Attn: Localization - some of the menus in this dialog directly affect mail also. -->
+
+<!-- Edit menu items -->
+<!ENTITY pasteNoFormatting.label "Coller sans mise en forme">
+<!ENTITY pasteNoFormatting.accesskey "s">
+<!ENTITY pasteNoFormatting.key "V">
+<!ENTITY pasteAsQuotationCmd.label "Coller comme une citation">
+<!ENTITY pasteAsQuotationCmd.accesskey "i">
+
+<!-- Insert menu items -->
+<!ENTITY insertMenu.label "Insérer">
+<!ENTITY insertMenu.accesskey "I">
+<!ENTITY insertLinkCmd2.label "Lien…">
+<!ENTITY insertLinkCmd2.accesskey "L">
+<!ENTITY insertLinkCmd2.key "K">
+<!ENTITY insertAnchorCmd.label "Ancre…">
+<!ENTITY insertAnchorCmd.accesskey "A">
+<!ENTITY insertImageCmd.label "Image…">
+<!ENTITY insertImageCmd.accesskey "I">
+<!ENTITY insertHLineCmd.label "Ligne horizontale">
+<!ENTITY insertHLineCmd.accesskey "g">
+<!ENTITY insertTableCmd.label "Tableau…">
+<!ENTITY insertTableCmd.accesskey "T">
+<!ENTITY insertHTMLCmd.label "HTML…">
+<!ENTITY insertHTMLCmd.accesskey "H">
+<!ENTITY insertMathCmd.label "Math…">
+<!ENTITY insertMathCmd.accesskey "M">
+<!ENTITY insertCharsCmd.label "Caractères et symboles…">
+<!ENTITY insertCharsCmd.accesskey "C">
+<!ENTITY insertBreakAllCmd.label "Saut de ligne sous l’image/les images">
+<!ENTITY insertBreakAllCmd.accesskey "S">
+
+<!-- Used just in context popup. -->
+<!ENTITY createLinkCmd.label "Créer un lien…">
+<!ENTITY createLinkCmd.accesskey "l">
+<!ENTITY editLinkCmd.label "Modifier le lien dans un nouveau Composeur">
+<!ENTITY editLinkCmd.accesskey "M">
+
+<!-- Font Face SubMenu -->
+<!ENTITY FontFaceSelect.tooltip "Choisir une police">
+<!ENTITY fontfaceMenu.label "Police de caractères">
+<!ENTITY fontfaceMenu.accesskey "P">
+<!ENTITY fontVarWidth.label "Largeur variable">
+<!ENTITY fontVarWidth.accesskey "v">
+<!ENTITY fontFixedWidth.label "Largeur fixe">
+<!ENTITY fontFixedWidth.accesskey "x">
+<!ENTITY fontFixedWidth.key "T">
+<!ENTITY fontHelvetica.label "Helvetica, Arial">
+<!ENTITY fontHelvetica.accesskey "H">
+<!ENTITY fontTimes.label "Times">
+<!ENTITY fontTimes.accesskey "T">
+<!ENTITY fontCourier.label "Courier">
+<!ENTITY fontCourier.accesskey "C">
+
+<!-- Font Size SubMenu -->
+<!ENTITY FontSizeSelect.tooltip "Choisir la taille d’une police">
+<!ENTITY decreaseFontSize.label "Plus petite">
+<!ENTITY decreaseFontSize.accesskey "u">
+<!ENTITY decrementFontSize.key "&lt;">
+<!ENTITY decrementFontSize.key2 ","> <!-- < is above this key on many keyboards -->
+<!ENTITY increaseFontSize.label "Plus grande">
+<!ENTITY increaseFontSize.accesskey "g">
+<!ENTITY incrementFontSize.key "&gt;">
+<!ENTITY incrementFontSize.key2 "."> <!-- > is above this key on many keyboards -->
+
+<!ENTITY fontSizeMenu.label "Taille">
+<!ENTITY fontSizeMenu.accesskey "i">
+<!ENTITY size-tinyCmd.label "Très petite">
+<!ENTITY size-tinyCmd.accesskey "T">
+<!ENTITY size-smallCmd.label "Petite">
+<!ENTITY size-smallCmd.accesskey "P">
+<!ENTITY size-mediumCmd.label "Moyenne">
+<!ENTITY size-mediumCmd.accesskey "M">
+<!ENTITY size-largeCmd.label "Grande">
+<!ENTITY size-largeCmd.accesskey "G">
+<!ENTITY size-extraLargeCmd.label "Très grande">
+<!ENTITY size-extraLargeCmd.accesskey "r">
+<!ENTITY size-hugeCmd.label "Très très grande">
+<!ENTITY size-hugeCmd.accesskey "d">
+
+<!-- Font Style SubMenu -->
+<!ENTITY fontStyleMenu.label "Style">
+<!ENTITY fontStyleMenu.accesskey "t">
+<!ENTITY styleBoldCmd.label "Gras">
+<!ENTITY styleBoldCmd.accesskey "G">
+<!ENTITY styleBoldCmd.key "B">
+<!ENTITY styleItalicCmd.label "Italique">
+<!ENTITY styleItalicCmd.accesskey "I">
+<!ENTITY styleItalicCmd.key "I">
+<!ENTITY styleUnderlineCmd.label "Souligné">
+<!ENTITY styleUnderlineCmd.accesskey "u">
+<!ENTITY styleUnderlineCmd.key "U">
+<!ENTITY styleStrikeThruCmd.label "Barré">
+<!ENTITY styleStrikeThruCmd.accesskey "B">
+<!ENTITY styleSuperscriptCmd.label "Exposant">
+<!ENTITY styleSuperscriptCmd.accesskey "p">
+<!ENTITY styleSubscriptCmd.label "Indice">
+<!ENTITY styleSubscriptCmd.accesskey "d">
+<!ENTITY styleNonbreakingCmd.label "Insécable">
+<!ENTITY styleNonbreakingCmd.accesskey "n">
+<!ENTITY styleEm.label "Emphase">
+<!ENTITY styleEm.accesskey "E">
+<!ENTITY styleStrong.label "Emphase plus forte">
+<!ENTITY styleStrong.accesskey "t">
+<!ENTITY styleCite.label "Citation">
+<!ENTITY styleCite.accesskey "C">
+<!ENTITY styleAbbr.label "Abréviation">
+<!ENTITY styleAbbr.accesskey "A">
+<!ENTITY styleAcronym.label "Acronyme">
+<!ENTITY styleAcronym.accesskey "r">
+<!ENTITY styleCode.label "Code">
+<!ENTITY styleCode.accesskey "o">
+<!ENTITY styleSamp.label "Sortie de test">
+<!ENTITY styleSamp.accesskey "S">
+<!ENTITY styleVar.label "Variable">
+<!ENTITY styleVar.accesskey "V">
+
+<!ENTITY formatFontColor.label "Couleur du texte…">
+<!ENTITY formatFontColor.accesskey "C">
+<!ENTITY tableOrCellColor.label "Couleur de fond du tableau ou des cellules…">
+<!ENTITY tableOrCellColor.accesskey "b">
+
+<!ENTITY formatRemoveStyles.key "Y">
+<!ENTITY formatRemoveLinks.key "K">
+<!ENTITY formatRemoveNamedAnchors.label "Effacer les ancres nommées">
+<!ENTITY formatRemoveNamedAnchors.accesskey "E">
+<!ENTITY formatRemoveNamedAnchors2.key "R">
+
+<!ENTITY paragraphMenu.label "Paragraphe">
+<!ENTITY paragraphMenu.accesskey "P">
+<!ENTITY paragraphParagraphCmd.label "Paragraphe">
+<!ENTITY paragraphParagraphCmd.accesskey "P">
+<!ENTITY heading1Cmd.label "Titre 1">
+<!ENTITY heading1Cmd.accesskey "1">
+<!ENTITY heading2Cmd.label "Titre 2">
+<!ENTITY heading2Cmd.accesskey "2">
+<!ENTITY heading3Cmd.label "Titre 3">
+<!ENTITY heading3Cmd.accesskey "3">
+<!ENTITY heading4Cmd.label "Titre 4">
+<!ENTITY heading4Cmd.accesskey "4">
+<!ENTITY heading5Cmd.label "Titre 5">
+<!ENTITY heading5Cmd.accesskey "5">
+<!ENTITY heading6Cmd.label "Titre 6">
+<!ENTITY heading6Cmd.accesskey "6">
+<!ENTITY paragraphAddressCmd.label "Adresse">
+<!ENTITY paragraphAddressCmd.accesskey "A">
+<!ENTITY paragraphPreformatCmd.label "Préformaté">
+<!ENTITY paragraphPreformatCmd.accesskey "P">
+
+<!-- List menu items -->
+<!ENTITY formatlistMenu.label "Liste">
+<!ENTITY formatlistMenu.accesskey "L">
+<!ENTITY noneCmd.label "Aucune">
+<!ENTITY noneCmd.accesskey "n">
+<!ENTITY listBulletCmd.label "À puces">
+<!ENTITY listBulletCmd.accesskey "p">
+<!ENTITY listNumberedCmd.label "Numérotée">
+<!ENTITY listNumberedCmd.accesskey "N">
+<!ENTITY listTermCmd.label "Terme">
+<!ENTITY listTermCmd.accesskey "T">
+<!ENTITY listDefinitionCmd.label "Définition">
+<!ENTITY listDefinitionCmd.accesskey "D">
+<!ENTITY listPropsCmd.label "Listes…">
+<!ENTITY listPropsCmd.accesskey "L">
+
+<!ENTITY ParagraphSelect.tooltip "Choisir un format de paragraphe">
+<!-- Shared in Paragraph, and Toolbar menulist -->
+<!ENTITY bodyTextCmd.label "Texte principal">
+<!ENTITY bodyTextCmd.accesskey "T">
+
+<!-- Align menu items -->
+<!ENTITY alignMenu.label "Aligner">
+<!ENTITY alignMenu.accesskey "A">
+<!ENTITY alignLeft.label "À gauche">
+<!ENTITY alignLeft.accesskey "g">
+<!ENTITY alignLeft.tooltip "Aligner à gauche">
+<!ENTITY alignCenter.label "Centré">
+<!ENTITY alignCenter.accesskey "C">
+<!ENTITY alignCenter.tooltip "Centrer">
+<!ENTITY alignRight.label "À droite">
+<!ENTITY alignRight.accesskey "d">
+<!ENTITY alignRight.tooltip "Aligner à droite">
+<!ENTITY alignJustify.label "Justifié">
+<!ENTITY alignJustify.accesskey "J">
+<!ENTITY alignJustify.tooltip "Justifier">
+
+<!ENTITY increaseIndent.label "Augmenter le retrait">
+<!ENTITY increaseIndent.accesskey "n">
+<!ENTITY increaseIndent.key "=">
+<!ENTITY decreaseIndent.label "Diminuer le retrait">
+<!ENTITY decreaseIndent.accesskey "e">
+<!ENTITY decreaseIndent.key "-">
+
+<!ENTITY colorsAndBackground.label "Couleurs et fond de la page…">
+<!ENTITY colorsAndBackground.accesskey "u">
+
+<!-- Table Menu -->
+<!ENTITY tableMenu.label "Tableau">
+<!ENTITY tableMenu.accesskey "T">
+
+<!-- Select Submenu -->
+<!ENTITY tableSelectMenu.label "Sélectionner">
+<!ENTITY tableSelectMenu.accesskey "S">
+
+<!ENTITY tableSelectMenu2.label "Sélection du tableau">
+<!ENTITY tableSelectMenu2.accesskey "S">
+<!ENTITY tableInsertMenu2.label "Insérer un tableau">
+<!ENTITY tableInsertMenu2.accesskey "I">
+<!ENTITY tableDeleteMenu2.label "Supprimer le tableau">
+<!ENTITY tableDeleteMenu2.accesskey "E">
+
+<!-- Insert SubMenu -->
+<!ENTITY tableInsertMenu.label "Insérer">
+<!ENTITY tableInsertMenu.accesskey "I">
+<!ENTITY tableTable.label "Tableau">
+<!ENTITY tableTable.accesskey "T">
+<!ENTITY tableRow.label "Ligne">
+<!ENTITY tableRows.label "Ligne(s)">
+<!ENTITY tableRow.accesskey "L">
+<!ENTITY tableRowAbove.label "Une ligne au-dessus">
+<!ENTITY tableRowAbove.accesskey "U">
+<!ENTITY tableRowBelow.label "Une ligne en dessous">
+<!ENTITY tableRowBelow.accesskey "s">
+<!ENTITY tableColumn.label "Colonne">
+<!ENTITY tableColumns.label "Colonne(s)">
+<!ENTITY tableColumn.accesskey "o">
+<!ENTITY tableColumnBefore.label "Colonne précédente">
+<!ENTITY tableColumnBefore.accesskey "e">
+<!ENTITY tableColumnAfter.label "Colonne suivante">
+<!ENTITY tableColumnAfter.accesskey "a">
+<!ENTITY tableCell.label "Cellule">
+<!ENTITY tableCells.label "Cellule(s)">
+<!ENTITY tableCell.accesskey "C">
+<!ENTITY tableCellContents.label "Contenu des cellules">
+<!ENTITY tableCellContents.accesskey "n">
+<!ENTITY tableAllCells.label "Toutes les cellules">
+<!ENTITY tableAllCells.accesskey "u">
+<!ENTITY tableCellBefore.label "Une cellule avant">
+<!ENTITY tableCellBefore.accesskey "c">
+<!ENTITY tableCellAfter.label "Une cellule après">
+<!ENTITY tableCellAfter.accesskey "r">
+<!-- Delete SubMenu -->
+<!ENTITY tableDeleteMenu.label "Supprimer">
+<!ENTITY tableDeleteMenu.accesskey "E">
+
+<!-- text for "Join Cells" is in editor.properties
+ ("JoinSelectedCells" and "JoinCellToRight")
+ the access key must exist in both of those strings
+ But value must be set here for accesskey to draw properly
+-->
+<!ENTITY tableJoinCells.label "Fusionner les cellules">
+<!ENTITY tableJoinCells.accesskey "F">
+<!ENTITY tableSplitCell.label "Scinder la cellule">
+<!ENTITY tableSplitCell.accesskey "D">
+<!ENTITY convertToTable.label "Créer un tableau à partir de la sélection">
+<!ENTITY convertToTable.accesskey "b">
+<!ENTITY tableProperties.label "Propriétés du tableau…">
+<!ENTITY tableProperties.accesskey "o">
+
+<!ENTITY imageToolbarCmd.label "Image">
+<!ENTITY imageToolbarCmd.tooltip "Insérer une nouvelle image ou modifier les propriétés de l’image sélectionnée">
+<!ENTITY hruleToolbarCmd.label "Ligne horizontale">
+<!ENTITY hruleToolbarCmd.tooltip "Insérer une ligne horizontale ou modifier les propriétés de la ligne sélectionnée">
+<!ENTITY tableToolbarCmd.label "Tableau">
+<!ENTITY tableToolbarCmd.tooltip "Insérer un nouveau tableau ou modifier les propriétés du tableau sélectionné">
+<!ENTITY linkToolbarCmd.label "Lien">
+<!ENTITY linkToolbarCmd.tooltip "Insérer un nouveau lien ou modifier les propriétés du lien sélectionné">
+<!ENTITY anchorToolbarCmd.label "Ancre">
+<!ENTITY anchorToolbarCmd.tooltip "Insérer une ancre nommée ou modifier les propriétés de l’ancre sélectionnée">
+<!ENTITY TextColorButton.tooltip "Choisir la couleur du texte">
+<!ENTITY BackgroundColorButton.tooltip "Choisir une couleur pour le fond">
+
+<!-- Editor toolbar -->
+<!ENTITY absoluteFontSizeToolbarCmd.tooltip "Définir la taille de police">
+<!ENTITY decreaseFontSizeToolbarCmd.tooltip "Réduire la taille de police">
+<!ENTITY increaseFontSizeToolbarCmd.tooltip "Augmenter la taille de police">
+<!ENTITY boldToolbarCmd.tooltip "Gras">
+<!ENTITY italicToolbarCmd.tooltip "Italique">
+<!ENTITY underlineToolbarCmd.tooltip "Souligné">
+<!ENTITY bulletListToolbarCmd.tooltip "Appliquer ou enlever une liste">
+<!ENTITY numberListToolbarCmd.tooltip "Appliquer ou enlever une liste numérotée">
+<!ENTITY outdentToolbarCmd.tooltip "Diminuer le retrait (vers la gauche)">
+<!ENTITY indentToolbarCmd.tooltip "Augmenter le retrait (vers la droite)">
+<!ENTITY AlignPopupButton.tooltip "Choisir l’alignement du texte">
+<!ENTITY InsertPopupButton.tooltip "Insérer un lien, une ancre, une image, une ligne horizontale ou un tableau">
+<!ENTITY alignLeftButton.tooltip "Aligner le texte sur la marge de gauche">
+<!ENTITY alignCenterButton.tooltip "Centrer le texte">
+<!ENTITY alignRightButton.tooltip "Aligner le texte sur la marge de droite">
+<!ENTITY alignJustifyButton.tooltip "Aligner le texte sur les marges droites et gauches">
+
+<!-- TOC manipulation -->
+<!ENTITY insertTOC.label "Insérer">
+<!ENTITY insertTOC.accesskey "i">
+<!ENTITY updateTOC.label "Mettre à jour">
+<!ENTITY updateTOC.accesskey "M">
+<!ENTITY removeTOC.label "Enlever">
+<!ENTITY removeTOC.accesskey "E">
+<!ENTITY tocMenu.label "Table des matières…">
+<!ENTITY tocMenu.accesskey "b">
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/messengercompose/mailComposeEditorOverlay.dtd b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/messengercompose/mailComposeEditorOverlay.dtd
new file mode 100644
index 0000000000..99ffe6caaf
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/messengercompose/mailComposeEditorOverlay.dtd
@@ -0,0 +1,9 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!ENTITY attachImageSource.label "Joindre cette image au message">
+<!ENTITY attachImageSource.accesskey "J">
+
+<!ENTITY attachLinkSource.label "Joindre le code source de ce lien au message">
+<!ENTITY attachLinkSource.accesskey "o">
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/messengercompose/messengercompose.dtd b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/messengercompose/messengercompose.dtd
new file mode 100644
index 0000000000..e1e6968544
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/messengercompose/messengercompose.dtd
@@ -0,0 +1,306 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!--LOCALIZATION NOTE messengercompose.dtd Main UI for message composition -->
+<!ENTITY msgComposeWindow.title "Rédaction du message">
+
+<!-- File Menu -->
+<!ENTITY fileMenu.label "Fichier">
+<!ENTITY fileMenu.accesskey "F">
+<!ENTITY newMenu.label "Nouveau">
+<!ENTITY newMenu.accesskey "N">
+<!ENTITY newMessage.label "Message">
+<!ENTITY newMessage.accesskey "M">
+<!ENTITY newMessageCmd2.key "N">
+<!ENTITY newContact.label "Contact du carnet d’adresses…">
+<!ENTITY newContact.accesskey "C">
+<!ENTITY attachMenu.label "Joindre">
+<!ENTITY attachMenu.accesskey "J">
+<!ENTITY attachCloudCmd.label "Espace de fichiers">
+<!ENTITY attachCloudCmd.accesskey "E">
+<!ENTITY attachPageCmd.label "Page web…">
+<!ENTITY attachPageCmd.accesskey "W">
+<!ENTITY remindLater.label "Me le rappeler plus tard">
+<!ENTITY remindLater.accesskey "M">
+<!ENTITY closeCmd.label "Fermer">
+<!ENTITY closeCmd.key "W">
+<!ENTITY closeCmd.accesskey "F">
+<!ENTITY saveCmd.label "Enregistrer">
+<!ENTITY saveCmd.key "S">
+<!ENTITY saveCmd.accesskey "s">
+<!ENTITY saveAsCmd.label "Enregistrer comme">
+<!ENTITY saveAsCmd.accesskey "c">
+<!ENTITY saveAsFileCmd.label "Fichier…">
+<!ENTITY saveAsFileCmd.accesskey "F">
+<!ENTITY saveAsDraftCmd.label "Brouillon">
+<!ENTITY saveAsDraftCmd.accesskey "B">
+<!ENTITY saveAsTemplateCmd.label "Modèle">
+<!ENTITY saveAsTemplateCmd.accesskey "o">
+<!ENTITY sendNowCmd.label "Envoyer">
+<!ENTITY sendCmd.keycode "VK_RETURN">
+<!ENTITY sendNowCmd.accesskey "v">
+<!ENTITY sendLaterCmd.label "Envoyer plus tard">
+<!ENTITY sendLaterCmd.keycode "VK_RETURN">
+<!ENTITY sendLaterCmd.accesskey "l">
+<!ENTITY printCmd.label "Imprimer…">
+<!ENTITY printCmd.key "P">
+<!ENTITY printCmd.accesskey "P">
+
+<!-- Edit Menu -->
+<!ENTITY editMenu.label "Édition">
+<!ENTITY editMenu.accesskey "n">
+<!ENTITY undoCmd.label "Annuler">
+<!ENTITY undoCmd.key "Z">
+<!ENTITY undoCmd.accesskey "u">
+<!ENTITY redoCmd.label "Rétablir">
+<!ENTITY redoCmd.key "Y">
+<!ENTITY redoCmd.accesskey "R">
+<!ENTITY cutCmd.key "X">
+<!ENTITY copyCmd.key "C">
+<!ENTITY pasteCmd.key "V">
+<!ENTITY pasteNoFormattingCmd.key "V">
+<!ENTITY pasteAsQuotationCmd.key "o">
+<!ENTITY editRewrapCmd.accesskey "o">
+<!ENTITY deleteCmd.label "Supprimer">
+<!ENTITY deleteCmd.accesskey "e">
+<!ENTITY editRewrapCmd.label "Reformater">
+<!ENTITY editRewrapCmd.key "R">
+<!ENTITY renameAttachmentCmd.label "Renommer la pièce jointe…">
+<!ENTITY renameAttachmentCmd.accesskey "n">
+<!ENTITY reorderAttachmentsCmd.label "Réorganiser les pièces jointes…">
+<!ENTITY reorderAttachmentsCmd.accesskey "a">
+<!ENTITY reorderAttachmentsCmd.key "x">
+<!ENTITY selectAllCmd.accesskey "T">
+<!ENTITY findBarCmd.label "Rechercher…">
+<!ENTITY findBarCmd.accesskey "h">
+<!ENTITY findBarCmd.key "F">
+<!ENTITY findReplaceCmd.label "Rechercher et remplacer…">
+<!ENTITY findReplaceCmd.accesskey "m">
+<!ENTITY findReplaceCmd.key "H">
+<!ENTITY findAgainCmd.label "Rechercher le suivant">
+<!ENTITY findAgainCmd.accesskey "v">
+<!ENTITY findAgainCmd.key "G">
+<!ENTITY findAgainCmd.key2 "VK_F3">
+<!ENTITY findPrevCmd.label "Rechercher le précédent">
+<!ENTITY findPrevCmd.accesskey "d">
+<!ENTITY findPrevCmd.key "G">
+<!ENTITY findPrevCmd.key2 "VK_F3">
+
+<!-- Reorder Attachment Panel -->
+<!ENTITY reorderAttachmentsPanel.label "Réorganiser les pièces jointes">
+<!ENTITY moveAttachmentBundleUpPanelBtn.label "Déplacer l’ensemble">
+
+<!-- LOCALIZATION NOTE (sortAttachmentsPanelBtn.Sort.AZ.label):
+ Please ensure that this translation matches
+ sortAttachmentsPanelBtn.Sort.ZA.label, except for the sort direction. -->
+<!ENTITY sortAttachmentsPanelBtn.Sort.AZ.label "Trier : A - Z">
+<!ENTITY sortAttachmentsPanelBtn.Sort.ZA.label "Trier : Z - A">
+<!-- LOCALIZATION NOTE (sortAttachmentsPanelBtn.SortSelection.AZ.label):
+ Please ensure that this translation matches
+ sortAttachmentsPanelBtn.SortSelection.ZA.label, except for the sort direction. -->
+<!ENTITY sortAttachmentsPanelBtn.SortSelection.AZ.label "Trier la sélection : A - Z">
+<!ENTITY sortAttachmentsPanelBtn.SortSelection.ZA.label "Trier la sélection : Z - A">
+<!ENTITY sortAttachmentsPanelBtn.key "y">
+
+<!-- View Menu -->
+<!ENTITY viewMenu.label "Affichage">
+<!ENTITY viewMenu.accesskey "A">
+<!ENTITY viewToolbarsMenuNew.label "Barres d’outils">
+<!ENTITY viewToolbarsMenuNew.accesskey "t">
+<!ENTITY menubarCmd.label "Barre de menus">
+<!ENTITY menubarCmd.accesskey "m">
+<!ENTITY showCompositionToolbarCmd.label "Barre d’outils courrier">
+<!ENTITY showCompositionToolbarCmd.accesskey "o">
+<!ENTITY showFormattingBarCmd.label "Barre de mise en forme">
+<!ENTITY showFormattingBarCmd.accesskey "f">
+<!ENTITY showTaskbarCmd.label "Barre d’état">
+<!ENTITY showTaskbarCmd.accesskey "e">
+<!ENTITY customizeToolbar.label "Personnaliser…">
+<!ENTITY customizeToolbar.accesskey "P">
+
+<!ENTITY addressSidebar.label "Barre des contacts">
+<!ENTITY addressSidebar.accesskey "o">
+
+<!-- Format Menu -->
+<!ENTITY formatMenu.label "Format">
+<!ENTITY formatMenu.accesskey "m">
+
+<!-- Options Menu -->
+<!ENTITY optionsMenu.label "Options">
+<!ENTITY optionsMenu.accesskey "O">
+<!ENTITY checkSpellingCmd2.label "Vérifier l’orthographe…">
+<!ENTITY checkSpellingCmd2.key "p">
+<!ENTITY checkSpellingCmd2.key2 "VK_F7">
+<!ENTITY checkSpellingCmd2.accesskey "V">
+<!ENTITY enableInlineSpellChecker.label "Vérifier l’orthographe pendant la saisie">
+<!ENTITY enableInlineSpellChecker.accesskey "f">
+<!ENTITY quoteCmd.label "Citer le message">
+<!ENTITY quoteCmd.accesskey "m">
+
+<!--LOCALIZATION NOTE attachVCard.label Don't translate the term 'vCard' -->
+<!ENTITY attachVCard.label "Carte de visite (vCard)">
+<!ENTITY attachVCard.accesskey "C">
+
+<!ENTITY returnReceiptMenu.label "Demander un accusé de réception">
+<!ENTITY returnReceiptMenu.accesskey "t">
+<!ENTITY dsnMenu.label "Notification de l’état de la distribution">
+<!ENTITY dsnMenu.accesskey "N">
+<!ENTITY priorityMenu.label "Priorité">
+<!ENTITY priorityMenu.accesskey "p">
+<!ENTITY priorityButton.title "Priorité">
+<!ENTITY priorityButton.tooltiptext "Changer la priorité du message">
+<!ENTITY priorityButton.label "Priorité :">
+<!ENTITY lowestPriorityCmd.label "Minimale">
+<!ENTITY lowestPriorityCmd.accesskey "l">
+<!ENTITY lowPriorityCmd.label "Basse">
+<!ENTITY lowPriorityCmd.accesskey "B">
+<!ENTITY normalPriorityCmd.label "Normale">
+<!ENTITY normalPriorityCmd.accesskey "n">
+<!ENTITY highPriorityCmd.label "Haute">
+<!ENTITY highPriorityCmd.accesskey "H">
+<!ENTITY highestPriorityCmd.label "Maximale">
+<!ENTITY highestPriorityCmd.accesskey "M">
+<!ENTITY fileCarbonCopyCmd.label "Archiver une copie">
+<!ENTITY fileCarbonCopyCmd.accesskey "i">
+<!ENTITY fileHereMenu.label "Classer ici">
+
+<!-- Tools Menu -->
+<!ENTITY tasksMenu.label "Outils">
+<!ENTITY tasksMenu.accesskey "u">
+<!ENTITY messengerCmd.label "Courrier et groupes">
+<!ENTITY messengerCmd.accesskey "C">
+<!ENTITY messengerCmd.commandkey "1">
+<!ENTITY addressBookCmd.label "Carnet d’adresses">
+<!ENTITY addressBookCmd.accesskey "a">
+<!ENTITY addressBookCmd.key "B">
+<!ENTITY accountManagerCmd2.label "Paramètres des comptes">
+<!ENTITY accountManagerCmd2.accesskey "m">
+<!ENTITY accountManagerCmdUnix2.accesskey "S">
+
+<!-- Mac OS X Window Menu -->
+<!ENTITY minimizeWindow.key "m">
+<!ENTITY minimizeWindow.label "Réduire">
+<!ENTITY bringAllToFront.label "Tout amener à l’avant-plan">
+<!ENTITY zoomWindow.label "Zoom">
+<!ENTITY windowMenu.label "Fenêtre">
+
+<!-- Mail Toolbar -->
+<!ENTITY sendButton.label "Envoyer">
+<!ENTITY quoteButton.label "Citer">
+<!ENTITY addressButton.label "Contacts">
+<!ENTITY spellingButton.label "Orthographe">
+<!ENTITY saveButton.label "Enregistrer">
+<!ENTITY printButton.label "Imprimer">
+
+<!-- Mail Toolbar Tooltips -->
+<!ENTITY sendButton.tooltip "Envoyer le message maintenant">
+<!ENTITY sendlaterButton.tooltip "Envoyer ce message plus tard">
+<!ENTITY quoteButton.tooltip "Citer le précédent message">
+<!ENTITY addressButton.tooltip "Sélectionner un destinataire du carnet d’adresses">
+<!ENTITY spellingButton.tooltip "Vérifier l’orthographe de la sélection ou du message complet">
+<!ENTITY saveButton.tooltip "Enregistrer ce message">
+<!ENTITY cutButton.tooltip "Couper">
+<!ENTITY copyButton.tooltip "Copier">
+<!ENTITY pasteButton.tooltip "Coller">
+<!ENTITY printButton.tooltip "Imprimer ce message">
+
+<!-- Headers -->
+<!--LOCALIZATION NOTE headersSpaces.style is for aligning the From:, To: and
+ Subject: rows. It should be larger than the largest Header label -->
+<!ENTITY headersSpace2.style "width: 11em;">
+<!ENTITY fromAddr2.label "De">
+<!ENTITY fromAddr.accesskey "e">
+<!ENTITY replyAddr2.label "Répondre à">
+<!ENTITY newsgroupsAddr2.label "Newsgroup">
+<!ENTITY followupAddr2.label "Faire suivre à">
+<!ENTITY subject2.label "Sujet">
+<!ENTITY subject.accesskey "S">
+<!ENTITY attachmentBucketCloseButton.tooltip "Masquer le panneau des pièces jointes">
+
+<!-- Format Toolbar, imported from editorAppShell.xhtml -->
+<!ENTITY SmileButton.tooltip "Insérer une émoticône">
+<!ENTITY smiley1Cmd.label "Sourire">
+<!ENTITY smiley2Cmd.label "Mécontent">
+<!ENTITY smiley3Cmd.label "Clin d’œil">
+<!ENTITY smiley4Cmd.label "Moqueur">
+<!ENTITY smiley5Cmd.label "Mort de rire">
+<!ENTITY smiley6Cmd.label "Embarrassé">
+<!ENTITY smiley7Cmd.label "Perplexe">
+<!ENTITY smiley8Cmd.label "Surprise">
+<!ENTITY smiley9Cmd.label "Bisou">
+<!ENTITY smiley10Cmd.label "Horreur !">
+<!ENTITY smiley11Cmd.label "Cool">
+<!ENTITY smiley12Cmd.label "Censuré">
+<!ENTITY smiley13Cmd.label "Oups !">
+<!ENTITY smiley14Cmd.label "Innocent">
+<!ENTITY smiley15Cmd.label "Triste">
+<!ENTITY smiley16Cmd.label "Motus">
+
+<!-- Message Pane Context Menu -->
+<!ENTITY spellCheckNoSuggestions.label "(Pas de suggestion)">
+<!ENTITY spellCheckIgnoreWord.label "Ignorer le mot">
+<!ENTITY spellCheckIgnoreWord.accesskey "I">
+<!ENTITY spellCheckAddToDictionary.label "Ajouter au dictionnaire">
+<!ENTITY spellCheckAddToDictionary.accesskey "n">
+<!ENTITY undo.label "Annuler">
+<!ENTITY undo.accesskey "U">
+<!ENTITY cut.label "Couper">
+<!ENTITY cut.accesskey "C">
+<!ENTITY copy.label "Copier">
+<!ENTITY copy.accesskey "p">
+<!ENTITY paste.label "Coller">
+<!ENTITY paste.accesskey "o">
+<!ENTITY pasteQuote.label "Coller comme citation">
+<!ENTITY pasteQuote.accesskey "i">
+
+<!-- Attachment Item and List Context Menus -->
+<!ENTITY openAttachment.label "Ouvrir">
+<!ENTITY openAttachment.accesskey "O">
+<!ENTITY delete.label "Supprimer">
+<!ENTITY delete.accesskey "E">
+<!ENTITY removeAttachment.label "Supprimer la pièce jointe">
+<!ENTITY removeAttachment.accesskey "j">
+<!ENTITY renameAttachment.label "Renommer…">
+<!ENTITY renameAttachment.accesskey "R">
+<!ENTITY reorderAttachments.label "Réorganiser les pièces jointes…">
+<!ENTITY reorderAttachments.accesskey "a">
+<!ENTITY removeAllAttachments.label "Supprimer toutes les pièces jointes">
+<!ENTITY removeAllAttachments.accesskey "s">
+<!ENTITY selectAll.label "Tout sélectionner">
+<!ENTITY selectAll.accesskey "t">
+<!ENTITY attachCloud.label "Espace de fichiers…">
+<!ENTITY attachCloud.accesskey "E">
+<!ENTITY convertCloud.label "Convertir en…">
+<!ENTITY convertCloud.accesskey "C">
+<!ENTITY cancelUpload.label "Annuler le téléchargement">
+<!ENTITY cancelUpload.accesskey "n">
+<!ENTITY convertRegularAttachment.label "Pièce jointe normale">
+<!ENTITY convertRegularAttachment.accesskey "P">
+<!ENTITY attachPage.label "Joindre une page web…">
+<!ENTITY attachPage.accesskey "W">
+
+<!-- Attachment Pane Header Bar Context Menu -->
+<!-- LOCALIZATION NOTE (initiallyShowAttachmentPane.label):
+ Should use the same wording as startExpandedCmd.label
+ in msgHdrViewOverlay.dtd. -->
+<!ENTITY initiallyShowAttachmentPane.label "Afficher par défaut le panneau des pièces jointes">
+<!ENTITY initiallyShowAttachmentPane.accesskey "A">
+
+<!-- Spell checker context menu items -->
+<!ENTITY spellAddDictionaries.label "Ajouter des dictionnaires…">
+<!ENTITY spellAddDictionaries.accesskey "A">
+
+<!-- Title for the address picker panel -->
+<!ENTITY addressesSidebarTitle.label "Contacts">
+
+<!-- Identity popup customize menuitem -->
+<!ENTITY customizeFromAddress.label "Personnaliser l’adresse d’expédition…">
+<!ENTITY customizeFromAddress.accesskey "x">
+
+<!-- Accessibility name for the document -->
+<!ENTITY aria.message.bodyName "Corps du message">
+
+<!-- Status Bar -->
+<!ENTITY languageStatusButton.tooltip "Langue de la vérification orthographique">
+<!ENTITY encodingStatusPanel.tooltip "Encodage du texte">
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/messengercompose/sendProgress.dtd b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/messengercompose/sendProgress.dtd
new file mode 100644
index 0000000000..92ba08482f
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/messengercompose/sendProgress.dtd
@@ -0,0 +1,8 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!--LOCALIZATION NOTE sendProgress.dtd Main UI for Send Message Progress Dialog -->
+<!ENTITY sendDialog.title "Traitement du message">
+<!ENTITY status.label "Statut :">
+<!ENTITY progress.label "Progression :">
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/messengercompose/sendProgress.properties b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/messengercompose/sendProgress.properties
new file mode 100644
index 0000000000..f21d7f6186
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/messengercompose/sendProgress.properties
@@ -0,0 +1,21 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE (titleSendMsgSubject):
+# %S will be replaced by the message subject.
+titleSendMsgSubject=Envoi du message - %S
+titleSendMsg=Envoi du message
+# LOCALIZATION NOTE (titleSaveMsgSubject):
+# %S will be replaced by the message subject.
+titleSaveMsgSubject=Enregistrement du message - %S
+titleSaveMsg=Enregistrement du message
+
+# LOCALIZATION NOTE (percentMsg):
+# This string is used to format the text to the right of the progress meter.
+# %S will be replaced by the percentage of the file that has been saved.
+# %% will be replaced a single % sign.
+percentMsg=%S%%
+
+messageSent=Votre message a été envoyé.
+messageSaved=Votre message a été enregistré.
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/migration/migration.dtd b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/migration/migration.dtd
new file mode 100644
index 0000000000..a08ea00a93
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/migration/migration.dtd
@@ -0,0 +1,30 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+
+<!ENTITY migrationWizard.title "Assistant d’importation">
+
+<!ENTITY importFromWin.label "Importer les options, paramètres des comptes, carnet d’adresses, filtres et les autres données depuis :">
+<!ENTITY importFromNonWin.label "Importer les préférences, paramètres des comptes, carnet d’adresses, filtres et les autres données depuis :">
+<!ENTITY importSourceNotFound.label "Aucune application à partir de laquelle importer des données n’a été trouvée.">
+
+<!ENTITY importFromNothing.label "Ne rien importer">
+<!ENTITY importFromNothing.accesskey "N">
+<!ENTITY importFromSeamonkey3.label "SeaMonkey 2 ou supérieur">
+<!ENTITY importFromSeamonkey3.accesskey "n">
+<!ENTITY importFromOutlook.label "Outlook">
+<!ENTITY importFromOutlook.accesskey "O">
+
+<!ENTITY importSource.title "Importer les paramètres et les dossiers de messages">
+<!ENTITY importItems.title "Éléments à importer">
+<!ENTITY importItems.label "Sélectionnez les éléments à importer :">
+
+<!ENTITY migrating.title "Importation…">
+<!ENTITY migrating.label "Les éléments suivants sont en cours d’importation…">
+
+<!ENTITY selectProfile.title "Sélectionnez le profil">
+<!ENTITY selectProfile.label "Les profils suivants sont disponibles à l’importation :">
+
+<!ENTITY done.title "Importation terminée">
+<!ENTITY done.label "Les éléments suivants ont été importés avec succès :">
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/migration/migration.properties b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/migration/migration.properties
new file mode 100644
index 0000000000..6ef1a2e3fb
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/migration/migration.properties
@@ -0,0 +1,32 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+profileName_format=%S %S
+
+# Import Sources
+1_seamonkey=Préférences
+
+1_thunderbird=Préférences
+
+2_seamonkey=Paramètres des comptes
+2_thunderbird=Paramètres des comptes
+2_outlook=Paramètres des comptes
+
+4_seamonkey=Carnets d’adresses
+4_thunderbird=Carnets d’adresses
+4_outlook=Carnet d’adresses
+
+8_seamonkey=Entraînement du filtre à indésirables
+
+16_seamonkey=Mots de passe enregistrés
+
+32_seamonkey=Autres données
+
+64_seamonkey=Dossiers des groupes
+
+64_thunderbird=Dossiers des groupes
+
+128_seamonkey=Dossiers des messages
+128_thunderbird=Dossiers des messages
+128_outlook=Dossiers des messages
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/mime.properties b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/mime.properties
new file mode 100644
index 0000000000..acf93d457c
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/mime.properties
@@ -0,0 +1,154 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+#
+# The following are used by libmime to emit header display in HTML
+#
+
+# Mail subject
+## @name MIME_MHTML_SUBJECT
+## @loc None
+1000=Sujet 
+
+# Resent-Comments
+## @name MIME_MHTML_RESENT_COMMENTS
+## @loc
+1001=Commentaires du renvoi 
+
+# Resent-Date
+## @name MIME_MHTML_RESENT_DATE
+## @loc
+1002=Date de renvoi 
+
+# Resent-Sender
+## @name MIME_MHTML_RESENT_SENDER
+## @loc
+1003=Expéditeur du renvoi 
+
+# Resent-From
+## @name MIME_MHTML_RESENT_FROM
+## @loc
+1004=De (renvoi) 
+
+# Resent-To
+## @name MIME_MHTML_RESENT_TO
+## @loc
+1005=Pour (renvoi) 
+
+# Resent-CC
+## @name MIME_MHTML_RESENT_CC
+## @loc
+1006=Copie (renvoi) 
+
+# Date
+## @name MIME_MHTML_DATE
+## @loc
+1007=Date 
+
+# Sender
+## @name MIME_MHTML_SENDER
+## @loc
+1008=Expéditeur 
+
+# From
+## @name MIME_MHTML_FROM
+## @loc
+1009=De 
+
+# Reply-To
+## @name MIME_MHTML_REPLY_TO
+## @loc
+1010=Répondre à 
+
+# Organization
+## @name MIME_MHTML_ORGANIZATION
+## @loc
+1011=Organisation 
+
+# To
+## @name MIME_MHTML_TO
+## @loc
+1012=Pour 
+
+# CC
+## @name MIME_MHTML_CC
+## @loc
+1013=Copie à 
+
+# Newsgroups
+## @name MIME_MHTML_NEWSGROUPS
+## @loc
+1014=Groupes de discussion 
+
+# Followup-To
+## @name MIME_MHTML_FOLLOWUP_TO
+## @loc
+1015=Faire suivre à 
+
+# References
+## @name MIME_MHTML_REFERENCES
+## @loc
+1016=Références 
+
+# Message ID
+## @name MIME_MHTML_MESSAGE_ID
+## @loc
+1021=ID du message 
+
+# BCC
+## @name MIME_MHTML_BCC
+## @loc
+1023=Copie cachée à 
+
+# Link to doc
+## @name MIME_MSG_LINK_TO_DOCUMENT
+## @loc
+1026=Lié au document 
+
+# Get Doc info
+## @name MIME_MSG_DOCUMENT_INFO
+## @loc
+1027=<B>Infos sur le document&nbsp;:</B>
+
+# Msg Attachment
+## @name MIME_MSG_ATTACHMENT
+## @loc
+1028=Pièce(s) jointe(s) 
+
+# default attachment name
+## @name MIME_MSG_DEFAULT_ATTACHMENT_NAME
+## @loc
+# LOCALIZATION NOTE (1040): Do not translate "%s" below.
+# Place the %s where you wish the part number of the attachment to appear
+1040=Partie %s
+
+# default forwarded message prefix
+## @name MIME_FORWARDED_MESSAGE_HTML_USER_WROTE
+## @loc
+1041=-------- Message original --------
+
+# Partial Message Truncated
+## @name MIME_MSG_PARTIAL_TRUNCATED
+## @loc
+MIME_MSG_PARTIAL_TRUNCATED=Tronqué !
+
+# Partial Message Truncated Explanation
+## @name MIME_MSG_PARTIAL_TRUNCATED_EXPLANATION
+## @loc
+MIME_MSG_PARTIAL_TRUNCATED_EXPLANATION=Ce message dépasse la taille maximale définie dans les paramètres de compte. Par conséquent, seules les premières lignes ont été téléchargées à partir du serveur de courrier.
+
+# Partial Message Not Downloaded
+## @name MIME_MSG_PARTIAL_NOT_DOWNLOADED
+## @loc
+MIME_MSG_PARTIAL_NOT_DOWNLOADED=Non téléchargé
+
+# Partial Message Not Downloaded Explanation
+## @name MIME_MSG_PARTIAL_NOT_DOWNLOADED_EXPLANATION
+## @loc
+MIME_MSG_PARTIAL_NOT_DOWNLOADED_EXPLANATION=Seuls les en-têtes de ce message ont été téléchargés à partir du serveur de courrier.
+
+# MIME_MSG_PARTIAL_CLICK_FOR_REST
+## @name MIME_MSG_PARTIAL_CLICK_FOR_REST
+## @loc
+MIME_MSG_PARTIAL_CLICK_FOR_REST=Télécharger le reste du message.
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/mimeheader.properties b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/mimeheader.properties
new file mode 100644
index 0000000000..d4b85598bf
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/mimeheader.properties
@@ -0,0 +1,35 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+#
+# The following are used by libmime for header display in XML & HTML
+#
+TO=Destinataire
+BCC=Copie cachée à
+CC=Copie à
+DATE=Date
+DISTRIBUTION=Distribution
+FCC=Suivi
+FOLLOWUP-TO=Faire suivre à
+FROM=Expéditeur
+STATUS=Statut
+LINES=Lignes
+MESSAGE-ID=ID du Message
+MIME-VERSION=Version de MIME
+NEWSGROUPS=Groupes de discussion
+ORGANIZATION=Organisation
+REFERENCES=Références
+REPLY-TO=Répondre à
+RESENT-COMMENTS=Commentaires pour le renvoi
+RESENT-DATE=Date de renvoi
+RESENT-FROM=De
+RESENT-MESSAGE-ID=ID du message à renvoyer
+RESENT-SENDER=Expéditeur du renvoi
+RESENT-TO=Destinataire du renvoi
+RESENT-CC=Copie de renvoi pour :
+SENDER=Expéditeur
+SUBJECT=Sujet
+APPROVED-BY=Approuvé par
+USER-AGENT=Agent utilisateur
+FILENAME=Nom du fichier
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/morkImportMsgs.properties b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/morkImportMsgs.properties
new file mode 100644
index 0000000000..6e832ecb9e
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/morkImportMsgs.properties
@@ -0,0 +1,18 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, you can obtain one at http://mozilla.org/MPL/2.0/.
+
+#
+# The following are used by the Mork import code to display status/error
+# and informational messages.
+#
+
+MABFiles = Carnet d’adresses au format Mork
+
+# Short name of import module
+morkImportName = Base de données Mork (.mab)
+
+# Description of import module
+morkImportDescription = Importer un carnet d’adresses depuis SeaMonkey ou d’anciennes versions de Thunderbird.
+
+morkImportSuccess = Importation réussie.
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/msgAccountCentral.dtd b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/msgAccountCentral.dtd
new file mode 100644
index 0000000000..4024e2e6fb
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/msgAccountCentral.dtd
@@ -0,0 +1,26 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!ENTITY emailSectionHdr.label "Courrier électronique">
+<!ENTITY readMsgsLink.label "Lire les messages">
+<!ENTITY composeMsgLink.label "Écrire un nouveau message">
+
+<!ENTITY newsSectionHdr.label "Groupes de discussion">
+<!ENTITY subscribeNewsLink.label "Gérer les abonnements aux groupes de discussion">
+
+<!ENTITY feedsSectionHdr.label "Nouvelles et Blogs">
+<!ENTITY subscribeFeeds.label "Gérer les abonnements">
+
+<!ENTITY chat.label "Messagerie instantanée">
+
+<!ENTITY accountsSectionHdr.label "Comptes">
+<!ENTITY subscribeImapFolders.label "Gérer les abonnements aux dossiers">
+<!ENTITY settingsLink.label "Voir les paramètres pour ce compte">
+<!ENTITY setupNewAcct.label "Configurer un compte :">
+
+<!ENTITY advFeaturesSectionHdr.label "Fonctions avancées">
+<!ENTITY searchMsgsLink.label "Rechercher dans les messages">
+<!ENTITY filtersLink.label "Gérer les filtres de messages">
+<!ENTITY junkSettings.label "Paramètres des indésirables">
+<!ENTITY offlineLink.label "Paramètres hors connexion">
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/msgHdrViewOverlay.dtd b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/msgHdrViewOverlay.dtd
new file mode 100644
index 0000000000..c6fbdd360a
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/msgHdrViewOverlay.dtd
@@ -0,0 +1,114 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!ENTITY toField4.label "Pour">
+<!ENTITY fromField4.label "De">
+<!ENTITY senderField4.label "Expéditeur">
+<!ENTITY author.label "Auteur">
+<!ENTITY organizationField4.label "Organisation">
+<!ENTITY replyToField4.label "Réponse à">
+
+<!ENTITY subjectField4.label "Sujet">
+<!ENTITY ccField4.label "Copie à">
+<!ENTITY bccField4.label "Copie cachée à">
+<!ENTITY newsgroupsField4.label "Groupes">
+<!ENTITY followupToField4.label "Faire suivre à">
+<!ENTITY tagsHdr4.label "Étiquettes">
+<!ENTITY dateField4.label "Date">
+<!ENTITY userAgentField4.label "Agent utilisateur">
+<!ENTITY referencesField4.label "Références">
+<!ENTITY messageIdField4.label "Identifiant du message">
+<!ENTITY inReplyToField4.label "En réponse à">
+<!ENTITY originalWebsite4.label "Site web">
+
+<!ENTITY hdrArchiveButton1.label "Archiver">
+<!ENTITY hdrArchiveButton1.tooltip "Archiver ce message">
+<!ENTITY hdrSmartReplyButton1.label "Répondre (contextuel)">
+<!ENTITY hdrReplyButton1.label "Répondre">
+<!ENTITY hdrReplyButton2.tooltip "Répondre à l’expéditeur du message">
+<!ENTITY hdrReplyAllButton1.label "Répondre à tous">
+<!ENTITY hdrReplyAllButton1.tooltip "Répondre à l’expéditeur et à tous les destinataires">
+<!ENTITY hdrReplyListButton1.label "Répondre à la liste">
+<!ENTITY hdrReplyListButton1.tooltip "Répondre à la liste de diffusion">
+<!ENTITY hdrFollowupButton1.label "Répondre au groupe">
+<!ENTITY hdrFollowupButton1.tooltip "Faire suivre à ce groupe">
+<!ENTITY hdrForwardButton1.label "Transférer">
+<!ENTITY hdrForwardButton1.tooltip "Transférer ce message">
+<!ENTITY hdrJunkButton1.label "Indésirable">
+<!ENTITY hdrJunkButton1.tooltip "Marquer ce message comme indésirable">
+<!ENTITY hdrTrashButton1.label "Supprimer">
+<!ENTITY hdrTrashButton1.tooltip "Supprimer ce message">
+
+<!ENTITY hdrViewToolbarShowFull.label "Afficher les icônes et le texte">
+<!ENTITY hdrViewToolbarShowFull.accesskey "A">
+<!ENTITY hdrViewToolbarShowIcons.label "Afficher les icônes uniquement">
+<!ENTITY hdrViewToolbarShowIcons.accesskey "f">
+<!ENTITY hdrViewToolbarShowText.label "Afficher le texte uniquement">
+<!ENTITY hdrViewToolbarShowText.accesskey "h">
+<!ENTITY hdrViewToolbarAlwaysReplySender.label "Toujours afficher Répondre à l’expéditeur">
+<!ENTITY hdrViewToolbarAlwaysReplySender.accesskey "x">
+
+<!ENTITY otherActionsButton2.label "Autres">
+<!ENTITY otherActionsButton.tooltip "Autres actions">
+<!ENTITY otherActionsOpenConversation1.label "Ouvrir dans la discussion">
+<!ENTITY otherActionsOpenConversation1.accesskey "c">
+<!ENTITY otherActionsOpenInNewWindow1.label "Ouvrir dans une nouvelle fenêtre">
+<!ENTITY otherActionsOpenInNewWindow1.accesskey "O">
+<!ENTITY otherActionsOpenInNewTab1.label "Ouvrir dans un nouvel onglet">
+<!ENTITY otherActionsOpenInNewTab1.accesskey "u">
+<!ENTITY markAsReadMenuItem1.label "Marquer comme lu">
+<!ENTITY markAsReadMenuItem1.accesskey "l">
+<!ENTITY markAsUnreadMenuItem1.label "Marquer comme non lu">
+<!ENTITY markAsUnreadMenuItem1.accesskey "l">
+<!ENTITY saveAsMenuItem1.label "Enregistrer sous…">
+<!ENTITY saveAsMenuItem1.accesskey "E">
+<!ENTITY viewSourceMenuItem1.label "Afficher la source">
+<!ENTITY viewSourceMenuItem1.accesskey "A">
+<!ENTITY otherActionsPrint1.label "Imprimer…">
+<!ENTITY otherActionsPrint1.accesskey "m">
+
+<!-- Attachment bar context menu items -->
+<!ENTITY startExpandedCmd.label "Afficher par défaut le panneau des pièces jointes">
+<!ENTITY startExpandedCmd.accesskey "A">
+
+<!-- Attachment context menu items -->
+<!ENTITY openAttachmentCmd.label "Ouvrir">
+<!ENTITY openAttachmentCmd.accesskey "O">
+<!ENTITY saveAsAttachmentCmd.label "Enregistrer sous…">
+<!ENTITY saveAsAttachmentCmd.accesskey "E">
+<!ENTITY detachAttachmentCmd.label "Détacher…">
+<!ENTITY detachAttachmentCmd.accesskey "a">
+<!ENTITY deleteAttachmentCmd.label "Supprimer">
+<!ENTITY deleteAttachmentCmd.accesskey "u">
+<!ENTITY openAllAttachmentsCmd.label "Tout ouvrir…">
+<!ENTITY openAllAttachmentsCmd.accesskey "v">
+<!ENTITY saveAllAttachmentsCmd.label "Tout enregistrer…">
+<!ENTITY saveAllAttachmentsCmd.accesskey "T">
+<!ENTITY detachAllAttachmentsCmd.label "Tout détacher…">
+<!ENTITY detachAllAttachmentsCmd.accesskey "D">
+<!ENTITY deleteAllAttachmentsCmd.label "Tout supprimer…">
+<!ENTITY deleteAllAttachmentsCmd.accesskey "s">
+
+<!ENTITY openAttachment.tooltip "Ouvrir la pièce jointe">
+
+<!ENTITY detachedAttachmentFolder.show.label "Ouvrir le dossier contenant le fichier">
+<!ENTITY detachedAttachmentFolder.show.accesskey "d">
+<!ENTITY detachedAttachmentFolder.showMac.label "Afficher dans le Finder">
+<!ENTITY detachedAttachmentFolder.showMac.accesskey "F">
+
+<!-- Attachment toolbar items -->
+<!ENTITY saveAttachmentButton1.label "Enregistrer">
+<!ENTITY saveAttachmentButton1.tooltip "Enregistrer la pièce jointe">
+<!ENTITY saveAllAttachmentsButton1.label "Tout enregistrer">
+<!ENTITY saveAllAttachmentsButton1.tooltip "Enregistrer toutes les pièces jointes">
+
+<!ENTITY copyLinkCmd.label "Copier l’adresse du lien">
+<!ENTITY copyLinkCmd.accesskey "C">
+
+<!ENTITY CopyMessageId.label "Copier l’identifiant du message">
+<!ENTITY CopyMessageId.accesskey "C">
+<!ENTITY OpenMessageForMsgId.label "Ouvrir le message pour l’identifiant">
+<!ENTITY OpenMessageForMsgId.accesskey "O">
+<!ENTITY OpenBrowserWithMsgId.label "Ouvrir le navigateur avec l’identifiant de message">
+<!ENTITY OpenBrowserWithMsgId.accesskey "v">
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/msgSynchronize.dtd b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/msgSynchronize.dtd
new file mode 100644
index 0000000000..b501b24ad0
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/msgSynchronize.dtd
@@ -0,0 +1,25 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!-- extracted from MsgSynchronize.xul and msgSelectOfflineFolders.xul-->
+
+<!-- extracted from MsgSynchronize.xhtml and msgSelectOfflineFolders.xhtml-->
+
+<!ENTITY MsgSynchronize.label "Télécharger et synchroniser les messages">
+<!ENTITY MsgSelect.label "Éléments pour une utilisation hors connexion">
+<!ENTITY MsgSyncDesc.label "Si vous avez déjà sélectionné un dossier de courrier ou un groupe pour une utilisation hors connexion, vous pouvez les télécharger et/ou les synchroniser maintenant. Sinon, utiliser le bouton « Sélectionner » pour choisir les dossiers ou groupes à utiliser.">
+<!ENTITY MsgSyncDirections.label "Télécharger et/ou synchroniser ceci :">
+<!ENTITY syncTypeMail.label "Courriers">
+<!ENTITY syncTypeMail.accesskey "C">
+<!ENTITY syncTypeNews.label "Messages des groupes">
+<!ENTITY syncTypeNews.accesskey "g">
+<!ENTITY sendMessage.label "Envoyer les messages en attente">
+<!ENTITY sendMessage.accesskey "E">
+<!ENTITY workOffline.label "Se déconnecter à la fin du téléchargement et/ou de la synchronisation.">
+<!ENTITY workOffline.accesskey "D">
+<!ENTITY selectButton.label "Sélectionner…">
+<!ENTITY selectButton.accesskey "S">
+<!ENTITY MsgSelectDesc.label "Choisir les dossiers de courrier et les groupes à utiliser hors connexion.">
+<!ENTITY MsgSelectInd.label "Télécharger">
+<!ENTITY MsgSelectItems.label "Dossiers et groupes">
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/msgViewPickerOverlay.dtd b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/msgViewPickerOverlay.dtd
new file mode 100644
index 0000000000..e0c327ed5a
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/msgViewPickerOverlay.dtd
@@ -0,0 +1,22 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!--LOCALIZATION NOTE msgViewPickerOverlay.dtd UI for showing various views on a folder -->
+
+<!ENTITY viewPicker.label "Afficher :">
+<!ENTITY viewPicker.accesskey "r">
+<!ENTITY viewAll.label "Tous">
+<!ENTITY viewAll.accesskey "T">
+<!ENTITY viewUnread.label "Non lus">
+<!ENTITY viewUnread.accesskey "N">
+<!ENTITY viewNotDeleted.label "Non supprimés">
+<!ENTITY viewNotDeleted.accesskey "s">
+<!ENTITY viewTags.label "Étiquettes">
+<!ENTITY viewTags.accesskey "q">
+<!ENTITY viewCustomViews.label "Vues personnalisées">
+<!ENTITY viewCustomViews.accesskey "p">
+<!ENTITY viewVirtualFolder.label "Enregistrer la vue comme un dossier…">
+<!ENTITY viewVirtualFolder.accesskey "v">
+<!ENTITY viewCustomizeView.label "Personnaliser…">
+<!ENTITY viewCustomizeView.accesskey "e">
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/msgmdn.properties b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/msgmdn.properties
new file mode 100644
index 0000000000..3863b87e85
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/msgmdn.properties
@@ -0,0 +1,18 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+## Msg Mdn Report strings
+MsgMdnDisplayed=Note : Cet accusé de réception indique seulement que le message a été affiché sur l’ordinateur du destinataire. Il n’y a aucune garantie que le destinataire ait lu ou compris le contenu du message.
+MsgMdnDispatched=Le message a été imprimé, faxé ou transféré sans avoir été vu par le destinataire. Il n’y a aucune garantie que le destinataire lira le message plus tard.
+MsgMdnProcessed=Le message a été reçu par le gestionnaire de courrier du destinataire, sans avoir été affiché. Il n’y a aucune garantie que le message sera lu plus tard.
+MsgMdnDeleted=Le message a été effacé. La personne à qui vous l’avez envoyé pourrait ne pas l’avoir lu. Il pourra être rétabli plus tard, et être lu.
+MsgMdnDenied=Le destinataire du message n’a pas souhaité vous envoyer un accusé de réception.
+MsgMdnFailed=Une erreur est survenue. Un accusé de réception correct ne pourra pas vous être envoyé.
+# LOCALIZATION NOTE : Do not translate the word "%S" below.
+MsgMdnMsgSentTo=Ceci est un accusé de réception pour l’e-mail envoyé à %S.
+MdnDisplayedReceipt==?iso8859-1?Q?Accus=E9_de_r=E9ception_(affich=E9)?=
+MdnDispatchedReceipt==?iso8859-1?Q?Accus=E9_de_r=E9ception_(exp=E9di=E9)?=
+MdnProcessedReceipt==?iso8859-1?Q?Accus=E9_de_r=E9ception_(effectu=E9)?=
+MdnDeletedReceipt==?iso8859-1?Q?Accus=E9_de_r=E9ception_(supprim=E9)?=
+MdnDeniedReceipt==?iso8859-1?Q?Accus=E9_de_r=E9ception_(rejet=E9)?=
+MdnFailedReceipt==?iso8859-1?Q?Accus=E9_de_r=E9ception_(=E9chou=E9)?=
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/multimessageview.dtd b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/multimessageview.dtd
new file mode 100644
index 0000000000..f6e7a4dccf
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/multimessageview.dtd
@@ -0,0 +1,8 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!ENTITY window.title "Résumé de message">
+<!ENTITY selectedmessages.label "Messages sélectionnés">
+<!ENTITY archiveButton.label "Archiver">
+<!ENTITY deleteButton.label "Supprimer">
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/multimessageview.properties b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/multimessageview.properties
new file mode 100644
index 0000000000..1c1f856c66
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/multimessageview.properties
@@ -0,0 +1,66 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE (numConversations): Semi-colon list of plural forms.
+# See: https://developer.mozilla.org/en/Localization_and_Plurals
+# The number of conversations (threads or solitary messages) selected. #1 is the
+# number of conversations.
+numConversations=#1 conversation; #1 conversations
+
+# LOCALIZATION NOTE (atLeastNumConversations): Semi-colon list of plural forms.
+# See: https://developer.mozilla.org/en/Localization_and_Plurals
+# The number of conversations (threads or solitary messages) selected. #1 is the
+# number of conversations. We use this when we didn't actually scan the entire
+# list of selected messages, so there may be more conversations than reported
+# (or maybe not!).
+atLeastNumConversations=Plus d’une conversation; Plus de #1 conversations
+
+# LOCALIZATION NOTE (numMessages): Semi-colon list of plural forms.
+# See: https://developer.mozilla.org/en/Localization_and_Plurals
+# The number of messages in a thread. #1 is the number of messages.
+numMessages=#1 message;#1 messages
+
+# LOCALIZATION NOTE (numUnread): Semi-colon list of plural forms.
+# See: https://developer.mozilla.org/en/Localization_and_Plurals
+# The number of unread messages in a thread; meant to be appended to
+# "numMessages". #1 is the number of unread messages.
+numUnread=, #1 non lu;, #1 non lus
+
+# LOCALIZATION NOTE (numIgnored): Semi-colon list of plural forms.
+# See: https://developer.mozilla.org/en/Localization_and_Plurals
+# The number of ignored messages in a thread; meant to be appended to
+# "numMessages". #1 is the number of ignored messages.
+numIgnored=, #1 ignoré;, #1 ignorés
+
+# LOCALIZATION NOTE (atLeastNumIgnored): Semi-colon list of plural forms.
+# See: https://developer.mozilla.org/en/Localization_and_Plurals
+# The number of ignored messages in a thread; meant to be appended to
+# "numMessages". #1 is the number of ignored messages. We use this when we
+# didn't actually scan the entire list of selected messages, so there may be
+# more ignored messages than reported (or maybe not!).
+atLeastNumIgnored=, plus d’un ignoré;, plus de #1 ignorés
+
+# LOCALIZATION NOTE (noSubject): What to display for a message if it has no
+# subject.
+noSubject=(pas de sujet)
+
+# LOCALIZATION NOTE (messagesTotalSize): A message indicating the total size on
+# disk of the selected messages. #1 is the size, e.g. "123 KB".
+messagesTotalSize=La taille de ces messages est de #1.
+
+# LOCALIZATION NOTE (messagesTotalSizeMoreThan): A message indicating the total
+# size on disk of the selected messages. #1 is the size, e.g. "123 KB". We use
+# this when we didn't actually scan the entire list of selected messages, so
+# this is a *minimum* size.
+messagesTotalSizeMoreThan=La taille de ces messages est de plus de #1.
+
+# LOCALIZATION NOTE (maxCountExceeded): A message to let the user know that not
+# all of the selected messages were summarized. #1 is the total number of
+# messages selected and #2 is the number of messages actually shown.
+maxCountExceeded= (Note : #1 messages sont sélectionnés, les #2 premiers sont affichés)
+
+# LOCALIZATION NOTE (maxThreadCountExceeded): A message to let the user know that
+# not all of the selected thread were summarized. #1 is the total number of
+# threads selected and #2 is the number of threads actually shown.
+maxThreadCountExceeded= (Note : #1 discussions sont sélectionnées, les #2 premières sont affichées)
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/newFolderDialog.dtd b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/newFolderDialog.dtd
new file mode 100644
index 0000000000..baa3cc60c1
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/newFolderDialog.dtd
@@ -0,0 +1,16 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!-- Labels -->
+<!ENTITY newFolderDialog.title "Nouveau dossier">
+<!ENTITY name.label "Nom :">
+<!ENTITY name.accesskey "n">
+<!ENTITY description.label "Créer comme sous-dossier de :">
+<!ENTITY description.accesskey "C">
+<!ENTITY folderRestriction1.label "Ce serveur n’accepte que deux types spéciaux de dossier.">
+<!ENTITY folderRestriction2.label "Permettre à votre nouveau dossier de contenir :">
+<!ENTITY foldersOnly.label "des dossiers seulement">
+<!ENTITY messagesOnly.label "des messages seulement">
+<!ENTITY accept.label "Créer le dossier">
+<!ENTITY accept.accesskey "r">
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/news.properties b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/news.properties
new file mode 100644
index 0000000000..26f926b20a
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/news.properties
@@ -0,0 +1,56 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+downloadHeadersTitlePrefix=Télécharger les en-têtes pour :
+downloadHeadersInfoText=Il y a %S nouveaux en-têtes de messages à télécharger pour ce groupe de discussion.
+cancelDisallowed=Ce message n’est manifestement pas de vous. Vous pouvez seulement annuler les messages que vous avez envoyés vous-même.
+cancelConfirm=Voulez-vous vraiment annuler ce message ?
+messageCancelled=Message annulé.
+enterUserPassTitle=Un nom d’utilisateur et un mot de passe sont requis pour le serveur de groupes
+# LOCALIZATION NOTE (enterUserPassServer): %S is the server being accessed
+enterUserPassServer=Veuillez saisir un nom d’utilisateur et un mot de passe pour %S :
+# LOCALIZATION NOTE (enterUserPassGroup): %1$S is a specific newsgroup to set
+# the password for; %2$S is the server from which the newsgroup is accessed
+enterUserPassGroup=Veuillez saisir un nom d’utilisateur et un mot de passe pour %1$S sur %2$S :
+okButtonText=Téléchargement
+
+noNewMessages=Il n’y a pas de nouveaux messages sur le serveur.
+# LOCALIZATION NOTE (newNewsgroupHeaders): %1$S is the number of the current
+# header being downloaded, %2$S is the number of headers to be downloaded, and
+# %3$S is the newsgroup whose headers are being downloaded.
+newNewsgroupHeaders=Téléchargement de %1$S en-têtes sur %2$S depuis %3$S
+# LOCALIZATION NOTE (newNewsgroupFilteringHeaders): %1$S is the name of the MIME
+# header being filtered on, %2$S is the number of the current header being
+# downloaded, %3$S is the number of headers to be downloaded, and %4$S is the
+# newsgroup whose headers are being downloaded.
+newNewsgroupFilteringHeaders=Récupération des en-têtes pour les filtres : %1$S (%2$S/%3$S) depuis %4$S
+downloadingArticles=Téléchargement des articles %S-%S
+bytesReceived=Téléchargement du groupe : %S reçus (%S Ko lus à %S Ko/s)
+downloadingArticlesForOffline=Téléchargement des articles %S-%S dans %S
+
+# LOCALIZATION NOTE (autoUnsubscribeText): %1$S is the newsgroup and %2$S is the newsgroup-server it is being removed from.
+autoUnsubscribeText=Le groupe %1$S ne semble plus exister sur le serveur %2$S. Voulez-vous vous désabonner de ce groupe ?
+
+# LOCALIZATION NOTE (autoSubscribeText): %1$S is the newsgroup.
+autoSubscribeText=Voulez-vous vous abonner à %1$S ?
+
+# LOCALIZATION NOTE (Error -304): In the following item, don't translate "NNTP"
+# Error - server error
+## @name NNTP_ERROR_MESSAGE
+## @loc None
+-304=Erreur avec les groupes (NNTP) :
+
+# Error - newsgroup scan error
+## @name NNTP_NEWSGROUP_SCAN_ERROR
+## @loc None
+-305=Erreur avec les groupes. Le parcours des groupes de discussion est incomplet. Essayez de les télécharger à nouveau.
+
+# Error - NNTP authinfo failure
+## @name NNTP_AUTH_FAILED
+## @loc None
+-260=Erreur d’autorisation. Veuillez saisir votre nom et/ou votre mot de passe à nouveau.
+
+# Error - TCP error
+## @name TCP_ERROR
+## @loc None
+-206=Erreur de communication. Essayez de vous connecter à nouveau. Erreur TCP :
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/newsError.dtd b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/newsError.dtd
new file mode 100644
index 0000000000..94f15f394e
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/newsError.dtd
@@ -0,0 +1,31 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!-- LOCALIZATION NOTE (newsError.title): The title of the news error page.
+ Not generally visible. -->
+<!ENTITY newsError.title "Erreur de chargement de l’article">
+
+<!-- LOCALIZATION NOTE (articleNotFound.title): The main heading for the news
+ error page. -->
+<!ENTITY articleNotFound.title "Article introuvable">
+
+<!-- LOCALIZATION NOTE (articleNotFound.desc): A longer description for the news
+ error page. -->
+<!ENTITY articleNotFound.desc "Le serveur de groupes indique qu’il ne peut pas trouver l’article.">
+
+<!-- LOCALIZATION NOTE (serverResponded.title): A string preceding the text
+ response from the newsgroup server describing the error. -->
+<!ENTITY serverResponded.title "Le serveur de groupes a répondu :">
+
+<!-- LOCALIZATION NOTE (articleExpired.title): A string explaining that the
+ article may have expired. -->
+<!ENTITY articleExpired.title "L’article a peut-être expiré ?">
+
+<!-- LOCALIZATION NOTE (trySearching.title): A string preceding the message's
+ ID. -->
+<!ENTITY trySearching.title "Essayez de rechercher cet article :">
+
+<!-- LOCALIZATION NOTE (removeExpiredArticles.title): The label for the button
+ to remove all expired articles from the newsgroup. -->
+<!ENTITY removeExpiredArticles.title "Supprimer tous les articles ayant expiré">
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/offline.properties b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/offline.properties
new file mode 100644
index 0000000000..09210ac984
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/offline.properties
@@ -0,0 +1,28 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# Download Messages Prompt
+downloadMessagesWindowTitle1=Téléchargement des messages
+downloadMessagesLabel1=Voulez-vous télécharger les messages pour les utiliser une fois hors connexion ?
+downloadMessagesCheckboxLabel1=Toujours demander lors de la déconnexion
+downloadMessagesNow2=&Télécharger maintenant
+
+# Send Messages Prompt
+sendMessagesWindowTitle1=Messages en attente
+sendMessagesLabel2=Voulez-vous envoyer les messages en attente maintenant ?
+sendMessagesCheckboxLabel1=Toujours demander lors de la connexion
+sendMessagesNow2=&Envoyer maintenant
+
+processMessagesLater2=&Plus tard
+
+# GetMessages While Offline Prompt
+getMessagesOfflineWindowTitle1=Téléchargement des messages
+getMessagesOfflineLabel1=Vous êtes actuellement hors connexion. Voulez-vous vous connecter pour récupérer les nouveaux messages ?
+
+# Send Messages Offline Prompt
+sendMessagesOfflineWindowTitle1=Messages en attente
+sendMessagesOfflineLabel1=Vous êtes hors connexion. Voulez-vous vous connecter pour envoyer les messages en attente ?
+
+offlineTooltip=Vous êtes actuellement hors connexion.
+onlineTooltip=Vous êtes actuellement en ligne.
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/offlineStartup.properties b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/offlineStartup.properties
new file mode 100644
index 0000000000..a2d10788a5
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/offlineStartup.properties
@@ -0,0 +1,8 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+title=Connexion
+desc=Voulez-vous vous connecter maintenant ?\n\n(Si vous préférez travailler hors connexion, vous pourrez vous connecter plus tard en décochant « Travailler hors connexion » à partir du menu « Fichier ».)
+workOnline=Travailler en ligne
+workOffline=Travailler hors connexion
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/outlookImportMsgs.properties b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/outlookImportMsgs.properties
new file mode 100644
index 0000000000..112c8d4c0c
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/outlookImportMsgs.properties
@@ -0,0 +1,82 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+#
+# The following are used by the outlook express import code to display status/error
+# and informational messages
+#
+
+#
+# The following are used by the outlook express import code to display status/error
+# and informational messages
+#
+
+#
+# The following are used by the Outlook import code to display status/error
+# and informational messages
+#
+
+# Short name of import module
+## @name OUTLOOKIMPORT_NAME
+## @loc None
+## LOCALIZATION NOTE (2000): DONT_TRANSLATE
+2000=Outlook
+
+# Description of import module
+## @name OUTLOOKIMPORT_DESCRIPTION
+## @loc None
+## LOCALIZATION NOTE (2010): In this item, don't translate "Outlook"
+2010=Outlook : courrier, carnets d’adresses et paramètres
+
+# Success message
+## @name OUTLOOKIMPORT_MAILBOX_SUCCESS
+## @loc None
+## LOCALIZATION NOTE (2002): In this item, don't translate "%S" or "%d"
+## The variable %S will receive the name of the mailbox
+## The variable %d will receive the number of messages
+2002=Boîte aux lettres %S, %d message(s) importé(s).
+
+# Error message
+## @name OUTLOOKIMPORT_MAILBOX_BADPARAM
+## @loc None
+2003=Les paramètres d’importation de la boîte aux lettres sont incorrects.
+
+# Error message
+## @name OUTLOOKIMPORT_MAILBOX_CONVERTERROR
+## @loc None
+## LOCALIZATION NOTE (2004): In this item, don't translate "%S"
+## The variable %S will receive the name of the mailbox
+2004=Erreur lors de l’accès à un fichier de votre boîte aux lettres %S.
+
+# Address book name
+## @name OUTLOOKIMPORT_ADDRNAME
+## @loc None
+## LOCALIZATION NOTE (2005): In this item, don't translate "Outlook"
+2005=Carnet d’adresses d’Outlook
+
+# Description
+## @name OUTLOOKIMPORT_ADDRESS_SUCCESS
+## @loc None
+## LOCALIZATION NOTE (2006): In this item, don't translate "%S"
+## The variable %S will receive the name of the address book
+2006=Carnet d’adresses importé : %S.
+
+# Error message
+## @name OUTLOOKIMPORT_ADDRESS_BADPARAM
+## @loc None
+2007=Les paramètres d’importation du carnet d’adresses sont incorrects.
+
+# Error message
+## @name OUTLOOKIMPORT_ADDRESS_BADSOURCEFILE
+## @loc None
+## LOCALIZATION NOTE (2008): In this item, don't translate "%S"
+## The variable %S will receive the name of the address book
+2008=Erreur lors de l’accès à un fichier de votre carnet d’adresses %S.
+
+# Error message
+## @name OUTLOOKIMPORT_ADDRESS_CONVERTERROR
+## @loc None
+## LOCALIZATION NOTE (2009): In this item, don't translate "%S"
+## The variable %S will receive the name of the address book
+2009=Erreur lors de l’importation de votre carnet d’adresses %S : certaines adresses risquent de ne pas avoir été récupérées lors de cette opération.
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/pgpmime.properties b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/pgpmime.properties
new file mode 100644
index 0000000000..8c10f89ad8
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/pgpmime.properties
@@ -0,0 +1,10 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+#
+# The following are used by the pgpmime content type handler
+#
+
+# LOCALIZATION NOTE(pgpMimeNeedsAddon): The text can contain HTML tags.
+pgpNotAvailable=Ceci est un message OpenPGP chiffré, mais la prise en charge du déchiffrement OpenPGP n’est pas disponible.
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/preferences/applicationManager.properties b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/preferences/applicationManager.properties
new file mode 100644
index 0000000000..20076e3dc1
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/preferences/applicationManager.properties
@@ -0,0 +1,13 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE
+# in descriptionApplications, %S will be replaced by one of the 3 following strings
+descriptionApplications=Les applications suivantes peuvent être utilisées pour %S.
+
+handleProtocol=Liens %S
+handleFile=Contenu %S
+
+descriptionWebApp=Cette application web est hébergée par :
+descriptionLocalApp=L’emplacement de cette application est :
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/preferences/applications.properties b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/preferences/applications.properties
new file mode 100644
index 0000000000..580ce63d4e
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/preferences/applications.properties
@@ -0,0 +1,13 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE (dialog_removeAccount):
+# %S will be replaced with the user-defined name of a storage account.
+dialog_removeAccount=Voulez-vous vraiment supprimer le compte « %S » ?
+
+# LOCALIZATION NOTE (addProvider):
+# %S will be replace with the display name of a provider, e.g. DropBox
+addProvider=Ajouter %S
+
+notConfiguredYet=Ce compte n’a pas encore été configuré
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/preferences/messagestyle.properties b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/preferences/messagestyle.properties
new file mode 100644
index 0000000000..addd4743e9
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/preferences/messagestyle.properties
@@ -0,0 +1,13 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# Content of preview conversation for chat message styles
+default=Par défaut
+nick1=Florian
+buddy1=florian@im.instantbird.org
+nick2=Patrick
+buddy2=patrick@im.instantbird.org
+message1=Salut ! :-)
+message2=Ça roule ?
+message3=Je suis en train d’essayer Thunderbird ! ;-)
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/preferences/preferences.properties b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/preferences/preferences.properties
new file mode 100644
index 0000000000..7b7688be67
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/preferences/preferences.properties
@@ -0,0 +1,100 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+#### Junk
+confirmResetJunkTrainingTitle=Confirmer
+confirmResetJunkTrainingText=Voulez-vous vraiment réinitialiser le filtre adaptatif des données d’apprentissage ?
+
+#### Downloads
+desktopFolderName=Bureau
+myDownloadsFolderName=Mes Téléchargements
+chooseAttachmentsFolderTitle=Choisir le dossier
+
+#### Applications
+
+fileEnding=Fichier %S
+saveFile=Enregistrer le fichier
+
+# LOCALIZATION NOTE (useApp, useDefault): %S = Application name
+useApp=Utiliser %S
+useDefault=Utiliser %S (défaut)
+
+useOtherApp=Autre…
+fpTitleChooseApp=Choisir une application externe
+manageApp=Détails de l’application…
+alwaysAsk=Toujours demander
+delete=Supprimer l’action
+confirmDeleteTitle=Supprimer l’action
+confirmDeleteText=Voulez-vous vraiment supprimer cette action ?
+
+# LOCALIZATION NOTE (typeDescriptionWithDetails):
+# %1$S = type description (for example "Portable Document Format")
+# %2$S = details (see below, for example "(application/pdf: .pdf, .pdfx)")
+typeDescriptionWithDetails=%1$S %2$S
+
+# LOCALIZATION NOTE (typeDetailsWithTypeOrExt):
+# %1$S = type or extensions (for example "application/pdf", or ".pdf, .pdfx")
+typeDetailsWithTypeOrExt=(%1$S)
+
+# LOCALIZATION NOTE (typeDetailsWithTypeAndExt):
+# %1$S = type (for example "application/pdf")
+# %2$S = extensions (for example ".pdf, .pdfx")
+typeDetailsWithTypeAndExt=(%1$S : %2$S)
+
+#### Sound Notifications
+soundFilePickerTitle=Choisir un son
+
+#### Remote content
+imagepermissionstext=Vous pouvez indiquer depuis quels sites web vous autorisez le chargement d’images et d’autres contenus distants. Vous pouvez également autoriser tous les contenus distants d’après l’adresse e-mail de l’expéditeur. Saisissez l’adresse du site ou l’adresse e-mail que vous souhaitez gérer puis cliquez sur Bloquer ou Autoriser.
+imagepermissionstitle=Exceptions - Contenu distant
+
+#### Cookies
+cookiepermissionstitle=Exceptions - Cookies
+cookiepermissionstext=Vous pouvez indiquer les sites web qui sont toujours ou ne sont jamais autorisés à utiliser des cookies. Saisissez l’adresse exacte du site et cliquez sur Bloquer, Autoriser pour la session, ou Autoriser.
+
+#### Cookie Viewer
+hostColon=Hôte :
+domainColon=Domaine :
+forSecureOnly=Connexions chiffrées uniquement
+forAnyConnection=Tout type de connexion
+expireAtEndOfSession=À la fin de la session
+
+noCookieSelected=<aucun cookie sélectionné>
+cookiesAll=Les cookies suivants sont stockés sur votre ordinateur :
+cookiesFiltered=Les cookies suivants correspondent à votre recherche :
+# LOCALIZATION NOTE (removeSelectedCookies):
+# Semicolon-separated list of plural forms. See:
+# https://developer.mozilla.org/en/docs/Localization_and_Plurals
+# If you need to display the number of selected elements in your language,
+# you can use #1 in your localization as a placeholder for the number.
+# For example this is the English string with numbers:
+# removeSelectedCookies=Remove #1 Selected;Remove #1 Selected
+removeSelectedCookies=Supprimer le cookie sélectionné;Supprimer les cookies sélectionnés
+defaultUserContextLabel=Aucun
+
+####Preferences::Advanced::Network
+#LOCALIZATION NOTE: The next string is for the disk usage of the cache.
+# e.g., "Your cache is currently using 200 MB"
+# %1$S = size
+# %2$S = unit (MB, KB, etc.)
+actualDiskCacheSize=Le cache utilise %1$S %2$S d’espace disque
+actualDiskCacheSizeCalculated=Calcul de la taille du cache…
+
+# LOCALIZATION NOTE (labelDefaultFont): %S = font name
+labelDefaultFont=Par défaut (%S)
+labelDefaultFontUnnamed=Par défaut
+
+# LOCALIZATION NOTE (appLocale.label): %S = Name of the application locale,
+# e.g. English (United States)
+appLocale.label=Langue de l’application : %S
+appLocale.accesskey=p
+# LOCALIZATION NOTE (rsLocale.label): %S = Name of the locale chosen in regional settings,
+# e.g. German (Germany)
+rsLocale.label=Langue pour les paramètres régionaux : %S
+rsLocale.accesskey=n
+
+applications-type-pdf = Portable Document Format (PDF)
+
+# LOCALIZATION NOTE (previewInApp): %S = brandShortName
+previewInApp=Aperçu dans %S
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/prefs.properties b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/prefs.properties
new file mode 100644
index 0000000000..89f1015696
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/prefs.properties
@@ -0,0 +1,89 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# The following are used by the Account Wizard
+#
+enterValidEmail=Veuillez saisir une adresse valide.
+accountNameExists=Un compte avec le même nom existe déjà. Veuillez saisir un nom de compte différent.
+accountNameEmpty=Le nom du compte ne peut pas être vide.
+modifiedAccountExists=Un compte avec ce nom et ce serveur existe déjà. Veuillez saisir un nom d’utilisateur différent ou un autre serveur.
+userNameChanged=Votre nom d’utilisateur a été mis à jour. Vous devez aussi mettre à jour votre adresse e-mail et/ou le nom d’utilisateur associé à ce compte.
+serverNameChanged=Le paramètre de nom du serveur a changé. Veuillez vérifier que les dossiers utilisés par les filtres existent aussi sur le nouveau serveur.
+# LOCALIZATION NOTE (junkSettingsBroken): %1$S is the account name
+junkSettingsBroken=Les paramètres de détection des indésirables sur le compte « %1$S » pourraient poser problème. Souhaitez-vous les vérifier avant d’enregistrer les paramètres du compte ?
+# LOCALIZATION NOTE (localDirectoryChanged): %1$S is program name (&brandShortName;)
+localDirectoryChanged=%1$S doit redémarrer pour appliquer le changement effectué au paramètre du répertoire local.
+localDirectoryRestart=Redémarrer
+userNameEmpty=Le nom de l’utilisateur ne peut pas être vide.
+# LOCALIZATION NOTE (localDirectoryInvalid): %1$S is path to folder
+localDirectoryInvalid=Le chemin du répertoire local « %1$S » n’est pas valide. Veuillez choisir un répertoire différent.
+# LOCALIZATION NOTE (localDirectoryNotAllowed): %1$S is path to folder
+localDirectoryNotAllowed=Le chemin du répertoire local « %1$S » n’est pas approprié au stockage de messages. Veuillez choisir un autre répertoire.
+# if the user chooses to cancel the wizard when no accounts are there throw a message
+# LOCALIZATION NOTE (cancelWizard)
+# do not localize "\n\n"
+cancelWizard=Voulez-vous vraiment quitter l’assistant de création de compte ? Si vous le quittez, toutes les informations que vous avez saisies seront perdues et votre compte ne sera pas créé.
+accountWizard=Assistant de création de compte
+WizardExit=Quitter
+WizardContinue=Annuler
+# when the wizard already has a domain (Should we say something different?)
+enterValidServerName=Veuillez saisir un nom de serveur valide.
+failedRemoveAccount=Échec de la suppression du compte.
+#LOCALIZATION NOTE: accountName: %1$S is server name, %2$S is user name
+accountName=%1$S - %2$S
+
+# LOCALIZATION NOTE: confirmDeferAccountWarning: do not localize "\n\n", it means a new empty line in the string.
+confirmDeferAccountWarning=Si vous stockez les nouveaux messages de ce compte dans le dossier Courrier entrant d’un autre compte, vous ne pourrez plus accéder aux messages déjà téléchargés de ce compte. S’il reste des messages dans ce compte, veuillez d’abord les copier dans un autre compte.\n\nS’il existe des filtres qui redirigent des messages dans ce compte, désactivez-les ou changez le dossier de destination. Si d’autres comptes ont des dossiers spéciaux dans ce compte (Envoyés, Brouillons, Modèles, Archives, Indésirables), vous devriez les changer vers un autre compte.\n\nDésirez-vous toujours stocker les messages de ce compte dans un autre compte ?
+confirmDeferAccountTitle=Déplacer les messages d’un compte ?
+
+directoryAlreadyUsedByOtherAccount=Le répertoire spécifié dans le paramètre du répertoire local est déjà utilisé par le compte « %S ». Veuillez en choisir un autre.
+directoryParentUsedByOtherAccount=Un répertoire parent du répertoire spécifié dans le paramètre du répertoire local est déjà utilisé par le compte « %S ». Veuillez en choisir un autre.
+directoryChildUsedByOtherAccount=Un sous-répertoire du répertoire spécifié dans le paramètre du répertoire local est déjà utilisé par le compte « %S ». Veuillez en choisir un autre.
+#Provide default example values for sample email address
+exampleEmailUserName=utilisateur
+exampleEmailDomain=example.net
+emailFieldText=Adresse e-mail :
+#LOCALIZATION NOTE: defaultEmailText: %1$S is user name, %2$S is domain
+defaultEmailText=Saisissez votre adresse. Cette adresse sera utilisée par les personnes qui voudront vous envoyer des e-mails (par exemple, « %1$S@%2$S »).
+#LOCALIZATION NOTE: customizedEmailText: %1$S is provider, %2$S is email username, %3$S is sample email, %4$S is sample username
+customizedEmailText=Saisissez votre %1$S %2$S (par exemple, si votre adresse %1$S est « %3$S », votre %2$S sera « %4$S »).
+
+# account manager stuff
+prefPanel-server=Paramètres serveur
+prefPanel-copies=Copies et dossiers
+prefPanel-synchronization=Synchronisation et espace disque
+prefPanel-diskspace=Espace disque
+prefPanel-addressing=Rédaction et adressage
+prefPanel-junk=Paramètres des indésirables
+## LOCALIZATION NOTE (prefPanel-smtp): Don't translate "SMTP"
+prefPanel-smtp=Serveur sortant (SMTP)
+
+# account manager multiple identity support
+#LOCALIZATION NOTE: accountName: %1$S
+identity-list-title=Identités pour %1$S
+
+identityDialogTitleAdd=Nouvelle identité
+## LOCALIZATION NOTE (identityDialogTitleEdit): %S is the identity name
+identityDialogTitleEdit=Modifier %S
+
+identity-edit-req=Vous devez spécifier une adresse e-mail valide pour cette identité.
+identity-edit-req-title=Erreur lors de la création de l’identité
+
+## LOCALIZATION NOTE (identity-delete-confirm): %S is the identity name
+# and should be put on a new line. The new line is produced with the "\n" string.
+identity-delete-confirm=Voulez-vous vraiment supprimer l’identité\n« %S » ?
+## LOCALIZATION NOTE (identity-delete-confirm-title): %S is the account name
+identity-delete-confirm-title=Suppression de l’identité pour %S
+identity-delete-confirm-button=Supprimer
+
+choosefile=Choisir un fichier
+
+forAccount=Pour le compte « %S »
+
+removeFromServerTitle=Confirmer la suppression automatique et permanente de messages
+removeFromServer=Ce paramètre effacera de façon permanente les anciens messages du serveur distant ET de votre stockage local. Voulez-vous vraiment continuer ?
+
+confirmSyncChangesTitle=Confirmer les modifications de synchronisation
+confirmSyncChanges=Les paramètres de synchronisation des messages ont été modifiés.\n\nVoulez-vous les enregistrer ?
+confirmSyncChangesDiscard=Abandonner
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/profileDowngrade.dtd b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/profileDowngrade.dtd
new file mode 100644
index 0000000000..63d03488f2
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/profileDowngrade.dtd
@@ -0,0 +1,20 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!-- LOCALIZATION NOTE:
+ This UI can be most easily shown by modifying the version in compatibility.ini
+ to a newer version and then starting Thunderbird.
+ For this feature, "installation" is used to mean "this discrete download of
+ Thunderbird" and "version" is used to mean "the specific revision number of a
+ given Thunderbird channel". These terms are not synonymous.
+-->
+<!ENTITY window.title "Vous avez lancé une ancienne version de &brandProductName;">
+<!ENTITY window.style "width: 490px;">
+
+<!ENTITY window.nosync2 "Une version plus récente de &brandProductName; peut avoir apporté des modifications à votre profil qui ne sont plus compatibles avec cette ancienne version. Utilisez ce profil uniquement avec cette version plus récente ou créez un nouveau profil pour cette installation de &brandShortName;. La création d’un nouveau profil nécessite de reconfigurer vos comptes, agendas et modules complémentaires.">
+
+<!ENTITY window.moreinfo "Plus d’informations…">
+<!ENTITY window.create "Créer un nouveau profil">
+<!ENTITY window.quit-win "Quitter">
+<!ENTITY window.quit-nonwin "Quitter">
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/removeAccount.dtd b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/removeAccount.dtd
new file mode 100644
index 0000000000..38056dacf1
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/removeAccount.dtd
@@ -0,0 +1,22 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!ENTITY dialogTitle "Supprimer le compte et les données">
+<!ENTITY removeButton.label "Supprimer">
+<!ENTITY removeButton.accesskey "S">
+<!ENTITY removeAccount.label "Supprimer les données du compte">
+<!ENTITY removeAccount.accesskey "c">
+<!ENTITY removeAccount.desc "Supprime les données du compte connues par &brandShortName;. Cette action n’affecte pas le compte qui se trouve sur le serveur.">
+<!ENTITY removeData.label "Supprimer les données des messages">
+<!ENTITY removeData.accesskey "m">
+<!ENTITY removeDataChat.label "Supprimer les données des conversations">
+<!ENTITY removeDataChat.accesskey "m">
+<!ENTITY removeDataLocalAccount.desc "Supprime du disque local tous les messages et les filtres associés à ce compte. Cette action n’affecte pas certains messages qui resteront sur le serveur. N’effectuez pas cette action si vous prévoyez d’archiver les données locales ou de les réutiliser plus tard dans &brandShortName;.">
+<!ENTITY removeDataServerAccount.desc "Supprime du disque local tous les messages, les dossiers et les filtres associés à ce compte. Les messages et les dossiers seront conservés sur le serveur.">
+<!ENTITY removeDataChatAccount.desc "Supprime du disque local tous les historiques de conversations associés à ce compte.">
+<!ENTITY showData.label "Afficher les données de localisation">
+<!ENTITY showData.accesskey "A">
+<!ENTITY progressPending "Supprimer les données sélectionnées…">
+<!ENTITY progressSuccess "Suppression réussie.">
+<!ENTITY progressFailure "Échec de la suppression.">
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/removeAccount.properties b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/removeAccount.properties
new file mode 100644
index 0000000000..6b7e44dcfa
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/removeAccount.properties
@@ -0,0 +1,5 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+removeQuestion=Voulez-vous vraiment supprimer le compte « %S » ?
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/renameFolderDialog.dtd b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/renameFolderDialog.dtd
new file mode 100644
index 0000000000..189b3123e5
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/renameFolderDialog.dtd
@@ -0,0 +1,9 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!ENTITY renameFolderDialog.title "Renommer un dossier">
+<!ENTITY rename.label "Saisissez le nouveau nom de votre dossier :">
+<!ENTITY rename.accesskey "E">
+<!ENTITY accept.label "Renommer">
+<!ENTITY accept.accesskey "R">
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/sanitize.dtd b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/sanitize.dtd
new file mode 100644
index 0000000000..43ff21dfd8
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/sanitize.dtd
@@ -0,0 +1,36 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!ENTITY sanitizeDialog2.title "Supprimer l’historique récent">
+
+<!-- XXX rearrange entities to match physical layout when l10n isn't an issue -->
+<!-- LOCALIZATION NOTE (clearTimeDuration.*): "Time range to clear" dropdown.
+ See UI mockup at bug 480169 -->
+<!ENTITY clearTimeDuration.label "Intervalle à effacer :">
+<!ENTITY clearTimeDuration.accesskey "I">
+<!ENTITY clearTimeDuration.lastHour "la dernière heure">
+<!ENTITY clearTimeDuration.last2Hours "les deux dernières heures">
+<!ENTITY clearTimeDuration.last4Hours "les quatre dernières heures">
+<!ENTITY clearTimeDuration.today "aujourd’hui">
+<!ENTITY clearTimeDuration.everything "tout">
+<!-- Localization note (clearTimeDuration.suffix) - trailing entity for languages
+that require it. -->
+<!ENTITY clearTimeDuration.suffix "">
+
+
+<!ENTITY historyGroup.label "Historique">
+
+<!ENTITY itemHistory.label "Historique de navigation">
+<!ENTITY itemHistory.accesskey "H">
+<!ENTITY itemCookies.label "Cookies">
+<!ENTITY itemCookies.accesskey "C">
+<!ENTITY itemCache.label "Cache">
+<!ENTITY itemCache.accesskey "a">
+
+<!-- LOCALIZATION NOTE (sanitizeEverythingUndoWarning): Second warning paragraph
+ that appears when "Time range to clear" is set to "Everything". See UI
+ mockup at bug 480169 -->
+<!ENTITY sanitizeEverythingUndoWarning "Cette action est irréversible.">
+
+<!ENTITY dialog.width "28em">
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/seamonkeyImportMsgs.properties b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/seamonkeyImportMsgs.properties
new file mode 100644
index 0000000000..0cb2518713
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/seamonkeyImportMsgs.properties
@@ -0,0 +1,18 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+#
+# The following are used by the seamonkey import code to display status/error
+# and informational messages
+
+# Short name of import module
+SeamonkeyImportName=SeaMonkey
+
+# Description of import module
+SeamonkeyImportDescription=Importer les carnets d’adresses, le courrier et les comptes depuis SeaMonkey.
+
+# Success Message for addressbook import
+SeamonkeyImportAddressSuccess=Les carnets d’adresses ont été importés avec succès.
+
+# Success Message for mail import
+SeamonkeyImportSettingsSuccess=Les messages et comptes locaux ont été importés.
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/search-attributes.properties b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/search-attributes.properties
new file mode 100644
index 0000000000..fb2352b19a
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/search-attributes.properties
@@ -0,0 +1,45 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+#these need to match nsMsgSearchAttrib interface in nsMsgSearchCore.idl
+#and nsMsgSearchAttribMap in nsMsgSearchAdapter.cpp
+Subject=Sujet
+From=De
+Body=Corps
+Date=Date
+Priority=Priorité
+Status=Statut
+To=Pour
+Cc=Copie à
+ToOrCc=Pour ou Copie à
+AgeInDays=Âge en jours
+SizeKB=Taille (Ko)
+Tags=Étiquettes
+# for AB and LDAP
+AnyName=N’importe quel nom
+DisplayName=Nom affiché
+Nickname=Surnom
+ScreenName=Nom à l’écran
+Email=Adresse e-mail
+AdditionalEmail=Autre adresse e-mail
+AnyNumber=N’importe quel numéro
+WorkPhone=Téléphone professionnel
+HomePhone=Téléphone privé
+Fax=Fax
+Pager=Pager
+Mobile=Portable
+City=Ville/Localité
+Street=Rue
+Title=Fonction
+Organization=Société
+Department=Service
+# more mailnews
+FromToCcOrBcc=De, Pour, Copie à ou Copie cachée à
+JunkScoreOrigin=Origine de l’indice de spam
+JunkPercent=Pourcentage d’indésirables
+AttachmentStatus=Statut des pièces jointes
+JunkStatus=Statut indésirable
+Label=Étiquette
+Customize=Personnaliser…
+MissingCustomTerm=Terme personnalisé manquant
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/search-operators.properties b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/search-operators.properties
new file mode 100644
index 0000000000..de30e5bd33
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/search-operators.properties
@@ -0,0 +1,31 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+0=contient
+1=ne contient pas
+2=est
+3=n’est pas
+4=est vide
+
+5=se trouve avant
+6=se trouve après
+
+7=est plus grand que
+8=est plus petit que
+
+9=commence par
+10=se termine par
+
+11=ressemble à
+12=LdapDwim
+
+13=est plus grand que
+14=est plus petit que
+
+15=complétion_de_nom
+16=est dans mon carnet d’adresses
+17=n’est pas dans mon carnet d’adresses
+18=n’est pas vide
+19=correspond à
+20=ne correspond pas à
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/search.properties b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/search.properties
new file mode 100644
index 0000000000..7fe8355b25
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/search.properties
@@ -0,0 +1,27 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# these are the fields that get inserted in the search line
+# for "and" searches, this looks like:
+#
+# searchAnd0 <attribute> searchAnd1 <operator> searchAnd2 <value> searchAnd4
+#
+# for example, in english this looks like:
+# and the [Sender ] [doesn't contain] [John]
+#
+# TODO: need to special-case the first line (filterindex==0)
+
+# filter stuff
+
+searchingMessage=Recherche en cours…
+# LOCALIZATION NOTE (matchesFound): #1 number of matches found
+matchesFound=#1 occurrence trouvée;#1 occurrences trouvées
+noMatchesFound=Aucune occurrence trouvée
+labelForStopButton=Arrêter
+labelForSearchButton=Rechercher
+labelForStopButton.accesskey=A
+labelForSearchButton.accesskey=R
+
+moreButtonTooltipText=Ajouter une nouvelle règle
+lessButtonTooltipText=Supprimer cette règle
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/searchTermOverlay.dtd b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/searchTermOverlay.dtd
new file mode 100644
index 0000000000..3491ea3508
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/searchTermOverlay.dtd
@@ -0,0 +1,19 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!ENTITY matchAll.label "Valider toutes les conditions suivantes">
+<!ENTITY matchAll.accesskey "t">
+<!ENTITY matchAny.label "Valider au moins une des conditions suivantes">
+<!ENTITY matchAny.accesskey "u">
+<!ENTITY matchAllMsgs.label "Appliquer à tous les messages">
+<!ENTITY matchAllMsgs.accesskey "m">
+
+<!-- LOCALIZATION NOTE
+ The values below are used to control the widths of the search widgets.
+ Change the values only when the localized strings in the popup menus
+ are truncated in the widgets.
+ -->
+<!ENTITY searchTermListAttributesFlexValue "1">
+<!ENTITY searchTermListOperatorsFlexValue "1">
+<!ENTITY searchTermListValueFlexValue "3">
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/shutdownWindow.properties b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/shutdownWindow.properties
new file mode 100644
index 0000000000..0b211a91ab
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/shutdownWindow.properties
@@ -0,0 +1,10 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+
+# These strings are loaded and represented by the XUL dialog.
+shutdownDialogTitle=Progression de la fermeture
+taskProgress=Traitement de %1$S tâche(s) sur %2$S
+
+# These strings are loaded by the individual shutdown tasks.
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/smime.properties b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/smime.properties
new file mode 100644
index 0000000000..54df0e4a5f
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/smime.properties
@@ -0,0 +1,13 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+#
+# The following are used by the smime content type handler
+#
+
+## @name NS_MSG_UNABLE_TO_OPEN_FILE
+## LOCALIZATION NOTE: the text can contain HTML tags.
+1000=Ce message est <B>CHIFFRÉ</B> ou <B>SIGNÉ</B>.<br> Cette application de courrier ne gère pas le chiffrement et les messages signés.
+
+
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/smtpEditOverlay.dtd b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/smtpEditOverlay.dtd
new file mode 100644
index 0000000000..40a748e72d
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/smtpEditOverlay.dtd
@@ -0,0 +1,24 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!ENTITY settings.caption "Paramètres">
+<!ENTITY security.caption "Sécurité et authentification">
+<!ENTITY serverName.label "Nom du serveur :">
+<!ENTITY serverName.accesskey "s">
+<!ENTITY serverDescription.label "Description :">
+<!ENTITY serverDescription.accesskey "D">
+<!ENTITY serverPort.label "Port :">
+<!ENTITY serverPort.accesskey "P">
+<!ENTITY userName.label "Nom d’utilisateur :">
+<!ENTITY userName.accesskey "m">
+<!ENTITY connectionSecurity.label "Sécurité de la connexion :">
+<!ENTITY connectionSecurity.accesskey "S">
+<!ENTITY connectionSecurityType-0.label "Aucune">
+<!ENTITY connectionSecurityType-1.label "STARTTLS, si disponible">
+<!ENTITY connectionSecurityType-2.label "STARTTLS">
+<!ENTITY connectionSecurityType-3.label "SSL/TLS">
+<!ENTITY smtpEditTitle.label "Serveur SMTP">
+<!ENTITY serverPortDefault.label "Défaut :">
+<!ENTITY authMethod.label "Méthode d’authentification :">
+<!ENTITY authMethod.accesskey "h">
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/subscribe.dtd b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/subscribe.dtd
new file mode 100644
index 0000000000..1f4e54c875
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/subscribe.dtd
@@ -0,0 +1,22 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!ENTITY subscribeDialog.title "Abonnement">
+<!ENTITY subscribeButton.label "S’abonner">
+<!ENTITY subscribeButton.accesskey "a">
+<!ENTITY unsubscribeButton.label "Se désabonner">
+<!ENTITY unsubscribeButton.accesskey "d">
+<!ENTITY newGroupsTab.label "Nouveaux groupes">
+<!ENTITY newGroupsTab.accesskey "N">
+<!ENTITY refreshButton.label "Actualiser">
+<!ENTITY refreshButton.accesskey "r">
+<!ENTITY stopButton.label "Arrêter">
+<!ENTITY stopButton.accesskey "t">
+<!ENTITY server.label "Compte :">
+<!ENTITY server.accesskey "C">
+<!ENTITY subscribedHeader.label "Abonné">
+<!-- commenting out until bug 38906 is fixed
+<!ENTITY messagesHeader.label "Messages"> -->
+<!ENTITY namefield.label "Afficher les groupes qui contiennent :">
+<!ENTITY namefield.accesskey "f">
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/subscribe.properties b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/subscribe.properties
new file mode 100644
index 0000000000..316aed6df6
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/subscribe.properties
@@ -0,0 +1,13 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+subscribeLabel-nntp=Choisissez les groupes auxquels s’abonner :
+subscribeLabel-imap=Choisissez les dossiers auxquels s’abonner :
+currentListTab-nntp.label=Liste du groupe courant
+currentListTab-nntp.accesskey=L
+currentListTab-imap.label=Liste du dossier
+currentListTab-imap.accesskey=L
+pleaseWaitString=Veuillez patienter…
+offlineState=Vous êtes hors ligne. Les éléments n’ont pas pu être récupérés du serveur.
+errorPopulating=Erreur lors de la récupération des éléments à partir du serveur.
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/tabmail.dtd b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/tabmail.dtd
new file mode 100644
index 0000000000..3bce6a172c
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/tabmail.dtd
@@ -0,0 +1,9 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!ENTITY closeTab.label "Fermer l’onglet">
+<!ENTITY listAllTabs.label "Lister tous les onglets">
+<!-- LOCALIZATION NOTE(defaultTabTitle.label): This is the default tab
+ title to show when the tab has no title. -->
+<!ENTITY defaultTabTitle.label "Accueil">
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/taskbar.properties b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/taskbar.properties
new file mode 100644
index 0000000000..81320517b4
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/taskbar.properties
@@ -0,0 +1,8 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+taskbar.tasks.composeMessage.label=Rédiger un nouveau message
+taskbar.tasks.composeMessage.description=Rédiger un nouveau message.
+taskbar.tasks.openAddressBook.label=Ouvrir un carnet d’adresses
+taskbar.tasks.openAddressBook.description=Ouvrir un carnet d’adresses.
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/telemetry.properties b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/telemetry.properties
new file mode 100644
index 0000000000..5a3e570676
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/telemetry.properties
@@ -0,0 +1,13 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# Telemetry prompt
+# LOCALIZATION NOTE (telemetryText): %1$S will be replaced by brandFullName,
+# and %2$S by the value of the toolkit.telemetry.server_owner preference.
+telemetryText = Voulez-vous aider à améliorer %1$S en rapportant automatiquement son utilisation de la mémoire, ses performances et sa réactivité à %2$S ?
+telemetryLinkLabel = En savoir plus
+telemetryYesButtonLabel = Oui
+telemetryYesButtonAccessKey = O
+telemetryNoButtonLabel = Non
+telemetryNoButtonAccessKey = N
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/templateUtils.properties b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/templateUtils.properties
new file mode 100644
index 0000000000..d67f87689a
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/templateUtils.properties
@@ -0,0 +1,7 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE yesterday: used in various places where we compute
+# a "friendly" date, e.g. displaying that a message was from yesterday.
+yesterday=hier
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/textImportMsgs.properties b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/textImportMsgs.properties
new file mode 100644
index 0000000000..b95f360f97
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/textImportMsgs.properties
@@ -0,0 +1,53 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+#
+# The following are used by the outlook express import code to display status/error
+# and informational messages
+#
+
+#
+# The following are used by the outlook express import code to display status/error
+# and informational messages
+#
+
+#
+# The following are used by the text import code to display status/error
+# and informational messages
+#
+
+# Short name of import module
+## @name TEXTIMPORT_NAME
+## @loc None
+2000=Fichier texte (LDIF, .tab, .csv, .txt)
+
+# Description of import module
+## @name TEXTIMPORT_DESCRIPTION
+## @loc None
+2001=Importer un carnet d’adresses sous forme de fichier texte. Les formats LDIF (.ldif, .ldi), texte .csv (données séparées par virgules) ou texte .tab (données séparées par des tabulations) sont acceptés.
+
+# Description of import module
+## @name TEXTIMPORT_ADDRESS_NAME
+## @loc None
+2002=Carnet d’adresses texte
+
+# Description
+## @name TEXTIMPORT_ADDRESS_SUCCESS
+## @loc None
+2003=Importation du carnet d’adresses %S
+
+# Error message
+## @name TEXTIMPORT_ADDRESS_BADPARAM
+## @loc None
+2004=Les paramètres d’importation du carnet d’adresses sont incorrects.
+
+# Error message
+## @name TEXTIMPORT_ADDRESS_BADSOURCEFILE
+## @loc None
+2005=Erreur lors de l’accès à un fichier de votre carnet d’adresses %S.
+
+# Error message
+## @name TEXTIMPORT_ADDRESS_CONVERTERROR
+## @loc None
+2006=Erreur lors de l’importation de votre carnet d’adresses %S : certaines adresses risquent de ne pas avoir été récupérées lors de cette opération.
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/vCardImportMsgs.properties b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/vCardImportMsgs.properties
new file mode 100644
index 0000000000..4deb63a275
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/vCardImportMsgs.properties
@@ -0,0 +1,26 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+#
+# The following are used by the vCard import code to display status, error, and
+# informational messages
+#
+
+vCardImportName=Fichier vCard (.vcf)
+
+vCardImportDescription=Importer un carnet d’adresses au format vCard
+
+vCardImportAddressName=Carnet d’adresses vCard
+
+# LOCALIZATION NOTE (vCardImportAddressSuccess): %S is replaced by the
+# name of the address book being imported.
+vCardImportAddressSuccess=Le carnet d’adresses %S a été importé
+
+# LOCALIZATION NOTE (vCardImportAddressSuccess): %S is replaced by the
+# name of the address book being imported.
+vCardImportAddressBadSourceFile=Erreur lors de l’accès à un fichier de votre carnet d’adresses %S.
+
+# LOCALIZATION NOTE (vCardImportAddressSuccess): %S is replaced by the
+# name of the address book being imported.
+vCardImportAddressConvertError=Erreur d’importation du carnet d’adresses %S, toutes les adresses n’ont peut-être pas été importées.
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/viewLog.dtd b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/viewLog.dtd
new file mode 100644
index 0000000000..fcf9140713
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/viewLog.dtd
@@ -0,0 +1,12 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!ENTITY viewLog.title "Journal de filtrage">
+<!ENTITY viewLogInfo.text "Le journal de filtrage consigne quels filtres ont été exécutés pour ce compte. Utilisez la case à cocher ci-dessous pour activer le journal.">
+<!ENTITY clearLog.label "Vider le journal">
+<!ENTITY clearLog.accesskey "V">
+<!ENTITY enableLog.label "Activer le journal de filtrage">
+<!ENTITY enableLog.accesskey "A">
+<!ENTITY closeLog.label "Fermer">
+<!ENTITY closeLog.accesskey "F">
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/viewSource.dtd b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/viewSource.dtd
new file mode 100644
index 0000000000..31f98b9abc
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/viewSource.dtd
@@ -0,0 +1,84 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!-- extracted from content/viewSource.xhtml -->
+
+<!-- LOCALIZATION NOTE (mainWindow.title) : DONT_TRANSLATE -->
+<!ENTITY mainWindow.title "&brandFullName;">
+<!-- LOCALIZATION NOTE (mainWindow.titlemodifier) : DONT_TRANSLATE -->
+<!ENTITY mainWindow.titlemodifier "&brandFullName;">
+<!-- LOCALIZATION NOTE (mainWindow.titlemodifierseparator) : DONT_TRANSLATE -->
+<!ENTITY mainWindow.titlemodifierseparator " - ">
+<!ENTITY mainWindow.preface "Source de : ">
+
+<!ENTITY editMenu.label "Modifier">
+<!ENTITY editMenu.accesskey "e">
+<!ENTITY fileMenu.label "Fichier">
+<!ENTITY fileMenu.accesskey "F">
+<!ENTITY savePageCmd.label "Enregistrer sous…">
+<!ENTITY savePageCmd.accesskey "s">
+<!ENTITY savePageCmd.commandkey "S">
+<!ENTITY printCmd.label "Imprimer…">
+<!ENTITY printCmd.accesskey "p">
+<!ENTITY printCmd.commandkey "P">
+<!ENTITY closeCmd.label "Fermer">
+<!ENTITY closeCmd.accesskey "F">
+<!ENTITY closeCmd.commandkey "W">
+
+<!-- LOCALIZATION NOTE :
+textEnlarge.commandkey3, textReduce.commandkey2 and
+textReset.commandkey2 are alternative acceleration keys for zoom.
+If shift key is needed with your locale popular keyboard for them,
+you can use these alternative items. Otherwise, their values should be empty. -->
+
+<!ENTITY textEnlarge.commandkey "+">
+<!ENTITY textEnlarge.commandkey2 "=">
+<!ENTITY textEnlarge.commandkey3 "">
+<!ENTITY textReduce.commandkey "-">
+<!ENTITY textReduce.commandkey2 "">
+<!ENTITY textReset.commandkey "0">
+<!ENTITY textReset.commandkey2 "">
+
+<!ENTITY goToLineCmd.label "Aller à la ligne…">
+<!ENTITY goToLineCmd.accesskey "A">
+<!ENTITY goToLineCmd.commandkey "l">
+
+<!ENTITY viewMenu.label "Affichage">
+<!ENTITY viewMenu.accesskey "h">
+<!ENTITY reloadCmd.label "Actualiser">
+<!ENTITY reloadCmd.accesskey "r">
+<!ENTITY reloadCmd.commandkey "r">
+<!ENTITY menu_wrapLongLines.title "Retour à la ligne automatique">
+<!ENTITY menu_wrapLongLines.accesskey "R">
+<!ENTITY menu_highlightSyntax.label "Coloration syntaxique">
+<!ENTITY menu_highlightSyntax.accesskey "C">
+<!ENTITY menu_textSize.label "Taille du texte">
+<!ENTITY menu_textSize.accesskey "x">
+<!ENTITY menu_textEnlarge.label "Plus grande">
+<!ENTITY menu_textEnlarge.accesskey "g">
+<!ENTITY menu_textReduce.label "Plus petite">
+<!ENTITY menu_textReduce.accesskey "p">
+<!ENTITY menu_textReset.label "Normale">
+<!ENTITY menu_textReset.accesskey "N">
+
+<!ENTITY findOnCmd.label "Rechercher dans la page…">
+<!ENTITY findOnCmd.accesskey "h">
+<!ENTITY findOnCmd.commandkey "f">
+<!ENTITY findAgainCmd.label "Rechercher le suivant">
+<!ENTITY findAgainCmd.accesskey "v">
+<!ENTITY findAgainCmd.commandkey "g">
+<!ENTITY findAgainCmd.commandkey2 "VK_F3">
+<!ENTITY findSelectionCmd.commandkey "e">
+
+<!ENTITY backCmd.label "Page précédente">
+<!ENTITY backCmd.accesskey "p">
+<!ENTITY forwardCmd.label "Page suivante">
+<!ENTITY forwardCmd.accesskey "s">
+<!ENTITY goBackCmd.commandKey "[">
+<!ENTITY goForwardCmd.commandKey "]">
+
+<!ENTITY copyLinkCmd.label "Copier l’adresse du lien">
+<!ENTITY copyLinkCmd.accesskey "C">
+<!ENTITY copyEmailCmd.label "Copier l’adresse e-mail">
+<!ENTITY copyEmailCmd.accesskey "o">
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/viewSource.properties b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/viewSource.properties
new file mode 100644
index 0000000000..a8a37e4487
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/viewSource.properties
@@ -0,0 +1,17 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+goToLineTitle = Aller à la ligne
+goToLineText = Saisissez le numéro de ligne
+invalidInputTitle = Saisie invalide
+invalidInputText = Le nombre spécifié est invalide
+outOfRangeTitle = Ligne non trouvée
+outOfRangeText = La ligne spécifiée n’a pas été trouvée.
+viewSelectionSourceTitle = Source DOM de la sélection
+viewMathMLSourceTitle = Source DOM MathML
+
+context_goToLine_label = Aller à la ligne…
+context_goToLine_accesskey = l
+context_wrapLongLines_label = Retour à la ligne automatique
+context_highlightSyntax_label = Coloration syntaxique
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/viewZoomOverlay.dtd b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/viewZoomOverlay.dtd
new file mode 100644
index 0000000000..28877ef872
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/viewZoomOverlay.dtd
@@ -0,0 +1,30 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!-- LOCALIZATION NOTE :
+fullZoomEnlargeCmd.commandkey3, fullZoomReduceCmd.commandkey2 and
+fullZoomResetCmd.commandkey2 are alternative acceleration keys for zoom.
+If shift key is needed with your locale popular keyboard for them,
+you can use these alternative items. Otherwise, their values should be empty. -->
+
+<!ENTITY fullZoomEnlargeCmd.label "Zoom avant">
+<!ENTITY fullZoomEnlargeCmd.accesskey "v">
+<!ENTITY fullZoomEnlargeCmd.commandkey "+">
+<!ENTITY fullZoomEnlargeCmd.commandkey2 "="> <!-- + is above this key on many keyboards -->
+<!ENTITY fullZoomEnlargeCmd.commandkey3 "">
+
+<!ENTITY fullZoomReduceCmd.label "Zoom arrière">
+<!ENTITY fullZoomReduceCmd.accesskey "r">
+<!ENTITY fullZoomReduceCmd.commandkey "-">
+<!ENTITY fullZoomReduceCmd.commandkey2 "">
+
+<!ENTITY fullZoomResetCmd.label "Normal">
+<!ENTITY fullZoomResetCmd.accesskey "N">
+<!ENTITY fullZoomResetCmd.commandkey "0">
+<!ENTITY fullZoomResetCmd.commandkey2 "">
+
+<!ENTITY fullZoomToggleCmd.label "Zoom texte seulement">
+<!ENTITY fullZoomToggleCmd.accesskey "x">
+<!ENTITY fullZoom.label "Zoom">
+<!ENTITY fullZoom.accesskey "Z">
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/virtualFolderListDialog.dtd b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/virtualFolderListDialog.dtd
new file mode 100644
index 0000000000..3ea05b6f10
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/virtualFolderListDialog.dtd
@@ -0,0 +1,10 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!ENTITY virtualFolderListTitle.title "Choisir les dossiers">
+<!ENTITY virtualFolderDesc.label "Choisir les dossiers dans lesquels chercher :">
+
+
+<!ENTITY folderName.label "Nom du dossier">
+<!ENTITY folderSearch.label "Rechercher">
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/virtualFolderProperties.dtd b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/virtualFolderProperties.dtd
new file mode 100644
index 0000000000..494c0f9366
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/virtualFolderProperties.dtd
@@ -0,0 +1,22 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!ENTITY virtualFolderProperties.title "Nouveau dossier virtuel">
+<!ENTITY name.label "Nom :">
+<!ENTITY name.accesskey "N">
+<!ENTITY description.label "Créer comme sous-dossier de :">
+<!ENTITY description.accesskey "C">
+
+<!ENTITY searchTermCaption.label "Configurer les critères de recherche utilisés pour ce dossier virtuel : ">
+
+<!ENTITY folderSelectionCaption.label "Choisir les dossiers dans lesquels rechercher :">
+<!ENTITY chooseFoldersButton.label "Choisir…">
+<!ENTITY chooseFoldersButton.accesskey "h">
+
+<!ENTITY searchOnline.label "Rechercher en ligne (donne des résultats à jour pour les dossiers IMAP et les dossiers de groupes mais augmente le temps d’ouverture du dossier)">
+<!ENTITY searchOnline.accesskey "l">
+<!ENTITY newFolderButton.label "Créer">
+<!ENTITY newFolderButton.accesskey "r">
+<!ENTITY editFolderButton.label "Mettre à jour">
+<!ENTITY editFolderButton.accesskey "M">
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/wmImportMsgs.properties b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/wmImportMsgs.properties
new file mode 100644
index 0000000000..dbc8b9b9b0
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/messenger/wmImportMsgs.properties
@@ -0,0 +1,76 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+#
+# The following are used by the windows live mail import code to display status/error
+# and informational messages
+#
+
+# Short name of import module
+## @name WMIMPORT_NAME
+## @loc None
+## LOCALIZATION NOTE (2000): DONT_TRANSLATE
+2000=Windows Live Mail
+
+# Description of import module
+## @name WMIMPORT_DESCRIPTION
+## @loc None
+## LOCALIZATION NOTE (2001): In this item, don't translate "Windows Live Mail"
+2001=Paramètres de Windows Live Mail
+
+# Success message
+## @name WMIMPORT_MAILBOX_SUCCESS
+## @loc None
+## LOCALIZATION NOTE (2002): In this item, don't translate "%1$S" or "%2$d"
+## The variable %1$S will contain the name of the Mailbox
+## The variable %2$d will contain the number of messages
+2002=Compte %1$S, %2$d messages importés
+
+# Error message
+## @name WMIMPORT_MAILBOX_BADPARAM
+## @loc None
+2003=Les paramètres d’importation de la boîte aux lettres sont incorrects.
+
+# Error message
+## @name WMIMPORT_MAILBOX_BADSOURCEFILE
+## @loc None
+## LOCALIZATION NOTE (2004): In this item, don't translate "%S"
+## The variable %S will contain the name of the Mailbox
+2004=Erreur lors de l’accès à un fichier de votre boîte aux lettres %S.
+
+# Error message
+## @name WMIMPORT_MAILBOX_CONVERTERROR
+## @loc None
+## LOCALIZATION NOTE (2005): In this item, don't translate "%S"
+## The variable %S will contain the name of the Mailbox
+2005=Erreur lors de l’import du compte %S, les messages n’ont peut-être pas tous été importés pour ce compte.
+
+# Default name of imported addressbook
+## @name WMIMPORT_DEFAULT_NAME
+## @loc None
+2006=Carnet d’adresses de Windows Live Mail
+
+# Autofind description
+## @name WMIMPORT_AUTOFIND
+## @loc None
+2007=Carnet d’adresses de Windows Live Mail (carnet d’adresses de Windows)
+
+# Description
+## @name WMIMPORT_ADDRESS_SUCCESS
+## @loc None
+## LOCALIZATION NOTE (2006): In this item, don't translate "%S"
+## The variable %S will receive the name of the address book
+2008=Carnet d’adresses %S importé
+
+# Error message
+## @name WMIMPORT_ADDRESS_CONVERTERROR
+## @loc None
+## LOCALIZATION NOTE (2009): In this item, don't translate "%S"
+## The variable %S will receive the name of the address book
+2009=Erreur lors de l’import du carnet d’adresses %S, les adresses n’ont peut-être pas toutes été importées.
+
+# Error message
+## @name WMIMPORT_ADDRESS_BADPARAM
+## @loc None
+2010=Les paramètres d’importation du carnet d’adresses sont incorrects.
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/mozapps/downloads/downloads.properties b/thunderbird-l10n/fr/chrome/fr/locale/fr/mozapps/downloads/downloads.properties
new file mode 100644
index 0000000000..a7814c5325
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/mozapps/downloads/downloads.properties
@@ -0,0 +1,6 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# Desktop folder name for downloaded files
+downloadsFolder=Téléchargements
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/mozapps/downloads/unknownContentType.properties b/thunderbird-l10n/fr/chrome/fr/locale/fr/mozapps/downloads/unknownContentType.properties
new file mode 100644
index 0000000000..7b4419c277
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/mozapps/downloads/unknownContentType.properties
@@ -0,0 +1,23 @@
+# -*- Mode: Java; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+title=Ouverture de %S
+saveDialogTitle=Saisissez le nom du fichier pour l’enregistrement…
+defaultApp=%S (par défaut)
+chooseAppFilePickerTitle=Choix d’une application externe
+badApp=L’application que vous avez choisie (« %S ») n’a pu être trouvée. Vérifiez le nom du fichier ou choisissez une autre application.
+badApp.title=Application non trouvée
+badPermissions=Le fichier ne peut pas être enregistré car vous n’avez pas les permissions nécessaires. Choisissez un autre répertoire d’enregistrement.
+badPermissions.title=Permissions d’enregistrement non valides
+unknownAccept.label=Enregistrer le fichier
+unknownCancel.label=Annuler
+fileType=Fichier %S
+# LOCALIZATION NOTE (orderedFileSizeWithType): first %S is type, second %S is size, and third %S is unit
+orderedFileSizeWithType=%1$S (%2$S %3$S)
+avifExtHandlerDescription=Fichier image AV1 (AVIF)
+pdfExtHandlerDescription=Portable Document Format (PDF)
+svgExtHandlerDescription=Scalable Vector Graphics (SVG)
+webpExtHandlerDescription=Image WebP
+xmlExtHandlerDescription=Extensible Markup Language (XML)
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/mozapps/profile/profileSelection.properties b/thunderbird-l10n/fr/chrome/fr/locale/fr/mozapps/profile/profileSelection.properties
new file mode 100644
index 0000000000..0ffa3099fe
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/mozapps/profile/profileSelection.properties
@@ -0,0 +1,55 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE: These strings are used for startup/profile problems and the profile manager.
+
+# Application not responding
+# LOCALIZATION NOTE (restartTitle, restartMessageNoUnlocker2, restartMessageUnlocker, restartMessageNoUnlockerMac, restartMessageUnlockerMac): Messages displayed when the application is running but is not responding to commands. %S is the application name.
+restartTitle=Fermer %S
+restartMessageNoUnlocker2=%S est déjà en cours d’exécution mais ne répond pas. Pour utiliser %S, vous devez d’abord arrêter le processus %S existant, redémarrer votre appareil ou utiliser un profil différent.
+restartMessageUnlocker=%S est déjà en cours d’exécution mais ne répond pas. L’ancien processus %S doit être arrêté pour pouvoir ouvrir une nouvelle fenêtre.
+restartMessageNoUnlockerMac=Une copie de %S est déjà ouverte. Une seule copie de %S peut être ouverte à la fois.
+restartMessageUnlockerMac=Une copie de %S est déjà ouverte. La copie de %S en cours d’exécution se fermera afin d’ouvrir celle-ci.
+
+# Profile manager
+# LOCALIZATION NOTE (profileTooltip): First %S is the profile name, second %S is the path to the profile folder.
+profileTooltip=Profil : « %S » - Chemin : « %S »
+
+pleaseSelectTitle=Choisissez un profil
+pleaseSelect=Veuillez choisir un profil pour lancer %S, ou créez un nouveau profil.
+
+renameProfileTitle=Renommer le profil
+renameProfilePrompt=Renommer le profil « %S » en :
+
+profileNameInvalidTitle=Nom de profil invalide
+profileNameInvalid=Le nom de profil « %S » n’est pas autorisé.
+
+chooseFolder=Choisir le dossier de profil
+profileNameEmpty=Un nom de profil ne peut être vide.
+invalidChar=Le caractère « %S » n’est pas autorisé dans un nom de profil. Veuillez choisir un nom différent.
+
+deleteTitle=Supprimer le profil
+deleteProfileConfirm=Supprimer un profil l’enlèvera de la liste des profils disponibles et ne peut être annulé.\nIl est aussi possible de choisir de supprimer les fichiers de données du profil, comprenant vos paramètres, certificats et toutes vos données personnelles. Cette option supprimera le dossier « %S » et ne pourra pas être annulée.\nDésirez-vous supprimer les fichiers de données du profil ?
+deleteFiles=Supprimer les fichiers
+dontDeleteFiles=Ne pas supprimer les fichiers
+
+profileCreationFailed=Le profil n’a pas pu être créé. Le dossier choisi est probablement protégé en écriture.
+profileCreationFailedTitle=Échec de la création de profil
+profileExists=Un profil de ce nom existe déjà. Veuillez choisir un autre nom.
+profileFinishText=Cliquez sur Terminer pour créer ce nouveau profil.
+profileFinishTextMac=Cliquez sur Terminer pour créer ce nouveau profil.
+profileMissing=Le profil %S ne peut être chargé. Il est peut-être manquant ou inaccessible.
+profileMissingTitle=Profil manquant
+profileDeletionFailed=Le profil n’a pas pu être supprimé, car il est peut-être utilisé.
+profileDeletionFailedTitle=Échec de la suppression
+
+# Profile reset
+# LOCALIZATION NOTE (resetBackupDirectory): Directory name for the profile directory backup created during reset. This directory is placed in a location users will see it (ie. their desktop). %S is the application name.
+resetBackupDirectory=Anciennes données de %S
+
+flushFailTitle=Modifications non enregistrées
+flushFailMessage=Une erreur inattendue a empêché l’enregistrement de vos modifications.
+# LOCALIZATION NOTE (flushFailRestartButton): $S is brandShortName.
+flushFailRestartButton=Redémarrer %S
+flushFailExitButton=Quitter
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/mozapps/update/updates.properties b/thunderbird-l10n/fr/chrome/fr/locale/fr/mozapps/update/updates.properties
new file mode 100644
index 0000000000..f0e4e419e8
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/mozapps/update/updates.properties
@@ -0,0 +1,45 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE: The 1st %S is brandShortName and 2nd %S is update version
+# where update version from the update xml
+# example: MyApplication 10.0.5
+updateName=%S %S
+
+noThanksButton=Non merci
+noThanksButton.accesskey=N
+restartLaterButton=Redémarrer plus tard
+restartLaterButton.accesskey=d
+restartNowButton=Redémarrer %S
+restartNowButton.accesskey=e
+
+statusFailed=L’installation a échoué
+
+installSuccess=La mise à jour a été correctement installée
+installPending=Mise à jour en attente
+patchApplyFailure=La mise à jour n’a pas pu être installée (échec de l’application du correctif)
+elevationFailure=Vous ne disposez pas des permissions nécessaires pour installer cette mise à jour. Veuillez contacter votre administrateur système.
+
+check_error-200=Fichier XML de mise à jour mal formé (200)
+check_error-403=Accès refusé (403)
+check_error-404=Fichier XML de mise à jour introuvable (404)
+check_error-500=Erreur interne du serveur (500)
+check_error-2152398849=Échec (raison inconnue)
+check_error-2152398861=Connexion refusée
+check_error-2152398862=Délai de connexion dépassé
+# NS_ERROR_OFFLINE
+check_error-2152398864=Le réseau est hors connexion (passez en mode en ligne)
+check_error-2152398867=Port non autorisé
+check_error-2152398868=Aucune donnée n’a été reçue (veuillez réessayer)
+check_error-2152398878=Serveur de mise à jour introuvable (vérifiez votre connexion internet)
+check_error-2152398890=Serveur proxy introuvable (vérifiez votre connexion internet)
+# NS_ERROR_DOCUMENT_NOT_CACHED
+check_error-2152398918=Le réseau est hors connexion (passez en mode en ligne)
+check_error-2152398919=Le transfert des données a été interrompu (veuillez réessayer)
+check_error-2152398920=Connexion au serveur proxy refusée
+check_error-2153390069=Le certificat serveur a expiré (veuillez ajuster aux date et heure correctes votre horloge système le cas échéant)
+check_error-verification_failed=L’intégrité de la mise à jour n’a pas pu être vérifiée
+check_error-move_failed=Échec de la préparation de la mise à jour pour installation
+check_error-update_url_not_available=Adresse web de mise à jour non disponible
+check_error-connection_aborted=Connexion interrompue
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/mozldap/ldap.properties b/thunderbird-l10n/fr/chrome/fr/locale/fr/mozldap/ldap.properties
new file mode 100644
index 0000000000..82a1ec24f5
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/mozldap/ldap.properties
@@ -0,0 +1,272 @@
+#
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.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/.
+
+# The following two strings are used when prompting the user for authentication
+# information:
+
+## @name AUTH_PROMPT_TITLE
+## @loc none
+authPromptTitle=Le mot de passe du serveur LDAP est requis
+
+## @name AUTH_PROMPT_TEXT
+## @loc %1$S should not be localized. It is the hostname of the LDAP server.
+authPromptText=Veuillez saisir votre mot de passe pour %1$S.
+
+# These are string versions of all the errors defined in
+# nsILDAPErrors.idl, as well as the nsresult codes based on those
+# errors. See that file for the genesis of these codes, as well as
+# for info about how to get documentation about their precise
+# meanings.
+
+# These are string versions of all the errors defined in
+# nsILDAPErrors.idl, as well as the nsresult codes based on those
+# errors. See that file for the genesis of these codes, as well as
+# for info about how to get documentation about their precise
+# meanings.
+
+## @name OPERATIONS_ERROR
+## @loc none
+1=Erreur d’exécutions
+
+## @name PROTOCOL_ERROR
+## @loc none
+2=Erreur de protocole
+
+## @name TIMELIMIT_EXCEEDED
+## @loc none
+3=Délai dépassé
+
+## @name SIZELIMIT_EXCEEDED
+## @loc none
+4=Taille limite dépassée
+
+## @name COMPARE_FALSE
+## @loc none
+5=Comparaison fausse
+
+## @name COMPARE_TRUE
+## @loc none
+6=Comparaison vraie
+
+## @name STRONG_AUTH_NOT_SUPPORTED
+## @loc none
+7=Méthode d’authentification non gérée
+
+## @name STRONG_AUTH_REQUIRED
+## @loc none
+8=Authentification forte requise
+
+## @name PARTIAL_RESULTS
+## @loc none
+9=Résultats partiels et redirection reçus
+
+## @name REFERRAL
+## @loc none
+10=Redirection reçue
+
+## @name ADMINLIMIT_EXCEEDED
+## @loc none
+11=Limite administrative dépassée
+
+## @name UNAVAILABLE_CRITICAL_EXTENSION
+## @loc none
+12=Extension critique indisponible
+
+## @name CONFIDENTIALITY_REQUIRED
+## @loc none
+13=Confidentialité requise
+
+## @name SASL_BIND_IN_PROGRESS
+## @loc none
+14=Authentification SASL en cours
+
+## @name NO_SUCH_ATTRIBUTE
+## @loc none
+16=Pas de tel attribut
+
+## @name UNDEFINED_TYPE
+## @loc none
+17=Type d’attribut non défini
+
+## @name INAPPROPRIATE MATCHIN
+## @loc none
+18=Correspondance inappropriée
+
+## @name CONSTRAINT_VIOLATION
+## @loc none
+19=Violation de contrainte
+
+## @name TYPE_OR_VALUE_EXISTS
+## @loc none
+20=Le type ou la valeur existe
+
+## @name INVALID_SYNTAX
+## @loc none
+21=Syntaxe incorrecte
+
+## @name NO_SUCH_OBJECT
+## @loc none
+32=Pas de tel objet
+
+## @name ALIAS_PROBLEM
+## @loc none
+33=Problème d’alias
+
+## @name INVALID_DN_ SYNTAX
+## @loc none
+34=Syntaxe DN incorrecte
+
+## @name IS_LEAF
+## @loc none
+35=L’objet est un nœud terminal
+
+## @name ALIAS_DEREF_PROBLEM
+## @loc none
+36=Problème de déréférencement d’alias
+
+## @name INAPPROPRIATE_AUTH
+## @loc none
+48=Authentification inappropriée
+
+## @name INVALID_CREDENTIALS
+## @loc none
+49=Authentification incorrecte
+
+## @name INSUFFICIENT_ACCESS
+## @loc none
+50=Accès insuffisant
+
+## @name BUSY
+## @loc none
+51=Le serveur LDAP est occupé
+
+## @name UNAVAILABLE
+## @loc none
+52=Le serveur LDAP est indisponible
+
+## @name UNWILLING_TO_PERFORM
+## @loc none
+53=Le serveur LDAP n’est pas disposé à exécuter
+
+## @name LOOP_DETECT
+## @loc none
+54=Boucle détectée
+
+## @name SORT_CONTROL_MISSING
+## @loc none
+60=La commande de tri est manquante
+
+## @name INDEX_RANGE_ERROR
+## @loc none
+61=Les résultats de la recherche dépassent l’intervalle indiqué
+
+## @name NAMING_VIOLATION
+## @loc none
+64=Violation de nommage
+
+## @name OBJECT_CLASS_VIOLATION
+## @loc none
+65=Violation de classe d’objet
+
+## @name NOT_ALLOWED_ON_NONLEAF
+## @loc none
+66=Exécution non autorisée sur un nœud non terminal
+
+## @name NOT_ALLOWED_ON_RDN
+## @loc none
+67=Exécution non autorisée sur RDN
+
+## @name ALREADY_EXISTS
+## @loc none
+68=Existe déjà
+
+## @name NO_OBJECT_CLASS_MODS
+## @loc none
+69=Impossible de modifier la classe d’objet
+
+## @name RESULTS_TOO_LARGE
+## @loc none
+70=Résultats trop grands
+
+## @name AFFECTS_MULTIPLE_DSAS
+## @loc none
+71=Affecte plusieurs serveurs
+
+## @name OTHER
+## @loc none
+80=Erreur inconnue
+
+## @name SERVER_DOWN
+## @loc none
+81=Impossible de contacter le serveur LDAP
+
+## @name LOCAL_ERROR
+## @loc none
+82=Erreur locale
+
+## @name ENCODING_ERROR
+## @loc none
+83=Erreur d’encodage
+
+## @name DECODING_ERROR
+## @loc none
+84=Erreur de décodage
+
+## @name TIMEOUT
+## @loc none
+85=Le serveur LDAP a dépassé le temps alloué
+
+## @name AUTH_UNKNOWN
+## @loc none
+86=Méthode d’authentification inconnue
+
+## @name FILTER_ERROR
+## @loc none
+87=Filtre de recherche incorrect
+
+## @name USER_CANCELLED
+## @loc none
+88=Exécution annulée par l’utilisateur
+
+## @name PARAM_ERROR
+## @loc none
+89=Mauvais paramètre à un sous-programme LDAP
+
+## @name NO_MEMORY
+## @loc none
+90=Plus de mémoire
+
+## @name CONNECT_ERROR
+## @loc none
+91=Impossible de se connecter au serveur LDAP
+
+## @name NOT_SUPPORTED
+## @loc none
+92=Non géré par cette version du protocole LDAP
+
+## @name CONTROL_NOT_FOUND
+## @loc none
+93=Commande LDAP demandée non trouvée
+
+## @name NO_RESULTS_RETURNED
+## @loc none
+94=Aucun résultat retourné
+
+## @name MORE_RESULTS_TO_RETURN
+## @loc none
+95=Plus de résultat à retourner
+
+## @name CLIENT_LOOP
+## @loc none
+96=Boucle détectée par le client
+
+## @name REFERRAL_LIMIT_EXCEEDED
+## @loc none
+97=Limite du nombre de sauts pour la redirection dépassée
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/necko/necko.properties b/thunderbird-l10n/fr/chrome/fr/locale/fr/necko/necko.properties
new file mode 100644
index 0000000000..d14407c107
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/necko/necko.properties
@@ -0,0 +1,100 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+3=Recherche de l’hôte %1$S…
+4=Connecté à %1$S…
+5=Envoi d’une requête à %1$S…
+6=Transfert des données depuis %1$S…
+7=Connexion à %1$S…
+8=Données transférées depuis %1$S
+9=Données envoyées vers %1$S
+10=En attente de %1$S…
+11=Recherche de %1$S…
+12=Établissement d’une liaison TLS avec %1$S…
+13=Liaison TLS établie avec %1$S…
+
+RepostFormData=Cette page web est actuellement redirigée vers un nouvel emplacement. Souhaitez-vous envoyer à nouveau les données de formulaire déjà saisies vers la nouvelle page ?
+
+# Directory listing strings
+DirTitle=Index de %1$S
+DirGoUp=Vers un rép. de plus haut niveau
+ShowHidden=Afficher les objets cachés
+DirColName=Nom
+DirColSize=Taille
+DirColMTime=Dernière modification
+DirFileLabel=Fichier :
+
+SuperfluousAuth=Vous êtes sur le point de vous connecter au site « %1$S » avec le nom d’utilisateur « %2$S », mais ce site web ne nécessite pas d’authentification. Il peut s’agir d’une tentative pour vous induire en erreur.\n\n« %1$S » est-il bien le site que vous voulez visiter ?
+AutomaticAuth=Vous êtes sur le point de vous connecter au site « %1$S » avec le nom d’utilisateur « %2$S ».
+
+TrackerUriBlocked=La ressource à l’adresse « %1$S » a été bloquée car le blocage de contenu est activé.
+UnsafeUriBlocked=La ressource à l’adresse « %1$S » a été bloquée par le blocage de sites malveillants.
+
+# LOCALIZATION NOTE (StrictUrlProtocolSetter): %1$S is the URL that has attempted to be changed. %2$S is the invalid target protocol.
+StrictUrlProtocolSetter=La modification de l’URL « %1$S » pour utiliser le protocole « %2$S » a été bloquée.
+
+# LOCALIZATION NOTE (CORPBlocked): %1$S is the URL of the blocked resource. %2$S is the URL of the MDN page about CORP.
+CORPBlocked=La ressource à l’adresse « %1$S » a été bloquée en raison de son en-tête Cross-Origin-Resource-Policy (ou de son absence). Consultez %2$S
+CookieBlockedByPermission=La demande d’accès aux cookies ou au stockage sur « %1$S » a été bloquée en raison de la personnalisation des permissions des cookies.
+CookieBlockedTracker=La demande d’accès aux cookies ou au stockage sur « %1$S » a été bloquée car elle provenait d’un traqueur et que le blocage de contenu est activé.
+CookieBlockedAll=La demande d’accès aux cookies ou au stockage sur « %1$S » a été bloquée parce que nous bloquons toutes les demandes d’accès au stockage.
+CookieBlockedForeign=La demande d’accès aux cookies ou au stockage sur « %1$S » a été bloquée parce que nous bloquons toutes les demandes d’accès au stockage par des sites tiers et que le blocage de contenu est activé.
+# As part of dynamic state partitioning, third-party resources might be limited to "partitioned" storage access that is separate from the first-party context.
+# This allows e.g. cookies to still be set, and prevents tracking without totally blocking storage access. This message is shown in the web console when this happens
+# to inform developers that their storage is isolated.
+CookiePartitionedForeign2=Un accès partitionné à un cookie ou au stockage a été fourni à « %1$S » car il est chargé dans le contexte tiers et le partitionnement d’état dynamique est activé.
+
+# LOCALIZATION NOTE (CookieAllowedForOriginByStorageAccessAPI): %2$S and %1$S are URLs.
+CookieAllowedForOriginByStorageAccessAPI=Accès au stockage accordé pour l’origine « %2$S » sur le site « %1$S ».
+# LOCALIZATION NOTE (CookieAllowedForOriginByHeuristic): %2$S and %1$S are URLs.
+CookieAllowedForOriginByHeuristic=Accès au stockage automatiquement accordé pour l’origine « %2$S » sur le site « %1$S ».
+# LOCALIZATION NOTE (CookieAllowedForFpiByHeuristic): %2$S and %1$S are URLs.
+CookieAllowedForFpiByHeuristic=Accès au stockage automatiquement accordé pour l’isolation First-Party « %2$S » sur le site « %1$S ».
+
+# LOCALIZATION NOTE(CookieRejectedNonRequiresSecure2): %1$S is the cookie name. Do not localize "SameSite=None" and "secure".
+CookieRejectedNonRequiresSecure2=Le cookie « %1$S » a été rejeté car il possède l’attribut « SameSite=None » mais pas l’attribut « secure ».
+# LOCALIZATION NOTE(CookieRejectedNonRequiresSecureForBeta3): %1$S is the cookie name. %2$S is a URL. Do not localize "SameSite", "SameSite=None" and "secure".
+CookieRejectedNonRequiresSecureForBeta3=Le cookie « %1$S » sera bientôt rejeté car son attribut « SameSite » est défini sur « None » et il n’a pas l’attribut « secure ». Pour en savoir plus sur l’attribut « SameSite », consultez %2$S
+# LOCALIZATION NOTE(CookieLaxForced2): %1$S is the cookie name. Do not localize "SameSite", "Lax" and "SameSite=Lax".
+CookieLaxForced2=Le cookie « %1$S » a la politique « SameSite » définie sur « Lax » car son attribut « SameSite » n’est pas défini et « SameSite=Lax » est la valeur par défaut de cet attribut.
+# LOCALIZATION NOTE(CookieLaxForcedForBeta2): %1$S is the cookie name. %2$S is a URL. Do not localize "SameSite", "Lax" and "SameSite=Lax", "SameSite=None".
+CookieLaxForcedForBeta2=Le cookie « %1$S » n’a pas de valeur d’attribut « SameSite » appropriée. Bientôt, les cookies dont l’attribut « SameSite » est manquant ou défini avec une valeur invalide seront traités comme « Lax ». Cela signifie que le cookie ne sera plus envoyé dans des contextes tiers. Si votre application dépend de la disponibilité de ce cookie dans de tels contextes, veuillez lui ajouter l’attribut « SameSite=None ». Pour en savoir plus sur l’attribut « SameSite », consultez %2$S
+# LOCALIZATION NOTE(CookieSameSiteValueInvalid2): %1$S is cookie name. Do not localize "SameSite", "Lax", "Strict" and "None"
+CookieSameSiteValueInvalid2=Valeur de « SameSite » non valide pour le cookie « %1$S ». Les valeurs prises en charge sont : « Lax », « Strict », « None ».
+# LOCALIZATION NOTE (CookieOversize): %1$S is the cookie name. %2$S is the number of bytes. "B" means bytes.
+CookieOversize=Le cookie « %1$S » n’est pas valide car sa taille est trop grande. La taille maximale est de %2$S octets.
+# LOCALIZATION NOTE (CookiePathOversize): %1$S is the cookie name. %2$S is the number of bytes. "B" means bytes.
+CookiePathOversize=Le cookie « %1$S » n’est pas valide car la taille de son chemin est trop grande. La taille maximale est de %2$S octets.
+# LOCALIZATION NOTE (CookieRejectedByPermissionManager): %1$S is the cookie response header.
+CookieRejectedByPermissionManager=Le cookie « %1$S » a été rejeté par les autorisations définies par l’utilisateur ou l’utilisatrice.
+# LOCALIZATION NOTE (CookieRejectedInvalidCharName): %1$S is the cookie name.
+CookieRejectedInvalidCharName=Le cookie « %1$S » a été rejeté car son nom comporte des caractères invalides.
+# LOCALIZATION NOTE (CookieRejectedInvalidDomain): %1$S is the cookie name.
+CookieRejectedInvalidDomain=Le cookie « %1$S » a été rejeté car le domaine est invalide.
+# LOCALIZATION NOTE (CookieRejectedInvalidPrefix): %1$S is the cookie name.
+CookieRejectedInvalidPrefix=Le cookie « %1$S » a été rejeté car le préfixe est invalide.
+# LOCALIZATION NOTE (CookieRejectedInvalidCharValue): %1$S is the cookie name.
+CookieRejectedInvalidCharValue=Le cookie « %1$S » a été rejeté car sa valeur comporte des caractères invalides.
+# LOCALIZATION NOTE (CookieRejectedHttpOnlyButFromScript): %1$S is the cookie name.
+CookieRejectedHttpOnlyButFromScript=Le cookie « %1$S » a été rejeté car il existe déjà un cookie HTTP-Only mais le script a essayé d’en stocker un nouveau.
+# LOCALIZATION NOTE (CookieRejectedSecureButHttp): %1$S is the cookie name.
+CookieRejectedSecureButNonHttps=Le cookie « %1$S » a été rejeté car un cookie sans HTTPS ne peut pas être défini comme « secure ».
+# LOCALIZATION NOTE (CookieRejectedThirdParty): %1$S is the cookie response header.
+CookieRejectedThirdParty=Le cookie « %1$S » a été rejeté en tant que tiers.
+# LOCALIZATION NOTE (CookieRejectedNonsecureOverSecure): %1$S is the cookie name.
+CookieRejectedNonsecureOverSecure=Le cookie « %1$S » a été rejeté car un cookie « secure » existe déjà.
+# LOCALIZATION NOTE (CookieRejectedForNonSameSiteness): %1$S is the cookie name.
+CookieRejectedForNonSameSiteness=Le cookie « %1$S » a été rejeté car il se trouve dans un contexte intersite et sa valeur « SameSite » est « Lax » ou « Strict ».
+
+# LOCALIZATION NOTE (CookieBlockedCrossSiteRedirect): %1$S is the cookie name. Do not translate "SameSite", "Lax" or "Strict".
+CookieBlockedCrossSiteRedirect=Le cookie « %1$S » avec la valeur « Lax » ou « Strict » de l’attribut « SameSite » a été omis à cause d’une redirection intersite.
+
+# LOCALIZATION NOTE (APIDeprecationWarning): %1$S is the deprecated API; %2$S is the API function that should be used.
+APIDeprecationWarning=Avertissement : « %1$S » est obsolète, veuillez utiliser « %2$S »
+
+# LOCALIZATION NOTE (ResourceBlockedCORS): %1$S is the url of the resource blocked by ORB. $2$S is the reason.
+# example: The resource at <url> was blocked by OpaqueResponseBlocking. Reason: “nosniff with either blocklisted or text/plain”.
+ResourceBlockedORB=La ressource à l’adresse « %1$S » a été bloquée par OpaqueResponseBlocking. Raison : « %2$S ».
+
+InvalidHTTPResponseStatusLine=La ligne de statut de la réponse HTTP est invalide
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/passwordmgr/passwordmgr.properties b/thunderbird-l10n/fr/chrome/fr/locale/fr/passwordmgr/passwordmgr.properties
new file mode 100644
index 0000000000..c4fd5f684b
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/passwordmgr/passwordmgr.properties
@@ -0,0 +1,79 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+rememberPassword = Utiliser le gestionnaire de mots de passe pour se souvenir de ce mot de passe.
+savePasswordTitle = Confirmer
+# LOCALIZATION NOTE (saveLoginMsg2, saveLoginMsgNoUser2):
+# %S is the login's hostname.
+saveLoginMsg2 = Enregistrer l’identifiant pour %S ?
+saveLoginMsgNoUser2 = Enregistrer le mot de passe pour %S ?
+saveLoginButtonAllow.label = Enregistrer
+saveLoginButtonAllow.accesskey = E
+saveLoginButtonDeny.label = Ne pas enregistrer
+saveLoginButtonDeny.accesskey = N
+saveLoginButtonNever.label = Ne jamais enregistrer
+saveLoginButtonNever.accesskey = e
+# LOCALIZATION NOTE (updateLoginMsg3, updateLoginMsgNoUser3):
+# %S is the login's hostname.
+updateLoginMsg3 = Mettre à jour l’identifiant pour %S ?
+updateLoginMsgNoUser3 = Mettre à jour le mot de passe pour %S ?
+updateLoginMsgAddUsername2 = Ajouter un nom d’utilisateur au mot de passe enregistré ?
+updateLoginButtonText = Mettre à jour
+updateLoginButtonAccessKey = M
+updateLoginButtonDeny.label = Ne pas mettre à jour
+updateLoginButtonDeny.accesskey = N
+updateLoginButtonDelete.label = Supprimer l’identifiant enregistré
+updateLoginButtonDelete.accesskey = r
+# LOCALIZATION NOTE (rememberPasswordMsg):
+# 1st string is the username for the login, 2nd is the login's hostname.
+# Note that long usernames may be truncated.
+rememberPasswordMsg = Voulez-vous enregistrer le mot de passe pour « %1$S » sur %2$S ?
+# LOCALIZATION NOTE (rememberPasswordMsgNoUsername):
+# String is the login's hostname.
+rememberPasswordMsgNoUsername = Voulez-vous enregistrer le mot de passe pour %S ?
+# LOCALIZATION NOTE (noUsernamePlaceholder):
+# This is displayed in place of the username when it is missing.
+noUsernamePlaceholder=Aucun nom d’utilisateur
+togglePasswordLabel=Afficher le mot de passe
+togglePasswordAccessKey2=A
+notNowButtonText = &Pas maintenant
+neverForSiteButtonText = &Jamais pour ce site
+rememberButtonText = &Retenir
+passwordChangeTitle = Confirmer le changement de mot de passe
+# LOCALIZATION NOTE (updatePasswordMsg):
+# String is the username for the login.
+updatePasswordMsg = Voulez-vous mettre à jour le mot de passe enregistré pour « %S » ?
+updatePasswordMsgNoUser = Voulez-vous mettre à jour le mot de passe enregistré ?
+userSelectText2 = Sélectionnez l’identifiant à mettre à jour :
+loginsDescriptionAll2=Les identifiants pour les sites suivants sont enregistrés sur votre ordinateur
+
+# LOCALIZATION NOTE (useASecurelyGeneratedPassword):
+# Shown in the autocomplete popup to allow filling a generated password into a password field.
+useASecurelyGeneratedPassword=Utiliser un mot de passe généré de manière sécurisée
+# LOCALIZATION NOTE (generatedPasswordWillBeSaved):
+# %S will contain the brandShorterName. This informs the user that the generated password will be automatically saved.
+generatedPasswordWillBeSaved=%S enregistrera le mot de passe de ce site web.
+# LOCALIZATION NOTE (loginHostAge):
+# This is used to show the context menu login items with their age.
+# 1st string is the username for the login, 2nd is the login's age.
+loginHostAge=%1$S (%2$S)
+# LOCALIZATION NOTE (noUsername):
+# String is used on the context menu when a login doesn't have a username.
+noUsername=Aucun nom d’utilisateur
+# LOCALIZATION NOTE (displaySameOrigin):
+# String is used on the autocomplete row when the login origin is a domain match with the document origin
+displaySameOrigin=Depuis ce site web
+
+# LOCALIZATION NOTE (insecureFieldWarningDescription2):
+# %1$S will contain insecureFieldWarningLearnMore and look like a link to indicate that clicking will open a tab with support information.
+insecureFieldWarningDescription2 = Cette connexion n’est pas sécurisée. Les identifiants saisis ici pourraient être compromis. %1$S
+insecureFieldWarningLearnMore = En savoir plus
+
+# LOCALIZATION NOTE (viewSavedLogins.label):
+# This label is used in the footer of login autocomplete menus.
+viewSavedLogins.label= Afficher les identifiants enregistrés
+
+# LOCALIZATION NOTE (managePasswords.label):
+# This label is used in the footer of login autocomplete menus.
+managePasswords.label= Gérer les mots de passe
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/pipnss/nsserrors.properties b/thunderbird-l10n/fr/chrome/fr/locale/fr/pipnss/nsserrors.properties
new file mode 100644
index 0000000000..b529e86398
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/pipnss/nsserrors.properties
@@ -0,0 +1,331 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+SSL_ERROR_EXPORT_ONLY_SERVER=Impossible de communiquer en mode sécurisé. Le pair ne gère pas le chiffrement de haut niveau.
+SSL_ERROR_US_ONLY_SERVER=Impossible de communiquer en mode sécurisé. Le pair requiert un chiffrement de haut niveau qui n’est pas géré.
+SSL_ERROR_NO_CYPHER_OVERLAP=Impossible de communiquer en mode sécurisé avec le pair : aucun algorithme de chiffrement en commun.
+SSL_ERROR_NO_CERTIFICATE=Impossible de trouver le certificat ou la clé nécessaire à l’authentification.
+SSL_ERROR_BAD_CERTIFICATE=Impossible de communiquer en mode sécurisé avec le pair : le certificat du pair a été rejeté.
+SSL_ERROR_BAD_CLIENT=Le serveur a rencontré des données incorrectes en provenance du client.
+SSL_ERROR_BAD_SERVER=Le client a rencontré des données incorrectes en provenance du serveur.
+SSL_ERROR_UNSUPPORTED_CERTIFICATE_TYPE=Type de certificat non géré.
+SSL_ERROR_UNSUPPORTED_VERSION=Le pair utilise une version non gérée du protocole de sécurité.
+SSL_ERROR_WRONG_CERTIFICATE=L’authentification du client a échoué : la clé privée dans la base de données des clés ne correspond pas à la clé publique dans la base de données des certificats.
+SSL_ERROR_BAD_CERT_DOMAIN=Impossible de communiquer en mode sécurisé avec le pair : le nom de domaine demandé ne correspond pas au certificat du serveur.
+SSL_ERROR_POST_WARNING=Code d’erreur SSL non reconnu.
+SSL_ERROR_SSL2_DISABLED=Le pair ne gère que la version 2 de SSL, qui est désactivée localement.
+SSL_ERROR_BAD_MAC_READ=SSL a reçu un enregistrement avec un code d’authentification de message incorrect.
+SSL_ERROR_BAD_MAC_ALERT=Le pair SSL signale un code d’authentification de message incorrect.
+SSL_ERROR_BAD_CERT_ALERT=Le pair SSL ne peut pas vérifier votre certificat.
+SSL_ERROR_REVOKED_CERT_ALERT=Le pair SSL a rejeté votre certificat car celui-ci est révoqué.
+SSL_ERROR_EXPIRED_CERT_ALERT=Le pair SSL a rejeté votre certificat car celui-ci a expiré.
+SSL_ERROR_SSL_DISABLED=Impossible de se connecter : SSL est désactivé.
+SSL_ERROR_FORTEZZA_PQG=Impossible de se connecter : le pair SSL est dans un autre domaine FORTEZZA.
+SSL_ERROR_UNKNOWN_CIPHER_SUITE=Une suite de chiffrement SSL inconnue a été demandée.
+SSL_ERROR_NO_CIPHERS_SUPPORTED=Aucune suite de chiffrement n’est présente et activée dans ce programme.
+SSL_ERROR_BAD_BLOCK_PADDING=SSL a reçu un enregistrement avec un mauvais remplissage de bloc.
+SSL_ERROR_RX_RECORD_TOO_LONG=SSL a reçu un enregistrement qui dépasse la longueur maximale autorisée.
+SSL_ERROR_TX_RECORD_TOO_LONG=SSL a essayé d’envoyer un enregistrement dépassant la taille maximale autorisée.
+SSL_ERROR_RX_MALFORMED_HELLO_REQUEST=SSL a reçu un message d’établissement de liaison « Hello Request » malformé.
+SSL_ERROR_RX_MALFORMED_CLIENT_HELLO=SSL a reçu un message d’établissement de liaison « Client Hello » malformé.
+SSL_ERROR_RX_MALFORMED_SERVER_HELLO=SSL a reçu un message d’établissement de liaison « Server Hello » malformé.
+SSL_ERROR_RX_MALFORMED_CERTIFICATE=SSL a reçu un message d’établissement de liaison « Certificate » malformé.
+SSL_ERROR_RX_MALFORMED_SERVER_KEY_EXCH=SSL a reçu un message d’établissement de liaison « Server Key Exchange » malformé.
+SSL_ERROR_RX_MALFORMED_CERT_REQUEST=SSL a reçu un message d’établissement de liaison « Certificate Request » malformé.
+SSL_ERROR_RX_MALFORMED_HELLO_DONE=SSL a reçu un message d’établissement de liaison « Server Hello Done » malformé.
+SSL_ERROR_RX_MALFORMED_CERT_VERIFY=SSL a reçu un message d’établissement de liaison « Certificate Verify » malformé.
+SSL_ERROR_RX_MALFORMED_CLIENT_KEY_EXCH=SSL a reçu un message d’établissement de liaison « Client Key Exchange » malformé.
+SSL_ERROR_RX_MALFORMED_FINISHED=SSL a reçu un message d’établissement de liaison « Finished » malformé.
+SSL_ERROR_RX_MALFORMED_CHANGE_CIPHER=SSL a reçu un enregistrement « Change Cipher Spec » malformé.
+SSL_ERROR_RX_MALFORMED_ALERT=SSL a reçu un enregistrement « Alert » malformé.
+SSL_ERROR_RX_MALFORMED_HANDSHAKE=SSL a reçu un enregistrement « Handshake » malformé.
+SSL_ERROR_RX_MALFORMED_APPLICATION_DATA=SSL a reçu un enregistrement « Application Data » malformé.
+SSL_ERROR_RX_UNEXPECTED_HELLO_REQUEST=SSL a reçu un message d’établissement de liaison « Hello Request » inattendu.
+SSL_ERROR_RX_UNEXPECTED_CLIENT_HELLO=SSL a reçu un message d’établissement de liaison « Client Hello » inattendu.
+SSL_ERROR_RX_UNEXPECTED_SERVER_HELLO=SSL a reçu un message d’établissement de liaison « Server Hello » inattendu.
+SSL_ERROR_RX_UNEXPECTED_CERTIFICATE=SSL a reçu un message d’établissement de liaison « Certificate » inattendu.
+SSL_ERROR_RX_UNEXPECTED_SERVER_KEY_EXCH=SSL a reçu un message d’établissement de liaison « Server Key Exchange » inattendu.
+SSL_ERROR_RX_UNEXPECTED_CERT_REQUEST=SSL a reçu un message d’établissement de liaison « Certificate Request » inattendu.
+SSL_ERROR_RX_UNEXPECTED_HELLO_DONE=SSL a reçu un message d’établissement de liaison « Server Hello Done » inattendu.
+SSL_ERROR_RX_UNEXPECTED_CERT_VERIFY=SSL a reçu un message d’établissement de liaison « Certificate Verify » inattendu.
+SSL_ERROR_RX_UNEXPECTED_CLIENT_KEY_EXCH=SSL a reçu un message d’établissement de liaison « Client Key Exchange » inattendu.
+SSL_ERROR_RX_UNEXPECTED_FINISHED=SSL a reçu un message d’établissement de liaison « Finished » inattendu.
+SSL_ERROR_RX_UNEXPECTED_CHANGE_CIPHER=SSL a reçu un enregistrement « Change Cipher Spec » inattendu.
+SSL_ERROR_RX_UNEXPECTED_ALERT=SSL a reçu un enregistrement « Alert » inattendu.
+SSL_ERROR_RX_UNEXPECTED_HANDSHAKE=SSL a reçu un enregistrement « Handshake » inattendu.
+SSL_ERROR_RX_UNEXPECTED_APPLICATION_DATA=SSL a reçu un enregistrement « Application Data » inattendu.
+SSL_ERROR_RX_UNKNOWN_RECORD_TYPE=SSL a reçu un enregistrement avec un type de contenu inconnu.
+SSL_ERROR_RX_UNKNOWN_HANDSHAKE=SSL a reçu un message d’établissement de liaison avec un type de message inconnu.
+SSL_ERROR_RX_UNKNOWN_ALERT=SSL a reçu un enregistrement d’alerte avec une description d’alerte inconnue.
+SSL_ERROR_CLOSE_NOTIFY_ALERT=Le pair SSL a fermé cette connexion.
+SSL_ERROR_HANDSHAKE_UNEXPECTED_ALERT=Le pair SSL ne s’attendait pas à recevoir le message d’établissement de liaison qu’il a reçu.
+SSL_ERROR_DECOMPRESSION_FAILURE_ALERT=La pair SSL n’a pas réussi à décompresser un enregistrement SSL qu’il a reçu.
+SSL_ERROR_HANDSHAKE_FAILURE_ALERT=Le pair SSL n’a pas réussi à négocier un jeu de paramètres de sécurité acceptable.
+SSL_ERROR_ILLEGAL_PARAMETER_ALERT=Le pair SSL a rejeté un message d’établissement de liaison à cause d’un contenu inacceptable.
+SSL_ERROR_UNSUPPORTED_CERT_ALERT=Le pair SSL ne gère pas le type des certificats qu’il a reçus.
+SSL_ERROR_CERTIFICATE_UNKNOWN_ALERT=Le pair SSL a eu un problème non spécifié avec le certificat qu’il a reçu.
+SSL_ERROR_GENERATE_RANDOM_FAILURE=SSL a rencontré un échec de son générateur de nombres aléatoires.
+SSL_ERROR_SIGN_HASHES_FAILURE=Impossible de signer numériquement les données requises pour vérifier votre certificat.
+SSL_ERROR_EXTRACT_PUBLIC_KEY_FAILURE=SSL n’a pas pu extraire la clé publique du certificat du pair.
+SSL_ERROR_SERVER_KEY_EXCHANGE_FAILURE=Échec non spécifié lors du traitement de l’établissement de liaison « SSL Server Key Exchange ».
+SSL_ERROR_CLIENT_KEY_EXCHANGE_FAILURE=Échec non spécifié lors du traitement de l’établissement de liaison « SSL Client Key Exchange ».
+SSL_ERROR_ENCRYPTION_FAILURE=L’algorithme de chiffrement de données en volume a échoué pour la suite de chiffrement sélectionnée.
+SSL_ERROR_DECRYPTION_FAILURE=L’algorithme de déchiffrement de données en volume a échoué pour la suite de chiffrement sélectionnée.
+SSL_ERROR_SOCKET_WRITE_FAILURE=La tentative d’écriture de données chiffrées vers l’interface de connexion sous-jacente a échoué.
+SSL_ERROR_MD5_DIGEST_FAILURE=La fonction de prétraitement MD5 a échoué.
+SSL_ERROR_SHA_DIGEST_FAILURE=La fonction de prétraitement SHA-1 a échoué.
+SSL_ERROR_MAC_COMPUTATION_FAILURE=Le calcul MAC a échoué.
+SSL_ERROR_SYM_KEY_CONTEXT_FAILURE=Échec de création du contexte de clés symétriques.
+SSL_ERROR_SYM_KEY_UNWRAP_FAILURE=Échec de l’extraction de la clé symétrique dans le message « Client Key Exchange ».
+SSL_ERROR_PUB_KEY_SIZE_LIMIT_EXCEEDED=Le serveur SSL a tenté d’utiliser une clé publique nationale avec une suite de chiffrement destinée à l’exportation.
+SSL_ERROR_IV_PARAM_FAILURE=Le code PKCS11 a échoué lors de la traduction d’un IV en paramètre.
+SSL_ERROR_INIT_CIPHER_SUITE_FAILURE=Échec de l’initialisation de la suite de chiffrement sélectionnée.
+SSL_ERROR_SESSION_KEY_GEN_FAILURE=Le client n’a pas réussi à générer de clés de session pour la session SSL.
+SSL_ERROR_NO_SERVER_KEY_FOR_ALG=Le serveur n’a pas de clé pour l’algorithme d’échange de clés utilisé.
+SSL_ERROR_TOKEN_INSERTION_REMOVAL=Le jeton PKCS#11 a été inséré ou supprimé pendant qu’une opération était en cours.
+SSL_ERROR_TOKEN_SLOT_NOT_FOUND=Aucun jeton PKCS#11 n’a été trouvé pour accomplir une opération requise.
+SSL_ERROR_NO_COMPRESSION_OVERLAP=Impossible de communiquer en mode sécurisé avec le pair : aucun algorithme de compression en commun.
+SSL_ERROR_HANDSHAKE_NOT_COMPLETED=Impossible d’initialiser un autre établissement de liaison SSL tant que celui en cours n’est pas terminé.
+SSL_ERROR_BAD_HANDSHAKE_HASH_VALUE=Réception de valeurs d’empreintes numériques incorrectes lors de l’établissement de liaison avec le pair.
+SSL_ERROR_CERT_KEA_MISMATCH=Le certificat fourni ne peut être utilisé avec l’algorithme d’échange de clés sélectionné.
+SSL_ERROR_NO_TRUSTED_SSL_CLIENT_CA=Aucune autorité de certification n’est éprouvée pour l’authentification client SSL.
+SSL_ERROR_SESSION_NOT_FOUND=L’identifiant de session SSL du client n’a pas été trouvé dans le cache de session du serveur.
+SSL_ERROR_DECRYPTION_FAILED_ALERT=Le pair n’a pas pu déchiffrer un enregistrement SSL qu’il a reçu.
+SSL_ERROR_RECORD_OVERFLOW_ALERT=Le pair a reçu un enregistrement SSL plus long que la taille permise.
+SSL_ERROR_UNKNOWN_CA_ALERT=Le pair ne reconnaît pas l’autorité de certification qui a délivré votre certificat et ne lui fait pas confiance.
+SSL_ERROR_ACCESS_DENIED_ALERT=Le pair a reçu un certificat valide mais l’accès a été refusé.
+SSL_ERROR_DECODE_ERROR_ALERT=Le pair n’a pas pu décoder un message d’établissement de liaison SSL.
+SSL_ERROR_DECRYPT_ERROR_ALERT=Le pair signale un échec de la vérification de signature ou de l’échange de clés.
+SSL_ERROR_EXPORT_RESTRICTION_ALERT=Le pair signale une négociation qui n’est pas en conformité avec les lois sur l’exportation.
+SSL_ERROR_PROTOCOL_VERSION_ALERT=Le pair signale une version de protocole non compatible ou non gérée.
+SSL_ERROR_INSUFFICIENT_SECURITY_ALERT=Le serveur requiert des chiffrements plus sûrs que ceux gérés par le client.
+SSL_ERROR_INTERNAL_ERROR_ALERT=Le pair signale qu’il a eu une erreur interne.
+SSL_ERROR_USER_CANCELED_ALERT=L’utilisateur pair a annulé l’établissement de liaison.
+SSL_ERROR_NO_RENEGOTIATION_ALERT=Le pair ne permet pas la renégociation des paramètres de sécurité SSL.
+SSL_ERROR_SERVER_CACHE_NOT_CONFIGURED=Le cache du serveur SSL n’est pas configuré et n’est pas désactivé pour cette interface de connexion.
+SSL_ERROR_UNSUPPORTED_EXTENSION_ALERT=Le pair SSL ne gère pas l’extension « TLS Hello » requise.
+SSL_ERROR_CERTIFICATE_UNOBTAINABLE_ALERT=Le pair SSL n’a pas pu obtenir votre certificat à partir de l’URL fournie.
+SSL_ERROR_UNRECOGNIZED_NAME_ALERT=Le pair SSL n’a pas de certificat pour le nom DNS demandé.
+SSL_ERROR_BAD_CERT_STATUS_RESPONSE_ALERT=Le pair SSL n’a pas pu obtenir de réponse OCSP pour son certificat.
+SSL_ERROR_BAD_CERT_HASH_VALUE_ALERT=Le pair SSL signale une valeur d’empreinte numérique de certificat incorrecte.
+SSL_ERROR_RX_UNEXPECTED_NEW_SESSION_TICKET=SSL a reçu un message d’établissement de liaison « New Session Ticket » inattendu.
+SSL_ERROR_RX_MALFORMED_NEW_SESSION_TICKET=SSL a reçu un message d’établissement de liaison « New Session Ticket » mal formé.
+SSL_ERROR_DECOMPRESSION_FAILURE=SSL a reçu un enregistrement compressé qu’il n’a pas pu décompresser.
+SSL_ERROR_RENEGOTIATION_NOT_ALLOWED=La renégociation n’est pas autorisée sur cette interface de connexion SSL.
+SSL_ERROR_UNSAFE_NEGOTIATION=Le pair a essayé un établissement de liaison obsolète (potentiellement vulnérable).
+SSL_ERROR_RX_UNEXPECTED_UNCOMPRESSED_RECORD=SSL a reçu un enregistrement non-compressé inattendu.
+SSL_ERROR_WEAK_SERVER_EPHEMERAL_DH_KEY=SSL a reçu une clé Diffie-Hellman éphémère faible dans le message d’établissement de liaison « Server Key Exchange ».
+SSL_ERROR_NEXT_PROTOCOL_DATA_INVALID=SSL a reçu des données d’extension NPN invalides.
+SSL_ERROR_FEATURE_NOT_SUPPORTED_FOR_SSL2=Fonctionnalité SSL non gérée pour les connexions SSL 2.0.
+SSL_ERROR_FEATURE_NOT_SUPPORTED_FOR_SERVERS=Fonctionnalité SSL non gérée pour les serveurs.
+SSL_ERROR_FEATURE_NOT_SUPPORTED_FOR_CLIENTS=Fonctionnalité SSL non gérée pour les clients.
+SSL_ERROR_INVALID_VERSION_RANGE=La plage de versions SSL n’est pas valide.
+SSL_ERROR_CIPHER_DISALLOWED_FOR_VERSION=Le pair SSL a sélectionné une suite de chiffrement non autorisée pour la version sélectionnée du protocole.
+SSL_ERROR_RX_MALFORMED_HELLO_VERIFY_REQUEST=SSL a reçu un message d’établissement de liaison « Hello Verify Request » malformé.
+SSL_ERROR_RX_UNEXPECTED_HELLO_VERIFY_REQUEST=SSL a reçu un message d’établissement de liaison « Hello Verify Request » inattendu.
+SSL_ERROR_FEATURE_NOT_SUPPORTED_FOR_VERSION=La fonctionnalité SSL n’est pas prise en charge pour cette version du protocole.
+SSL_ERROR_RX_UNEXPECTED_CERT_STATUS=SSL a reçu un message d’établissement de liaison « Certificate Status » inattendu.
+SSL_ERROR_UNSUPPORTED_HASH_ALGORITHM=Algorithme de hachage non pris en charge utilisé par le pair TLS.
+SSL_ERROR_DIGEST_FAILURE=La fonction de prétraitement a échoué.
+SSL_ERROR_INCORRECT_SIGNATURE_ALGORITHM=Algorithme de signature incorrect spécifié dans un élément signé numériquement.
+SSL_ERROR_NEXT_PROTOCOL_NO_CALLBACK=L’extension « next protocol negotiation » était activée, mais la fonction de rappel a été effacée avant d’avoir pu être utilisée.
+SSL_ERROR_NEXT_PROTOCOL_NO_PROTOCOL=Le serveur ne prend en charge aucun des protocoles annoncés par le client dans l’extension ALPN.
+SSL_ERROR_INAPPROPRIATE_FALLBACK_ALERT=Le serveur a rejeté le message d’établissement de liaison car le client utilise désormais une version de TLS inférieure à la version minimale prise en charge par le serveur.
+SSL_ERROR_WEAK_SERVER_CERT_KEY=Le certificat du serveur possède une clé publique trop faible.
+SSL_ERROR_RX_SHORT_DTLS_READ=Le tampon ne possède pas assez d’espace libre pour un enregistrement DTLS.
+SSL_ERROR_NO_SUPPORTED_SIGNATURE_ALGORITHM=Aucune signature d’algorithme TLS prise en charge n’a été configurée.
+SSL_ERROR_UNSUPPORTED_SIGNATURE_ALGORITHM=Le pair a utilisé une combinaison non prise en charge de signature et d’algorithme de hachage.
+SSL_ERROR_MISSING_EXTENDED_MASTER_SECRET=Le pair a essayé de reprendre sans extension extended_master_secret correcte.
+SSL_ERROR_UNEXPECTED_EXTENDED_MASTER_SECRET=Le pair a essayé de reprendre avec une extension extended_master_secret inattendue.
+SEC_ERROR_IO=Une erreur d’entrée/sortie est survenue pendant l’autorisation de sécurité.
+SEC_ERROR_LIBRARY_FAILURE=Échec de la bibliothèque de sécurité.
+SEC_ERROR_BAD_DATA=Bibliothèque de sécurité : données incorrectes reçues.
+SEC_ERROR_OUTPUT_LEN=Bibliothèque de sécurité : erreur de longueur des données en sortie.
+SEC_ERROR_INPUT_LEN=La bibliothèque de sécurité a rencontré une erreur de longueur des données en entrée.
+SEC_ERROR_INVALID_ARGS=Bibliothèque de sécurité : arguments invalides.
+SEC_ERROR_INVALID_ALGORITHM=Bibliothèque de sécurité : algorithme invalide.
+SEC_ERROR_INVALID_AVA=Bibliothèque de sécurité : AVA invalide.
+SEC_ERROR_INVALID_TIME=Chaîne temporelle mal formatée.
+SEC_ERROR_BAD_DER=Bibliothèque de sécurité : message encodé en DER mal formaté.
+SEC_ERROR_BAD_SIGNATURE=Le certificat du pair a une signature invalide.
+SEC_ERROR_EXPIRED_CERTIFICATE=Le certificat du pair a expiré.
+SEC_ERROR_REVOKED_CERTIFICATE=Le certificat du pair a été révoqué.
+SEC_ERROR_UNKNOWN_ISSUER=L’autorité de délivrance du certificat du pair n’est pas reconnue.
+SEC_ERROR_BAD_KEY=La clé publique du pair est invalide.
+SEC_ERROR_BAD_PASSWORD=Le mot de passe de sécurité saisi est incorrect.
+SEC_ERROR_RETRY_PASSWORD=Le nouveau mot de passe a été saisi de manière incorrecte. Veuillez réessayer.
+SEC_ERROR_NO_NODELOCK=Bibliothèque de sécurité : aucun verrou de nœud.
+SEC_ERROR_BAD_DATABASE=Bibliothèque de sécurité : mauvaise base de données.
+SEC_ERROR_NO_MEMORY=Bibliothèque de sécurité : échec d’allocation mémoire.
+SEC_ERROR_UNTRUSTED_ISSUER=L’autorité de délivrance du certificat du pair a été marquée comme non digne de confiance par l’utilisateur.
+SEC_ERROR_UNTRUSTED_CERT=Le certificat du pair a été marqué comme non digne de confiance par l’utilisateur.
+SEC_ERROR_DUPLICATE_CERT=Le certificat existe déjà dans votre base de données.
+SEC_ERROR_DUPLICATE_CERT_NAME=Le nom du certificat téléchargé existe déjà dans votre base de données.
+SEC_ERROR_ADDING_CERT=Erreur lors de l’ajout d’un certificat à la base de données.
+SEC_ERROR_FILING_KEY=Erreur lors de l’ajout de clé pour ce certificat.
+SEC_ERROR_NO_KEY=La clé privée pour ce certificat n’a pas été trouvée dans la base de données des clés.
+SEC_ERROR_CERT_VALID=Ce certificat est valide.
+SEC_ERROR_CERT_NOT_VALID=Ce certificat n’est pas valide.
+SEC_ERROR_CERT_NO_RESPONSE=Bibliothèque de certificat : pas de réponse
+SEC_ERROR_EXPIRED_ISSUER_CERTIFICATE=Le certificat de l’autorité de délivrance du certificat a expiré. Vérifiez la date et l’heure de votre système.
+SEC_ERROR_CRL_EXPIRED=La liste de certificats révoqués pour l’autorité de délivrance du certificat a expiré. Mettez-la à jour ou vérifiez la date et l’heure de votre système.
+SEC_ERROR_CRL_BAD_SIGNATURE=La liste de certificats révoqués pour l’autorité de délivrance du certificat a une signature invalide.
+SEC_ERROR_CRL_INVALID=La nouvelle liste de certificats révoqués est d’un format invalide.
+SEC_ERROR_EXTENSION_VALUE_INVALID=La valeur de l’extension du certificat est invalide.
+SEC_ERROR_EXTENSION_NOT_FOUND=Extension du certificat introuvable.
+SEC_ERROR_CA_CERT_INVALID=Le certificat de l’autorité de délivrance est invalide.
+SEC_ERROR_PATH_LEN_CONSTRAINT_INVALID=La contrainte de longueur du chemin du certificat est invalide.
+SEC_ERROR_CERT_USAGES_INVALID=Le champ « utilisations » du certificat est invalide.
+SEC_INTERNAL_ONLY=**Module interne SEULEMENT**
+SEC_ERROR_INVALID_KEY=La clé ne gère pas l’opération demandée.
+SEC_ERROR_UNKNOWN_CRITICAL_EXTENSION=Le certificat contient une extension critique inconnue.
+SEC_ERROR_OLD_CRL=La date de péremption de la nouvelle liste de certificats révoqués n’est pas ultérieure à celle de la liste en cours.
+SEC_ERROR_NO_EMAIL_CERT=Non chiffré ou signé : vous n’avez pas encore de certificat d’adresse e-mail.
+SEC_ERROR_NO_RECIPIENT_CERTS_QUERY=Non chiffré : vous n’avez pas de certificat pour chacun des destinataires.
+SEC_ERROR_NOT_A_RECIPIENT=Impossible de déchiffrer : vous n’êtes pas le destinataire ou le certificat et la clé privée correspondants n’ont pas été trouvés.
+SEC_ERROR_PKCS7_KEYALG_MISMATCH=Impossible de déchiffrer : l’algorithme de chiffrement de clé ne correspond pas à votre certificat.
+SEC_ERROR_PKCS7_BAD_SIGNATURE=La vérification de signature a échoué : aucun signataire, trop de signataires ou données corrompues ou incorrectes.
+SEC_ERROR_UNSUPPORTED_KEYALG=Algorithme de clé non géré ou inconnu.
+SEC_ERROR_DECRYPTION_DISALLOWED=Impossible de déchiffrer : chiffré en utilisant un algorithme ou une taille de clé non autorisés.
+XP_SEC_FORTEZZA_BAD_CARD=La carte Fortezza n’a pas été initialisée correctement. Veuillez la retirer et la renvoyer à votre distributeur.
+XP_SEC_FORTEZZA_NO_CARD=Aucune carte Fortezza n’a été trouvée
+XP_SEC_FORTEZZA_NONE_SELECTED=Aucune carte Fortezza n’a été sélectionnée
+XP_SEC_FORTEZZA_MORE_INFO=Veuillez sélectionner une personnalité sur laquelle vous souhaitez obtenir plus d’informations
+XP_SEC_FORTEZZA_PERSON_NOT_FOUND=Personnalité non trouvée
+XP_SEC_FORTEZZA_NO_MORE_INFO=Aucune autre information sur cette personnalité
+XP_SEC_FORTEZZA_BAD_PIN=Code Pin invalide
+XP_SEC_FORTEZZA_PERSON_ERROR=Impossible d’initialiser les personnalités Fortezza.
+SEC_ERROR_NO_KRL=Aucune liste de clés révoquées pour le certificat de ce site n’a été trouvée.
+SEC_ERROR_KRL_EXPIRED=La liste de clés révoquées pour le certificat de ce site a expiré.
+SEC_ERROR_KRL_BAD_SIGNATURE=La liste de clés révoquées pour le certificat de ce site a une signature invalide.
+SEC_ERROR_REVOKED_KEY=La clé pour le certificat de ce site a été révoquée.
+SEC_ERROR_KRL_INVALID=La nouvelle liste de clés révoquées a un format invalide.
+SEC_ERROR_NEED_RANDOM=Bibliothèque de sécurité : données aléatoires nécessaires.
+SEC_ERROR_NO_MODULE=Bibliothèque de sécurité : aucun module de sécurité ne peut réaliser l’opération demandée.
+SEC_ERROR_NO_TOKEN=La carte ou le jeton de sécurité n’existe pas, n’est pas encore initialisé ou a été retiré.
+SEC_ERROR_READ_ONLY=Bibliothèque de sécurité : base de données en lecture seule.
+SEC_ERROR_NO_SLOT_SELECTED=Aucun slot ou jeton n’a été sélectionné.
+SEC_ERROR_CERT_NICKNAME_COLLISION=Un certificat avec le même pseudo existe déjà.
+SEC_ERROR_KEY_NICKNAME_COLLISION=Une clé avec le même pseudo existe déjà.
+SEC_ERROR_SAFE_NOT_CREATED=Erreur lors de la création d’un objet sécurisé
+SEC_ERROR_BAGGAGE_NOT_CREATED=Erreur lors de la création d’un objet valise
+XP_JAVA_REMOVE_PRINCIPAL_ERROR=Impossible de supprimer le principal
+XP_JAVA_DELETE_PRIVILEGE_ERROR=Impossible de supprimer le privilège
+XP_JAVA_CERT_NOT_EXISTS_ERROR=Ce principal n’a pas de certificat
+SEC_ERROR_BAD_EXPORT_ALGORITHM=L’algorithme requis n’est pas autorisé.
+SEC_ERROR_EXPORTING_CERTIFICATES=Erreur lors de la tentative d’exportation des certificats.
+SEC_ERROR_IMPORTING_CERTIFICATES=Erreur lors de la tentative d’importation des certificats.
+SEC_ERROR_PKCS12_DECODING_PFX=Importation impossible. Erreur de décodage. Fichier non valide.
+SEC_ERROR_PKCS12_INVALID_MAC=Importation impossible. MAC invalide. Mot de passe incorrect ou fichier corrompu.
+SEC_ERROR_PKCS12_UNSUPPORTED_MAC_ALGORITHM=Importation impossible. Algorithme MAC non géré.
+SEC_ERROR_PKCS12_UNSUPPORTED_TRANSPORT_MODE=Importation impossible. Seuls les modes intégrité de mot de passe et vie privée sont gérés.
+SEC_ERROR_PKCS12_CORRUPT_PFX_STRUCTURE=Importation impossible. La structure du fichier est corrompue.
+SEC_ERROR_PKCS12_UNSUPPORTED_PBE_ALGORITHM=Importation impossible. Algorithme de chiffrement non géré.
+SEC_ERROR_PKCS12_UNSUPPORTED_VERSION=Importation impossible. Version de fichier non gérée.
+SEC_ERROR_PKCS12_PRIVACY_PASSWORD_INCORRECT=Importation impossible. Mot de passe de vie privée incorrect.
+SEC_ERROR_PKCS12_CERT_COLLISION=Importation impossible. Le même pseudo existe déjà dans la base de données.
+SEC_ERROR_USER_CANCELLED=L’utilisateur a annulé l’opération.
+SEC_ERROR_PKCS12_DUPLICATE_DATA=Non importé car déjà dans la base de données.
+SEC_ERROR_MESSAGE_SEND_ABORTED=Le message n’a pas été envoyé.
+SEC_ERROR_INADEQUATE_KEY_USAGE=Utilisation de la clé de certificat inappropriée pour cette opération.
+SEC_ERROR_INADEQUATE_CERT_TYPE=Type de certificat non approuvé pour l’application.
+SEC_ERROR_CERT_ADDR_MISMATCH=L’adresse dans le certificat de signature ne correspond pas à celle figurant dans les en-têtes de messages.
+SEC_ERROR_PKCS12_UNABLE_TO_IMPORT_KEY=Importation impossible. Erreur lors de la tentative d’importation de la clé privée.
+SEC_ERROR_PKCS12_IMPORTING_CERT_CHAIN=Importation impossible. Erreur lors de la tentative d’importation de la chaîne de certificat.
+SEC_ERROR_PKCS12_UNABLE_TO_LOCATE_OBJECT_BY_NAME=Exportation impossible. Impossible de localiser le certificat ou la clé par son pseudo.
+SEC_ERROR_PKCS12_UNABLE_TO_EXPORT_KEY=Exportation impossible. La clé privée n’a pas été trouvée.
+SEC_ERROR_PKCS12_UNABLE_TO_WRITE=Exportation impossible. Impossible d’écrire le fichier d’exportation.
+SEC_ERROR_PKCS12_UNABLE_TO_READ=Exportation impossible. Impossible de lire le fichier d’importation.
+SEC_ERROR_PKCS12_KEY_DATABASE_NOT_INITIALIZED=Exportation impossible. La base de données des clés est corrompue ou effacée.
+SEC_ERROR_KEYGEN_FAIL=Impossible de générer la paire de clés publique/privée.
+SEC_ERROR_INVALID_PASSWORD=Le mot de passe saisi est invalide. Veuillez en choisir un autre.
+SEC_ERROR_RETRY_OLD_PASSWORD=L’ancien mot de passe n’a pas été saisi correctement. Veuillez réessayer.
+SEC_ERROR_BAD_NICKNAME=Ce pseudo de certificat est déjà utilisé.
+SEC_ERROR_NOT_FORTEZZA_ISSUER=La chaîne FORTEZZA du pair a un certificat non FORTEZZA.
+SEC_ERROR_CANNOT_MOVE_SENSITIVE_KEY=Une clé sensible n’a pas pu être déplacée dans le slot où elle était requise.
+SEC_ERROR_JS_INVALID_MODULE_NAME=Nom de module invalide.
+SEC_ERROR_JS_INVALID_DLL=Chemin/fichier de module invalide
+SEC_ERROR_JS_ADD_MOD_FAILURE=Ajout de module impossible
+SEC_ERROR_JS_DEL_MOD_FAILURE=Suppression de module impossible
+SEC_ERROR_OLD_KRL=La nouvelle liste de clés révoquées n’a pas une date de péremption ultérieure à celle en cours d’utilisation.
+SEC_ERROR_CKL_CONFLICT=La nouvelle liste de clés compromises provient d’une autorité différente de celle en cours d’utilisation. Supprimez la liste en cours d’utilisation.
+SEC_ERROR_CERT_NOT_IN_NAME_SPACE=L’autorité de certification pour ce certificat n’est pas autorisé à délivrer un certificat avec ce nom.
+SEC_ERROR_KRL_NOT_YET_VALID=La liste de clés révoquées pour ce certificat n’est pas encore valide.
+SEC_ERROR_CRL_NOT_YET_VALID=La liste de certificats révoqués pour ce certificat n’est pas encore valide.
+SEC_ERROR_UNKNOWN_CERT=Le certificat demandé n’a pas été trouvé.
+SEC_ERROR_UNKNOWN_SIGNER=Le signataire du certificat n’a pas été trouvé.
+SEC_ERROR_CERT_BAD_ACCESS_LOCATION=L’emplacement pour le serveur de statut de certificats a un format invalide.
+SEC_ERROR_OCSP_UNKNOWN_RESPONSE_TYPE=La réponse OCSP ne peut pas être totalement décodée ; elle est d’un type inconnu.
+SEC_ERROR_OCSP_BAD_HTTP_RESPONSE=Le serveur OCSP a renvoyé des données HTTP inattendues/invalides.
+SEC_ERROR_OCSP_MALFORMED_REQUEST=Le serveur OCSP a trouvé que la requête était corrompue ou mal formée.
+SEC_ERROR_OCSP_SERVER_ERROR=Le serveur OCSP a rencontré une erreur interne.
+SEC_ERROR_OCSP_TRY_SERVER_LATER=Le serveur OCSP suggère de réessayer plus tard.
+SEC_ERROR_OCSP_REQUEST_NEEDS_SIG=Le serveur OCSP requiert une signature sur cette requête.
+SEC_ERROR_OCSP_UNAUTHORIZED_REQUEST=Le serveur OCSP a refusé cette requête car elle n’est pas autorisée.
+SEC_ERROR_OCSP_UNKNOWN_RESPONSE_STATUS=Le serveur OCSP a renvoyé un statut inconnu.
+SEC_ERROR_OCSP_UNKNOWN_CERT=Le serveur OCSP n’a pas de statut pour le certificat.
+SEC_ERROR_OCSP_NOT_ENABLED=Vous devez activer OCSP avant d’effectuer cette opération.
+SEC_ERROR_OCSP_NO_DEFAULT_RESPONDER=Vous devez définir le répondeur OCSP par défaut avant d’effectuer cette opération.
+SEC_ERROR_OCSP_MALFORMED_RESPONSE=La réponse du serveur OCSP était corrompue ou mal formée.
+SEC_ERROR_OCSP_UNAUTHORIZED_RESPONSE=Le signataire de la réponse OCSP n’est pas autorisé à donner de statut pour ce certificat.
+SEC_ERROR_OCSP_FUTURE_RESPONSE=La réponse OCSP n’est pas encore valide (elle contient une date future).
+SEC_ERROR_OCSP_OLD_RESPONSE=La réponse OCSP contient des informations obsolètes.
+SEC_ERROR_DIGEST_NOT_FOUND=Le prétraitement CMS ou PKCS #7 n’a pas été trouvé dans le message signé.
+SEC_ERROR_UNSUPPORTED_MESSAGE_TYPE=Le type de message CMS ou PKCS #7 n’est pas géré.
+SEC_ERROR_MODULE_STUCK=Le module PKCS #11 ne peut pas être supprimé car il est encore utilisé.
+SEC_ERROR_BAD_TEMPLATE=Impossible de décoder les données ASN.1 data. Le modèle spécifié était invalide.
+SEC_ERROR_CRL_NOT_FOUND=Aucune liste de certificats révoqués correspondante n’a été trouvée.
+SEC_ERROR_REUSED_ISSUER_AND_SERIAL=Vous essayez d’importer un certificat ayant la même autorité/numéro de série qu’un certificat existant, mais ce n’est pas le même certificat.
+SEC_ERROR_BUSY=NSS ne peut pas s’arrêter. Des objets sont en cours d’utilisation.
+SEC_ERROR_EXTRA_INPUT=Un message encodé en DER contenait des données supplémentaires non utilisées.
+SEC_ERROR_UNSUPPORTED_ELLIPTIC_CURVE=Courbe elliptique non gérée.
+SEC_ERROR_UNSUPPORTED_EC_POINT_FORM=Courbe elliptique formulaire non gérée.
+SEC_ERROR_UNRECOGNIZED_OID=Identifiant d’objet non reconnu.
+SEC_ERROR_OCSP_INVALID_SIGNING_CERT=Certificat de signature OCSP invalide dans la réponse OCSP.
+SEC_ERROR_REVOKED_CERTIFICATE_CRL=Le certificat est révoqué dans la liste de certificats révoqués de l’autorité.
+SEC_ERROR_REVOKED_CERTIFICATE_OCSP=Le répondeur OCSP de l’autorité signale que le certificat est révoqué.
+SEC_ERROR_CRL_INVALID_VERSION=La liste de certificats révoqués de l’autorité a un numéro de version inconnu.
+SEC_ERROR_CRL_V1_CRITICAL_EXTENSION=La liste de certificats révoqués V1 de l’autorité a une extension critique.
+SEC_ERROR_CRL_UNKNOWN_CRITICAL_EXTENSION=La liste de certificats révoqués V2 de l’autorité a une extension critique inconnue.
+SEC_ERROR_UNKNOWN_OBJECT_TYPE=Type d’objet inconnu spécifié.
+SEC_ERROR_INCOMPATIBLE_PKCS11=Le pilote PKCS #11 viole les spécifications d’une manière incompatible.
+SEC_ERROR_NO_EVENT=Aucun nouvel évènement de slot n’est disponible pour le moment.
+SEC_ERROR_CRL_ALREADY_EXISTS=La liste de certificats révoqués existe déjà.
+SEC_ERROR_NOT_INITIALIZED=NSS n’est pas initialisé.
+SEC_ERROR_TOKEN_NOT_LOGGED_IN=L’opération a échoué car le jeton PKCS#11 n’est pas connecté.
+SEC_ERROR_OCSP_RESPONDER_CERT_INVALID=Le certificat du répondant OCSP configuré est invalide.
+SEC_ERROR_OCSP_BAD_SIGNATURE=La signature de la réponse OCSP est invalide.
+SEC_ERROR_OUT_OF_SEARCH_LIMITS=La recherche de validation de certificat est en dehors des limites de recherche
+SEC_ERROR_INVALID_POLICY_MAPPING=Le mappage de stratégie d’un certificat contient la valeur inappropriée « anypolicy »
+SEC_ERROR_POLICY_VALIDATION_FAILED=Un certificat a spécifié une stratégie qui n’a pas pu être validée en utilisant une quelconque chaîne de certification
+SEC_ERROR_UNKNOWN_AIA_LOCATION_TYPE=Type d’emplacement inconnu dans l’extension de certificat AIA
+SEC_ERROR_BAD_HTTP_RESPONSE=Le serveur a renvoyé une mauvaise réponse HTTP
+SEC_ERROR_BAD_LDAP_RESPONSE=Le serveur a renvoyé une mauvaise réponse LDAP
+SEC_ERROR_FAILED_TO_ENCODE_DATA=Échec de l’encodage de données avec l’encodeur ASN1
+SEC_ERROR_BAD_INFO_ACCESS_LOCATION=Mauvaise information d’emplacement d’accès dans l’extension de certificat
+SEC_ERROR_LIBPKIX_INTERNAL=Une erreur interne libpkix est survenue pendant la validation de certificat.
+SEC_ERROR_PKCS11_GENERAL_ERROR=Un module PKCS #11 a renvoyé CKR_GENERAL_ERROR, indiquant qu’une erreur irrécupérable est survenue.
+SEC_ERROR_PKCS11_FUNCTION_FAILED=Un module PKCS #11 a renvoyé CKR_FUNCTION_FAILED, indiquant que la fonction demandée ne pouvait être réalisée. Essayer à nouveau la même opération pourrait fonctionner.
+SEC_ERROR_PKCS11_DEVICE_ERROR=Un module PKCS #11 a renvoyé CKR_DEVICE_ERROR, indiquant qu’un problème avec le jeton ou le slot est survenu.
+SEC_ERROR_BAD_INFO_ACCESS_METHOD=Méthode d’accès à l’information inconnue dans l’extension de certificat.
+SEC_ERROR_CRL_IMPORT_FAILED=Erreur lors de la tentative d’importation d’une liste de révocation de certificat (CRL).
+SEC_ERROR_EXPIRED_PASSWORD=Le mot de passe a expiré.
+SEC_ERROR_LOCKED_PASSWORD=Le mot de passe est verrouillé.
+SEC_ERROR_UNKNOWN_PKCS11_ERROR=Erreur PKCS #11 inconnue.
+SEC_ERROR_BAD_CRL_DP_URL=URL invalide ou non gérée dans un point de distribution CRL.
+SEC_ERROR_CERT_SIGNATURE_ALGORITHM_DISABLED=Le certificat a été signé à l’aide d’un algorithme de signature qui est désactivé pour son manque de sûreté.
+MOZILLA_PKIX_ERROR_KEY_PINNING_FAILURE=Le serveur utilise le mécanisme de « key pinning » (HPKP) mais aucune chaîne de confiance pour les certificats n’a pu être établie pour correspondre au pinset. Les violations de « key pinning » ne peuvent pas être forcées.
+MOZILLA_PKIX_ERROR_CA_CERT_USED_AS_END_ENTITY=Le serveur utilise un certificat avec une extension de contraintes basiques qui l’identifie en tant qu’autorité de certification. Pour un certificat correctement émis cela ne devrait pas être le cas.
+MOZILLA_PKIX_ERROR_INADEQUATE_KEY_SIZE=Le serveur a présenté un certificat dont la taille de la clé est trop petite pour établir une connexion sécurisée.
+MOZILLA_PKIX_ERROR_V1_CERT_USED_AS_CA=Un certificat X.509 version 1 qui n’est pas une ancre de confiance a été utilisé pour signer le certificat du serveur. Les certificats X.509 version 1 sont obsolètes et ne devraient pas être utilisés pour signer d’autres certificats.
+MOZILLA_PKIX_ERROR_NOT_YET_VALID_CERTIFICATE=Le serveur a présenté un certificat qui n’est pas encore valide.
+MOZILLA_PKIX_ERROR_NOT_YET_VALID_ISSUER_CERTIFICATE=Un certificat qui n’est pas encore valide a été utilisé pour fournir le certificat du serveur.
+MOZILLA_PKIX_ERROR_SIGNATURE_ALGORITHM_MISMATCH=L’algorithme de signature présent dans le champ « signature » du certificat ne correspond pas à l’algorithme de son champ « signatureAlgorithm ».
+MOZILLA_PKIX_ERROR_OCSP_RESPONSE_FOR_CERT_MISSING=La réponse OCSP ne comporte pas d’état pour le certificat vérifié.
+MOZILLA_PKIX_ERROR_VALIDITY_TOO_LONG=Le serveur a présenté un certificat qui reste valide trop longtemps.
+MOZILLA_PKIX_ERROR_REQUIRED_TLS_FEATURE_MISSING=Une fonctionnalité TLS nécessaire est manquante.
+MOZILLA_PKIX_ERROR_INVALID_INTEGER_ENCODING=Le serveur a présenté un certificat contenant un entier mal encodé. Les raisons les plus fréquentes sont des numéros de série négatifs, des modules RSA négatifs ou des encodages plus longs que nécessaire.
+MOZILLA_PKIX_ERROR_EMPTY_ISSUER_NAME=Le serveur a présenté un certificat où le nom unique de l’autorité de délivrance est vide.
+MOZILLA_PKIX_ERROR_ADDITIONAL_POLICY_CONSTRAINT_FAILED=Une contrainte de stratégie supplémentaire a échoué lors de la validation de ce certificat.
+MOZILLA_PKIX_ERROR_SELF_SIGNED_CERT=Le certificat n’est pas sûr car il est auto-signé.
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/pipnss/pipnss.properties b/thunderbird-l10n/fr/chrome/fr/locale/fr/pipnss/pipnss.properties
new file mode 100644
index 0000000000..720db07f7a
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/pipnss/pipnss.properties
@@ -0,0 +1,136 @@
+#
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+CertPasswordPrompt=Veuillez saisir le mot de passe pour le jeton PKCS#11 %S.
+
+CertPasswordPromptDefault=Veuillez saisir votre mot de passe principal.
+
+# The following strings have special requirements: they must fit in a 32 or 64
+# bytes buffer after being encoded to UTF-8.
+#
+# It's possible to verify the length of a translation using the Browser Console
+# in Firefox and evaluating the following code:
+#
+# (new TextEncoder('utf-8').encode('YOURSTRING')).length
+#
+# Simply replace YOURSTRING with your translation.
+#
+# If it's not possible to produce an understandable translation within these
+# limits, keeping the English text is an acceptable workaround.
+
+# The following strings have special requirements: they must fit in a 32 or 64
+# bytes buffer after being encoded to UTF-8.
+#
+# It's possible to verify the length of a translation using the Browser Console
+# in Firefox and evaluating the following code:
+#
+# (new TextEncoder().encode('YOURSTRING')).length
+#
+# Simply replace YOURSTRING with your translation.
+#
+# If it's not possible to produce an understandable translation within these
+# limits, keeping the English text is an acceptable workaround.
+
+# LOCALIZATION NOTE (RootCertModuleName): string limit is 64 bytes after
+# conversion to UTF-8.
+# length_limit = 64 bytes
+RootCertModuleName=Module de base intégré
+# LOCALIZATION NOTE (ManufacturerID): string limit is 32 bytes after conversion
+# to UTF-8.
+# length_limit = 32 bytes
+ManufacturerID=Mozilla.org
+# LOCALIZATION NOTE (LibraryDescription): string limit is 32 bytes after
+# conversion to UTF-8.
+# length_limit = 32 bytes
+LibraryDescription=Services de crypto. interne PSM
+# LOCALIZATION NOTE (TokenDescription): string limit is 32 bytes after
+# conversion to UTF-8.
+# length_limit = 32 bytes
+TokenDescription=Services de crypto. générique
+# LOCALIZATION NOTE (PrivateTokenDescription): string limit is 32 bytes after
+# conversion to UTF-8.
+# length_limit = 32 bytes
+PrivateTokenDescription=Sécurité personnelle
+# LOCALIZATION NOTE (SlotDescription): string limit is 64 bytes after conversion
+# to UTF-8.
+# length_limit = 64 bytes
+SlotDescription=Services de crypto. interne PSM
+# LOCALIZATION NOTE (PrivateSlotDescription): string limit is 64 bytes after
+# conversion to UTF-8.
+# length_limit = 64 bytes
+PrivateSlotDescription=Clés privées PSM
+# LOCALIZATION NOTE (Fips140TokenDescription): string limit is 32 bytes after
+# conversion to UTF-8.
+# length_limit = 32 bytes
+Fips140TokenDescription=Sécurité logicielle (FIPS)
+# LOCALIZATION NOTE (Fips140SlotDescription): string limit is 64 bytes after
+# conversion to UTF-8.
+# length_limit = 64 bytes
+Fips140SlotDescription=Services de clés et certificats cryptographiques FIPS 140
+
+# LOCALIZATION NOTE (nick_template): $1s is the common name from a cert (e.g. "Mozilla"), $2s is the CA name (e.g. VeriSign)
+nick_template=ID %2$s de %1$s
+
+CertDumpKUSign=Signature
+CertDumpKUNonRep=Non-répudiation
+CertDumpKUEnc=Chiffrement de la clé
+CertDumpKUDEnc=Chiffrement des données
+CertDumpKUKA=Agrément de clé
+CertDumpKUCertSign=Signature de certificat
+CertDumpKUCRLSigner=Signature LCR
+
+PSMERR_SSL_Disabled=Connexion sécurisée impossible car le protocole SSL a été désactivé.
+PSMERR_SSL2_Disabled=Connexion sécurisée impossible car le site utilise une ancienne version non sûre du protocole SSL.
+PSMERR_HostReusedIssuerSerial=Vous avez reçu un certificat invalide. Veuillez contacter l’administrateur du serveur ou votre correspondant de messagerie et fournissez-lui les informations suivantes :\n\nVotre certificat contient le même numéro de série qu’un autre certificat émis par l’autorité de certification. Veuillez vous procurer un nouveau certificat avec un numéro de série unique.
+
+# LOCALIZATION NOTE (SSLConnectionErrorPrefix2): %1$S is the host string, %2$S is more detailed information (localized as well).
+SSLConnectionErrorPrefix2=Une erreur est survenue pendant une connexion à %1$S. %2$S\n
+
+certErrorIntro=%S utilise un certificat de sécurité invalide.
+
+certErrorTrust_SelfSigned=Le certificat n’est pas sûr car il est auto-signé.
+certErrorTrust_UnknownIssuer=Le certificat n’est pas sûr car le certificat de l’autorité l’ayant délivré est inconnu.
+certErrorTrust_UnknownIssuer2=Le serveur n’envoie peut-être pas les certificats intermédiaires appropriés.
+certErrorTrust_UnknownIssuer3=Il peut être nécessaire d’importer un certificat racine supplémentaire.
+certErrorTrust_CaInvalid=Le certificat n’est pas sûr car le certificat de l’autorité l’ayant délivré est invalide.
+certErrorTrust_Issuer=Le certificat n’est pas sûr car le certificat de l’autorité l’ayant délivré n’est pas digne de confiance.
+certErrorTrust_SignatureAlgorithmDisabled=Le certificat n’est pas sûr car il a été signé à l’aide d’un algorithme de signature qui a été désactivé car cet algorithme n’est pas sécurisé.
+certErrorTrust_ExpiredIssuer=Le certificat n’est pas sûr car le certificat de l’autorité l’ayant délivré a expiré.
+certErrorTrust_Untrusted=Le certificat ne provient pas d’une source sûre.
+certErrorTrust_MitM=Votre connexion est interceptée par un proxy TLS. Si possible, désinstallez le proxy ou configurez votre appareil afin de faire confiance à son certificat racine.
+
+certErrorMismatch=Le certificat n’est pas valide pour le nom %S.
+# LOCALIZATION NOTE (certErrorMismatchSinglePrefix): %S is replaced by the domain for which the certificate is valid
+certErrorMismatchSinglePrefix=Le certificat n’est valide que pour %S.
+certErrorMismatchMultiple=Le certificat n’est valide que pour les noms suivants :
+
+# LOCALIZATION NOTE (certErrorExpiredNow): Do not translate %1$S (date+time of expired certificate) or %2$S (current date+time)
+certErrorExpiredNow=Le certificat a expiré le %1$S. La date courante est %2$S.
+
+# LOCALIZATION NOTE (certErrorNotYetValidNow): Do not translate %1$S (date+time certificate will become valid) or %2$S (current date+time)
+certErrorNotYetValidNow=Le certificat ne sera pas valide jusqu’au %1$S. La date courante est %2$S.
+
+certErrorMitM=Les sites web prouvent leur identité en utilisant des certificats, qui sont émis par des autorités de certification.
+# LOCALIZATION NOTE (certErrorMitM2): %S is brandShortName
+certErrorMitM2=%S est soutenu par Mozilla, une organisation à but non lucratif qui gère un magasin d’autorité de certification (CA) entièrement ouvert. Ce magasin de CA aide à garantir que les autorités de certification respectent de bonnes pratiques de sécurité pour protéger les utilisateurs.
+# LOCALIZATION NOTE (certErrorMitM3): %S is brandShortName
+certErrorMitM3=%S utilise le magasin d’autorités de certification Mozilla pour vérifier qu’une connexion est sécurisée, plutôt que des certificats fournis par le système d’exploitation de l’utilisateur. Ainsi, si un programme antivirus ou un réseau intercepte une connexion avec un certificat de sécurité émis par une autorité de certification ne figurant pas dans le magasin d’autorité de certification Mozilla, la connexion est considérée comme non sécurisée.
+
+certErrorSymantecDistrustAdministrator=Vous pouvez informer l’administrateur du site web de ce problème.
+
+# LOCALIZATION NOTE (certErrorCodePrefix3): %S is replaced by the error code.
+certErrorCodePrefix3=Code d’erreur : %S
+
+P12DefaultNickname=Certificat importé
+CertUnknown=Inconnu
+CertNoEmailAddress=(pas d’adresse e-mail)
+CaCertExists=Ce certificat est déjà installé en tant qu’autorité de certification.
+NotACACert=Ceci n’est pas un certificat d’autorité de certification et ne peut donc être importé dans la liste des autorités de certification.
+UserCertIgnoredNoPrivateKey=Ce certificat personnel ne peut être installé car vous ne possédez pas la clé privée correspondante qui a été créée lorsque le certificat a été requis.
+UserCertImported=Votre certificat personnel a été installé. Vous devriez conserver une copie de sauvegarde de ce certificat.
+CertOrgUnknown=(Inconnu)
+CertNotStored=(Non stocké)
+CertExceptionPermanent=Permanente
+CertExceptionTemporary=Temporaire
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/pippki/pippki.properties b/thunderbird-l10n/fr/chrome/fr/locale/fr/pippki/pippki.properties
new file mode 100644
index 0000000000..747b5c063f
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/pippki/pippki.properties
@@ -0,0 +1,75 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# Download Cert dialog
+# LOCALIZATION NOTE(newCAMessage1):
+# %S is a string representative of the certificate being downloaded/imported.
+newCAMessage1=Voulez-vous faire confiance à « %S » pour les actions suivantes ?
+unnamedCA=Autorité de certification (pas de nom)
+
+# PKCS#12 file dialogs
+getPKCS12FilePasswordMessage=Veuillez saisir le mot de passe portable de sécurité protégeant ce certificat de sécurité et la clé privée :
+
+# Client auth
+clientAuthRemember=Se souvenir de cette décision
+# LOCALIZATION NOTE(clientAuthNickAndSerial): Represents a single cert when the
+# user is choosing from a list of certificates.
+# %1$S is the nickname of the cert.
+# %2$S is the serial number of the cert in AA:BB:CC hex format.
+clientAuthNickAndSerial=%1$S [%2$S]
+# LOCALIZATION NOTE(clientAuthHostnameAndPort):
+# %1$S is the hostname of the server.
+# %2$S is the port of the server.
+clientAuthHostnameAndPort=%1$S:%2$S
+# LOCALIZATION NOTE(clientAuthMessage1): %S is the Organization of the server
+# cert.
+clientAuthMessage1=Organisation : « %S »
+# LOCALIZATION NOTE(clientAuthMessage2): %S is the Organization of the issuer
+# cert of the server cert.
+clientAuthMessage2=Émis en tant que : « %S »
+# LOCALIZATION NOTE(clientAuthIssuedTo): %1$S is the Distinguished Name of the
+# currently selected client cert, such as "CN=John Doe,OU=Example" (without
+# quotes).
+clientAuthIssuedTo=Émis pour : %1$S
+# LOCALIZATION NOTE(clientAuthSerial): %1$S is the serial number of the selected
+# cert in AA:BB:CC hex format.
+clientAuthSerial=Numéro de série : %1$S
+# LOCALIZATION NOTE(clientAuthValidityPeriod):
+# %1$S is the already localized notBefore date of the selected cert.
+# %2$S is the already localized notAfter date of the selected cert.
+clientAuthValidityPeriod=Valide du %1$S au %2$S
+# LOCALIZATION NOTE(clientAuthKeyUsages): %1$S is a comma separated list of
+# already localized key usages the selected cert is valid for.
+clientAuthKeyUsages=Utilisations de la clé : %1$S
+# LOCALIZATION NOTE(clientAuthEmailAddresses): %1$S is a comma separated list of
+# e-mail addresses the selected cert is valid for.
+clientAuthEmailAddresses=Adresses e-mail : %1$S
+# LOCALIZATION NOTE(clientAuthIssuedBy): %1$S is the Distinguished Name of the
+# cert which issued the selected cert.
+clientAuthIssuedBy=Émis par : %1$S
+# LOCALIZATION NOTE(clientAuthStoredOn): %1$S is the name of the PKCS #11 token
+# the selected cert is stored on.
+clientAuthStoredOn=Stocké sur : %1$S
+
+# Page Info
+pageInfo_NoEncryption=Connexion non chiffrée
+pageInfo_Privacy_None1=Le site web %S ne prend pas en charge le chiffrement pour la page actuellement affichée.
+pageInfo_Privacy_None2=Les informations envoyées sur Internet sans chiffrement peuvent être vues par d’autres personnes durant leur transit.
+pageInfo_Privacy_None4=La page actuellement affichée n’a pas été chiffrée avant d’avoir été envoyée sur Internet.
+# LOCALIZATION NOTE (pageInfo_EncryptionWithBitsAndProtocol and pageInfo_BrokenEncryption):
+# %1$S is the name of the encryption standard,
+# %2$S is the key size of the cipher.
+# %3$S is protocol version like "SSL 3" or "TLS 1.2"
+pageInfo_EncryptionWithBitsAndProtocol=Connexion chiffrée (clés %1$S, %2$S bits, %3$S)
+pageInfo_BrokenEncryption=Chiffrement non fiable (clés %1$S, %2$S bits, %3$S)
+pageInfo_Privacy_Encrypted1=La page actuellement affichée a été chiffrée avant d’avoir été envoyée sur Internet.
+pageInfo_Privacy_Encrypted2=Le chiffrement rend très difficile aux personnes non autorisées la visualisation de la page durant son transit entre ordinateurs. Il est donc très improbable que quelqu’un puisse lire cette page durant son transit sur le réseau.
+pageInfo_MixedContent=Connexion partiellement chiffrée
+pageInfo_MixedContent2=Certaines parties de la page que vous visionnez n’ont pas été chiffrées avant d’être transmises sur Internet.
+pageInfo_WeakCipher=La connexion vers ce site possède un niveau de chiffrement trop bas et n’est pas privée. N’importe qui est en mesure d’afficher vos informations ou de modifier le comportement du site web.
+pageInfo_CertificateTransparency_Compliant=Ce site web respecte la politique de transparence du certificat.
+
+# Token Manager
+password_not_set=(non défini)
+enable_fips=Activer FIPS
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/fr/places/places.properties b/thunderbird-l10n/fr/chrome/fr/locale/fr/places/places.properties
new file mode 100644
index 0000000000..dd61ceaf20
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/fr/places/places.properties
@@ -0,0 +1,33 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+BookmarksMenuFolderTitle=Menu des marque-pages
+BookmarksToolbarFolderTitle=Barre personnelle
+OtherBookmarksFolderTitle=Autres marque-pages
+TagsFolderTitle=Étiquettes
+MobileBookmarksFolderTitle=Marque-pages de l’appareil mobile
+
+OrganizerQueryHistory=Historique
+OrganizerQueryDownloads=Téléchargements
+OrganizerQueryAllBookmarks=Tous les marque-pages
+
+# LOCALIZATION NOTE (dateName):
+# These are used to generate history containers when history is grouped by date
+finduri-AgeInDays-is-0=Aujourd’hui
+finduri-AgeInDays-is-1=Hier
+finduri-AgeInDays-is=Il y a %S jours
+finduri-AgeInDays-last-is=Les %S derniers jours
+finduri-AgeInDays-isgreater=Il y a plus de %S jours
+finduri-AgeInMonths-is-0=Ce mois-ci
+finduri-AgeInMonths-isgreater=Il y a plus de %S mois
+
+# LOCALIZATION NOTE (localFiles):
+# This is used to generate local files container when history is grouped by site
+localhost=(fichiers locaux)
+
+# LOCALIZATION NOTE
+# The string is used for showing file size of each backup in the "fileRestorePopup" popup
+# %1$S is the file size
+# %2$S is the file size unit
+backupFileSizeText=%1$S %2$S
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/pdfviewer/chrome.properties b/thunderbird-l10n/fr/chrome/fr/locale/pdfviewer/chrome.properties
new file mode 100644
index 0000000000..32a89aec51
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/pdfviewer/chrome.properties
@@ -0,0 +1,20 @@
+# Copyright 2012 Mozilla Foundation
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+# Chrome notification bar messages and buttons
+unsupported_feature=Il est possible que ce document PDF ne s’affiche pas correctement.
+unsupported_feature_forms=Ce document PDF contient des formulaires. Le remplissage de champs de formulaires n’est pas pris en charge.
+unsupported_feature_signatures=Ce document PDF contient des signatures numériques. La validation des signatures n’est pas prise en charge.
+open_with_different_viewer=Ouvrir avec une autre visionneuse PDF
+open_with_different_viewer.accessKey=o
diff --git a/thunderbird-l10n/fr/chrome/fr/locale/pdfviewer/viewer.properties b/thunderbird-l10n/fr/chrome/fr/locale/pdfviewer/viewer.properties
new file mode 100644
index 0000000000..c6722a403a
--- /dev/null
+++ b/thunderbird-l10n/fr/chrome/fr/locale/pdfviewer/viewer.properties
@@ -0,0 +1,302 @@
+# Copyright 2012 Mozilla Foundation
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+# Main toolbar buttons (tooltips and alt text for images)
+previous.title=Page précédente
+previous_label=Précédent
+next.title=Page suivante
+next_label=Suivant
+
+# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input.
+page.title=Page
+# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number
+# representing the total number of pages in the document.
+of_pages=sur {{pagesCount}}
+# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}"
+# will be replaced by a number representing the currently visible page,
+# respectively a number representing the total number of pages in the document.
+page_of_pages=({{pageNumber}} sur {{pagesCount}})
+
+zoom_out.title=Zoom arrière
+zoom_out_label=Zoom arrière
+zoom_in.title=Zoom avant
+zoom_in_label=Zoom avant
+zoom.title=Zoom
+presentation_mode.title=Basculer en mode présentation
+presentation_mode_label=Mode présentation
+open_file.title=Ouvrir le fichier
+open_file_label=Ouvrir le fichier
+print.title=Imprimer
+print_label=Imprimer
+save.title=Enregistrer
+save_label=Enregistrer
+# LOCALIZATION NOTE (download_button.title): used in Firefox for Android as a tooltip for the download button (“download” is a verb).
+download_button.title=Télécharger
+# LOCALIZATION NOTE (download_button_label): used in Firefox for Android as a label for the download button (“download” is a verb).
+# Length of the translation matters since we are in a mobile context, with limited screen estate.
+download_button_label=Télécharger
+bookmark1.title=Page courante (montrer l’adresse de la page courante)
+bookmark1_label=Page courante
+# LOCALIZATION NOTE (open_in_app.title): This string is used in Firefox for Android.
+open_in_app.title=Ouvrir dans une application
+# LOCALIZATION NOTE (open_in_app_label): This string is used in Firefox for Android. Length of the translation matters since we are in a mobile context, with limited screen estate.
+open_in_app_label=Ouvrir dans une application
+
+# Secondary toolbar and context menu
+tools.title=Outils
+tools_label=Outils
+first_page.title=Aller à la première page
+first_page_label=Aller à la première page
+last_page.title=Aller à la dernière page
+last_page_label=Aller à la dernière page
+page_rotate_cw.title=Rotation horaire
+page_rotate_cw_label=Rotation horaire
+page_rotate_ccw.title=Rotation antihoraire
+page_rotate_ccw_label=Rotation antihoraire
+
+cursor_text_select_tool.title=Activer l’outil de sélection de texte
+cursor_text_select_tool_label=Outil de sélection de texte
+cursor_hand_tool.title=Activer l’outil main
+cursor_hand_tool_label=Outil main
+
+scroll_page.title=Utiliser le défilement par page
+scroll_page_label=Défilement par page
+scroll_vertical.title=Utiliser le défilement vertical
+scroll_vertical_label=Défilement vertical
+scroll_horizontal.title=Utiliser le défilement horizontal
+scroll_horizontal_label=Défilement horizontal
+scroll_wrapped.title=Utiliser le défilement par bloc
+scroll_wrapped_label=Défilement par bloc
+
+spread_none.title=Ne pas afficher les pages deux à deux
+spread_none_label=Pas de double affichage
+spread_odd.title=Afficher les pages par deux, impaires à gauche
+spread_odd_label=Doubles pages, impaires à gauche
+spread_even.title=Afficher les pages par deux, paires à gauche
+spread_even_label=Doubles pages, paires à gauche
+
+# Document properties dialog box
+document_properties.title=Propriétés du document…
+document_properties_label=Propriétés du document…
+document_properties_file_name=Nom du fichier :
+document_properties_file_size=Taille du fichier :
+# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}"
+# will be replaced by the PDF file size in kilobytes, respectively in bytes.
+document_properties_kb={{size_kb}} Ko ({{size_b}} octets)
+# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}"
+# will be replaced by the PDF file size in megabytes, respectively in bytes.
+document_properties_mb={{size_mb}} Mo ({{size_b}} octets)
+document_properties_title=Titre :
+document_properties_author=Auteur :
+document_properties_subject=Sujet :
+document_properties_keywords=Mots-clés :
+document_properties_creation_date=Date de création :
+document_properties_modification_date=Modifié le :
+# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}"
+# will be replaced by the creation/modification date, and time, of the PDF file.
+document_properties_date_string={{date}} à {{time}}
+document_properties_creator=Créé par :
+document_properties_producer=Outil de conversion PDF :
+document_properties_version=Version PDF :
+document_properties_page_count=Nombre de pages :
+document_properties_page_size=Taille de la page :
+document_properties_page_size_unit_inches=in
+document_properties_page_size_unit_millimeters=mm
+document_properties_page_size_orientation_portrait=portrait
+document_properties_page_size_orientation_landscape=paysage
+document_properties_page_size_name_a3=A3
+document_properties_page_size_name_a4=A4
+document_properties_page_size_name_letter=lettre
+document_properties_page_size_name_legal=document juridique
+# LOCALIZATION NOTE (document_properties_page_size_dimension_string):
+# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by
+# the size, respectively their unit of measurement and orientation, of the (current) page.
+document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}})
+# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string):
+# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by
+# the size, respectively their unit of measurement, name, and orientation, of the (current) page.
+document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}})
+# LOCALIZATION NOTE (document_properties_linearized): The linearization status of
+# the document; usually called "Fast Web View" in English locales of Adobe software.
+document_properties_linearized=Affichage rapide des pages web :
+document_properties_linearized_yes=Oui
+document_properties_linearized_no=Non
+document_properties_close=Fermer
+
+print_progress_message=Préparation du document pour l’impression…
+# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by
+# a numerical per cent value.
+print_progress_percent={{progress}} %
+print_progress_close=Annuler
+
+# Tooltips and alt text for side panel toolbar buttons
+# (the _label strings are alt text for the buttons, the .title strings are
+# tooltips)
+toggle_sidebar.title=Afficher/Masquer le panneau latéral
+toggle_sidebar_notification2.title=Afficher/Masquer le panneau latéral (le document contient des signets/pièces jointes/calques)
+toggle_sidebar_label=Afficher/Masquer le panneau latéral
+document_outline.title=Afficher les signets du document (double-cliquer pour développer/réduire tous les éléments)
+document_outline_label=Signets du document
+attachments.title=Afficher les pièces jointes
+attachments_label=Pièces jointes
+layers.title=Afficher les calques (double-cliquer pour réinitialiser tous les calques à l’état par défaut)
+layers_label=Calques
+thumbs.title=Afficher les vignettes
+thumbs_label=Vignettes
+current_outline_item.title=Trouver l’élément de plan actuel
+current_outline_item_label=Élément de plan actuel
+findbar.title=Rechercher dans le document
+findbar_label=Rechercher
+
+additional_layers=Calques additionnels
+# LOCALIZATION NOTE (page_landmark): "{{page}}" will be replaced by the page number.
+page_landmark=Page {{page}}
+# Thumbnails panel item (tooltip and alt text for images)
+# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page
+# number.
+thumb_page_title=Page {{page}}
+# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page
+# number.
+thumb_page_canvas=Vignette de la page {{page}}
+
+# Find panel button title and messages
+find_input.title=Rechercher
+find_input.placeholder=Rechercher dans le document…
+find_previous.title=Trouver l’occurrence précédente de l’expression
+find_previous_label=Précédent
+find_next.title=Trouver la prochaine occurrence de l’expression
+find_next_label=Suivant
+find_highlight=Tout surligner
+find_match_case_label=Respecter la casse
+find_match_diacritics_label=Respecter les accents et diacritiques
+find_entire_word_label=Mots entiers
+find_reached_top=Haut de la page atteint, poursuite depuis la fin
+find_reached_bottom=Bas de la page atteint, poursuite au début
+# LOCALIZATION NOTE (find_match_count): The supported plural forms are
+# [one|two|few|many|other], with [other] as the default value.
+# "{{current}}" and "{{total}}" will be replaced by a number representing the
+# index of the currently active find result, respectively a number representing
+# the total number of matches in the document.
+find_match_count={[ plural(total) ]}
+find_match_count[one]=Occurrence {{current}} sur {{total}}
+find_match_count[two]=Occurrence {{current}} sur {{total}}
+find_match_count[few]=Occurrence {{current}} sur {{total}}
+find_match_count[many]=Occurrence {{current}} sur {{total}}
+find_match_count[other]=Occurrence {{current}} sur {{total}}
+# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are
+# [zero|one|two|few|many|other], with [other] as the default value.
+# "{{limit}}" will be replaced by a numerical value.
+find_match_count_limit={[ plural(limit) ]}
+find_match_count_limit[zero]=Plus de {{limit}} correspondances
+find_match_count_limit[one]=Plus de {{limit}} correspondance
+find_match_count_limit[two]=Plus de {{limit}} correspondances
+find_match_count_limit[few]=Plus de {{limit}} correspondances
+find_match_count_limit[many]=Plus de {{limit}} correspondances
+find_match_count_limit[other]=Plus de {{limit}} correspondances
+find_not_found=Expression non trouvée
+
+# Predefined zoom values
+page_scale_width=Pleine largeur
+page_scale_fit=Page entière
+page_scale_auto=Zoom automatique
+page_scale_actual=Taille réelle
+# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a
+# numerical scale value.
+page_scale_percent={{scale}} %
+
+# Loading indicator messages
+loading_error=Une erreur s’est produite lors du chargement du fichier PDF.
+invalid_file_error=Fichier PDF invalide ou corrompu.
+missing_file_error=Fichier PDF manquant.
+unexpected_response_error=Réponse inattendue du serveur.
+rendering_error=Une erreur s’est produite lors de l’affichage de la page.
+
+# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be
+# replaced by the modification date, and time, of the annotation.
+annotation_date_string={{date}} à {{time}}
+
+# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
+# "{{type}}" will be replaced with an annotation type from a list defined in
+# the PDF spec (32000-1:2008 Table 169 – Annotation types).
+# Some common types are e.g.: "Check", "Text", "Comment", "Note"
+text_annotation_type.alt=[Annotation {{type}}]
+password_label=Veuillez saisir le mot de passe pour ouvrir ce fichier PDF.
+password_invalid=Mot de passe incorrect. Veuillez réessayer.
+password_ok=OK
+password_cancel=Annuler
+
+printing_not_supported=Attention : l’impression n’est pas totalement prise en charge par ce navigateur.
+printing_not_ready=Attention : le PDF n’est pas entièrement chargé pour pouvoir l’imprimer.
+web_fonts_disabled=Les polices web sont désactivées : impossible d’utiliser les polices intégrées au PDF.
+
+# Editor
+editor_free_text2.title=Texte
+editor_free_text2_label=Texte
+editor_ink2.title=Dessiner
+editor_ink2_label=Dessiner
+
+editor_stamp1.title=Ajouter ou modifier des images
+editor_stamp1_label=Ajouter ou modifier des images
+
+free_text2_default_content=Commencer à écrire…
+
+# Editor Parameters
+editor_free_text_color=Couleur
+editor_free_text_size=Taille
+editor_ink_color=Couleur
+editor_ink_thickness=Épaisseur
+editor_ink_opacity=Opacité
+
+editor_stamp_add_image_label=Ajouter une image
+editor_stamp_add_image.title=Ajouter une image
+
+# Editor aria
+editor_free_text2_aria_label=Éditeur de texte
+editor_ink2_aria_label=Éditeur de dessin
+editor_ink_canvas_aria_label=Image créée par l’utilisateur·trice
+
+# Alt-text dialog
+# LOCALIZATION NOTE (editor_alt_text_button_label): Alternative text (alt text) helps
+# when people can't see the image.
+editor_alt_text_button_label=Texte alternatif
+editor_alt_text_edit_button_label=Modifier le texte alternatif
+editor_alt_text_dialog_label=Sélectionnez une option
+editor_alt_text_dialog_description=Le texte alternatif est utile lorsque des personnes ne peuvent pas voir l’image ou que l’image ne se charge pas.
+editor_alt_text_add_description_label=Ajouter une description
+editor_alt_text_add_description_description=Il est conseillé de rédiger une ou deux phrases décrivant le sujet, le cadre ou les actions.
+editor_alt_text_mark_decorative_label=Marquer comme décorative
+editor_alt_text_mark_decorative_description=Cette option est utilisée pour les images décoratives, comme les bordures ou les filigranes.
+editor_alt_text_cancel_button=Annuler
+editor_alt_text_save_button=Enregistrer
+editor_alt_text_decorative_tooltip=Marquée comme décorative
+# This is a placeholder for the alt text input area
+editor_alt_text_textarea.placeholder=Par exemple, « Un jeune homme est assis à une table pour prendre un repas »
+
+# Editor resizers
+# LOCALIZATION NOTE (editor_resizer_label_topLeft): This is used in an aria label to help to understand the role of the resizer.
+editor_resizer_label_topLeft=Coin supérieur gauche — redimensionner
+# LOCALIZATION NOTE (editor_resizer_label_topMiddle): This is used in an aria label to help to understand the role of the resizer.
+editor_resizer_label_topMiddle=Milieu haut — redimensionner
+# LOCALIZATION NOTE (editor_resizer_label_topRight): This is used in an aria label to help to understand the role of the resizer.
+editor_resizer_label_topRight=Coin supérieur droit — redimensionner
+# LOCALIZATION NOTE (editor_resizer_label_middleRight): This is used in an aria label to help to understand the role of the resizer.
+editor_resizer_label_middleRight=Milieu droit — redimensionner
+# LOCALIZATION NOTE (editor_resizer_label_bottomRight): This is used in an aria label to help to understand the role of the resizer.
+editor_resizer_label_bottomRight=Coin inférieur droit — redimensionner
+# LOCALIZATION NOTE (editor_resizer_label_bottomMiddle): This is used in an aria label to help to understand the role of the resizer.
+editor_resizer_label_bottomMiddle=Milieu bas — redimensionner
+# LOCALIZATION NOTE (editor_resizer_label_bottomLeft): This is used in an aria label to help to understand the role of the resizer.
+editor_resizer_label_bottomLeft=Coin inférieur gauche — redimensionner
+# LOCALIZATION NOTE (editor_resizer_label_middleLeft): This is used in an aria label to help to understand the role of the resizer.
+editor_resizer_label_middleLeft=Milieu gauche — redimensionner
diff --git a/thunderbird-l10n/fr/localization/fr/branding/brand.ftl b/thunderbird-l10n/fr/localization/fr/branding/brand.ftl
new file mode 100644
index 0000000000..82a8961c57
--- /dev/null
+++ b/thunderbird-l10n/fr/localization/fr/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 et les logos Thunderbird sont des marques de la Mozilla Foundation.
diff --git a/thunderbird-l10n/fr/localization/fr/browser/appExtensionFields.ftl b/thunderbird-l10n/fr/localization/fr/browser/appExtensionFields.ftl
new file mode 100644
index 0000000000..02517ef2e5
--- /dev/null
+++ b/thunderbird-l10n/fr/localization/fr/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 = Thème système — automatique
+extension-default-theme-description = Utiliser les paramètres du système pour les boutons, menus et fenêtres.
+
+extension-thunderbird-compact-light-name = Clair
+extension-thunderbird-compact-light-description = Un thème avec des couleurs claires.
+
+extension-thunderbird-compact-dark-name = Sombre
+extension-thunderbird-compact-dark-description = Un thème avec des couleurs sombres.
diff --git a/thunderbird-l10n/fr/localization/fr/browser/branding/brandings.ftl b/thunderbird-l10n/fr/localization/fr/browser/branding/brandings.ftl
new file mode 100644
index 0000000000..9ada8da73a
--- /dev/null
+++ b/thunderbird-l10n/fr/localization/fr/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/fr/localization/fr/browser/components/mozFiveStar.ftl b/thunderbird-l10n/fr/localization/fr/browser/components/mozFiveStar.ftl
new file mode 100644
index 0000000000..38d469bc20
--- /dev/null
+++ b/thunderbird-l10n/fr/localization/fr/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 = Noté { NUMBER($rating, maximumFractionDigits: 1) } sur 5
diff --git a/thunderbird-l10n/fr/localization/fr/browser/components/mozSupportLink.ftl b/thunderbird-l10n/fr/localization/fr/browser/components/mozSupportLink.ftl
new file mode 100644
index 0000000000..1a48a54b60
--- /dev/null
+++ b/thunderbird-l10n/fr/localization/fr/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 = En savoir plus
diff --git a/thunderbird-l10n/fr/localization/fr/calendar/calendar-context-menus.ftl b/thunderbird-l10n/fr/localization/fr/calendar/calendar-context-menus.ftl
new file mode 100644
index 0000000000..68e74d2799
--- /dev/null
+++ b/thunderbird-l10n/fr/localization/fr/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 = Synchroniser
+ .accesskey = S
+calendar-item-context-menu-modify-menuitem =
+ .label = Modifier
+ .accesskey = M
diff --git a/thunderbird-l10n/fr/localization/fr/calendar/calendar-delete-prompt.ftl b/thunderbird-l10n/fr/localization/fr/calendar/calendar-delete-prompt.ftl
new file mode 100644
index 0000000000..a5ccb6eb4e
--- /dev/null
+++ b/thunderbird-l10n/fr/localization/fr/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] Supprimer l’évènement
+ *[other] Supprimer les évènements
+ }
+calendar-delete-event-prompt-message =
+ { $count ->
+ [one] Voulez-vous vraiment supprimer cet évènement ?
+ *[other] Voulez-vous vraiment supprimer ces { $count } évènements ?
+ }
+calendar-delete-task-prompt-title =
+ { $count ->
+ [one] Supprimer la tâche
+ *[other] Supprimer les tâches
+ }
+calendar-delete-task-prompt-message =
+ { $count ->
+ [one] Voulez-vous vraiment supprimer cette tâche ?
+ *[other] Voulez-vous vraiment supprimer ces { $count } tâches ?
+ }
+calendar-delete-item-prompt-title =
+ { $count ->
+ [one] Supprimer l’élément
+ *[other] Supprimer les éléments
+ }
+calendar-delete-item-prompt-message =
+ { $count ->
+ [one] Voulez-vous vraiment supprimer cet élément ?
+ *[other] Voulez-vous vraiment supprimer ces { $count } éléments ?
+ }
+calendar-delete-prompt-disable-message = Ne plus demander à l’avenir.
diff --git a/thunderbird-l10n/fr/localization/fr/calendar/calendar-editable-item.ftl b/thunderbird-l10n/fr/localization/fr/calendar/calendar-editable-item.ftl
new file mode 100644
index 0000000000..5941140353
--- /dev/null
+++ b/thunderbird-l10n/fr/localization/fr/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 = Confidentialité : évènement privé
+calendar-editable-item-privacy-icon-confidential =
+ .alt = Confidentialité : n’afficher que la date et l’heure
+calendar-editable-item-recurrence =
+ .alt = Récurrent
+calendar-editable-item-recurrence-exception =
+ .alt = Exception de récurrence
+calendar-editable-item-todo-icon-task =
+ .alt = Tâche
+calendar-editable-item-todo-icon-completed-task =
+ .alt = Tâche achevée
+calendar-editable-item-multiday-event-icon-start =
+ .alt = Début de l’évènement sur plusieurs jours
+calendar-editable-item-multiday-event-icon-continue =
+ .alt = L’évènement se poursuit sur plusieurs jours
+calendar-editable-item-multiday-event-icon-end =
+ .alt = Fin de l’évènement sur plusieurs jours
+calendar-editable-item-reminder-icon-alarm =
+ .alt = Une alerte de rappel est programmée
+calendar-editable-item-reminder-icon-suppressed-alarm =
+ .alt = Une alerte de rappel est programmée mais est actuellement supprimée
+calendar-editable-item-reminder-icon-email =
+ .alt = Un e-mail de rappel est programmé
+calendar-editable-item-reminder-icon-audio =
+ .alt = Une alerte audio de rappel est programmée
diff --git a/thunderbird-l10n/fr/localization/fr/calendar/calendar-event-dialog-reminder.ftl b/thunderbird-l10n/fr/localization/fr/calendar/calendar-event-dialog-reminder.ftl
new file mode 100644
index 0000000000..8d14e7bf0a
--- /dev/null
+++ b/thunderbird-l10n/fr/localization/fr/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 = Afficher une alerte
+calendar-event-reminder-icon-email =
+ .alt = Envoyer un e-mail
+calendar-event-reminder-icon-audio =
+ .alt = Lire une alerte audio
diff --git a/thunderbird-l10n/fr/localization/fr/calendar/calendar-event-listing.ftl b/thunderbird-l10n/fr/localization/fr/calendar/calendar-event-listing.ftl
new file mode 100644
index 0000000000..41dc96ab26
--- /dev/null
+++ b/thunderbird-l10n/fr/localization/fr/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 = Fermer la liste de recherche d’évènements et la liste des évènements
+
+## Listing columns
+
+calendar-event-listing-column-calendar-name =
+ .label = Nom de l’agenda
+ .tooltiptext = Trier par nom de l’agenda
+calendar-event-listing-column-category =
+ .label = Catégorie
+ .tooltiptext = Trier par catégorie
+# 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 = Terminé
+ .tooltiptext = Trier par échéance
+calendar-event-listing-column-completed-date =
+ .label = Achevé
+ .tooltiptext = Trier par achèvement
+calendar-event-listing-column-due-date =
+ .label = Prévu
+ .tooltiptext = Trier par date de fin prévue
+calendar-event-listing-column-end-date =
+ .label = Fin
+ .tooltiptext = Trier par date de fin
+calendar-event-listing-column-location =
+ .label = Lieu
+ .tooltiptext = Trier par lieu
+calendar-event-listing-column-percent-complete =
+ .label = Progression
+ .tooltiptext = Trier par progression
+calendar-event-listing-column-priority =
+ .label = Priorité
+ .tooltiptext = Trier par priorité
+calendar-event-listing-column-start-date =
+ .label = Début
+ .tooltiptext = Trier par date de début
+calendar-event-listing-column-status =
+ .label = État
+ .tooltiptext = Trier par état
+calendar-event-listing-column-time-until-due =
+ .label = Terminé dans
+ .tooltiptext = Trier par temps restant
+calendar-event-listing-column-title =
+ .label = Titre
+ .tooltiptext = Trier par titre
+
+## Interval dropdown options
+
+calendar-event-listing-interval-calendar-month =
+ .label = Évènements du mois en cours
+calendar-event-listing-interval-current-view =
+ .label = Évènements dans la vue courante
+calendar-event-listing-interval-next-7-days =
+ .label = Évènements des 7 prochains jours
+calendar-event-listing-interval-next-14-days =
+ .label = Évènements des 14 prochains jours
+calendar-event-listing-interval-next-31-days =
+ .label = Évènements des 31 prochains jours
+calendar-event-listing-interval-next-6-months =
+ .label = Évènements des 6 prochains mois
+calendar-event-listing-interval-next-12-months =
+ .label = Évènements des 12 prochains mois
+calendar-event-listing-interval-selected-day =
+ .label = Jour courant
+calendar-event-listing-interval-today =
+ .label = Évènements du jour
diff --git a/thunderbird-l10n/fr/localization/fr/calendar/calendar-ics-file-dialog.ftl b/thunderbird-l10n/fr/localization/fr/calendar/calendar-ics-file-dialog.ftl
new file mode 100644
index 0000000000..fc0b054cc1
--- /dev/null
+++ b/thunderbird-l10n/fr/localization/fr/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 = Importer des évènements et des tâches dans un agenda
+calendar-ics-file-window-title = Importer des évènements et des tâches dans un agenda
+calendar-ics-file-dialog-import-event-button-label = Importer un évènement
+calendar-ics-file-dialog-import-task-button-label = Importer une tâche
+calendar-ics-file-dialog-2 =
+ .buttonlabelaccept = Tout importer
+calendar-ics-file-accept-button-ok-label = OK
+calendar-ics-file-cancel-button-close-label = Fermer
+calendar-ics-file-dialog-message-2 = Importer depuis un fichier :
+calendar-ics-file-dialog-calendar-menu-label = Importer dans l’agenda :
+calendar-ics-file-dialog-items-loading-message =
+ .value = Chargement des éléments…
+calendar-ics-file-dialog-search-input =
+ .placeholder = Filtrer les éléments…
+calendar-ics-file-dialog-sort-start-ascending =
+ .label = Trier par date de début (du premier au dernier)
+calendar-ics-file-dialog-sort-start-descending =
+ .label = Trier par date de début (du dernier au premier)
+# "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 = Trier par titre (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 = Trier par titre (Z > A)
+calendar-ics-file-dialog-progress-message = Importation…
+calendar-ics-file-import-success = Importation réussie !
+calendar-ics-file-import-error = Une erreur s’est produite et l’importation a échoué.
+calendar-ics-file-import-complete = Importation terminée.
+calendar-ics-file-import-duplicates =
+ { $duplicatesCount ->
+ [one] Un élément a été ignoré car il existe déjà dans l’agenda de destination.
+ *[other] { $duplicatesCount } éléments ont été ignorés car ils existent déjà dans l’agenda de destination.
+ }
+calendar-ics-file-import-errors =
+ { $errorsCount ->
+ [one] Un élément n’a pas été importé. Consultez la console d’erreurs pour plus de détails.
+ *[other] { $errorsCount } éléments n’ont pas été importés. Consultez la console d’erreurs pour plus de détails.
+ }
+calendar-ics-file-dialog-no-calendars = Il n’y a aucun agenda susceptible d’importer des évènements ou des tâches.
diff --git a/thunderbird-l10n/fr/localization/fr/calendar/calendar-invitation-panel.ftl b/thunderbird-l10n/fr/localization/fr/calendar/calendar-invitation-panel.ftl
new file mode 100644
index 0000000000..24cff48d50
--- /dev/null
+++ b/thunderbird-l10n/fr/localization/fr/calendar/calendar-invitation-panel.ftl
@@ -0,0 +1,115 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# Variables:
+# $organizer (String) - The participant that created the original invitation.
+calendar-invitation-panel-intro = { $organizer } vous a invité à :
+calendar-invitation-panel-status-new = Vous avez reçu une invitation pour cet évènement.
+calendar-invitation-panel-status-processed = Cet évènement a déjà été ajouté à votre agenda.
+calendar-invitation-panel-status-updateminor = Ce message contient une mise à jour pour cet évènement.
+calendar-invitation-panel-status-updatemajor = Ce message contient une mise à jour pour cet évènement. Vous devez reconfirmer votre présence.
+calendar-invitation-panel-status-cancelled = Ce message contient une annulation pour cet évènement.
+calendar-invitation-panel-status-cancelled-notfound = Ce message contient une annulation pour un évènement introuvable dans votre agenda.
+# Variables:
+# $organizer (String) - The participant that cancelled the invitation.
+calendar-invitation-panel-intro-cancel = { $organizer } a annulé :
+# Variables:
+# $summary (String) - A short summary or title of the event.
+calendar-invitation-panel-title = { $summary }
+calendar-invitation-panel-action-button = Enregistrer
+calendar-invitation-panel-view-button = Afficher
+calendar-invitation-panel-update-button = Mettre à jour
+calendar-invitation-panel-delete-button = Supprimer
+calendar-invitation-panel-accept-button = Oui
+calendar-invitation-panel-decline-button = Non
+calendar-invitation-panel-tentative-button = Peut-être
+calendar-invitation-panel-reply-status = * Vous n’avez pas encore décidé ou répondu
+calendar-invitation-panel-more-button = Plus
+calendar-invitation-panel-menu-item-save =
+ .label = Enregistrer dans l’agenda
+calendar-invitation-panel-menu-item-save-copy =
+ .label = Enregistrer une copie
+calendar-invitation-panel-menu-item-toggle-changes =
+ .label = Afficher les modifications
+calendar-invitation-panel-prop-title-when = Quand :
+calendar-invitation-panel-prop-title-location = Lieu :
+# Variables:
+# $dayOfWeek (String) - The day of the week for a given date.
+# $date (String) - The date example: Tuesday, February 24, 2022.
+calendar-invitation-datetime-date = { $dayOfWeek }, { $date }
+# Variables:
+# $time (String) - The time part of a datetime using the "short" timeStyle.
+# $timezone (String) - The timezone info for the datetime.
+calendar-invitation-datetime-time = { $time } ({ $timezone })
+# 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 = { $startDay } { $startMonth } { $startYear } - { $endDay } { $endMonth } { $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 = { $startDay } - { $endDay } { $month } { $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 = { $startDay } { $startMonth } - { $endDay } { $endMonth } { $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 = Répétition :
+calendar-invitation-panel-prop-title-attendees = Participants :
+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 } oui
+# Variables:
+# $count (Number) - The number of attendees with the "DECLINED" participation status.
+calendar-invitation-panel-partstat-declined = { $count } non
+# Variables:
+# $count (Number) - The number of attendees with the "TENTATIVE" participation status.
+calendar-invitation-panel-partstat-tentative = { $count } peut-être
+# Variables:
+# $count (Number) - The number of attendees with the "NEEDS-ACTION" participation status.
+calendar-invitation-panel-partstat-needs-action = { $count } en attente
+# Variables:
+# $count (Number) - The total number of attendees.
+calendar-invitation-panel-partstat-total = { $count } participants
+calendar-invitation-panel-prop-title-attachments = Pièces jointes :
+calendar-invitation-change-indicator-removed = Supprimé
+calendar-invitation-change-indicator-added = Nouveau
+calendar-invitation-change-indicator-modified = Modifié
diff --git a/thunderbird-l10n/fr/localization/fr/calendar/calendar-invitations-dialog.ftl b/thunderbird-l10n/fr/localization/fr/calendar/calendar-invitations-dialog.ftl
new file mode 100644
index 0000000000..91c9d61661
--- /dev/null
+++ b/thunderbird-l10n/fr/localization/fr/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 = Actuellement acceptée
+calendar-invitation-current-participation-status-icon-declined =
+ .alt = Actuellement refusée
+calendar-invitation-current-participation-status-icon-needs-action =
+ .alt = Actuellement ni acceptée ni refusée
diff --git a/thunderbird-l10n/fr/localization/fr/calendar/calendar-itip-identity-dialog.ftl b/thunderbird-l10n/fr/localization/fr/calendar/calendar-itip-identity-dialog.ftl
new file mode 100644
index 0000000000..65dd6c7c67
--- /dev/null
+++ b/thunderbird-l10n/fr/localization/fr/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 = Vous vous invitez ?
+calendar-itip-identity-warning = Vous n’êtes pas encore sur la liste des invités.
+calendar-itip-identity-label = Répondre en tant que :
+calendar-itip-identity-label-none = Associer cet événement à :
diff --git a/thunderbird-l10n/fr/localization/fr/calendar/calendar-print.ftl b/thunderbird-l10n/fr/localization/fr/calendar/calendar-print.ftl
new file mode 100644
index 0000000000..ebf2f66433
--- /dev/null
+++ b/thunderbird-l10n/fr/localization/fr/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 = Disposition
+calendar-print-layout-list = Liste
+calendar-print-layout-month-grid = Grille mensuelle
+calendar-print-layout-week-planner = Grille hebdomadaire
+calendar-print-filter-label = Plage à imprimer
+calendar-print-filter-events = Évènements
+calendar-print-filter-tasks = Tâches
+calendar-print-filter-completedtasks = Tâches terminées
+calendar-print-filter-taskswithnoduedate = Tâches sans date d’échéance
+calendar-print-range-from = De
+calendar-print-range-to = À
+calendar-print-back-button = Retour
+calendar-print-next-button = Suivant
diff --git a/thunderbird-l10n/fr/localization/fr/calendar/calendar-recurrence-dialog.ftl b/thunderbird-l10n/fr/localization/fr/calendar/calendar-recurrence-dialog.ftl
new file mode 100644
index 0000000000..ece4c1a9c5
--- /dev/null
+++ b/thunderbird-l10n/fr/localization/fr/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 = Aperçu
+calendar-recurrence-next = Mois suivant
+calendar-recurrence-previous = Mois précédent
+calendar-recurrence-today = Aujourd’hui
diff --git a/thunderbird-l10n/fr/localization/fr/calendar/calendar-summary-dialog.ftl b/thunderbird-l10n/fr/localization/fr/calendar/calendar-summary-dialog.ftl
new file mode 100644
index 0000000000..1a3446ff9c
--- /dev/null
+++ b/thunderbird-l10n/fr/localization/fr/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 = Modifier
+ .accesskey = M
+calendar-summary-dialog-edit-menu-button =
+ .label = Modifier
+edit-button-context-menu-this-occurrence =
+ .label = Modifier uniquement cette occurrence
+ .accesskey = o
+edit-button-context-menu-all-occurrences =
+ .label = Modifier toutes les occurrences
+ .accesskey = t
+description-context-menu-copy-link-text =
+ .label = Copier le texte du lien
diff --git a/thunderbird-l10n/fr/localization/fr/calendar/calendar-uri-redirect-dialog.ftl b/thunderbird-l10n/fr/localization/fr/calendar/calendar-uri-redirect-dialog.ftl
new file mode 100644
index 0000000000..332aafd30d
--- /dev/null
+++ b/thunderbird-l10n/fr/localization/fr/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 = Redirection de l’adresse d’un agenda
+calendar-uri-redirect-window-title = Redirection de l’adresse d’un agenda
+calendar-uri-redirect-description =
+ Le serveur redirige l’adresse (URI) de l’agenda « { $calendarName } ».
+ Accepter la redirection et commencer à utiliser la nouvelle adresse de cet agenda ?
+calendar-uri-redirect-original-uri-label = Adresse actuelle :
+calendar-uri-redirect-target-uri-label = Redirection vers :
diff --git a/thunderbird-l10n/fr/localization/fr/calendar/calendar-widgets.ftl b/thunderbird-l10n/fr/localization/fr/calendar/calendar-widgets.ftl
new file mode 100644
index 0000000000..a813485c1a
--- /dev/null
+++ b/thunderbird-l10n/fr/localization/fr/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 = Tous les agendas sont actuellement désactivés. Activez un agenda existant ou ajoutez-en un nouveau pour créer et modifier des évènements.
+calendar-deactivated-notification-tasks = Tous les agendas sont actuellement désactivés. Activez un agenda existant ou ajoutez-en un nouveau pour créer et modifier des tâches.
+calendar-notifications-label = Afficher les notifications pour les évènements à venir
+calendar-add-notification-button =
+ .label = Ajouter une notification
+
+## Side panel
+
+calendar-list-header = Agendas
+# Variables:
+# $calendarName (String) - Calendar name as given by the user
+calendar-no-reminders-tooltip =
+ .title = L’agenda { $calendarName } a été mis en sourdine.
+calendar-enable-button = Activer
+# Variables:
+# $calendarName (String) - Calendar name as given by the user
+calendar-list-item-context-button =
+ .title = Options de l’agenda { $calendarName }
+calendar-import-new-calendar = Nouvel agenda…
+ .title = Créer ou s’abonner à un nouvel agenda
+calendar-refresh-calendars =
+ .title = Actualiser tous les agendas et synchroniser les changements
+calendar-new-event-primary-button = Nouvel évènement
+calendar-new-task-primary-button = Nouvelle tâche
+
+## Calendar navigation
+
+calendar-nav-button-prev-tooltip-day =
+ .title = Jour précédent
+ .accesskey = r
+calendar-nav-button-prev-tooltip-week =
+ .title = Semaine précédente
+ .accesskey = r
+calendar-nav-button-prev-tooltip-multiweek =
+ .title = Semaine précédente
+ .accesskey = p
+calendar-nav-button-prev-tooltip-month =
+ .title = Mois précédent
+ .accesskey = r
+calendar-nav-button-prev-tooltip-year =
+ .title = Année précédente
+ .accesskey = e
+calendar-nav-button-next-tooltip-day =
+ .title = Jour suivant
+ .accesskey = s
+calendar-nav-button-next-tooltip-week =
+ .title = Semaine suivante
+ .accesskey = s
+calendar-nav-button-next-tooltip-multiweek =
+ .title = Semaine suivante
+ .accesskey = s
+calendar-nav-button-next-tooltip-month =
+ .title = Mois suivant
+ .accesskey = s
+calendar-nav-button-next-tooltip-year =
+ .title = Année suivante
+ .accesskey = v
+calendar-today-button-tooltip =
+ .title = Aller à aujourd’hui
+calendar-view-toggle-day = Journée
+ .title = Afficher la journée
+calendar-view-toggle-week = Semaine
+ .title = Afficher la semaine
+calendar-view-toggle-multiweek = Multisemaine
+ .title = Afficher plusieurs semaines
+calendar-view-toggle-month =   Mois  
+ .title = Afficher le mois
+
+## Menu on calendar control bar
+
+calendar-control-bar-menu-button =
+ .title = Options de mise en page de l’agenda
+calendar-find-events-menu-option =
+ .label = Panneau de recherche d’évènements
+calendar-hide-weekends-option =
+ .label = Semaine de travail seulement
+calendar-define-workweek-option =
+ .label = Définir les jours de la semaine de travail
+calendar-show-tasks-calendar-option =
+ .label = Afficher les tâches dans l’agenda
+
+## Calendar Context Menu
+
+calendar-context-menu-previous-day =
+ .label = Jour précédent
+ .accesskey = o
+calendar-context-menu-previous-week =
+ .label = Semaine précédente
+ .accesskey = e
+calendar-context-menu-previous-multiweek =
+ .label = Semaine précédente
+ .accesskey = e
+calendar-context-menu-previous-month =
+ .label = Mois précédent
+ .accesskey = r
+calendar-context-menu-next-day =
+ .label = Jour suivant
+ .accesskey = J
+calendar-context-menu-next-week =
+ .label = Semaine suivante
+ .accesskey = S
+calendar-context-menu-next-multiweek =
+ .label = Semaine suivante
+ .accesskey = S
+calendar-context-menu-next-month =
+ .label = Mois suivant
+ .accesskey = M
diff --git a/thunderbird-l10n/fr/localization/fr/calendar/category-dialog.ftl b/thunderbird-l10n/fr/localization/fr/calendar/category-dialog.ftl
new file mode 100644
index 0000000000..15a47806ed
--- /dev/null
+++ b/thunderbird-l10n/fr/localization/fr/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 = Nom
+category-color-label =
+ .label = Utiliser une couleur
diff --git a/thunderbird-l10n/fr/localization/fr/calendar/preferences.ftl b/thunderbird-l10n/fr/localization/fr/calendar/preferences.ftl
new file mode 100644
index 0000000000..c548b48e57
--- /dev/null
+++ b/thunderbird-l10n/fr/localization/fr/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 = Agenda
+calendar-title-reminder = Rappels
+calendar-title-notification = Notifications
+calendar-title-category = Catégories
+dateformat-label =
+ .value = Format de la date :
+ .accesskey = F
+# $date (String) - the formatted example date
+dateformat-long =
+ .label = Long : { $date }
+# $date (String) - the formatted example date
+dateformat-short =
+ .label = Court : { $date }
+use-system-timezone-radio-button =
+ .label = Utiliser le fuseau horaire du système
+set-timezone-manually-radio-button =
+ .label = Définir manuellement le fuseau horaire
+timezone-label =
+ .value = Fuseau horaire :
+weekstart-label =
+ .value = Premier jour de la semaine :
+ .accesskey = P
+day-1-name =
+ .label = Dimanche
+day-2-name =
+ .label = Lundi
+day-3-name =
+ .label = Mardi
+day-4-name =
+ .label = Mercredi
+day-5-name =
+ .label = Jeudi
+day-6-name =
+ .label = Vendredi
+day-7-name =
+ .label = Samedi
+show-weeknumber-label =
+ .label = Afficher n° de semaine dans les vues et le « Mois réduit »
+ .accesskey = A
+workdays-label =
+ .value = Jours ouvrés :
+day-1-checkbox =
+ .label = Dim
+ .accesskey = D
+day-2-checkbox =
+ .label = Lun
+ .accesskey = L
+day-3-checkbox =
+ .label = Mar
+ .accesskey = M
+day-4-checkbox =
+ .label = Mer
+ .accesskey = e
+day-5-checkbox =
+ .label = Jeu
+ .accesskey = J
+day-6-checkbox =
+ .label = Ven
+ .accesskey = V
+day-7-checkbox =
+ .label = Sam
+ .accesskey = S
+dayweek-legend = Vues quotidienne et hebdomadaire
+visible-hours-label =
+ .value = Afficher :
+ .accesskey = h
+visible-hours-end-label =
+ .value = heures à la fois
+day-start-label =
+ .value = La journée commence à :
+ .accesskey = c
+day-end-label =
+ .value = La journée se termine à :
+ .accesskey = u
+midnight-label =
+ .label = Minuit
+noon-label =
+ .label = Midi
+location-checkbox =
+ .label = Afficher la localisation
+ .accesskey = e
+multiweek-legend = Vue multisemaine
+number-of-weeks-label =
+ .value = Nombre total de semaines par défaut :
+ .accesskey = N
+week-0-label =
+ .label = Aucune
+week-1-label =
+ .label = 1 semaine
+week-2-label =
+ .label = 2 semaines
+week-3-label =
+ .label = 3 semaines
+week-4-label =
+ .label = 4 semaines
+week-5-label =
+ .label = 5 semaines
+week-6-label =
+ .label = 6 semaines
+previous-weeks-label =
+ .value = Nombre de semaines passées :
+ .accesskey = o
+todaypane-legend = Panneau « Aujourd’hui »
+agenda-days =
+ .value = L’agenda indique :
+ .accesskey = a
+event-task-legend = Évènements et tâches
+default-length-label =
+ .value = Durée par défaut des évènements et tâches :
+ .accesskey = u
+task-start-label =
+ .value = Date de début :
+task-start-1-label =
+ .label = Aucune
+task-start-2-label =
+ .label = Début de journée
+task-start-3-label =
+ .label = Fin de journée
+task-start-4-label =
+ .label = Demain
+task-start-5-label =
+ .label = La semaine prochaine
+task-start-6-label =
+ .label = Par rapport à l’heure actuelle
+task-start-7-label =
+ .label = Par rapport au début
+task-start-8-label =
+ .label = Par rapport à l’heure suivante
+task-due-label =
+ .value = Fin prévue :
+edit-intab-label =
+ .label = Modifier les évènements et les tâches dans un onglet plutôt que dans une fenêtre de dialogue.
+ .accesskey = t
+prompt-delete-label =
+ .label = Demander avant de supprimer des évènements et des tâches.
+ .accesskey = D
+accessibility-legend = Accessibilité
+accessibility-colors-label =
+ .label = Optimiser les couleurs pour l’accessibilité
+ .accesskey = O
+reminder-legend = Quand survient une alarme :
+reminder-play-checkbox =
+ .label = Jouer un son
+ .accesskey = J
+reminder-play-alarm-button =
+ .label = Lire
+ .accesskey = L
+reminder-default-sound-label =
+ .label = Utiliser le son par défaut
+ .accesskey = U
+reminder-custom-sound-label =
+ .label = Utiliser le fichier son suivant
+ .accesskey = U
+reminder-browse-sound-label =
+ .label = Parcourir…
+ .accesskey = P
+reminder-dialog-label =
+ .label = Afficher une boîte d’alarme
+ .accesskey = b
+missed-reminder-label =
+ .label = Afficher les rappels manqués pour les agendas modifiables
+ .accesskey = m
+reminder-default-legend = Paramètres d’alarme par défaut
+default-snooze-label =
+ .value = Durée par défaut du report d’alarme :
+ .accesskey = D
+event-alarm-label =
+ .value = Paramètres d’alarme pour les évènements :
+ .accesskey = r
+alarm-on-label =
+ .label = Activée
+alarm-off-label =
+ .label = Désactivée
+task-alarm-label =
+ .value = Paramètres d’alarme pour les tâches :
+ .accesskey = e
+event-alarm-time-label =
+ .value = Temps de déclenchement d’une alarme avant un évènement :
+ .accesskey = T
+task-alarm-time-label =
+ .value = Temps de déclenchement d’une alarme avant une tâche :
+ .accesskey = s
+calendar-notifications-customize-label = Les notifications peuvent être personnalisées pour chaque agenda dans la fenêtre des propriétés de l’agenda.
+category-new-label = Nouvelle catégorie
+category-edit-label = Modifier la catégorie
+category-overwrite-title = Attention : nom en double
+category-overwrite = Une catégorie portant le même nom existe déjà. Voulez-vous la remplacer ?
+category-blank-warning = Vous devez saisir un nom de catégorie.
diff --git a/thunderbird-l10n/fr/localization/fr/chat/matrix.ftl b/thunderbird-l10n/fr/localization/fr/chat/matrix.ftl
new file mode 100644
index 0000000000..ecfce621a1
--- /dev/null
+++ b/thunderbird-l10n/fr/localization/fr/chat/matrix.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/.
+
+
+### Matrix Protocol strings
+
+
+## Conversation names when a room has no user readable name.
+
+room-name-empty = Conversation vide
+# Variables:
+# $oldName (String) - The previous name the conversation had before it was
+# removed.
+room-name-empty-had-name = Conversation vide (était { $oldName })
+# Variables:
+# $participant (String) - The name of one participant that isn't the user.
+# $otherParticipantsCount (Number) - The count of other participants apart from
+# the user and $participant.
+room-name-others =
+ { $otherParticipantsCount ->
+ [one] { $participant } et un autre
+ *[other] { $participant } et { $otherParticipantCount } autres
+ }
+# 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 } et un autre
+ *[other] { $participant } et { $otherParticipantCount } autres
+ }
diff --git a/thunderbird-l10n/fr/localization/fr/crashreporter/aboutcrashes.ftl b/thunderbird-l10n/fr/localization/fr/crashreporter/aboutcrashes.ftl
new file mode 100644
index 0000000000..a915b65528
--- /dev/null
+++ b/thunderbird-l10n/fr/localization/fr/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 = Rapports de plantage
+
+submit-all-button-label = Tout envoyer
+delete-button-label = Tout supprimer
+delete-confirm-title = Confirmation
+delete-unsubmitted-description = Cette action irréversible supprimera tous les rapports de plantage non envoyés.
+delete-submitted-description = Cela va supprimer la liste des rapports de plantage envoyés mais ne supprimera pas les données envoyées. Cette action est irréversible.
+
+crashes-unsubmitted-label = Rapports de plantage non envoyés
+id-heading = Identifiant du rapport
+date-crashed-heading = Date du plantage
+submit-crash-button-label = Envoyer
+# This text is used to replace the label of the crash submit button
+# if the crash submission fails.
+submit-crash-button-failure-label = Échec
+
+crashes-submitted-label = Rapports de plantage envoyés
+date-submitted-heading = Date d’envoi
+view-crash-button-label = Afficher
+
+no-reports-label = Aucun rapport de plantage n’a été envoyé.
+no-config-label = Cette application n’est pas configurée pour afficher les rapports de plantage. Vous devez définir la variable <code>breakpad.reportURL</code>.
diff --git a/thunderbird-l10n/fr/localization/fr/devtools/client/aboutdebugging.ftl b/thunderbird-l10n/fr/localization/fr/devtools/client/aboutdebugging.ftl
new file mode 100644
index 0000000000..c94c26485d
--- /dev/null
+++ b/thunderbird-l10n/fr/localization/fr/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 = Débogage - Configuration
+
+# 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 = Débogage - Exécution / { $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 = Ce { -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 = Configuration
+
+# Text displayed in the about:debugging sidebar when USB devices discovery is enabled.
+about-debugging-sidebar-usb-enabled = USB activé
+
+# 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 désactivé
+
+# Connection status (connected) for runtime items in the sidebar
+aboutdebugging-sidebar-runtime-connection-status-connected = Connecté
+# Connection status (disconnected) for runtime items in the sidebar
+aboutdebugging-sidebar-runtime-connection-status-disconnected = Déconnecté
+
+# Text displayed in the about:debugging sidebar when no device was found.
+about-debugging-sidebar-no-devices = Aucun appareil détecté
+
+# 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 = Connecter
+
+# Text displayed in buttons found in sidebar items when the runtime is connecting.
+about-debugging-sidebar-item-connect-button-connecting = Connexion…
+
+# Text displayed in buttons found in sidebar items when the connection failed.
+about-debugging-sidebar-item-connect-button-connection-failed = Échec de la connexion
+
+# 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 = Connexion encore en attente, vérifiez les messages sur le navigateur cible
+
+# Text displayed as connection error in sidebar item when the connection has timed out.
+about-debugging-sidebar-item-connect-button-connection-timeout = Délai de connexion dépassé
+
+# 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 = En attente du navigateur…
+
+# Text displayed in sidebar items for remote devices that have been disconnected from the
+# computer.
+about-debugging-sidebar-runtime-item-unplugged = Débranché
+
+# 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 = Assistance au débogage
+
+# 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 = Icône d’aide
+
+# 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 = Actualiser les appareils
+
+# Setup Page strings
+
+# Title of the Setup page.
+about-debugging-setup-title = Configuration
+
+# Introduction text in the Setup page to explain how to configure remote debugging.
+about-debugging-setup-intro = Configurez la méthode de connexion avec laquelle vous souhaitez déboguer à distance votre appareil.
+
+# Explanatory text in the Setup page about what the 'This Firefox' page is for
+about-debugging-setup-this-firefox2 = Utilisez <a>{ about-debugging-this-firefox-runtime-name }</a> pour déboguer des extensions et service workers sur cette version de { -brand-shorter-name }.
+
+# Title of the heading Connect section of the Setup page.
+about-debugging-setup-connect-heading = Connecter un appareil
+
+# 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 = L’activation téléchargera et installera les composants de débogage USB Android pour { -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 = Activer les appareils USB
+
+# Text of the button displayed in the USB section of the setup page when USB debugging is enabled.
+about-debugging-setup-usb-disable-button = Désactiver les appareils USB
+
+# Text of the button displayed in the USB section of the setup page while USB debugging
+# components are downloaded and installed.
+about-debugging-setup-usb-updating-button = Mise à jour…
+
+# USB section of the Setup page (USB status)
+about-debugging-setup-usb-status-enabled = Activé
+about-debugging-setup-usb-status-disabled = Désactivé
+about-debugging-setup-usb-status-updating = Mise à jour…
+
+# USB section step by step guide
+about-debugging-setup-usb-step-enable-dev-menu2 = Activez le menu Développeur sur votre appareil Android.
+
+# USB section step by step guide
+about-debugging-setup-usb-step-enable-debug2 = Activez le débogage USB dans le menu Développeur Android.
+
+# USB section step by step guide
+about-debugging-setup-usb-step-enable-debug-firefox2 = Activez le débogage USB dans Firefox sur l’appareil Android.
+
+# USB section step by step guide
+about-debugging-setup-usb-step-plug-device = Connectez l’appareil Android à votre ordinateur.
+
+# 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 = Des problèmes de connexion au périphérique USB ? <a>Résoudre les problèmes</a>
+
+# Network section of the Setup page
+about-debugging-setup-network =
+ .title = Emplacement réseau
+
+# 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 = Des problèmes de connexion via un emplacement réseau ? <a>Résoudre les problèmes</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 = Ajouter
+
+# Text to display when there are no locations to show.
+about-debugging-network-locations-empty-text = Aucun emplacement réseau n’a encore été ajouté.
+
+# 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 = Hôte
+
+# 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 = Supprimer
+
+# 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 = Hôte « { $host-value } » non valide. Le format attendu est « nomHôte:NuméroDePort ».
+
+# 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 = L’hôte « { $host-value } » est déjà enregistré
+
+# 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 = Extensions temporaires
+# Title of the extensions category.
+about-debugging-runtime-extensions =
+ .name = Extensions
+# Title of the tabs category.
+about-debugging-runtime-tabs =
+ .name = Onglets
+# Title of the service workers category.
+about-debugging-runtime-service-workers =
+ .name = Service workers
+# Title of the shared workers category.
+about-debugging-runtime-shared-workers =
+ .name = Workers partagés
+# Title of the other workers category.
+about-debugging-runtime-other-workers =
+ .name = Autres workers
+# Title of the processes category.
+about-debugging-runtime-processes =
+ .name = Processus
+
+# Label of the button opening the performance profiler panel in runtime pages for remote
+# runtimes.
+about-debugging-runtime-profile-button2 = Profiler les performances
+
+# 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 = La configuration de votre navigateur n’est pas compatible avec les Service Workers. <a>En savoir plus</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 = Le navigateur connecté dispose d’une ancienne version ({ $runtimeVersion }). La version minimale prise en charge est ({ $minVersion }). Il s’agit d’une configuration non prise en charge qui peut entraîner des problèmes avec les outils de développement. Veuillez mettre à jour le navigateur connecté. <a>Diagnostic de connexion</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 = Cette version de Firefox ne peut pas déboguer Firefox pour Android (68). Nous vous recommandons d’installer Firefox pour Android Nightly sur votre téléphone pour les tests. <a>Plus de détails</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 = Le navigateur connecté est plus récent ({ $runtimeVersion }, ID de compilation { $runtimeID }) que votre { -brand-shorter-name } ({ $localVersion }, ID de compilation { $localID }). C’est une configuration qui n’est pas prise en charge et qui peut faire échouer les outils de développement. Veuillez mettre à jour Firefox. <a>Diagnostic de connexion</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 = Se déconnecter
+
+# 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 = Activer l’invite de connexion
+
+# 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 = Désactiver l’invite de connexion
+
+# Title of a modal dialog displayed on remote runtime pages after clicking on the Profile Runtime button.
+about-debugging-profiler-dialog-title2 = Profileur
+
+# 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 = Réduire/Agrandir
+
+# 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 = Rien pour le moment.
+
+# 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 = Examiner
+
+# 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 = Charger un module complémentaire temporaire…
+
+# Text displayed when trying to install a temporary extension in the "This Firefox" page.
+about-debugging-tmp-extension-install-error = Une erreur s’est produite lors de l’installation du module complémentaire temporaire.
+
+# 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 = Actualiser
+
+# 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 = Supprimer
+
+# 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 = Arrêter le script d’arrière-plan
+
+# 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 = Sélectionnez un fichier manifest.json ou une archive .xpi/.zip
+
+# This string is displayed as a message about the add-on having a temporaryID.
+about-debugging-tmp-extension-temporary-id = Cette WebExtension dispose d’un identifiant temporaire. <a>En savoir plus</a>
+
+# Text displayed for extensions in "runtime" pages, before displaying a link the extension's
+# manifest URL.
+about-debugging-extension-manifest-url =
+ .label = URL du manifeste
+
+# Text displayed for extensions in "runtime" pages, before displaying the extension's uuid.
+# UUIDs look like b293e463-481e-5148-a487-5aaf7a130429
+about-debugging-extension-uuid =
+ .label = UUID interne
+
+# Text displayed for extensions (temporary extensions only) in "runtime" pages, before
+# displaying the location of the temporary extension.
+about-debugging-extension-location =
+ .label = Emplacement
+
+# 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 = Identifiant de l’extension
+
+# Text displayed for extensions in "runtime" pages, before displaying the status of the
+# extension background script.
+about-debugging-extension-backgroundscript =
+ .label = Script en arrière-plan
+
+# 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 = En cours d’exécution
+
+# Displayed for extension using a non-persistent background page when is currently stopped.
+about-debugging-extension-backgroundscript-status-stopped = Arrêté
+
+# 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 = Le Service Worker Push est actuellement désactivé pour le mode multiprocessus de { -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 = Le démarrage du Service Worker est actuellement désactivé pour le mode multiprocessus de { -brand-shorter-name }
+
+# This string is displayed as a label of the button that unregisters a service worker.
+about-debugging-worker-action-unregister = Désinscrire
+
+# Displayed for service workers in runtime pages that listen to Fetch events.
+about-debugging-worker-fetch-listening =
+ .label = Fetch
+ .value = Écoute d’évènements Fetch
+
+# Displayed for service workers in runtime pages that do not listen to Fetch events.
+about-debugging-worker-fetch-not-listening =
+ .label = Fetch
+ .value = Pas d’écoute d’évènements Fetch
+
+# Displayed for service workers in runtime pages that are currently running (service
+# worker instance is active).
+about-debugging-worker-status-running = Exécution
+
+# Displayed for service workers in runtime pages that are registered but stopped.
+about-debugging-worker-status-stopped = Arrêté
+
+# Displayed for service workers in runtime pages that are registering.
+about-debugging-worker-status-registering = Inscription en cours
+
+# Displayed for service workers in runtime pages, to label the scope of a worker
+about-debugging-worker-scope =
+ .label = Portée
+
+# Displayed for service workers in runtime pages, to label the push service endpoint (url)
+# of a worker
+about-debugging-worker-push-service =
+ .label = Service Push
+
+# Displayed as title of the inspect button when service worker debugging is disabled.
+about-debugging-worker-inspect-action-disabled =
+ .title = L’inspection du Service Worker est actuellement désactivée pour le mode multiprocessus de { -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 = L’onglet n’est pas complètement chargé et ne peut pas être inspecté
+
+# Displayed instead of the Main Process debug target when the preference
+# `devtools.browsertoolbox.fission` is true.
+about-debugging-multiprocess-toolbox-name = Boîte à outils multiprocessus
+
+# Description for the Multiprocess Toolbox target.
+about-debugging-multiprocess-toolbox-description = Processus principal et processus de contenu pour le navigateur cible
+
+# Alt text used for the close icon of message component (warnings, errors and notifications).
+about-debugging-message-close-icon =
+ .alt = Fermer le message
+
+# Label text used for the error details of message component.
+about-debugging-message-details-label-error = Détails de l’erreur
+
+# Label text used for the warning details of message component.
+about-debugging-message-details-label-warning = Détails de l’avertissement
+
+# Label text used for default state of details of message component.
+about-debugging-message-details-label = Détails
diff --git a/thunderbird-l10n/fr/localization/fr/devtools/client/accessibility.ftl b/thunderbird-l10n/fr/localization/fr/devtools/client/accessibility.ftl
new file mode 100644
index 0000000000..823efbe390
--- /dev/null
+++ b/thunderbird-l10n/fr/localization/fr/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 = En savoir plus
+
+accessibility-text-label-header = Noms et étiquettes au format texte
+
+accessibility-keyboard-header = Clavier
+
+## 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 = Initialisation…
+ .aria-valuetext = Initialisation…
+
+# 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] Vérification d’un nœud
+ *[other] Vérification de { $nodeCount } nœuds
+ }
+
+accessibility-progress-finishing = Dernière étape en cours…
+ .aria-valuetext = Dernière étape en cours…
+
+## Text entries that are used as text alternative for icons that depict accessibility issues.
+
+accessibility-warning =
+ .alt = Avertissement
+
+accessibility-fail =
+ .alt = Erreur
+
+accessibility-best-practices =
+ .alt = Bonnes pratiques
+
+## 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 = Utiliser l’attribut <code>alt</code> pour étiqueter les éléments <div>area</div> qui ont l’attribut <span>href</span>. <a>Pour en savoir plus</a>
+
+accessibility-text-label-issue-dialog = Les dialogues doivent être étiquetés. <a>En savoir plus</a>
+
+accessibility-text-label-issue-document-title = Les documents doivent avoir un élément <code>title</code>. <a>En savoir plus</a>
+
+accessibility-text-label-issue-embed = Le contenu intégré doit être étiqueté. <a>En savoir plus</a>
+
+accessibility-text-label-issue-figure = Les illustrations avec des légendes facultatives doivent être étiquetées. <a>En savoir plus</a>
+
+accessibility-text-label-issue-fieldset = Les éléments <code>fieldset</code> doivent être étiquetés. <a>En savoir plus</a>
+
+accessibility-text-label-issue-fieldset-legend2 = Utilisez un élément <code>legend</code> pour étiqueter un élément <span>fieldset</span>. <a>En savoir plus</a>
+
+accessibility-text-label-issue-form = Les éléments de formulaire doivent être étiquetés. <a>En savoir plus</a>
+
+accessibility-text-label-issue-form-visible = Les éléments de formulaire doivent avoir une étiquette de texte visible. <a>En savoir plus</a>
+
+accessibility-text-label-issue-frame = Les éléments <code>frame</code> doivent être étiquetés. <a>En savoir plus</a>
+
+accessibility-text-label-issue-glyph = Utilisez l’attribut <code>alt</code> pour étiqueter les éléments <span>mglyph</span>. <a>En savoir plus</a>
+
+accessibility-text-label-issue-heading = Les titres doivent être étiquetés. <a>En savoir plus</a>
+
+accessibility-text-label-issue-heading-content = Les titres doivent avoir un contenu textuel visible. <a>En savoir plus</a>
+
+accessibility-text-label-issue-iframe = Utilisez l’attribut <code>title</code> pour décrire le contenu d’un <span>iframe</span>. <a>En savoir plus</a>
+
+accessibility-text-label-issue-image = Le contenu avec des images doit être étiqueté. <a>En savoir plus</a>
+
+accessibility-text-label-issue-interactive = Les éléments interactifs doivent être étiquetés. <a>En savoir plus</a>
+
+accessibility-text-label-issue-optgroup-label2 = Utilisez un attribut <code>label</code> pour étiqueter un élément <span>optgroup</span>. <a>En savoir plus</a>
+
+accessibility-text-label-issue-toolbar = Les barres d’outils doivent être étiquetées lorsqu’il y a plus d’une barre d’outils. <a>En savoir plus</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 = Les éléments pouvant obtenir le focus doivent disposer d’une sémantique interactive. <a>En savoir plus</a>
+
+accessibility-keyboard-issue-tabindex = Évitez d’utiliser une valeur d’attribut <code>tabindex</code> supérieure à zéro. <a>En savoir plus</a>
+
+accessibility-keyboard-issue-action = Les éléments interactifs doivent pouvoir être activés à l’aide d’un clavier. <a>En savoir plus</a>
+
+accessibility-keyboard-issue-focusable = Les éléments interactifs doivent pouvoir obtenir le focus. <a>En savoir plus</a>
+
+accessibility-keyboard-issue-focus-visible = Un élément pouvant obtenir le focus pourrait ne pas avoir de style indiquant le focus. <a>En savoir plus</a>
+
+accessibility-keyboard-issue-mouse-only = Les éléments cliquables doivent pouvoir obtenir le focus et avoir une sémantique interactive. <a>En savoir plus</a>
diff --git a/thunderbird-l10n/fr/localization/fr/devtools/client/application.ftl b/thunderbird-l10n/fr/localization/fr/devtools/client/application.ftl
new file mode 100644
index 0000000000..9e1f8bee91
--- /dev/null
+++ b/thunderbird-l10n/fr/localization/fr/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 = Ouvrez <a>about:debugging</a> pour afficher les service workers des autres domaines
+
+# Text for the button to unregister a Service Worker. Displayed for active Service Workers.
+serviceworker-worker-unregister = Désinscrire
+
+# 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 = Déboguer
+ .title = Seuls les service workers en cours d’exécution peuvent être débogués
+
+# Alt text for the image icon displayed inside a debug link for a service worker.
+serviceworker-worker-inspect-icon =
+ .alt = Inspecter
+
+# 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 = Démarrer
+
+# 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 = Actualisation : <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 = En cours d’exécution
+
+# Service Worker status. A stopped service worker is registered but not currently active.
+serviceworker-worker-status-stopped = Arrêté
+
+# Text displayed when no service workers are visible for the current page.
+serviceworker-empty-intro2 = Aucun service worker trouvé
+
+# Link will open https://developer.mozilla.org/docs/Web/API/Service_Worker_API/Using_Service_Workers
+serviceworker-empty-intro-link = En savoir plus
+
+# 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 = Si la page actuelle est supposée inclure un service worker, vous pouvez rechercher des erreurs dans la <a>console</a> ou parcourir pas-à-pas l’inscription de votre service worker dans le <span>débogueur</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 = Afficher les service workers d’autres domaines
+
+# Header for the Manifest page when we have an actual manifest
+manifest-view-header = Manifeste d’application
+
+# Header for the Manifest page when there's no manifest to inspect
+manifest-empty-intro2 = Aucun manifeste d’application web détecté
+
+# The link will open https://developer.mozilla.org/en-US/docs/Web/Manifest
+manifest-empty-intro-link = Découvrir comment ajouter un manifeste
+
+# Header for the Errors and Warnings section of Manifest inspection displayed in the application panel.
+manifest-item-warnings = Erreurs et avertissements
+
+# Header for the Identity section of Manifest inspection displayed in the application panel.
+manifest-item-identity = Identité
+
+# Header for the Presentation section of Manifest inspection displayed in the application panel.
+manifest-item-presentation = Présentation
+
+# Header for the Icon section of Manifest inspection displayed in the application panel.
+manifest-item-icons = Icônes
+
+# Text displayed while we are loading the manifest file
+manifest-loading = Chargement du manifeste…
+
+# Text displayed when the manifest has been successfully loaded
+manifest-loaded-ok = Manifeste chargé.
+
+# Text displayed as a caption when there has been an error while trying to
+# load the manifest
+manifest-loaded-error = Une erreur s’est produite lors du chargement du manifeste :
+
+# Text displayed as an error when there has been a Firefox DevTools error while
+# trying to load the manifest
+manifest-loaded-devtools-error = Erreur des outils de développement de Firefox
+
+# Text displayed when the page has no manifest available
+manifest-non-existing = Aucun manifeste trouvé à inspecter.
+
+# 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 = Le manifeste est intégré dans une URL data.
+
+# Text displayed at manifest icons to label their purpose, as declared
+# in the manifest.
+manifest-icon-purpose = But : <code>{ $purpose }</code>
+
+# Text displayed as the alt attribute for <img> tags showing the icons in the
+# manifest.
+manifest-icon-img =
+ .alt = Icône
+
+# 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 = Icône avec tailles : { $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 = Icône de taille non spécifiée
+
+# Sidebar navigation item for Manifest sidebar item section
+sidebar-item-manifest = Manifeste
+ .alt = Icône de manifeste
+ .title = Manifeste
+
+# Sidebar navigation item for Service Workers sidebar item section
+sidebar-item-service-workers = Service workers
+ .alt = Icône de service workers
+ .title = Service workers
+
+# Text for the ALT and TITLE attributes of the warning icon
+icon-warning =
+ .alt = Icône d’avertissement
+ .title = Avertissement
+
+# Text for the ALT and TITLE attributes of the error icon
+icon-error =
+ .alt = Icône d’erreur
+ .title = Erreur
+
diff --git a/thunderbird-l10n/fr/localization/fr/devtools/client/compatibility.ftl b/thunderbird-l10n/fr/localization/fr/devtools/client/compatibility.ftl
new file mode 100644
index 0000000000..406e514973
--- /dev/null
+++ b/thunderbird-l10n/fr/localization/fr/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 = Élément sélectionné
+compatibility-all-elements-header = Tous les problèmes
+
+## Message used as labels for the type of issue
+
+compatibility-issue-deprecated = (obsolète)
+compatibility-issue-experimental = (expérimental)
+compatibility-issue-prefixneeded = (préfixe nécessaire)
+compatibility-issue-deprecated-experimental = (obsolète, expérimental)
+compatibility-issue-deprecated-prefixneeded = (obsolète, préfixe nécessaire)
+compatibility-issue-experimental-prefixneeded = (expérimental, préfixe nécessaire)
+compatibility-issue-deprecated-experimental-prefixneeded = (obsolète, expérimental, préfixe nécessaire)
+
+## Messages used as labels and titles for buttons in the footer
+
+compatibility-settings-button-label = Paramètres
+compatibility-settings-button-title =
+ .title = Paramètres
+
+## Messages used as headers in settings pane
+
+compatibility-settings-header = Paramètres
+compatibility-target-browsers-header = Navigateurs cibles
+
+##
+
+# 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 = Aucun problème de compatibilité trouvé.
+compatibility-close-settings-button =
+ .title = Fermer les paramètres
+
+# 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 =
+ Problèmes de compatibilité avec :
+ { $browsers }
diff --git a/thunderbird-l10n/fr/localization/fr/devtools/client/perftools.ftl b/thunderbird-l10n/fr/localization/fr/devtools/client/perftools.ftl
new file mode 100644
index 0000000000..7510bd3484
--- /dev/null
+++ b/thunderbird-l10n/fr/localization/fr/devtools/client/perftools.ftl
@@ -0,0 +1,144 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+
+### These strings are used 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 = Paramètres du profileur
+perftools-intro-description =
+ Les enregistrements lancent profiler.firefox.com dans un nouvel onglet. Toutes les données sont stockées
+ localement, mais vous pouvez choisir de les envoyer pour les partager.
+
+## All of the headings for the various sections.
+
+perftools-heading-settings = Paramètres complets
+perftools-heading-buffer = Paramètres du tampon
+perftools-heading-features = Fonctionnalités
+perftools-heading-features-default = Fonctionnalités (recommandées par défaut)
+perftools-heading-features-disabled = Fonctionnalités désactivées
+perftools-heading-features-experimental = Fonctionnalités expérimentales
+perftools-heading-threads = Threads
+perftools-heading-threads-jvm = Threads JVM
+perftools-heading-local-build = Build local
+
+##
+
+perftools-description-intro =
+ Les enregistrements lancent <a>profiler.firefox.com</a> dans un nouvel onglet. Toutes les données sont stockées
+ localement, mais vous pouvez choisir de les envoyer pour les partager.
+perftools-description-local-build = Si vous profilez une version que vous avez vous-même compilée, sur cette machine, veuillez ajouter le dossier « objdir » de votre compilation à la liste ci-dessous pour qu’il puisse être utilisé pour rechercher des informations sur les symboles.
+
+## The controls for the interval at which the profiler samples the code.
+
+perftools-range-interval-label = Intervalle d’échantillonnage :
+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 = Taille du tampon :
+perftools-custom-threads-label = Ajouter des threads personnalisés par nom :
+perftools-devtools-interval-label = Intervalle :
+perftools-devtools-threads-label = Threads :
+perftools-devtools-settings-label = Paramètres
+
+## Various statuses that affect the current state of profiling, not typically displayed.
+
+perftools-status-recording-stopped-by-another-tool = L’enregistrement a été arrêté par un autre outil.
+perftools-status-restart-required = Le navigateur doit être redémarré pour activer cette fonctionnalité.
+
+## These are shown briefly when the user is waiting for the profiler to respond.
+
+perftools-request-to-stop-profiler = Arrêt de l’enregistrement
+perftools-request-to-get-profile-and-stop-profiler = Capture du profil
+
+##
+
+perftools-button-start-recording = Commencer l’enregistrement
+perftools-button-capture-recording = Capturer l’enregistrement
+perftools-button-cancel-recording = Annuler l’enregistrement
+perftools-button-save-settings = Enregistrer les paramètres et revenir en arrière
+perftools-button-restart = Redémarrer
+perftools-button-add-directory = Ajouter un répertoire
+perftools-button-remove-directory = Supprimer les éléments sélectionnés
+perftools-button-edit-settings = Modifier les paramètres…
+
+## These messages are descriptions of the threads that can be enabled for the profiler.
+
+perftools-thread-gecko-main =
+ .title = Les processus principaux pour le processus parent et les processus de contenu
+perftools-thread-compositor =
+ .title = Rassemble différents éléments dessinés sur la page.
+perftools-thread-dom-worker =
+ .title = Gère à la fois les web workers et les services workers
+perftools-thread-renderer =
+ .title = Quand WebRender est activé, le thread qui exécute les appels à OpenGL
+perftools-thread-render-backend =
+ .title = Le thread RenderBackend de WebRender
+perftools-thread-timer =
+ .title = Minuteurs gérés par le thread (setTimeout, setInterval, nsITimer)
+perftools-thread-style-thread =
+ .title = Le traitement du style est partagé entre plusieurs threads.
+pref-thread-stream-trans =
+ .title = Transport de flux réseau
+perftools-thread-socket-thread =
+ .title = Le fil d’exécution dans lequel le code réseau exécute tous les appels de socket bloquants
+perftools-thread-img-decoder =
+ .title = Fils de décodage d’images
+perftools-thread-dns-resolver =
+ .title = La résolution DNS se produit sur ce thread
+perftools-thread-task-controller =
+ .title = Threads du pool de threads de TaskController
+perftools-thread-jvm-gecko =
+ .title = Le thread principal de Gecko JVM
+perftools-thread-jvm-nimbus =
+ .title = Threads principaux du SDK de l’expérimentation Nimbus
+perftools-thread-jvm-default-dispatcher =
+ .title = Le répartiteur par défaut pour la bibliothèque de coroutines Kotlin
+perftools-thread-jvm-glean =
+ .title = Threads principaux du SDK de télémétrie Glean
+perftools-thread-jvm-arch-disk-io =
+ .title = Le répartiteur E/S pour la bibliothèque de coroutines Kotlin
+perftools-thread-jvm-pool =
+ .title = Threads créés dans un pool de threads sans nom
+
+##
+
+perftools-record-all-registered-threads = Ignorer les sélections ci-dessus et conserver tous les threads enregistrés
+perftools-tools-threads-input-label =
+ .title = Ces noms de fil d’exécution sont une liste séparée par des virgules utilisée pour activer le profilage des fils dans le profileur. Le nom ne doit correspondre que partiellement au nom du fil à inclure. Il est sensible aux espaces.
+
+## 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>Nouveau</b> : { -profiler-brand-name } est à présent intégré dans les outils de développement. <a>En savoir plus</a> sur ce nouvel outil puissant.
+perftools-onboarding-close-button =
+ .aria-label = Fermer le message d’intégration
+
+## Profiler presets
+
+
+# Presets and their l10n IDs are defined in the file
+# devtools/client/performance-new/shared/background.jsm.js
+# The same labels and descriptions are also defined in appmenu.ftl.
+
+perftools-presets-web-developer-label = Développement web
+perftools-presets-web-developer-description = Réglage recommandé pour le débogage de la plupart des applications web, avec une surcharge faible.
+perftools-presets-firefox-label = { -brand-shorter-name }
+perftools-presets-firefox-description = Réglage recommandé pour le profilage de { -brand-shorter-name }.
+perftools-presets-graphics-label = Accélération graphique
+perftools-presets-graphics-description = Réglage conçu pour examiner les bugs graphiques dans { -brand-shorter-name }.
+perftools-presets-media-label = Multimédia
+perftools-presets-media-description2 = Réglage conçu pour examiner les bugs audio et vidéo dans { -brand-shorter-name }.
+perftools-presets-networking-label = Réseau
+perftools-presets-networking-description = Réglage conçu pour examiner les bugs réseau dans { -brand-shorter-name }.
+# "Power" is used in the sense of energy (electricity used by the computer).
+perftools-presets-power-label = Énergie
+perftools-presets-power-description = Réglage conçu pour examiner les bugs liés à la consommation d’énergie dans { -brand-shorter-name }, avec une surcharge faible.
+perftools-presets-custom-label = Personnalisé
+
+##
+
diff --git a/thunderbird-l10n/fr/localization/fr/devtools/client/storage.ftl b/thunderbird-l10n/fr/localization/fr/devtools/client/storage.ftl
new file mode 100644
index 0000000000..ba61f4669e
--- /dev/null
+++ b/thunderbird-l10n/fr/localization/fr/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 = Aucune donnée pour l’hôte sélectionné
+
+# 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 = Affichez et modifiez les cookies en sélectionnant un hôte. <a data-l10n-name="learn-more-link">En savoir plus</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 = Affichez et modifiez le stockage local en sélectionnant un hôte. <a data-l10n-name="learn-more-link">En savoir plus</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 = Affichez et modifiez le stockage de session en sélectionnant un hôte. <a data-l10n-name="learn-more-link">En savoir plus</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 = Affichez et supprimez les entrées IndexedDB en sélectionnant une base de données. <a data-l10n-name="learn-more-link">En savoir plus</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 = Affichez et supprimez les entrées de stockage du cache en sélectionnant un stockage. <a data-l10n-name="learn-more-link">En savoir plus</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 = Affichez et modifiez le stockage des extensions en sélectionnant un hôte. <a data-l10n-name="learn-more-link">En savoir plus</a>
+
+# Placeholder for the searchbox that allows you to filter the table items
+storage-search-box =
+ .placeholder = Filtrer les éléments
+
+# Placeholder text in the sidebar search box
+storage-variable-view-search-box =
+ .placeholder = Filtrer les valeurs
+
+# Add Item button title
+storage-add-button =
+ .title = Ajouter un élément
+
+# Refresh button title
+storage-refresh-button =
+ .title = Actualiser la liste
+
+# Context menu action to delete all storage items
+storage-context-menu-delete-all =
+ .label = Tout supprimer
+
+# Context menu action to delete all session cookies
+storage-context-menu-delete-all-session-cookies =
+ .label = Supprimer tous les cookies de session
+
+# Context menu action to copy a storage item
+storage-context-menu-copy =
+ .label = Copier
+
+# Context menu action to delete storage item
+# Variables:
+# $itemName (String) - Name of the storage item that will be deleted
+storage-context-menu-delete =
+ .label = Supprimer « { $itemName } »
+
+# Context menu action to add an item
+storage-context-menu-add-item =
+ .label = Ajouter un élément
+
+# 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 = Supprimer tous les éléments de « { $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 = Nom
+storage-table-headers-cookies-value = Valeur
+storage-table-headers-cookies-expires = Expiration / Durée maximum
+storage-table-headers-cookies-size = Taille
+storage-table-headers-cookies-last-accessed = Dernier accès
+storage-table-headers-cookies-creation-time = Date de création
+storage-table-headers-cache-status = État
+storage-table-headers-extension-storage-area = Zone de stockage
+
+## 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 = Stockage local
+storage-tree-labels-session-storage = Stockage de session
+storage-tree-labels-indexed-db = Indexed DB
+storage-tree-labels-cache = Stockage cache
+storage-tree-labels-extension-storage = Stockage d’extension
+
+##
+
+# Tooltip for the button that collapses the right panel in the
+# storage UI when the panel is closed.
+storage-expand-pane =
+ .title = Développer le panneau
+
+# Tooltip for the button that collapses the right panel in the
+# storage UI when the panel is open.
+storage-collapse-pane =
+ .title = Réduire le panneau
+
+# 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 = Données
+
+# Heading displayed over the item parsed value in the sidebar
+storage-parsed-value = Valeur analysée
+
+# Warning notification when IndexedDB database could not be deleted immediately.
+# Variables:
+# $dbName (String) - Name of the database
+storage-idb-delete-blocked = La base de données « { $dbName } » sera supprimée une fois toutes les connexions fermées.
+
+# Error notification when IndexedDB database could not be deleted.
+# Variables:
+# $dbName (String) - Name of the database
+storage-idb-delete-error = La base de données « { $dbName } » ne peut pas être supprimée.
diff --git a/thunderbird-l10n/fr/localization/fr/devtools/client/styleeditor.ftl b/thunderbird-l10n/fr/localization/fr/devtools/client/styleeditor.ftl
new file mode 100644
index 0000000000..867fe71394
--- /dev/null
+++ b/thunderbird-l10n/fr/localization/fr/devtools/client/styleeditor.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/.
+
+styleeditor-new-button =
+ .tooltiptext = Créer et ajouter une nouvelle feuille de style au document
+ .accesskey = N
+styleeditor-import-button =
+ .tooltiptext = Importer et ajouter une feuille de style existante au document
+ .accesskey = I
+styleeditor-filter-input =
+ .placeholder = Filtrer les feuilles de style
+styleeditor-visibility-toggle =
+ .tooltiptext = Activer/Désactiver la feuille de style
+ .accesskey = S
+styleeditor-visibility-toggle-system =
+ .tooltiptext = Les feuilles de style système ne peuvent pas être désactivées
+styleeditor-save-button = Enregistrer
+ .tooltiptext = Enregistrer cette feuille de style dans un fichier
+ .accesskey = S
+styleeditor-options-button =
+ .tooltiptext = Options de l’éditeur de style
+styleeditor-at-rules = Règles @
+styleeditor-editor-textbox =
+ .data-placeholder = Saisissez du CSS ici.
+styleeditor-no-stylesheet = Cette page n’a aucune feuille de style.
+styleeditor-no-stylesheet-tip = Peut-être désirez-vous <a data-l10n-name="append-new-stylesheet">ajouter une nouvelle feuille de style</a> ?
+styleeditor-open-link-new-tab =
+ .label = Ouvrir le lien dans un nouvel onglet
+styleeditor-copy-url =
+ .label = Copier l’URL
+styleeditor-find =
+ .label = Rechercher
+ .accesskey = h
+styleeditor-find-again =
+ .label = Rechercher le suivant
+ .accesskey = v
+styleeditor-go-to-line =
+ .label = Aller à la ligne…
+ .accesskey = r
+# Label displayed when searching a term that is not found in any stylesheet path
+styleeditor-stylesheet-all-filtered = Aucune feuille de style trouvée.
+# 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 } règle.
+ *[other] { $ruleCount } règles.
+ }
+# Title for the pretty print button in the editor footer.
+styleeditor-pretty-print-button =
+ .title = Formater la feuille de style
+# Title for the pretty print button in the editor footer, when it's disabled
+styleeditor-pretty-print-button-disabled =
+ .title = Formatage des fichiers CSS uniquement
diff --git a/thunderbird-l10n/fr/localization/fr/devtools/client/toolbox-options.ftl b/thunderbird-l10n/fr/localization/fr/devtools/client/toolbox-options.ftl
new file mode 100644
index 0000000000..251ef6b445
--- /dev/null
+++ b/thunderbird-l10n/fr/localization/fr/devtools/client/toolbox-options.ftl
@@ -0,0 +1,154 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+
+### Localization for Developer Tools options
+
+
+## Default Developer Tools section
+
+# The heading
+options-select-default-tools-label = Outils de développement par défaut
+
+# 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 = * Non géré pour la cible actuelle de la boîte à outils
+
+# 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 = Outils installés via modules complémentaires
+
+# The label for the heading of group of checkboxes corresponding to the default developer
+# tool buttons.
+options-select-enabled-toolbox-buttons-label = Boutons de la boîte à outils
+
+# The label for the heading of the radiobox corresponding to the theme
+options-select-dev-tools-theme-label = Thèmes
+
+## Inspector section
+
+# The heading
+options-context-inspector = Inspecteur
+
+# The label for the checkbox option to show user agent styles
+options-show-user-agent-styles-label = Afficher les styles du navigateur
+options-show-user-agent-styles-tooltip =
+ .title = Activer cette option affichera les styles par défaut chargés par le navigateur
+
+# The label for the checkbox option to enable collapse attributes
+options-collapse-attrs-label = Tronquer les attributs DOM
+options-collapse-attrs-tooltip =
+ .title = Tronquer les longs attributs dans l’inspecteur
+
+# The label for the checkbox option to enable the "drag to update" feature
+options-inspector-draggable-properties-label = Cliquer et faire glisser pour modifier les valeurs de la taille
+options-inspector-draggable-properties-tooltip =
+ .title = Cliquer et faire glisser pour modifier les valeurs de la taille dans la vue de l’inspecteur de règles.
+
+# 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 = Utiliser des mises en évidence plus simples avec prefers-reduced-motion
+options-inspector-simplified-highlighters-tooltip =
+ .title = Active les mises en évidence simplifiées quand prefers-reduced-motion est activé. Des lignes sont tracées autour des éléments mis en évidence à la place des rectangles colorés pour éviter les clignotements.
+
+## "Default Color Unit" options for the Inspector
+
+options-default-color-unit-label = Unité par défaut pour les couleurs
+options-default-color-unit-authored = unité d’origine
+options-default-color-unit-hex = hexadécimal
+options-default-color-unit-hsl = TSL(A)
+options-default-color-unit-rgb = RVB(A)
+options-default-color-unit-hwb = HWB
+options-default-color-unit-name = noms de couleurs
+
+## Style Editor section
+
+# The heading
+options-styleeditor-label = Éditeur de style
+
+# The label for the checkbox that toggles autocompletion of css in the Style Editor
+options-stylesheet-autocompletion-label = Compléter automatiquement le CSS
+options-stylesheet-autocompletion-tooltip =
+ .title = Compléter automatiquement les propriétés, valeurs et sélecteurs CSS dans l’éditeur de style lors de la saisie
+
+## Screenshot section
+
+# The heading
+options-screenshot-label = Comportement pour les captures d’écran
+
+# Label for the checkbox that toggles screenshot to clipboard feature
+options-screenshot-clipboard-only-label = Capturer vers le presse-papiers uniquement
+options-screenshot-clipboard-tooltip2 =
+ .title = Enregistre directement la capture d’écran dans le presse-papiers
+
+# Label for the checkbox that toggles the camera shutter audio for screenshot tool
+options-screenshot-audio-label = Jouer un son d’obturateur d’appareil photo
+options-screenshot-audio-tooltip =
+ .title = Activer le son d’un obturateur d’appareil photo lors de la capture d’écran
+
+## Editor section
+
+# The heading
+options-sourceeditor-label = Préférences de l’éditeur
+
+options-sourceeditor-detectindentation-tooltip =
+ .title = Déduire l’indentation d’après le contenu source
+options-sourceeditor-detectindentation-label = Détecter l’indentation
+options-sourceeditor-autoclosebrackets-tooltip =
+ .title = Insérer automatiquement les parenthèses et les accolades fermantes
+options-sourceeditor-autoclosebrackets-label = Fermer automatiquement les parenthèses et les accolades
+options-sourceeditor-expandtab-tooltip =
+ .title = Utiliser des espaces à la place du caractère tabulation
+options-sourceeditor-expandtab-label = Indenter à l’aide d’espaces
+options-sourceeditor-tabsize-label = Taille des tabulations
+options-sourceeditor-keybinding-label = Raccourcis clavier
+options-sourceeditor-keybinding-default-label = Par défaut
+
+## Advanced section
+
+# The heading (this item is also used in perftools.ftl)
+options-context-advanced-settings = Paramètres avancés
+
+# The label for the checkbox that toggles the HTTP cache on or off
+options-disable-http-cache-label = Désactiver le cache HTTP (lorsque la boîte à outils est ouverte)
+options-disable-http-cache-tooltip =
+ .title = Activer cette option désactivera le cache HTTP pour l’ensemble des onglets dans lesquels la boîte à outils est ouverte. Cette option n’a aucun effet sur les service workers.
+
+# The label for checkbox that toggles JavaScript on or off
+options-disable-javascript-label = Désactiver JavaScript *
+options-disable-javascript-tooltip =
+ .title = Activer cette option désactivera JavaScript pour l’onglet courant. Ce paramètre sera oublié à la fermeture de l’onglet ou de la boîte à outils.
+
+# The label for checkbox that toggles chrome debugging, i.e. the devtools.chrome.enabled preference
+options-enable-chrome-label = Activer le débogage du chrome du navigateur et des modules
+options-enable-chrome-tooltip =
+ .title = Activer cette option vous permettra d’utiliser divers outils de développement dans le contexte du navigateur (via Outils > Développement web > Boîte à outils du navigateur) et de déboguer des modules depuis le gestionnaire de modules complémentaires
+
+# The label for checkbox that toggles remote debugging, i.e. the devtools.debugger.remote-enabled preference
+options-enable-remote-label = Activer le débogage distant
+options-enable-remote-tooltip2 =
+ .title = L’activation de cette option permettra de déboguer cette instance de navigateur à distance
+
+# The label for checkbox that enables F12 as a shortcut to open DevTools
+options-enable-f12-label = Utiliser la touche F12 pour ouvrir ou fermer les outils de développement
+options-enable-f12-tooltip =
+ .title = Activer cette option lie la touche F12 à l’ouverture et la fermeture de la boîte à outils de développement
+
+# The label for checkbox that toggles custom formatters for objects
+options-enable-custom-formatters-label = Activer les formateurs personnalisés
+options-enable-custom-formatters-tooltip =
+ .title = Activer cette option autorise les sites à définir des formateurs personnalisés pour les objets DOM
+
+# The label for checkbox that toggles the service workers testing over HTTP on or off.
+options-enable-service-workers-http-label = Activer les Service Workers via HTTP (lorsque la boîte à outils est ouverte)
+options-enable-service-workers-http-tooltip =
+ .title = Activer cette option activera les Service Workers via HTTP pour tous les onglets où la boîte à outils est ouverte.
+
+# The label for the checkbox that toggles source maps in all tools.
+options-source-maps-label = Activer les liens vers les sources
+options-source-maps-tooltip =
+ .title = En activant cette option, les sources seront liées dans les outils.
+
+# The message shown for settings that trigger page reload
+options-context-triggers-page-refresh = * Pour cette session, recharge la page
diff --git a/thunderbird-l10n/fr/localization/fr/devtools/client/toolbox.ftl b/thunderbird-l10n/fr/localization/fr/devtools/client/toolbox.ftl
new file mode 100644
index 0000000000..bd38303a80
--- /dev/null
+++ b/thunderbird-l10n/fr/localization/fr/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 = Ancrer en bas
+toolbox-meatball-menu-dock-left-label = Ancrer à gauche
+toolbox-meatball-menu-dock-right-label = Ancrer à droite
+toolbox-meatball-menu-dock-separate-window-label = Fenêtre séparée
+
+toolbox-meatball-menu-splitconsole-label = Afficher la console scindée
+toolbox-meatball-menu-hideconsole-label = Masquer la console scindée
+
+toolbox-meatball-menu-settings-label = Paramètres
+toolbox-meatball-menu-documentation-label = Documentation…
+toolbox-meatball-menu-community-label = Communauté…
+
+# 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 = Désactiver le masquage automatique des popups
+
+toolbox-meatball-menu-pseudo-locale-accented = Activer la langue « accentuée »
+toolbox-meatball-menu-pseudo-locale-bidi = Activer la langue « bidi »
+
+##
+
+
+## These labels are shown in the top-toolbar in the Browser Toolbox and Browser Console
+
+toolbox-mode-browser-toolbox-label = Mode boîte à outils du navigateur
+toolbox-mode-browser-console-label = Mode console du navigateur
+
+toolbox-mode-everything-label = Multiprocessus
+toolbox-mode-everything-sub-label = (Plus lent)
+toolbox-mode-everything-container =
+ .title = Tout déboguer dans tous les processus
+
+toolbox-mode-parent-process-label = Processus parent uniquement
+toolbox-mode-parent-process-sub-label = (Rapide)
+toolbox-mode-parent-process-container =
+ .title = Focalisé sur les seules ressources du processus parent
+
+toolbox-always-on-top-enabled2 = Désactiver l’option « toujours au premier plan »
+ .title = Cette action redémarre les outils de développement
+toolbox-always-on-top-disabled2 = Activer l’option « toujours au premier plan »
+ .title = Cette action redémarre les outils de développement
diff --git a/thunderbird-l10n/fr/localization/fr/devtools/client/tooltips.ftl b/thunderbird-l10n/fr/localization/fr/devtools/client/tooltips.ftl
new file mode 100644
index 0000000000..b0022e56fc
--- /dev/null
+++ b/thunderbird-l10n/fr/localization/fr/devtools/client/tooltips.ftl
@@ -0,0 +1,101 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+
+### Localization for Developer Tools tooltips.
+
+learn-more = <span data-l10n-name="link">En savoir plus </ 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> n’a aucun effet sur cet élément, car il ne s’agit ni d’un conteneur flex, ni d’un conteneur de grille.
+inactive-css-not-grid-or-flex-container-or-multicol-container = <strong>{ $property }</strong> n’a aucun effet sur cet élément, car ce n’est ni un conteneur flex, ni un conteneur de grille ni un conteneur de plusieurs colonnes.
+inactive-css-not-multicol-container = <strong>{ $property }</strong> n’a aucun effet sur cet élément, car il ne s’agit pas d’un conteneur multicolonne.
+inactive-css-not-grid-or-flex-item = <strong>{ $property }</strong> n’a aucun effet sur cet élément, car il ne s’agit ni d’un élément de grille ni d’un élément flexible.
+inactive-css-not-grid-item = <strong>{ $property }</strong> n’a aucun effet sur cet élément, car il ne s’agit pas d’un élément de grille.
+inactive-css-not-grid-container = <strong>{ $property }</strong> n’a aucun effet sur cet élément, car il ne s’agit pas d’un conteneur de grille.
+inactive-css-not-flex-item = <strong>{ $property }</strong> n’a aucun effet sur cet élément, car il ne s’agit pas d’un élément flexible.
+inactive-css-not-flex-container = <strong>{ $property }</strong> n’a aucun effet sur cet élément, car il ne s’agit pas d’un conteneur d’éléments flexibles.
+inactive-css-not-inline-or-tablecell = <strong>{ $property }</strong> n’a aucun effet sur cet élément, car il ne s’agit ni d’un élément « inline » ni d’un élément « table-cell ».
+inactive-css-first-line-pseudo-element-not-supported = La propriété <strong>{ $property }</strong> n’est pas prise en charge par les pseudo-éléments ::first-line.
+inactive-css-first-letter-pseudo-element-not-supported = La propriété <strong>{ $property }</strong> n’est pas prise en charge par les pseudo-éléments ::first-letter.
+inactive-css-placeholder-pseudo-element-not-supported = La propriété <strong>{ $property }</strong> n’est pas prise en charge par les pseudo-éléments ::placeholder.
+inactive-css-property-because-of-display = <strong>{ $property }</strong> n’a aucun effet sur cet élément car la valeur de sa propriété « display » est <strong>{ $display }</strong>.
+inactive-css-not-display-block-on-floated = La valeur <strong>display</strong> a été modifiée par le moteur en <strong>block</strong> car l’élément est <strong>flottant</strong>.
+inactive-css-property-is-impossible-to-override-in-visited = Il n’est pas possible de redéfinir <strong>{ $property }</strong> en raison de restrictions sur <strong>:visited</strong>.
+inactive-css-position-property-on-unpositioned-box = <strong>{ $property }</strong> n’a aucun effet sur cet élément, car il ne s’agit pas d’un élément positionné.
+inactive-text-overflow-when-no-overflow = <strong>{ $property }</strong> n’a aucun effet sur cet élément, car <strong>overflow:hidden</strong> n’est pas défini.
+inactive-css-not-for-internal-table-elements = <strong>{ $property }</strong> n’a aucun effet sur les éléments contenus dans un élément table.
+inactive-css-not-for-internal-table-elements-except-table-cells = <strong>{ $property }</strong> n’a aucun effet sur les éléments contenus dans un élément table à l’exception de ses cellules.
+inactive-css-not-table = <strong>{ $property }</strong> n’a aucun effet sur cet élément, car il ne s’agit pas d’un tableau.
+inactive-css-not-table-cell = <strong>{ $property }</strong> n’a aucun effet sur cet élément, car il ne s’agit pas d’une cellule de tableau.
+inactive-scroll-padding-when-not-scroll-container = <strong>{ $property }</strong> n’a aucun effet sur cet élément, car il ne s’agit pas d’un élément défilable.
+inactive-css-border-image = </strong>{ $property }<strong> n’a aucun effet sur cet élément comme cette propriété ne peut s’appliquer à des éléments internes d’un tableau quand <strong>border-collapse</strong> est défini à <strong>collapse</strong> sur l’élément parent dans le tableau.
+inactive-css-ruby-element = <strong>{ $property }</strong> n’a aucun effet sur cet élément, car il s’agit d’un élément ruby. Sa taille est déterminée par celle de la police utilisée pour le texte ruby.
+inactive-css-highlight-pseudo-elements-not-supported = La propriété <strong>{ $property }</strong> n’est pas prise en charge par les pseudo-éléments highlight.
+inactive-css-cue-pseudo-element-not-supported = La propriété <strong>{ $property }</strong> n’est pas prise en charge par les pseudo-éléments ::cue.
+# Variables:
+# $lineCount (integer) - The number of lines the element has.
+inactive-css-text-wrap-balance-lines-exceeded =
+ { $lineCount ->
+ [one] La propriété <strong>{ $property }</strong> n’a pas d’effet sur cet élément, car il a plus d’{ $lineCount } ligne.
+ *[other] La propriété <strong>{ $property }</strong> n’a pas d’effet sur cet élément, car il a plus de { $lineCount } lignes.
+ }
+inactive-css-text-wrap-balance-fragmented = La propriété <strong>{ $property }</strong> n’a pas d’effet sur cet élément, car il est fragmenté (son contenu est réparti sur plusieurs colonnes ou pages).
+
+## 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 = Essayez d’ajouter <strong>display: grid</strong> ou <strong>display: flex</strong>. { learn-more }
+inactive-css-not-grid-or-flex-container-or-multicol-container-fix = Essayez d’ajouter <strong>display:grid</strong>, <strong>display:flex</strong>, ou <strong>columns:2</strong>. { learn-more }
+inactive-css-not-multicol-container-fix = Essayez d’ajouter <strong>column-count</strong> ou <strong>column-width</strong>. { learn-more }
+inactive-css-not-grid-or-flex-item-fix-3 = Essayez en ajoutant <strong>display:grid</strong>, <strong>display:flex</strong>, <strong>display:inline-grid</strong> ou <strong>display:inline-flex</strong> à l’élément parent. { learn-more }
+inactive-css-not-grid-item-fix-2 = Essayez d’ajouter <strong>display:grid</strong> ou <strong>display:inline-grid</strong> au parent de l’élément. { learn-more }
+inactive-css-not-grid-container-fix = Essayez d’ajouter <strong>display: grid</strong> ou <strong>display:inline-grid</strong>. { learn-more }
+inactive-css-not-flex-item-fix-2 = Essayez d’ajouter <strong>display:flex</strong> ou <strong>display:inline-flex</strong> au parent de l’élément. { learn-more }
+inactive-css-not-flex-container-fix = Essayez d’ajouter <strong>display:flex</strong> ou <strong>display:inline-flex</strong>. { learn-more }
+inactive-css-not-inline-or-tablecell-fix = Essayez d’ajouter <strong>display:inline</strong> ou <strong>display:table-cell</strong>. { learn-more }
+inactive-css-non-replaced-inline-or-table-row-or-row-group-fix = Essayez d’ajouter <strong>display:inline-block</strong> ou <strong>display:block</strong>. { learn-more }
+inactive-css-non-replaced-inline-or-table-column-or-column-group-fix = Essayez d’ajouter <strong>display:inline-block</strong>. { learn-more }
+inactive-css-not-display-block-on-floated-fix = Essayez de retirer <strong>float</strong> ou d’ajouter <strong>display:block</strong>. { learn-more }
+inactive-css-position-property-on-unpositioned-box-fix = Essayez de définir sa propriété <strong>position</strong> avec une valeur différente de <strong>static</strong>. { learn-more }
+inactive-text-overflow-when-no-overflow-fix = Essayez d’ajouter <strong>overflow:hidden</strong>. { learn-more }
+inactive-css-not-for-internal-table-elements-fix = Essayez d’affecter à la propriété <strong>display</strong> une valeur autre que <strong>table-cell</strong>, <strong>table-column</strong>, <strong>table-row</strong>, <strong>table-column-group</strong>, <strong>table-row-group</strong> ou <strong>table-footer-group</strong>. { learn-more }
+inactive-css-not-for-internal-table-elements-except-table-cells-fix = Essayez d’affecter à la propriété <strong>display</strong> une valeur autre que <strong>table-column</strong>, <strong>table-row</strong>, <strong>table-column-group</strong>, <strong>table-row-group</strong> ou <strong>table-footer-group</strong>. { learn-more }
+inactive-css-not-table-fix = Essayez d’ajouter <strong>display:table</strong> ou <strong>display:inline-table</strong>. { learn-more }
+inactive-css-not-table-cell-fix = Essayez d’ajouter <strong>display:table-cell</strong>. { learn-more }
+inactive-scroll-padding-when-not-scroll-container-fix = Essayez d’ajouter <strong>overflow:auto</strong>, <strong>overflow:scroll</strong> ou <strong>overflow:hidden</strong>. { learn-more }
+inactive-css-border-image-fix = Sur l’élément parent dans le tableau, supprimez la propriété <strong>border-collapse</strong> ou modifiez sa valeur pour autre chose que <strong>collapse</strong>. { learn-more }
+inactive-css-ruby-element-fix = Essayez de modifier la <strong>taille de police</strong> du texte ruby. { learn-more }
+inactive-css-text-wrap-balance-lines-exceeded-fix = Essayez de réduire le nombre de lignes. { learn-more }
+inactive-css-text-wrap-balance-fragmented-fix = Évitez de fragmenter le contenu de l’élément, p. ex. en supprimant les colonnes ou en utilisant la règle <strong>page-break-inside:avoid</strong>. { learn-more }
+
+## In the Rule View when a CSS property may have compatibility issues with other browsers
+## we display an icon. When this icon is hovered this message is displayed to explain why
+## the property is incompatible and the platforms it is incompatible on.
+## Variables:
+## $property (string) - A CSS declaration name e.g. "-moz-user-select" that can be a platform specific alias.
+## $rootProperty (string) - A raw CSS property name e.g. "user-select" that is not a platform specific alias.
+
+css-compatibility-default-message = <strong>{ $property }</strong> n’est pas pris en charge par les navigateurs suivants :
+css-compatibility-deprecated-experimental-message = <strong>{ $property }</strong> était une propriété expérimentale qui est désormais obsolète d’après les normes du W3C. Elle n’est plus prise en charge par les navigateurs suivants :
+css-compatibility-deprecated-experimental-supported-message = <strong>{ $property }</strong> était une propriété expérimentale qui est désormais obsolète d’après les normes du W3C.
+css-compatibility-deprecated-message = <strong>{ $property }</strong> est obsolète d’après les normes du W3C. La propriété n’est plus prise en charge par les navigateurs suivants :
+css-compatibility-deprecated-supported-message = <strong>{ $property }</strong> est obsolète d’après les normes du W3C.
+css-compatibility-experimental-message = <strong>{ $property }</strong> est une propriété expérimentale. Elle n’est pas prise en charge par les navigateurs suivants :
+css-compatibility-experimental-supported-message = <strong>{ $property }</strong> est une propriété expérimentale.
+css-compatibility-learn-more-message = <span data-l10n-name="link">En savoir plus</span> à propos de <strong>{ $rootProperty }</strong>
+
+## In the Rule View when a rule selector can causes issues, we display an icon.
+## When this icon is hovered one or more of those messages are displayed to explain what
+## the issue are.
+
+# :has() should not be translated
+css-selector-warning-unconstrained-has = Ce sélecteur utilise <strong>:has()</strong> sans contrainte, ce qui peut être lent
diff --git a/thunderbird-l10n/fr/localization/fr/devtools/shared/debugger-paused-reasons.ftl b/thunderbird-l10n/fr/localization/fr/devtools/shared/debugger-paused-reasons.ftl
new file mode 100644
index 0000000000..aabc863cb4
--- /dev/null
+++ b/thunderbird-l10n/fr/localization/fr/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 = Mis en pause par l’instruction « debugger »
+
+# The text that is displayed in a info block explaining how the debugger is
+# currently paused on a breakpoint
+whypaused-breakpoint = Mis en pause par un point d’arrêt
+
+# The text that is displayed in a info block explaining how the debugger is
+# currently paused on an event breakpoint.
+whypaused-event-breakpoint = En pause sur un point d’arrêt d’évènement
+
+# The text that is displayed in a info block explaining how the debugger is
+# currently paused on an exception
+whypaused-exception = Mis en pause par une 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 = En pause sur mutation du DOM
+
+# The text that is displayed to describe an added node which triggers a subtree
+# modification
+whypaused-mutation-breakpoint-added = Ajouté :
+
+# The text that is displayed to describe a removed node which triggers a subtree
+# modification
+whypaused-mutation-breakpoint-removed = Supprimé :
+
+# The text that is displayed in a info block explaining how the debugger is
+# currently paused at a JS execution
+whypaused-interrupted = Mis en pause durant l’exécution
+
+# 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 = Mis en pause pendant le pas-à-pas
+
+# 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 = Mis en pause par un écouteur d’évènements
+
+# The text that is displayed in an info block when evaluating a conditional
+# breakpoint throws an error
+whypaused-breakpoint-condition-thrown = Une erreur s’est produite avec le point d’arrêt conditionnel
+
+# The text that is displayed in a info block explaining how the debugger is
+# currently paused on an xml http request
+whypaused-xhr = En pause sur XMLHttpRequest
+
+# The text that is displayed in a info block explaining how the debugger is
+# currently paused on a promise rejection
+whypaused-promise-rejection = Mis en pause par le rejet d’une promesse
+
+# 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 = Pause sur l’accès à une propriété
+
+# 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 = En pause sur une définition de propriété
+
+# The text that is displayed in a info block explaining how the debugger is
+# currently paused on an assert
+whypaused-assert = Mis en pause par une assertion
+
+# The text that is displayed in a info block explaining how the debugger is
+# currently paused on a debugger statement
+whypaused-debug-command = Mis en pause par une fonction déboguée
+
+# The text that is displayed in a info block explaining how the debugger is
+# currently paused on an event listener breakpoint set
+whypaused-other = Débogueur mis en pause
diff --git a/thunderbird-l10n/fr/localization/fr/devtools/shared/highlighters.ftl b/thunderbird-l10n/fr/localization/fr/devtools/shared/highlighters.ftl
new file mode 100644
index 0000000000..210b98d8a8
--- /dev/null
+++ b/thunderbird-l10n/fr/localization/fr/devtools/shared/highlighters.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/.
+
+
+### 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 = Ligne { $row } / Colonne { $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 = Conteneur de grille
+
+# The layout type of an element shown in the infobar when hovering over a DOM element and
+# it is a grid item.
+gridtype-item = Élément de la grille
+
+# 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 = Conteneur / élément de grille
+
+# The layout type of an element shown in the infobar when hovering over a DOM element and
+# it is a flex container.
+flextype-container = Conteneur flex
+
+# The layout type of an element shown in the infobar when hovering over a DOM element and
+# it is a flex item.
+flextype-item = Élément flex
+
+# The layout type of an element shown in the infobar when hovering over a DOM element and
+# it is both a flex container and a flex item.
+flextype-dual = Élément / conteneur flex
+
+# The message displayed in the content page when the user clicks on the
+# "Pick an element from the page" in about:devtools-toolbox inspector panel, when
+# debugging a remote page.
+# Variables
+# $action (string) - Will either be remote-node-picker-notice-action-desktop or
+# remote-node-picker-notice-action-touch
+remote-node-picker-notice = Sélecteur d’élément des outils de développement activé. { $action }
+
+# Text displayed in `remote-node-picker-notice`, when the remote page is on desktop
+remote-node-picker-notice-action-desktop = Cliquer sur un élément pour le sélectionner dans l’inspecteur
+
+# Text displayed in `remote-node-picker-notice`, when the remote page is on Android
+remote-node-picker-notice-action-touch = Appuyer sur un élément pour le sélectionner dans l’inspecteur
+
+# 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 = Masquer
+
+# 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 = Lorsque prefers-reduced-motion est activé, une mise en évidence plus simple peut être activée dans le panneau des paramètres, pour éviter que les couleurs ne clignotent.
+
+# Text displayed in a button inside the "simple-highlighters-message" toolbox
+# notification. "Settings" here refers to the DevTools settings panel.
+simple-highlighters-settings-button = Ouvrir les paramètres
diff --git a/thunderbird-l10n/fr/localization/fr/devtools/shared/webconsole-commands.ftl b/thunderbird-l10n/fr/localization/fr/devtools/shared/webconsole-commands.ftl
new file mode 100644
index 0000000000..18ddad2e3b
--- /dev/null
+++ b/thunderbird-l10n/fr/localization/fr/devtools/shared/webconsole-commands.ftl
@@ -0,0 +1,34 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+
+# These strings are used inside the Web Console commands
+# which can be executed in the Developer Tools, available in the
+# Browser Tools sub-menu -> 'Web Developer Tools'
+
+# Usage string for :block command
+webconsole-commands-usage-block =
+ :block URL_STRING
+
+ Démarrer le blocage des requêtes réseau
+
+ Un seul argument URL_STRING est accepté, une chaîne sans quotes. Toute requête dont l’URL contient cette chaîne est bloquée.
+ Utilisez :unblock ou la barre latérale de blocage de requêtes du moniteur réseau pour annuler cette action.
+# Usage string for :unblock command
+webconsole-commands-usage-unblock =
+ :unblock URL_STRING
+
+ Arrêter le blocage de requêtes réseau
+
+ Un seul argument est accepté, la chaîne exacte passée précédemment à :block.
+# Usage string for :trace command
+webconsole-commands-usage-trace =
+ :trace
+
+ Active ou désactive le traceur JavaScript
+
+ Les arguments suivants sont acceptés  :
+ --logMethod, à définir à « console » pour journaliser dans la console web (valeur par défaut) ou à « stdout » pour diriger les messages vers la sortie standard ;
+ --prefix, chaîne facultative ajoutée au début de chaque journal de traçage ;
+ --help ou --usage, affiche ce message.
diff --git a/thunderbird-l10n/fr/localization/fr/devtools/startup/key-shortcuts.ftl b/thunderbird-l10n/fr/localization/fr/devtools/startup/key-shortcuts.ftl
new file mode 100644
index 0000000000..bbc2c7ca1e
--- /dev/null
+++ b/thunderbird-l10n/fr/localization/fr/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/fr/localization/fr/dom/XMLPrettyPrint.ftl b/thunderbird-l10n/fr/localization/fr/dom/XMLPrettyPrint.ftl
new file mode 100644
index 0000000000..224b2211d0
--- /dev/null
+++ b/thunderbird-l10n/fr/localization/fr/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 = Aucune information de style ne semble associée à ce fichier XML. L’arbre du document est affiché ci-dessous.
diff --git a/thunderbird-l10n/fr/localization/fr/dom/media.ftl b/thunderbird-l10n/fr/localization/fr/dom/media.ftl
new file mode 100644
index 0000000000..f41634ec99
--- /dev/null
+++ b/thunderbird-l10n/fr/localization/fr/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 = Périphérique de sortie audio par défaut
+mediastatus-fallback-title = { -brand-short-name } lit un contenu multimédia
diff --git a/thunderbird-l10n/fr/localization/fr/locales-preview/aboutTranslations.ftl b/thunderbird-l10n/fr/localization/fr/locales-preview/aboutTranslations.ftl
new file mode 100644
index 0000000000..68e9d8aafd
--- /dev/null
+++ b/thunderbird-l10n/fr/localization/fr/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/fr/localization/fr/messenger/about3Pane.ftl b/thunderbird-l10n/fr/localization/fr/messenger/about3Pane.ftl
new file mode 100644
index 0000000000..871d3b2e6f
--- /dev/null
+++ b/thunderbird-l10n/fr/localization/fr/messenger/about3Pane.ftl
@@ -0,0 +1,421 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.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 = Afficher/Masquer la barre de filtre rapide
+quick-filter-button-label = Filtre rapide
+thread-pane-header-display-button =
+ .title = Options d’affichage de la liste des messages
+# 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 ->
+ [one] { $count } message sélectionné
+ *[other] { $count } messages sélectionnés
+ }
+thread-pane-header-context-table-view =
+ .label = Vue tableau
+thread-pane-header-context-cards-view =
+ .label = Vue en fiches
+thread-pane-header-context-hide =
+ .label = Masquer l’en-tête de la liste de messages
+
+## 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 = Conserver les filtres lors des changements de dossiers ?
+# The tooltip for the filter button that replaces the quick filter buttons with
+# a dropdown menu.
+quick-filter-bar-dropdown =
+ .title = Menu de filtre rapide
+quick-filter-bar-dropdown-unread =
+ .label = Non lus
+quick-filter-bar-dropdown-starred =
+ .label = Suivis
+quick-filter-bar-dropdown-inaddrbook =
+ .label = Contacts
+quick-filter-bar-dropdown-tags =
+ .label = Étiquettes
+quick-filter-bar-dropdown-attachment =
+ .label = Pièces jointes
+# The tooltip for the filter button that causes us to filter results to only
+# include unread messages.
+quick-filter-bar-unread =
+ .title = Afficher seulement les messages non lus.
+# The label for the filter button that causes us to filter results to only
+# include unread messages.
+quick-filter-bar-unread-label = Non lus
+# 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 = Afficher seulement les messages suivis.
+# 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 = Suivis
+# 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 = Afficher seulement les messages des personnes présentes dans mon carnet d’adresses.
+# 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 = Contacts
+# 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 = Afficher seulement les messages ayant des étiquettes.
+# 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 = Étiquettes
+# The tooltip for the filter button that causes us to filter results to only
+# include messages with attachments.
+quick-filter-bar-attachment =
+ .title = Afficher seulement les messages ayant des pièces jointes.
+# The label for the filter button that causes us to filter results to only
+# include messages with attachments.
+quick-filter-bar-attachment-label = Pièces jointes
+# 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 = Pas de résultats
+# 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+Maj+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 = Filtrer ces messages <{ quick-filter-bar-textbox-shortcut }>
+quick-filter-bar-search =
+ .label = Filtrer les messages :
+# Keyboard shortcut for the text search box.
+# This should match quick-filter-bar-show in messenger.ftl.
+quick-filter-bar-search-shortcut =
+ { PLATFORM() ->
+ [macos] <kbd>⇧</kbd> <kbd>⌘</kbd> <kbd>K</kbd>
+ *[other] <kbd>Ctrl</kbd> + <kbd>Maj</kbd> + <kbd>K</kbd>
+ }
+# 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-search-placeholder-with-key = Filtrer les messages… { quick-filter-bar-search-shortcut }
+# Label of the search button in the quick filter bar text box. Clicking it will
+# launch a global search.
+quick-filter-bar-search-button =
+ .alt = Rechercher partout
+# Tooltip of the Any-of/All-of tagging mode selector.
+quick-filter-bar-boolean-mode =
+ .title = Mode de filtrage par étiquettes
+# The Any-of tagging mode.
+quick-filter-bar-boolean-mode-any =
+ .label = Au moins une
+ .title = Au moins une des étiquettes sélectionnées doit correspondre
+# The All-of tagging mode.
+quick-filter-bar-boolean-mode-all =
+ .label = Toutes
+ .title = Toutes les étiquettes sélectionnées doivent correspondre
+# 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 = Filtrer les messages selon :
+# The button label that toggles whether the text filter searches the message
+# sender for the string.
+quick-filter-bar-text-filter-sender = Expéditeur
+# The button label that toggles whether the text filter searches the message
+# recipients (to, cc) for the string.
+quick-filter-bar-text-filter-recipients = Destinataires
+# The button label that toggles whether the text filter searches the message
+# subject for the string.
+quick-filter-bar-text-filter-subject = Sujet
+# The button label that toggles whether the text filter searches the message
+# body for the string.
+quick-filter-bar-text-filter-body = Corps du message
+# 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 = Continuer cette recherche dans tous les dossiers
+# 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 = Appuyez sur la touche « Entrée » à nouveau pour continuer votre recherche pour : { $text }
+
+## Folder pane
+
+folder-pane-get-messages-button =
+ .title = Relever les nouveaux messages
+folder-pane-get-all-messages-menuitem =
+ .label = Relever tous les nouveaux messages
+ .accesskey = R
+folder-pane-write-message-button = Nouveau message
+ .title = Rédiger un nouveau message
+folder-pane-more-menu-button =
+ .title = Options du panneau des dossiers
+# Context menu item to show/hide different folder types in the folder pane
+folder-pane-header-folder-modes =
+ .label = Modes des dossiers
+# Context menu item to toggle display of "Get messages" button in folder pane header
+folder-pane-header-context-toggle-get-messages =
+ .label = Afficher « Relever les messages »
+# Context menu item to toggle display of "New Message" button in folder pane header
+folder-pane-header-context-toggle-new-message =
+ .label = Afficher « Nouveau message »
+folder-pane-header-context-hide =
+ .label = Masquer l’en-tête du panneau des dossiers
+folder-pane-show-total-toggle =
+ .label = Afficher le nombre total de messages
+# Context menu item to show or hide folder sizes
+folder-pane-header-toggle-folder-size =
+ .label = Afficher la taille du dossier
+folder-pane-header-hide-local-folders =
+ .label = Masquer les dossiers locaux
+folder-pane-mode-context-button =
+ .title = Options du mode dossier
+folder-pane-mode-context-toggle-compact-mode =
+ .label = Vue compacte
+ .accesskey = V
+folder-pane-mode-move-up =
+ .label = Déplacer vers le haut
+folder-pane-mode-move-down =
+ .label = Déplacer vers le bas
+# Variables:
+# $count (Number) - Number of unread messages.
+folder-pane-unread-aria-label =
+ { $count ->
+ [one] 1 message non lu
+ *[other] { $count } messages non lus
+ }
+# Variables:
+# $count (Number) - Number of total messages.
+folder-pane-total-aria-label =
+ { $count ->
+ [one] 1 message au total
+ *[other] { $count } messages au total
+ }
+
+## Message thread pane
+
+threadpane-column-header-select =
+ .title = Sélectionner/désélectionner tous les messages
+threadpane-column-header-select-all =
+ .title = Sélectionner tous les messages
+threadpane-column-header-deselect-all =
+ .title = Désélectionner tous les messages
+threadpane-column-label-select =
+ .label = Sélectionner des messages
+threadpane-cell-select =
+ .aria-label = Sélectionner le message
+threadpane-column-header-thread =
+ .title = Grouper ou non par fils de discussion
+threadpane-column-label-thread =
+ .label = Discussion
+threadpane-cell-thread =
+ .aria-label = État de la discussion
+threadpane-column-header-flagged =
+ .title = Trier par suivi
+threadpane-column-label-flagged =
+ .label = Suivi
+threadpane-cell-flagged =
+ .aria-label = Suivi
+threadpane-flagged-cell-label = Suivi
+threadpane-column-header-attachments =
+ .title = Trier par pièces jointes
+threadpane-column-label-attachments =
+ .label = Pièces jointes
+threadpane-cell-attachments =
+ .aria-label = Pièces jointes
+threadpane-attachments-cell-label = Pièces jointes
+threadpane-column-header-spam =
+ .title = Trier par statut indésirable
+threadpane-column-label-spam =
+ .label = Indésirables
+threadpane-cell-spam =
+ .aria-label = Statut indésirable
+threadpane-spam-cell-label = Indésirables
+threadpane-column-header-unread-button =
+ .title = Trier par statut de lecture
+threadpane-column-label-unread-button =
+ .label = Statut de lecture
+threadpane-cell-read-status =
+ .aria-label = Statut de lecture
+threadpane-read-cell-label = Lu
+threadpane-unread-cell-label = Non lu
+threadpane-column-header-sender = Expéditeur
+ .title = Trier par expéditeur
+threadpane-column-label-sender =
+ .label = Expéditeur
+threadpane-cell-sender =
+ .aria-label = De
+threadpane-column-header-recipient = Destinataire
+ .title = Trier par destinataire
+threadpane-column-label-recipient =
+ .label = Destinataire
+threadpane-cell-recipient =
+ .aria-label = Destinataire
+threadpane-column-header-correspondents = Correspondants
+ .title = Trier par correspondants
+threadpane-column-label-correspondents =
+ .label = Correspondants
+threadpane-cell-correspondents =
+ .aria-label = Correspondants
+threadpane-column-header-subject = Sujet
+ .title = Trier par sujet
+threadpane-column-label-subject =
+ .label = Sujet
+threadpane-cell-subject =
+ .aria-label = Sujet
+threadpane-column-header-date = Date
+ .title = Trier par date
+threadpane-column-label-date =
+ .label = Date
+threadpane-cell-date =
+ .aria-label = Date
+threadpane-column-header-received = Reçu
+ .title = Trier par date de réception
+threadpane-column-label-received =
+ .label = Reçu
+threadpane-cell-received =
+ .aria-label = Date de réception
+threadpane-column-header-status = Statut
+ .title = Trier par statut
+threadpane-column-label-status =
+ .label = Statut
+threadpane-cell-status =
+ .aria-label = État
+threadpane-column-header-size = Taille
+ .title = Trier par taille
+threadpane-column-label-size =
+ .label = Taille
+threadpane-cell-size =
+ .aria-label = Taille
+threadpane-column-header-tags = Étiquettes
+ .title = Trier par étiquettes
+threadpane-column-label-tags =
+ .label = Étiquettes
+threadpane-cell-tags =
+ .aria-label = Étiquettes
+threadpane-column-header-account = Compte
+ .title = Trier par compte
+threadpane-column-label-account =
+ .label = Compte
+threadpane-cell-account =
+ .aria-label = Compte
+threadpane-column-header-priority = Priorité
+ .title = Trier par priorité
+threadpane-column-label-priority =
+ .label = Priorité
+threadpane-cell-priority =
+ .aria-label = Priorité
+threadpane-column-header-unread = Non lu
+ .title = Nombre de messages non lus dans le fil
+threadpane-column-label-unread =
+ .label = Non lu
+threadpane-cell-unread =
+ .aria-label = Nombre de messages non lus
+threadpane-column-header-total = Total
+ .title = Nombre total de messages dans le fil
+threadpane-column-label-total =
+ .label = Total
+threadpane-cell-total =
+ .aria-label = Nombre total de messages
+threadpane-column-header-location = Emplacement
+ .title = Trier par adresse
+threadpane-column-label-location =
+ .label = Emplacement
+threadpane-cell-location =
+ .aria-label = Emplacement
+threadpane-column-header-id = Ordre de réception
+ .title = Trier par ordre de réception
+threadpane-column-label-id =
+ .label = Ordre de réception
+threadpane-cell-id =
+ .aria-label = Ordre de réception
+threadpane-column-header-delete =
+ .title = Supprimer un message
+threadpane-column-label-delete =
+ .label = Supprimer
+threadpane-cell-delete =
+ .aria-label = Supprimer
+
+## Message state variations
+
+threadpane-message-new =
+ .alt = Indicateur de nouveau message
+ .title = Nouveau message
+threadpane-message-replied =
+ .alt = Indicateur de réponse
+ .title = Message répondu
+threadpane-message-redirected =
+ .alt = Indicateur de redirection
+ .title = Message redirigé
+threadpane-message-forwarded =
+ .alt = Indicateur de transfert
+ .title = Message transféré
+threadpane-message-replied-forwarded =
+ .alt = Indicateur de réponse et transfert
+ .title = Message répondu et transféré
+threadpane-message-replied-redirected =
+ .alt = Indicateur de réponse et de redirection
+ .title = Message répondu et redirigé
+threadpane-message-forwarded-redirected =
+ .alt = Indicateur de transfert et redirection
+ .title = Message transféré et redirigé
+threadpane-message-replied-forwarded-redirected =
+ .alt = Indicateur de réponse, transfert et redirection
+ .title = Message répondu, transféré et redirigé
+apply-columns-to-menu =
+ .label = Appliquer ces paramètres à…
+apply-current-view-to-menu =
+ .label = Appliquer la vue actuelle à…
+apply-current-view-to-folder =
+ .label = Dossier…
+apply-current-view-to-folder-children =
+ .label = Dossier et sous-dossiers…
+
+## Apply columns confirmation dialog
+
+apply-changes-to-folder-title = Appliquer les modifications ?
+# Variables:
+# $name (String): The name of the folder to apply to.
+apply-current-columns-to-folder-message = Appliquer les paramètres de ce dossier à { $name } ?
+# Variables:
+# $name (String): The name of the folder to apply to.
+apply-current-columns-to-folder-with-children-message = Appliquer les paramètres de ce dossier à { $name } et ses sous-dossiers ?
+# Variables:
+# $name (String): The name of the folder to apply to.
+apply-current-view-to-folder-message = Appliquer la vue de ce dossier à { $name } ?
+# Variables:
+# $name (String): The name of the folder to apply to.
+apply-current-view-to-folder-with-children-message = Appliquer la vue de ce dossier à { $name } et à ses sous-dossiers ?
diff --git a/thunderbird-l10n/fr/localization/fr/messenger/aboutAddonsExtra.ftl b/thunderbird-l10n/fr/localization/fr/messenger/aboutAddonsExtra.ftl
new file mode 100644
index 0000000000..43538a414e
--- /dev/null
+++ b/thunderbird-l10n/fr/localization/fr/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 = Options des modules
+
+add-on-search-alternative-button-label = Trouver un module complémentaire alternatif
+
+atn-addons-heading-search-input =
+ .placeholder = Rechercher sur addons.thunderbird.net
+
diff --git a/thunderbird-l10n/fr/localization/fr/messenger/aboutDialog.ftl b/thunderbird-l10n/fr/localization/fr/messenger/aboutDialog.ftl
new file mode 100644
index 0000000000..344757a9b1
--- /dev/null
+++ b/thunderbird-l10n/fr/localization/fr/messenger/aboutDialog.ftl
@@ -0,0 +1,66 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+about-update-whats-new = Nouveautés
+aboutDialog-title =
+ .title = À propos de { -brand-full-name }
+about-dialog-title = À propos de { -brand-full-name }
+release-notes-link = Notes de version
+update-internal-error = Une erreur interne empêche la vérification des mises à jour. Elles sont disponibles sur <a data-l10n-name="manual-link"/>
+update-check-for-updates-button = Rechercher des mises à jour
+ .accesskey = R
+update-update-button = Redémarrer pour mettre à jour { -brand-shorter-name }
+ .accesskey = R
+update-checking-for-updates = Recherche de mises à jour…
+update-downloading-message = Téléchargement de la mise à jour — <span data-l10n-name="download-status"></span>
+update-applying = Application de la mise à jour…
+update-downloading = <img data-l10n-name="icon"/>Téléchargement de la mise à jour — <span data-l10n-name="download-status"></hspan>
+update-failed = La mise à jour a échoué. <a data-l10n-name="failed-link">Télécharger la dernière version</a>
+update-admin-disabled = Les mises à jour sont désactivées par votre administrateur système
+update-no-updates-found = { -brand-short-name } est à jour
+update-other-instance-handling-updates = { -brand-short-name } est mis à jour par une autre instance
+update-manual = Mises à jour disponibles sur <a data-l10n-name="manual-link"/>
+update-unsupported = Il n’est pas possible d’installer des mises à jour supplémentaires sur ce système. <a data-l10n-name="unsupported-link">En savoir plus</a>
+update-restarting = Redémarrage…
+# Variables:
+# $channel (String): description of the update channel (e.g. "release", "beta", "nightly" etc.)
+channel-description = Vous utilisez actuellement le canal de mise à jour <span data-l10n-name="current-channel">{ $channel }</span> .
+warning-desc-version = { -brand-short-name } est expérimental et peut être instable.
+warning-desc-telemetry = Il envoie automatiquement des informations sur les performances, le matériel, l’utilisation et les personnalisations à { -vendor-short-name } pour aider à améliorer { -brand-short-name }.
+# 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 } bits)
+# 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 } bits)
+aboutdialog-update-checking-failed = Échec de la vérification des mises à jour.
+community-exp =
+ <a data-l10n-name="community-exp-mozilla-link">
+ { -vendor-short-name }</a>
+ est une <a data-l10n-name="community-exp-credits-link">
+ communauté mondiale</a>
+ de contributeurs qui travaillent ensemble pour garder le Web ouvert, public et accessible à tous.
+community-2 =
+ { -brand-short-name } est conçu par <a data-l10n-name="community-mozilla-link">
+ { -vendor-short-name }</a>
+ , une communauté mondiale de <a data-l10n-name="community-credits-link">
+ contributeurs</a>
+ qui travaillent ensemble pour garder le Web ouvert, public et accessible à tous.
+about-helpus =
+ Vous souhaitez aider ? Vous pouvez <a data-l10n-name="helpus-donate-link">
+ faire un don</a> or <a data-l10n-name="helpus-get-involved-link">
+ participer</a>
+community-experimental = <a data-l10n-name="community-exp-mozilla-link">{ -vendor-short-name }</a> est une <a data-l10n-name="community-exp-credits-link">communauté mondiale</a> de contributeurs qui travaillent ensemble pour garder le Web ouvert, public et accessible à tous.
+community-desc = { -brand-short-name } est conçu par <a data-l10n-name="community-mozilla-link">{ -vendor-short-name }</a>, une communauté mondiale de <a data-l10n-name="community-credits-link">contributeurs</a> qui travaillent ensemble pour garder le Web ouvert, public et accessible à tous.
+about-donation = Vous souhaitez aider ? Vous pouvez <a data-l10n-name="helpus-donate-link">faire un don</a> or <a data-l10n-name="helpus-get-involved-link">participer</a>
+bottom-links-license = Informations de licence
+bottom-links-rights = Droits de l’utilisateur
+bottom-links-privacy = Politique de confidentialité
+cmd-close-mac-command-key =
+ .key = w
diff --git a/thunderbird-l10n/fr/localization/fr/messenger/aboutImport.ftl b/thunderbird-l10n/fr/localization/fr/messenger/aboutImport.ftl
new file mode 100644
index 0000000000..694d7c4f3a
--- /dev/null
+++ b/thunderbird-l10n/fr/localization/fr/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 = Importation
+
+export-page-title = Exporter
+
+## Header
+
+import-start = Outil d’importation
+
+import-start-title = Importez des paramètres ou des données à partir d’une application ou d’un fichier.
+
+import-start-description = Sélectionnez la source à partir de laquelle vous souhaitez importer des données. Vous pourrez ensuite choisir les données à importer.
+
+import-from-app = Importer depuis l’application
+
+import-file = Importer depuis un fichier
+
+import-file-title = Sélectionnez un fichier pour importer son contenu.
+
+import-file-description = Choisissez d’importer un profil, des carnets d’adresses ou des agendas précédemment sauvegardés.
+
+import-address-book-title = Importer le fichier d’un carnet d’adresses
+
+import-calendar-title = Importer le fichier d’un agenda
+
+export-profile = Exporter
+
+## Buttons
+
+button-back = Retour
+
+button-continue = Continuer
+
+button-export = Exporter
+
+button-finish = Terminer
+
+## 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 = Importer depuis une autre installation de { app-name-thunderbird }
+
+source-thunderbird-description = Importer les paramètres, les filtres, les messages et d’autres données à partir d’un profil { app-name-thunderbird }.
+
+source-seamonkey = Importer depuis une installation de { app-name-seamonkey }
+
+source-seamonkey-description = Importer les paramètres, les filtres, les messages et d’autres données à partir d’un profil { app-name-seamonkey }.
+
+source-outlook = Importer depuis { app-name-outlook }
+
+source-outlook-description = Importer les comptes, les carnets d’adresses et les messages depuis { app-name-outlook }.
+
+source-becky = Importer depuis { app-name-becky }
+
+source-becky-description = Importer les carnets d’adresses et les messages depuis { app-name-becky }.
+
+source-apple-mail = Importer depuis { app-name-apple-mail }
+
+source-apple-mail-description = Importer les messages depuis { app-name-apple-mail }.
+
+source-file2 = Importer depuis un fichier
+
+source-file-description = Sélectionnez un fichier pour importer les carnets d’adresses, les agendas ou une sauvegarde de profil (fichier ZIP).
+
+## Import from file selections
+
+file-profile2 = Importer un profil sauvegardé
+
+file-profile-description = Sélectionnez un profil Thunderbird précédemment sauvegardé (.zip)
+
+file-calendar = Importer des agendas
+
+file-calendar-description = Sélectionnez un fichier contenant des agendas ou des évènements exportés (.ics)
+
+file-addressbook = Importer des carnets d’adresses
+
+file-addressbook-description = Sélectionnez un fichier contenant des carnets d’adresses et des contacts exportés
+
+## Import from app profile steps
+
+from-app-thunderbird = Importer à partir d’un profil { app-name-thunderbird }
+
+from-app-seamonkey = Importer à partir d’un profil { app-name-seamonkey }
+
+from-app-outlook = Importer depuis { app-name-outlook }
+
+from-app-becky = Importer depuis { app-name-becky }
+
+from-app-apple-mail = Importer depuis { app-name-apple-mail }
+
+profiles-pane-title-thunderbird = Importer les paramètres et les données depuis un profil { app-name-thunderbird }.
+
+profiles-pane-title-seamonkey = Importer les paramètres et les données depuis un profil { app-name-seamonkey }.
+
+profiles-pane-title-outlook = Importer les données depuis { app-name-outlook }.
+
+profiles-pane-title-becky = Importer les données depuis { app-name-becky }.
+
+profiles-pane-title-apple-mail = Importer les messages depuis { app-name-apple-mail }.
+
+profile-source = Importer depuis un profil
+
+# $profileName (string) - name of the profile
+profile-source-named = Importer depuis le profil <strong>« { $profileName } »</strong>
+
+profile-file-picker-directory = Choisir un dossier de profil
+
+profile-file-picker-archive = Choisissez un fichier <strong>ZIP</strong>
+
+profile-file-picker-archive-description = Le fichier ZIP doit être inférieur à 2 Go.
+
+profile-file-picker-archive-title = Choisissez un fichier ZIP (inférieur à 2 Go)
+
+items-pane-title2 = Choisissez ce que vous souhaitez importer :
+
+items-pane-directory = Répertoire :
+
+items-pane-profile-name = Nom du profil :
+
+items-pane-checkbox-accounts = Comptes et paramètres
+
+items-pane-checkbox-address-books = Carnets d’adresses
+
+items-pane-checkbox-calendars = Agendas
+
+items-pane-checkbox-mail-messages = Courriers
+
+items-pane-override = Les données existantes ou identiques ne seront pas écrasées.
+
+## Import from address book file steps
+
+import-from-addr-book-file-description = Choisissez le format de fichier contenant les données de votre carnet d’adresses.
+
+addr-book-csv-file = Fichier séparé par des virgules ou des tabulations (.csv, .tsv)
+
+addr-book-ldif-file = Fichier LDIF (.ldif)
+
+addr-book-vcard-file = Fichier vCard (.vcf, .vcard)
+
+addr-book-sqlite-file = Fichier de base de données SQLite (.sqlite)
+
+addr-book-mab-file = Base de données Mork (.mab)
+
+addr-book-file-picker = Sélectionner un fichier de carnet d’adresses
+
+addr-book-csv-field-map-title = Faire correspondre les noms de champs
+
+addr-book-csv-field-map-desc = Sélectionnez les champs du carnet d’adresses correspondant aux champs source. Décochez les champs que vous ne voulez pas importer.
+
+addr-book-directories-title = Choisissez où importer les données sélectionnées
+
+addr-book-directories-pane-source = Fichier source :
+
+# $addressBookName (string) - name of the new address book that would be created.
+addr-book-import-into-new-directory2 = Créer un nouveau répertoire sous le nom <strong>« { $addressBookName } »</strong>
+
+# $addressBookName (string) - name of the address book to import into
+addr-book-summary-title = Importer les données choisies dans le répertoire « { $addressBookName } »
+
+# $addressBookName (string) - name of the address book that will be created.
+addr-book-summary-description = Un nouveau carnet d’adresses sous le nom « { $addressBookName } » sera créé.
+
+## Import from calendar file steps
+
+import-from-calendar-file-desc = Sélectionnez le fichier iCalendar (.ics) que vous voulez importer.
+
+calendar-items-title = Sélectionnez les éléments à importer.
+
+calendar-items-loading = Chargement des éléments…
+
+calendar-items-filter-input =
+ .placeholder = Filtrer les éléments…
+
+calendar-select-all-items = Tout sélectionner
+
+calendar-deselect-all-items = Tout désélectionner
+
+calendar-target-title = Choisissez où importer les éléments sélectionnés.
+
+# $targetCalendar (string) - name of the new calendar that would be created
+calendar-import-into-new-calendar2 = Créer un nouvel agenda sous le nom <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] Importer un élément dans l’agenda « { $targetCalendar } »
+ *[other] Importer { $itemCount } éléments dans l’agenda « { $targetCalendar } »
+ }
+
+# $targetCalendar (string) - name of the calendar that will be created
+calendar-summary-description = Un nouvel agenda sous le nom « { $targetCalendar } » sera créé.
+
+## Import dialog
+
+# $progressPercent (string) - percent formatted progress (for example "10%")
+progress-pane-importing2 = Importation… { $progressPercent }
+
+# $progressPercent (string) - percent formatted progress (for example "10%")
+progress-pane-exporting2 = Exportation… { $progressPercent }
+
+progress-pane-finished-desc2 = Terminé.
+
+error-pane-title = Erreur
+
+error-message-zip-file-too-big2 = La taille du fichier ZIP sélectionné est supérieure à 2 Go. Veuillez d’abord l’extraire, puis importer les données à partir du dossier d’extraction.
+
+error-message-extract-zip-file-failed2 = Échec de l’extraction du fichier ZIP. Veuillez plutôt l’extraire manuellement, puis l’importer depuis le dossier extrait.
+
+error-message-failed = L’importation a échoué de manière inattendue, des informations supplémentaires peuvent être disponibles dans la console d’erreurs.
+
+error-failed-to-parse-ics-file = Aucun élément importable trouvé dans le fichier.
+
+error-export-failed = L’exportation a échoué de manière inattendue, des informations supplémentaires peuvent être disponibles dans la console d’erreurs.
+
+error-message-no-profile = Aucun profil trouvé.
+
+## <csv-field-map> element
+
+csv-first-row-contains-headers = La première ligne contient le nom des champs
+
+csv-source-field = Champ source
+
+csv-source-first-record = Premier enregistrement
+
+csv-source-second-record = Deuxième enregistrement
+
+csv-target-field = Champ du carnet d’adresses
+
+## Export tab
+
+export-profile-title = Exporter les comptes de messagerie, messages, carnets d’adresses et paramètres dans un fichier au format ZIP.
+
+export-profile-description = Si votre profil actuel est supérieur à 2 Go, nous vous recommandons de le sauvegarder vous-même.
+
+export-open-profile-folder = Ouvrir le dossier de profil
+
+export-file-picker2 = Exporter vers un fichier au format Zip
+
+export-brand-name = { -brand-product-name }
+
+## Summary pane
+
+summary-pane-title = Données à importer
+
+summary-pane-start = Lancer l’importation
+
+summary-pane-warning = { -brand-product-name } devra être redémarré une fois l’importation terminée.
+
+summary-pane-start-over = Redémarrer l’outil d’importation
+
+## Footer area
+
+footer-help = Besoin d’aide ?
+
+footer-import-documentation = Documentation sur l’importation
+
+footer-export-documentation = Documentation sur l’exportation
+
+footer-support-forum = Forum d’assistance
+
+## Step navigation on top of the wizard pages
+
+step-list =
+ .aria-label = Étapes d’importation
+
+step-confirm = Confirmation
+
+# Variables:
+# $number (number) - step number
+step-count = { $number }
diff --git a/thunderbird-l10n/fr/localization/fr/messenger/aboutProfilesExtra.ftl b/thunderbird-l10n/fr/localization/fr/messenger/aboutProfilesExtra.ftl
new file mode 100644
index 0000000000..a9a0c56633
--- /dev/null
+++ b/thunderbird-l10n/fr/localization/fr/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 = Lancer le profil
diff --git a/thunderbird-l10n/fr/localization/fr/messenger/aboutRights.ftl b/thunderbird-l10n/fr/localization/fr/messenger/aboutRights.ftl
new file mode 100644
index 0000000000..622ff7bab3
--- /dev/null
+++ b/thunderbird-l10n/fr/localization/fr/messenger/aboutRights.ftl
@@ -0,0 +1,30 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+rights-title = À propos de vos droits
+rights-intro = { -brand-full-name } est un logiciel libre et ouvert, réalisé par une communauté de milliers de contributeurs dans le monde. Voici ce que vous devriez savoir :
+rights-intro-point-1 = { -brand-short-name } est disponible suivant les modalités de la <a data-l10n-name="mozilla-public-license-link">Mozilla Public License</a> (Licence publique Mozilla). Ceci signifie que vous pouvez utiliser, copier et distribuer { -brand-short-name } à d’autres personnes. Vous pouvez également modifier le code source de { -brand-short-name } à votre gré pour répondre à vos besoins. La Licence publique Mozilla vous autorise aussi à distribuer vos versions modifiées.
+rights-intro-point-2 = Il ne vous est cédé aucun droit ou licence sur les marques déposées de la Fondation Mozilla ou de tiers, y compris et sans limitation, sur le nom et le logo de Thunderbird. Vous pouvez consulter des informations complémentaires sur les marques déposées <a data-l10n-name="mozilla-trademarks-link">ici</a>.
+rights-intro-point-3 = Certaines fonctionnalités de { -brand-short-name }, comme le rapporteur de plantages, vous permettent de fournir un retour à { -vendor-short-name }. En choisissant d’envoyer ces informations, vous donnez à { -vendor-short-name } la permission d’utiliser ce retour pour améliorer ses logiciels, de le publier sur ses sites web et de le distribuer.
+rights-intro-point-4 = La manière dont nous utilisons vos informations personnelles et le retour envoyés à { -vendor-short-name } par l’intermédiaire de { -brand-short-name } est décrite dans la <a data-l10n-name="mozilla-privacy-policy-link">politique de confidentialité de { -brand-short-name }</a>.
+rights-intro-point-4-unbranded = Toutes les politiques de confidentialité applicables à ce logiciel devraient être listées ici.
+rights-intro-point-5 = Certaines fonctionnalités de { -brand-short-name } utilisent des services d’information sur le Web, cependant nous ne pouvons pas garantir à 100 % qu’ils sont appropriés ou dénués d’erreurs. Vous pouvez trouver plus de détails, y compris des informations sur la manière de désactiver les services, dans les <a data-l10n-name="mozilla-service-terms-link">modalités d’utilisation</a>.
+rights-intro-point-5-unbranded = Si ce logiciel intègre des services web, toutes les modalités d’utilisation applicables pour le ou les services doivent être liées à la section <a data-l10n-name="mozilla-website-services-link">Services de sites web</a>.
+rights-intro-point-6 = Afin de pouvoir lire certains types de contenus vidéos, { -brand-short-name } télécharge certains modules de déchiffrement de contenu depuis des tiers.
+rights-webservices-header = Services d’informations web de { -brand-full-name }
+rights-webservices2 = { -brand-full-name } utilise des services d’informations web (« Les Services ») pour fournir certaines des fonctionnalités qui sont mises à votre disposition dans cette version binaire de { -brand-short-name } comme décrit ci-dessous. Si vous ne voulez pas utiliser l’un ou l’autre de ces Services ou si vous trouvez que les modalités ci-dessous ne sont pas acceptables, vous pouvez désactiver la fonctionnalité ou le Service. Pour ce faire, veuillez consulter ces <a data-l10n-name="mozilla-disable-service-link">instructions</a> décrivant la manière de désactiver un Service ou une fonctionnalité en particulier. Les autres fonctionnalités ou Services peuvent être désactivés dans les paramètres de l’application.
+rights-locationawarebrowsing = <strong>Navigation selon la localisation géographique : </strong>se fait toujours à la demande. Aucune information concernant votre localisation n’est jamais envoyée sans votre permission. Si vous souhaitez désactiver la fonctionnalité complètement, suivez ces instructions :
+rights-locationawarebrowsing-term-1 = Dans la barre d’adresse, saisissez <code>about:config</code>
+rights-locationawarebrowsing-term-2 = Faites une recherche sur geo.enabled
+rights-locationawarebrowsing-term-3 = Double-cliquez sur la préférence geo.enabled
+rights-locationawarebrowsing-term-4 = La localisation géographique est alors désactivée.
+rights-webservices-unbranded = Un aperçu des services de sites web intégrés dans le logiciel, accompagné des instructions sur la manière de les désactiver, le cas échéant, doit être indiqué ici.
+rights-webservices-term-unbranded = Toutes les modalités d’utilisation applicables pour ce logiciel doivent être indiquées ici.
+rights-webservices-term-1 = { -vendor-short-name } et ses contributeurs, concédants de licence et partenaires travaillent pour produire les Services les plus exacts et les plus à jour. Cependant, nous ne pouvons pas garantir que ces informations sont exhaustives et dénuées d’erreur. Par exemple, le service de blocage des sites malveillants peut ne pas identifier certains sites dangereux ou identifier à tort certains sites sûrs comme malveillants. Par ailleurs, tous les emplacements indiqués par le service de localisation géographique ne sont que des estimations et ni nous ni nos fournisseurs de service ne pouvons garantir leur précision.
+rights-webservices-term-2 = { -vendor-short-name } peut arrêter ou modifier Les Services à sa discrétion.
+rights-webservices-term-3 = Vous pouvez utiliser ces Services avec la version de { -brand-short-name } qui les accompagne, et { -vendor-short-name } vous garantit les droits nécessaires pour le faire. { -vendor-short-name } et ses concédants de licence se réservent tous les autres droits dans les Services. Les présentes modalités ne sont pas destinées à limiter les droits concédés par les licences de logiciels libres applicables à { -brand-short-name } et au code source des versions correspondantes de { -brand-short-name }.
+rights-webservices-term-4 = <strong>Les Services sont fournis « tels quels ». { -vendor-short-name }, ses contributeurs, concédants de licence et distributeurs, déclinent toutes garanties, expresses ou implicites, y compris mais sans s’y limiter, les garanties que les Services sont commercialisables et s’adaptent à vos besoins particuliers. Vous supportez intégralement les risques quant à la sélection des Services pour vos besoins et quant à la qualité et aux performances des Services. Certaines juridictions n’autorisent pas l’exclusion ou la limitation des garanties implicites, et donc cette clause de non-garantie peut ne pas s’appliquer pour vous.</strong>
+rights-webservices-term-5 = <strong>Sauf si requis par la loi, { -vendor-short-name }, ses contributeurs, concédants de licence et distributeurs ne seront pas passibles de dommages indirects, particuliers, accessoires, de dommages et intérêts punitifs ou exemplaires résultant de l’utilisation ou par tout moyen relatif à l’utilisation de { -brand-short-name } et des Services. La responsabilité collective sous les présentes modalités n’excédera pas 500 $ (cinq cents dollars). Certaines juridictions n’autorisent pas l’exclusion ou la limitation de certains dommages, et donc ces exclusions et limitations peuvent ne pas s’appliquer pour vous.</strong>
+rights-webservices-term-6 = { -vendor-short-name } peut mettre à jour les présentes modalités si nécessaire de temps à autre. Ces modalités ne peuvent pas être modifiées ou annulées sans l’accord écrit de { -vendor-short-name }.
+rights-webservices-term-7 = Les présentes modalités sont régies par les lois de l’état de Californie, États-Unis d’Amérique, à l’exclusion de conflit avec des dispositions légales. Si une partie de ces modalités est invalidée ou ne peut pas être mise en application, les parties restantes demeureront pleinement applicables. Dans l’éventualité d’un conflit entre une version traduite de ces modalités et la version en langue anglaise, la version en langue anglaise fera foi.
diff --git a/thunderbird-l10n/fr/localization/fr/messenger/aboutSupportCalendar.ftl b/thunderbird-l10n/fr/localization/fr/messenger/aboutSupportCalendar.ftl
new file mode 100644
index 0000000000..e2ae966798
--- /dev/null
+++ b/thunderbird-l10n/fr/localization/fr/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 = Paramètres de l’agenda
+calendars-table-heading-property = Nom
+calendars-table-heading-value = Valeur
+calendars-table-name = Nom
+calendars-table-type = Type
+calendars-table-disabled = Désactivé
+calendars-table-username = Nom d’utilisateur
+calendars-table-uri = URI
+calendars-table-refreshinterval = Intervalle d’actualisation
+calendars-table-readonly = En lecture seule
+calendars-table-suppressalarms = Supprimer les alarmes
+calendars-table-cache-enabled = Cache activé
+calendars-table-imip-identity = Identité iMIP
+calendars-table-imip-identity-disabled = iMIP désactivé
+calendars-table-imip-identity-account = Compte iMIP
+calendars-table-organizerid = Identifiant de l’organisateur
+calendars-table-forceemailscheduling = Forcer la planification des messages
+calendars-table-capabilities-alarms-popup-supported = Alarmes contextuelles prises en charge
+calendars-table-capabilities-alarms-oninviations-supported = Alarmes sur invitation prises en charge
+calendars-table-capabilities-alarms-maxcount = Alarmes maximales par évènement
+calendars-table-capabilities-attachments-supported = Pièce jointe prise en charge
+calendars-table-capabilities-categories-maxcount = Catégories maximales
+calendars-table-capabilities-privacy-supported = État de confidentialité pris en charge
+calendars-table-capabilities-priority-supported = Priorité prise en charge
+calendars-table-capabilities-events-supported = Évènement pris en charge
+calendars-table-capabilities-tasks-supported = Tâche prise en charge
+calendars-table-capabilities-timezones-floating-supported = Heure locale prise en charge
+calendars-table-capabilities-timezones-utc-supported = UTC/GMT pris en charge
+calendars-table-capabilities-autoschedule-supported = Programmation automatique prise en charge
diff --git a/thunderbird-l10n/fr/localization/fr/messenger/aboutSupportChat.ftl b/thunderbird-l10n/fr/localization/fr/messenger/aboutSupportChat.ftl
new file mode 100644
index 0000000000..a00480e664
--- /dev/null
+++ b/thunderbird-l10n/fr/localization/fr/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 = Comptes de messagerie instantanée
+chat-table-heading-account = Identifiant
+chat-table-heading-protocol = Protocole
+chat-table-heading-name = Nom
+chat-table-heading-actions = Actions
+chat-table-copy-debug-log = Copier le journal de débogage
+ .title = Copiez les erreurs et autres journaux de ce compte de discussion dans le presse-papiers. Peut contenir des informations personnelles telles que des messages instantanés.
diff --git a/thunderbird-l10n/fr/localization/fr/messenger/aboutSupportMail.ftl b/thunderbird-l10n/fr/localization/fr/messenger/aboutSupportMail.ftl
new file mode 100644
index 0000000000..137795ea34
--- /dev/null
+++ b/thunderbird-l10n/fr/localization/fr/messenger/aboutSupportMail.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/.
+
+accounts-title = Comptes courrier et groupes
+show-private-data-main-text = Inclure les noms de comptes
+show-private-data-explanation-text = (informations susceptibles de vous identifier)
+accounts-ID = ID
+accounts-name = Nom
+accounts-incoming-server = Serveur entrant
+accounts-outgoing-servers = Serveurs sortants
+accounts-server-name = Nom
+accounts-conn-security = Sécurité de la connexion
+accounts-auth-method = Méthode d’authentification
+accounts-default = Par défaut
+identity-name = Identité
+send-via-email = Envoyer par e-mail
+app-basics-telemetry = Données de télémétrie
+app-basics-cache-use = Utilisation du cache
+mail-libs-title = Bibliothèques
+libs-table-heading-library = Bibliothèque
+libs-table-heading-expected-version = Version minimale attendue
+libs-table-heading-loaded-version = Version utilisée
+libs-table-heading-path = Chemin
+libs-table-heading-status = État
+libs-rnp-status-ok = OK
+libs-rnp-status-load-failed = Échec du chargement. OpenPGP ne fonctionnera pas.
+libs-rnp-status-incompatible = Version incompatible. OpenPGP ne fonctionnera pas.
+libs-rnp-status-unofficial = Version non officielle. OpenPGP peut ne pas fonctionner comme prévu.
+libs-otr-status-ok = OK
+libs-otr-status-error = Échec du chargement. Le chiffrement des discussions OTR ne fonctionnera pas.
diff --git a/thunderbird-l10n/fr/localization/fr/messenger/accountCentral.ftl b/thunderbird-l10n/fr/localization/fr/messenger/accountCentral.ftl
new file mode 100644
index 0000000000..67dbe2d2c4
--- /dev/null
+++ b/thunderbird-l10n/fr/localization/fr/messenger/accountCentral.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/.
+
+account-central-title = Bienvenue dans { -brand-full-name }
+account-settings = Paramètres du compte
+# $accounts (Number) - the number of configured accounts
+setup-title = Choisir l’élément à configurer
+about-title = À propos de { -brand-full-name }
+resources-title = Ressources
+release-notes =
+ .title = À propos de { -brand-full-name }
+email-label = E-mail
+ .aria-label = Se connecter à votre compte e-mail existant
+email-description = { -brand-short-name } vous permet de vous connecter à votre compte de messagerie existant, pour lire vos messages de manière pratique et efficace depuis l’application.
+calendar-label = Agenda
+ .aria-label = Créer un nouvel agenda
+calendar-description = { -brand-short-name } vous permet de gérer vos évènements et de vous organiser. La connexion à un agenda distant gardera tous vos évènements synchronisés sur tous vos appareils.
+chat-label = Discussion
+ .aria-label = Se connecter à votre compte de messagerie instantanée
+chat-description = { -brand-short-name } vous permet de vous connecter à plusieurs comptes de messagerie instantanée, prenant en charge diverses plateformes.
+filelink-label = Espace de fichiers
+ .aria-label = Configurer un espace de fichiers
+filelink-description = { -brand-short-name } vous permet de configurer un compte d’espace de fichiers filelink, pratique pour envoyer facilement des pièces jointes volumineuses.
+addressbook-label = Carnet d’adresses
+ .aria-label = Créer un nouveau carnet d’adresses
+addressbook-description = { -brand-short-name } vous permet d’organiser tous vos contacts dans un carnet d’adresses. Vous pouvez également vous connecter à un carnet d’adresses distant pour synchroniser tous vos contacts.
+feeds-label = Flux
+ .aria-label = Se connecter à des flux et carnets web
+feeds-description = { -brand-short-name } vous permet de vous connecter à des flux RSS/Atom pour obtenir des nouvelles et des mises à jour régulières.
+newsgroups-label = Groupes de discussion
+ .aria-label = Se connecter à un groupe de discussion
+newsgroups-description = { -brand-short-name } vous permet de vous connecter à tous les groupes de discussion souhaités.
+import-title = Importer depuis un autre programme
+import-paragraph2 = { -brand-short-name } vous permet d’importer les messages, carnets d’adresses, abonnements à des flux, paramètres et/ou filtres d’autres logiciels de messagerie et ainsi que des carnets d’adresses de formats courants.
+import-label = Importer
+ .aria-label = Importer des données depuis d’autres programmes
+about-paragraph = Thunderbird domine le marché de la messagerie électronique et des agendas open source, multi-plateformes et gratuits pour les particuliers et les professionnels. Nous voulons maintenir la sécurité du logiciel et l’améliorer davantage. Un don nous permettra d’embaucher des développeurs, payer pour les infrastructures et poursuivre nos améliorations.
+about-paragraph-consider-donation = <b>Thunderbird est financé par des utilisatrices et utilisateurs comme vous ! Si vous aimez Thunderbird, pensez à faire un don.</b> La meilleure façon pour vous de garantir la disponibilité de Thunderbird est de <a data-l10n-name="donation-link">faire un don</a>.
+explore-link = Découvrir les fonctionnalités
+support-link = Assistance
+involved-link = Contribuer
+developer-link = Documentation pour les développeurs
+read = Lire les messages
+compose = Écrire un nouveau message
+search = Rechercher dans les messages
+filter = Gérer les filtres des messages
+nntp-subscription = Gérer les abonnements aux groupes de discussion
+rss-subscription = Gérer les abonnements aux flux
+e2e = Chiffrement de bout en bout
diff --git a/thunderbird-l10n/fr/localization/fr/messenger/accountManager.ftl b/thunderbird-l10n/fr/localization/fr/messenger/accountManager.ftl
new file mode 100644
index 0000000000..e57bc4548d
--- /dev/null
+++ b/thunderbird-l10n/fr/localization/fr/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 = Paramètres de { -brand-short-name }
+
+open-addons-sidebar-button = Modules complémentaires et thèmes
+
+account-action-add-newsgroup-account =
+ .label = Ajouter un compte de groupes de discussion
+ .accesskey = g
+
+server-change-restart-required = Pour que le changement du nom du serveur ou du nom d’utilisateur s’applique, un redémarrage est nécessaire.
+
+edit-vcard-dialog-accept-button = Enregistrer
+ .accesskey = E
+edit-vcard-dialog-cancel-button = Annuler
+ .accesskey = A
diff --git a/thunderbird-l10n/fr/localization/fr/messenger/accountProvisioner.ftl b/thunderbird-l10n/fr/localization/fr/messenger/accountProvisioner.ftl
new file mode 100644
index 0000000000..4745710e6f
--- /dev/null
+++ b/thunderbird-l10n/fr/localization/fr/messenger/accountProvisioner.ftl
@@ -0,0 +1,57 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+account-provisioner-tab-title = Obtenir une nouvelle adresse e-mail auprès d’un fournisseur de services
+provisioner-searching-icon =
+ .alt = Recherche…
+account-provisioner-title = Créer une nouvelle adresse e-mail
+account-provisioner-description = Utilisez nos partenaires de confiance pour obtenir une nouvelle adresse e-mail privée et sécurisée.
+account-provisioner-start-help = Les termes de recherche utilisés sont envoyés à { -vendor-short-name } (<a data-l10n-name="mozilla-privacy-link">Politique de confidentialité</a>) et aux fournisseurs de messagerie tiers <strong>mailfence.com </strong> (<a data-l10n-name="mailfence-privacy-link">Politique de confidentialité</a>, <a data-l10n-name="mailfence-tou-link">Conditions d’utilisation</a >) et <strong>gandi.net</strong> (<a data-l10n-name="gandi-privacy-link">Politique de confidentialité</a>, <a data-l10n-name="gandi-tou-link">Conditions d’utilisation</a>) pour trouver les adresses e-mail disponibles.
+account-provisioner-mail-account-title = Acheter une nouvelle adresse e-mail
+account-provisioner-mail-account-description = Thunderbird s’est associé à <a data-l10n-name="mailfence-home-link">Mailfence</a> pour vous offrir une nouvelle messagerie privée et sécurisée. Nous pensons que tout le monde devrait avoir une adresse e-mail sécurisée.
+account-provisioner-domain-title = Acheter votre propre adresse e-mail et votre domaine
+account-provisioner-domain-description = Thunderbird s’est associé à <a data-l10n-name="gandi-home-link">Gandi</a> pour vous proposer un domaine personnalisé. Cela vous permet d’utiliser n’importe quelle adresse sur ce domaine.
+
+## Forms
+
+account-provisioner-mail-input =
+ .placeholder = Votre nom, pseudo ou autre terme à rechercher
+account-provisioner-domain-input =
+ .placeholder = Votre nom, pseudo ou autre terme à rechercher
+account-provisioner-search-button = Rechercher
+account-provisioner-button-cancel = Annuler
+account-provisioner-button-existing = Utiliser une adresse e-mail existante
+account-provisioner-button-back = Retour
+
+## Notifications
+
+account-provisioner-fetching-provisioners = Récupération des fournisseurs…
+account-provisioner-connection-issues = Impossible de communiquer avec nos serveurs d’inscription. Veuillez vérifier votre connexion.
+account-provisioner-searching-email = Recherche des comptes de messagerie disponibles…
+account-provisioner-searching-domain = Recherche des domaines disponibles…
+account-provisioner-searching-error = Nous n’avons pas trouvé d’adresse e-mail à vous suggérer. Essayez de changer les termes à rechercher.
+
+## Illustrations
+
+account-provisioner-step1-image =
+ .title = Choisissez le compte à créer
+
+## Search results
+
+# Variables:
+# $count (Number) - The number of domains found during search.
+account-provisioner-results-title =
+ { $count ->
+ [one] Une adresse disponible trouvée pour :
+ *[other] { $count } adresses disponibles trouvées pour :
+ }
+account-provisioner-mail-results-caption = Vous pouvez essayer de rechercher des pseudonymes ou d’autres termes pour trouver plus d’adresses.
+account-provisioner-domain-results-caption = Vous pouvez essayer de rechercher des pseudonymes ou d’autres termes pour trouver plus de domaines.
+account-provisioner-free-account = Gratuit
+# Variables:
+# $price (String) - Yearly fee for the mail account. For example "US $9.99".
+account-provision-price-per-year = { $price } par an
+account-provisioner-all-results-button = Afficher tous les résultats
+account-provisioner-open-in-tab-img =
+ .title = S’ouvre dans un nouvel onglet
diff --git a/thunderbird-l10n/fr/localization/fr/messenger/accountcreation/accountHub.ftl b/thunderbird-l10n/fr/localization/fr/messenger/accountcreation/accountHub.ftl
new file mode 100644
index 0000000000..f592b5a6b1
--- /dev/null
+++ b/thunderbird-l10n/fr/localization/fr/messenger/accountcreation/accountHub.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/.
+
+
+### Account Hub
+### Account hub is where user can setup new accounts in Thunderbird.
+
+
+## Header
+
+account-hub-brand = { -brand-full-name }
+account-hub-welcome-line = Bienvenue dans <span data-l10n-name="brand-name">{ -brand-full-name }</span>
+account-hub-title = Centre de compte
+
+## Footer
+
+account-hub-release-notes = Notes de version
+account-hub-support = Assistance
+account-hub-donate = Faire un don
+
+## Initial setup page
+
+account-hub-email-setup-button = Compte de messagerie
+ .title = Configurer un compte de messagerie
+account-hub-calendar-setup-button = Agenda
+ .title = Configurer un agenda local ou distant
+account-hub-address-book-setup-button = Carnet d’adresses
+ .title = Configurer un carnet d’adresses local ou distant
+account-hub-chat-setup-button = Messagerie instantanée
+ .title = Configurer un compte de messagerie instantanée
+account-hub-feed-setup-button = Flux RSS
+ .title = Configurer un compte de flux RSS
+account-hub-newsgroup-setup-button = Groupes de discussion
+ .title = Configurer un compte de groupes de discussion
+account-hub-import-setup-button = Importer
+ .title = Importer un profil sauvegardé
+# Note: "Sync" represents the Firefox Sync product so it shouldn't be translated.
+account-hub-sync-button = Se connecter pour synchroniser…
+
+## Email page
+
+account-hub-email-title = Configurer un compte e-mail
+account-hub-add-email-title = Ajoutez votre compte
+account-hub-manually-configure-email-title = Établir la configuration du compte
+account-hub-email-cancel-button = Annuler
+account-hub-email-stop-button = Arrêter
+account-hub-email-back-button = Retour
+account-hub-email-retest-button = Retester
+account-hub-email-finish-button = Terminer
+account-hub-email-manually-configure-button = Configurer manuellement
+account-hub-email-continue-button = Continuer
+account-hub-email-confirm-button = Confirmer
+account-hub-incoming-server-legend = Serveur entrant
+account-hub-outgoing-server-legend = Serveur sortant
+account-hub-protocol-label = Protocole
+account-hub-hostname-label = Nom d’hôte
+account-hub-port-label = Port
+ .title = Définir le numéro de port à 0 pour l’autodétection
+account-hub-auto-description = { -brand-short-name } tentera de détecter automatiquement les champs qui sont laissés vides.
+account-hub-ssl-label = Sécurité de la connexion
+
+## Incoming/Outgoing SSL Authentication options
+
+account-hub-ssl-autodetect-option =
+ .label = Autodétection
+account-hub-ssl-no-authentication-option =
+ .label = Pas d’authentification
+account-hub-ssl-cleartext-password-option =
+ .label = Mot de passe normal
+account-hub-ssl-encrypted-password-option =
+ .label = Mot de passe chiffré
+
+## Incoming/Outgoing SSL options
+
+account-hub-ssl-noencryption-option =
+ .label = Aucune
+account-hub-auth-label = Méthode d’authentification
+account-hub-username-label = Nom d’utilisateur
+account-hub-adding-account-title = Ajout du compte
+account-hub-adding-account-subheader = Nouveau test des paramètres de configuration du compte
+account-hub-account-added-title = Compte ajouté
+account-hub-find-settings-failed = { -brand-full-name } n’a pas trouvé les paramètres de votre compte de messagerie.
diff --git a/thunderbird-l10n/fr/localization/fr/messenger/accountcreation/accountSetup.ftl b/thunderbird-l10n/fr/localization/fr/messenger/accountcreation/accountSetup.ftl
new file mode 100644
index 0000000000..c522e792fa
--- /dev/null
+++ b/thunderbird-l10n/fr/localization/fr/messenger/accountcreation/accountSetup.ftl
@@ -0,0 +1,292 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.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 = Configuration du compte
+
+## Header
+
+account-setup-title = Configurez votre adresse e-mail existante
+account-setup-description = Pour utiliser votre adresse e-mail actuelle, remplissez vos identifiants.
+account-setup-secondary-description = { -brand-product-name } recherchera automatiquement une configuration fonctionnelle et recommandée du serveur
+account-setup-success-title = Création du compte réussie
+account-setup-success-description = Vous pouvez dès maintenant utiliser ce compte avec { -brand-short-name }.
+account-setup-success-secondary-description = Vous pouvez enrichir l’expérience en connectant des services associés et en configurant des paramètres de compte avancés.
+
+## Form fields
+
+account-setup-name-label = Votre nom complet
+ .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 = Jean·ne Dupont
+account-setup-name-info-icon =
+ .title = Votre nom, tel qu’il apparaitra aux autres
+account-setup-name-warning-icon =
+ .title = Veuillez saisir vos nom et prénom
+account-setup-email-label = Adresse e-mail
+ .accesskey = e
+account-setup-email-input =
+ .placeholder = jean.ne.dupont@example.com
+account-setup-email-info-icon =
+ .title = Votre adresse e-mail existante
+account-setup-email-warning-icon =
+ .title = Adresse e-mail invalide
+account-setup-password-label = Mot de passe
+ .accesskey = p
+ .title = Facultatif, sera uniquement utilisé pour valider le nom d’utilisateur
+account-provisioner-button = Obtenir une nouvelle adresse e-mail
+ .accesskey = b
+account-setup-password-toggle-show =
+ .title = Afficher le mot de passe
+account-setup-password-toggle-hide =
+ .title = Masquer le mot de passe
+account-setup-remember-password = Retenir le mot de passe
+ .accesskey = m
+account-setup-exchange-label = Votre identifiant
+ .accesskey = i
+# YOURDOMAIN refers to the Windows domain in ActiveDirectory. yourusername refers to the user's account name in Windows.
+account-setup-exchange-input =
+ .placeholder = VOTREDOMAINE\votrenomd’utilisateur
+# 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 = Identifiant du domaine
+
+## Action buttons
+
+account-setup-button-cancel = Annuler
+ .accesskey = A
+account-setup-button-manual-config = Configuration manuelle
+ .accesskey = m
+account-setup-button-stop = Arrêter
+ .accesskey = A
+account-setup-button-retest = Retester
+ .accesskey = t
+account-setup-button-continue = Continuer
+ .accesskey = C
+account-setup-button-done = Terminé
+ .accesskey = n
+
+## Notifications
+
+account-setup-looking-up-settings = Recherche de la configuration…
+account-setup-looking-up-settings-guess = Recherche de la configuration : essai des noms de serveurs courants…
+account-setup-looking-up-settings-half-manual = Recherche de la configuration : sondage du serveur…
+account-setup-looking-up-disk = Recherche de la configuration : installation de { -brand-short-name }…
+account-setup-looking-up-isp = Recherche de la configuration : fournisseur de messagerie…
+# 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 = Recherche de la configuration : base de données des FAI de Mozilla…
+account-setup-looking-up-mx = Recherche de la configuration : domaine de messagerie entrant…
+account-setup-looking-up-exchange = Recherche de la configuration : serveur Exchange…
+account-setup-checking-password = Vérification du mot de passe…
+account-setup-installing-addon = Téléchargement et installation du module…
+account-setup-success-half-manual = Les paramètres suivants ont été trouvés en sondant le serveur donné :
+account-setup-success-guess = Configuration trouvée en essayant les noms de serveur courants.
+account-setup-success-guess-offline = Vous êtes en mode hors connexion. Certains paramètres ont été supposés mais vous devrez saisir les bons paramètres.
+account-setup-success-password = Mot de passe OK
+account-setup-success-addon = Installation du module complémentaire terminée
+# 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 trouvée dans la base de données des FAI de Mozilla.
+account-setup-success-settings-disk = Configuration trouvée sur l’installation de { -brand-short-name }.
+account-setup-success-settings-isp = Configuration trouvée chez le fournisseur de messagerie.
+# Note: Microsoft Exchange is a product name.
+account-setup-success-settings-exchange = Configuration trouvée pour un serveur Microsoft Exchange.
+
+## Illustrations
+
+account-setup-step1-image =
+ .title = Configuration initiale
+account-setup-step2-image =
+ .title = Chargement…
+account-setup-step3-image =
+ .title = Configuration trouvée
+account-setup-step4-image =
+ .title = Erreur de connexion
+account-setup-step5-image =
+ .title = Compte créé
+account-setup-privacy-footnote2 = Vos informations d’identification ne sont conservées que localement, sur votre ordinateur.
+account-setup-selection-help = Vous ne savez pas quoi sélectionner ?
+account-setup-selection-error = Besoin d’aide ?
+account-setup-success-help = Vous hésitez sur les prochaines étapes ?
+account-setup-documentation-help = Documentation d’installation
+account-setup-forum-help = Forum d’assistance
+account-setup-privacy-help = Politique de confidentialité
+account-setup-getting-started = Pour commencer
+
+## Results area
+
+# Variables:
+# $count (Number) - Number of available protocols.
+account-setup-results-area-title =
+ { $count ->
+ [one] Configuration disponible
+ *[other] Configurations disponibles
+ }
+account-setup-result-imap-description = Gardez vos dossiers et messages synchronisés sur votre serveur
+account-setup-result-pop-description = Conservez vos dossiers et messages sur votre ordinateur
+# Note: Exchange, Office365 are the name of products.
+account-setup-result-exchange2-description = Utiliser le serveur Microsoft Exchange ou les services cloud d’Office 365
+account-setup-incoming-title = Entrant
+account-setup-outgoing-title = Sortant
+account-setup-username-title = Nom d’utilisateur
+account-setup-exchange-title = Serveur
+account-setup-result-no-encryption = Aucun chiffrement
+account-setup-result-ssl = SSL/TLS
+account-setup-result-starttls = STARTTLS
+account-setup-result-outgoing-existing = Utiliser le serveur SMTP sortant existant
+# 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 = Entrant : { $incoming }, sortant : { $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 = Échec de l’authentification. Soit les identifiants saisis sont incorrects, soit un nom d’utilisateur séparé est nécessaire pour se connecter. Ce nom d’utilisateur est généralement votre identifiant de domaine Windows, avec ou sans le domaine (par exemple, jeannedupont ou AD\\jeannedupont)
+account-setup-credentials-wrong = Échec de l’authentification. Veuillez vérifier le nom d’utilisateur et le mot de passe
+account-setup-find-settings-failed = { -brand-short-name } n’a pas trouvé les paramètres de votre compte de messagerie
+account-setup-exchange-config-unverifiable = La configuration n’a pas pu être vérifiée. Si votre nom d’utilisateur et votre mot de passe sont corrects, il est probable que l’administrateur du serveur a désactivé la configuration sélectionnée pour votre compte. Essayez de sélectionner un autre protocole.
+account-setup-provisioner-error = Une erreur s’est produite lors de la configuration de votre nouveau compte dans { -brand-short-name }. Veuillez essayer de configurer manuellement votre compte avec vos informations d’identification.
+
+## Manual configuration area
+
+account-setup-manual-config-title = Paramètres du serveur
+account-setup-incoming-server-legend = Serveur entrant
+account-setup-protocol-label = Protocole :
+account-setup-hostname-label = Nom d’hôte :
+account-setup-port-label = Port :
+ .title = Indiquez 0 pour utiliser la détection automatique
+account-setup-auto-description = { -brand-short-name } essayera de détecter automatiquement les champs qui sont laissés vides.
+account-setup-ssl-label = Sécurité de la connexion :
+account-setup-outgoing-server-legend = Serveur sortant
+
+## Incoming/Outgoing SSL Authentication options
+
+ssl-autodetect-option = Autodétection
+ssl-no-authentication-option = Pas d’authentification
+ssl-cleartext-password-option = Mot de passe normal
+ssl-encrypted-password-option = Mot de passe chiffré
+
+## Incoming/Outgoing SSL options
+
+ssl-noencryption-option = Aucun
+account-setup-auth-label = Méthode d’authentification :
+account-setup-username-label = Nom d’utilisateur :
+account-setup-advanced-setup-button = Configuration avancée
+ .accesskey = a
+
+## Warning insecure server dialog
+
+account-setup-insecure-title = Avertissement !
+account-setup-insecure-incoming-title = Paramètres du courrier entrant :
+account-setup-insecure-outgoing-title = Paramètres du courrier sortant :
+# 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> n’utilise pas de chiffrement.
+account-setup-warning-cleartext-details = Les serveurs de courrier non sécurisés n’utilisent pas de connexions chiffrées pour protéger vos mots de passe et vos informations privées. En vous connectant à ce serveur, vous pourriez exposer votre mot de passe et vos informations privées.
+account-setup-insecure-server-checkbox = Je comprends les risques
+ .accesskey = u
+account-setup-insecure-description = { -brand-short-name } peut vous permettre d’accéder à vos e-mails en utilisant les configurations fournies. Cependant, vous devriez contacter votre administrateur ou votre fournisseur de messagerie au sujet de ces connexions incorrectes. Consultez la <a data-l10n-name="thunderbird-faq-link">FAQ de Thunderbird</a> pour plus d’informations.
+insecure-dialog-cancel-button = Modifier les paramètres
+ .accesskey = s
+insecure-dialog-confirm-button = Confirmer
+ .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 } a trouvé les informations de configuration de votre compte sur { $domain }. Voulez-vous continuer et soumettre vos informations d’identification ?
+exchange-dialog-confirm-button = Connexion
+exchange-dialog-cancel-button = Annuler
+
+## Dismiss account creation dialog
+
+exit-dialog-title = Aucun compte de messagerie configuré
+exit-dialog-description = Voulez-vous vraiment annuler le processus de configuration ? { -brand-short-name } peut toujours être utilisé sans compte de messagerie, mais de nombreuses fonctionnalités ne seront pas disponibles.
+account-setup-no-account-checkbox = Utiliser { -brand-short-name } sans compte de messagerie
+ .accesskey = s
+exit-dialog-cancel-button = Continuer la configuration
+ .accesskey = C
+exit-dialog-confirm-button = Quitter la configuration
+ .accesskey = Q
+
+## Alert dialogs
+
+account-setup-creation-error-title = Erreur lors de la création du compte
+account-setup-error-server-exists = Le serveur de courrier entrant existe déjà.
+account-setup-confirm-advanced-title = Confirmer la configuration avancée
+account-setup-confirm-advanced-description = Cette boîte de dialogue sera fermée et un compte avec les paramètres actuels sera créé, même si la configuration est incorrecte. Voulez-vous poursuivre ?
+
+## Addon installation section
+
+account-setup-addon-install-title = Installation
+account-setup-addon-install-intro = Un module complémentaire tiers peut vous permettre d’accéder à votre compte de messagerie sur ce serveur :
+account-setup-addon-no-protocol = Malheureusement, ce serveur de messagerie ne prend pas en charge les protocoles ouverts. { account-setup-addon-install-intro }
+
+## Success view
+
+account-setup-settings-button = Paramètres du compte
+account-setup-encryption-button = Chiffrement de bout en bout
+account-setup-signature-button = Ajout d’une signature
+account-setup-dictionaries-button = Téléchargement de dictionnaires
+account-setup-address-book-carddav-button = Se connecter à un carnet d’adresses CardDAV
+account-setup-address-book-ldap-button = Se connecter à un carnet d’adresses LDAP
+account-setup-calendar-button = Se connecter à un agenda distant
+account-setup-linked-services-title = Se connecter à vos services liés
+account-setup-linked-services-description = { -brand-short-name } a détecté d’autres services liés à votre compte de messagerie.
+account-setup-no-linked-description = Configurez d’autres services pour profiter au maximum de { -brand-short-name }.
+# Variables:
+# $count (Number) - The number of address books found during autoconfig.
+account-setup-found-address-books-description =
+ { $count ->
+ [one] { -brand-short-name } a trouvé un carnet d’adresses lié à votre compte de messagerie.
+ *[other] { -brand-short-name } a trouvé { $count } carnets d’adresses liés à votre compte de messagerie.
+ }
+# Variables:
+# $count (Number) - The number of calendars found during autoconfig.
+account-setup-found-calendars-description =
+ { $count ->
+ [one] { -brand-short-name } a trouvé un agenda lié à votre compte de messagerie.
+ *[other] { -brand-short-name } a trouvé { $count } agendas liés à votre compte de messagerie.
+ }
+account-setup-button-finish = Terminer
+ .accesskey = T
+account-setup-looking-up-address-books = Recherche de carnets d’adresses…
+account-setup-looking-up-calendars = Recherche d’agendas…
+account-setup-address-books-button = Carnets d’adresses
+account-setup-calendars-button = Agendas
+account-setup-connect-link = Connecter
+account-setup-existing-address-book = Connecté
+ .title = Carnet d’adresses déjà connecté
+account-setup-existing-calendar = Connecté
+ .title = Agenda déjà connecté
+account-setup-connect-all-calendars = Connecter tous les agendas
+account-setup-connect-all-address-books = Connecter tous les carnets d’adresses
+
+## Calendar synchronization dialog
+
+calendar-dialog-title = Connecter l’agenda
+calendar-dialog-cancel-button = Annuler
+ .accesskey = A
+calendar-dialog-confirm-button = Connecter
+ .accesskey = C
+account-setup-calendar-name-label = Nom
+account-setup-calendar-name-input =
+ .placeholder = Mon agenda
+account-setup-calendar-color-label = Couleur
+account-setup-calendar-refresh-label = Actualiser
+account-setup-calendar-refresh-manual = Manuellement
+# Variables:
+# $count (Number) - Number of minutes in the calendar refresh interval.
+account-setup-calendar-refresh-interval =
+ { $count ->
+ [one] Toutes les minutes
+ *[other] Toutes les { $count } minutes
+ }
+account-setup-calendar-read-only = En lecture seule
+ .accesskey = l
+account-setup-calendar-show-reminders = Afficher les alarmes
+ .accesskey = a
+account-setup-calendar-offline-support = Prise en charge du mode hors connexion
+ .accesskey = h
diff --git a/thunderbird-l10n/fr/localization/fr/messenger/addonNotifications.ftl b/thunderbird-l10n/fr/localization/fr/messenger/addonNotifications.ftl
new file mode 100644
index 0000000000..c51225968a
--- /dev/null
+++ b/thunderbird-l10n/fr/localization/fr/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 } a empêché ce site de vous demander d’installer un logiciel sur votre ordinateur.
+
+## Variables:
+## $host (String): The hostname of the site the add-on is being installed from.
+
+xpinstall-prompt-header = Autoriser { $host } à installer un module complémentaire ?
+xpinstall-prompt-message = Vous essayez d’installer un module complémentaire depuis { $host }. Assurez-vous qu’il s’agit d’un site digne de confiance avant de continuer.
+
+##
+
+xpinstall-prompt-header-unknown = Autoriser un site inconnu à installer un module complémentaire ?
+xpinstall-prompt-message-unknown = Vous essayez d’installer un module complémentaire depuis un site inconnu. Assurez-vous qu’il s’agit d’un site digne de confiance avant de continuer.
+xpinstall-prompt-dont-allow =
+ .label = Ne pas autoriser
+ .accesskey = P
+xpinstall-prompt-never-allow =
+ .label = Ne jamais autoriser
+ .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 = Signaler un site suspect
+ .accesskey = S
+# 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 = Continuer l’installation
+ .accesskey = C
+
+# These messages are shown when a website invokes navigator.requestMIDIAccess.
+
+site-permission-install-first-prompt-midi-header = Ce site demande l’accès à vos périphériques MIDI (Musical Instrument Digital Interface). L’accès aux périphériques peut être accordé par l’installation d’un module complémentaire.
+site-permission-install-first-prompt-midi-message = La sécurité de cet accès n’est pas garantie. Ne continuez que si vous faites confiance à ce site.
+
+##
+
+xpinstall-disabled-locked = L’installation de logiciels a été désactivée par votre administrateur système.
+xpinstall-disabled = L’installation de logiciels est actuellement désactivée. Cliquez sur « Activer » et essayez à nouveau.
+xpinstall-disabled-button =
+ .label = Activer
+ .accesskey = C
+# 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 }) est bloqué par votre administrateur système.
+# This message is shown when the installation of add-ons from a domain is blocked by enterprise policy.
+addon-domain-blocked-by-policy = Votre administrateur système a empêché ce site d’installer un logiciel sur votre ordinateur.
+addon-install-full-screen-blocked = L’installation de modules complémentaires n’est pas autorisée pendant ou avant le passage en mode plein écran.
+# Variables:
+# $addonName (String): the localized name of the sideloaded add-on.
+webext-perms-sideload-menu-item = { $addonName } a été ajouté à { -brand-short-name }
+# Variables:
+# $addonName (String): the localized name of the extension which has been updated.
+webext-perms-update-menu-item = { $addonName } demande de nouvelles permissions
+
+## Add-on removal warning
+
+# Variables:
+# $name (String): The name of the add-on that will be removed.
+addon-removal-title = Supprimer { $name } ?
+# Variables:
+# $name (String): the name of the extension which is about to be removed.
+addon-removal-message = Supprimer { $name } de { -brand-shorter-name } ?
+addon-removal-button = Supprimer
+addon-removal-abuse-report-checkbox = Signaler cette extension à { -vendor-short-name }
+# Variables:
+# $addonCount (Number): the number of add-ons being downloaded
+addon-downloading-and-verifying =
+ { $addonCount ->
+ [one] Téléchargement et vérification du module…
+ *[other] Téléchargement et vérification de { $addonCount } modules…
+ }
+addon-download-verifying = Vérification en cours
+addon-install-cancel-button =
+ .label = Annuler
+ .accesskey = N
+addon-install-accept-button =
+ .label = Ajouter
+ .accesskey = O
+
+## Variables:
+## $addonCount (Number): the number of add-ons being installed
+
+addon-confirm-install-message =
+ { $addonCount ->
+ [one] Ce site souhaite installer un module sur { -brand-short-name } :
+ *[other] Ce site souhaite installer { $addonCount } modules sur { -brand-short-name } :
+ }
+addon-confirm-install-unsigned-message =
+ { $addonCount ->
+ [one] Attention, ce site souhaite installer un module non vérifié sur { -brand-short-name }. Poursuivez à vos risques et périls.
+ *[other] Attention, ce site souhaite installer { $addonCount } modules non vérifiés sur { -brand-short-name }. Poursuivez à vos risques et périls.
+ }
+# Variables:
+# $addonCount (Number): the number of add-ons being installed (at least 2)
+addon-confirm-install-some-unsigned-message = Attention, ce site souhaite installer { $addonCount } modules sur { -brand-short-name }, dont certains ne sont pas vérifiés. Poursuivez à vos risques et périls.
+
+## Add-on install errors
+## Variables:
+## $addonName (String): the add-on name.
+
+addon-install-error-network-failure = Le module complémentaire n’a pas pu être téléchargé à cause d’un échec de connexion.
+addon-install-error-incorrect-hash = Le module complémentaire n’a pas pu être installé car il ne correspond pas au module attendu par { -brand-short-name }.
+addon-install-error-corrupt-file = Le module complémentaire téléchargé depuis ce site n’a pas pu être installé car il semble corrompu.
+addon-install-error-file-access = { $addonName } n’a pas pu être installé car un fichier n’a pas pu être modifié par { -brand-short-name }.
+addon-install-error-not-signed = { -brand-short-name } a empêché ce site d’installer un module complémentaire non vérifié.
+addon-install-error-invalid-domain = Le module complémentaire { $addonName } ne peut pas être installé depuis cet emplacement.
+addon-local-install-error-network-failure = Ce module complémentaire n’a pas pu être installé à cause d’une erreur du système de fichiers.
+addon-local-install-error-incorrect-hash = Ce module n’a pas pu être installé car il ne correspond pas au module attendu par { -brand-short-name }.
+addon-local-install-error-corrupt-file = Ce module complémentaire n’a pas pu être installé car il semble être corrompu.
+addon-local-install-error-file-access = { $addonName } n’a pas pu être installé car un fichier n’a pas pu être modifié par { -brand-short-name }.
+addon-local-install-error-not-signed = Ce module complémentaire n’a pas pu être installé car il n’a pas été vérifié.
+# Variables:
+# $appVersion (String): the application version.
+addon-install-error-incompatible = { $addonName } n’a pas pu être installé car il n’est pas compatible avec { -brand-short-name } { $appVersion }.
+addon-install-error-blocklisted = { $addonName } n’a pas pu être installé car il présente un risque élevé de causer des problèmes de stabilité ou de sécurité.
diff --git a/thunderbird-l10n/fr/localization/fr/messenger/addressbook/abCardDAVDialog.ftl b/thunderbird-l10n/fr/localization/fr/messenger/addressbook/abCardDAVDialog.ftl
new file mode 100644
index 0000000000..a808cc22fb
--- /dev/null
+++ b/thunderbird-l10n/fr/localization/fr/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 = Nouveau carnet d’adresses CardDAV
+
+carddav-dialog =
+ .buttonlabelaccept = Continuer
+ .buttonaccesskeyaccept = C
+
+carddav-username-label =
+ .value = Nom d’utilisateur :
+ .accesskey = N
+carddav-location-label =
+ .value = Adresse :
+ .accesskey = A
+carddav-location =
+ .default-placeholder = URL ou nom d’hôte du serveur du carnet d’adresses
+
+carddav-loading = Recherche de la configuration…
+carddav-known-incompatible = { $url } est connu pour être incompatible avec { -brand-short-name }.
+carddav-connection-error = La connexion a échoué.
+carddav-none-found = Aucun carnet d’adresses n’a été trouvé pour le compte spécifié.
+carddav-already-added = Tous les carnets d’adresses pour le compte spécifié ont déjà été ajoutés.
+
+carddav-available-books = Carnets d’adresses disponibles :
diff --git a/thunderbird-l10n/fr/localization/fr/messenger/addressbook/abCardDAVProperties.ftl b/thunderbird-l10n/fr/localization/fr/messenger/addressbook/abCardDAVProperties.ftl
new file mode 100644
index 0000000000..5df69aa8be
--- /dev/null
+++ b/thunderbird-l10n/fr/localization/fr/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 = URL CardDAV :
+ .accesskey = V
+
+carddav-refreshinterval-label =
+ .label = Synchroniser :
+ .accesskey = S
+
+# Variables:
+# $minutes (integer) - Number of minutes between address book synchronizations
+carddav-refreshinterval-minutes-value =
+ .label =
+ { $minutes ->
+ [one] chaque minute
+ *[other] toutes les { $minutes } minutes
+ }
+
+# Variables:
+# $hours (integer) - Number of hours between address book synchronizations
+carddav-refreshinterval-hours-value =
+ .label =
+ { $hours ->
+ [one] chaque heure
+ *[other] toutes les { $hours } heures
+ }
+
+carddav-readonly-label =
+ .label = En lecture seule
+ .accesskey = l
diff --git a/thunderbird-l10n/fr/localization/fr/messenger/addressbook/aboutAddressBook.ftl b/thunderbird-l10n/fr/localization/fr/messenger/addressbook/aboutAddressBook.ftl
new file mode 100644
index 0000000000..bd7b2036bc
--- /dev/null
+++ b/thunderbird-l10n/fr/localization/fr/messenger/addressbook/aboutAddressBook.ftl
@@ -0,0 +1,315 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.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 = Carnet d’adresses
+
+## Toolbar
+
+about-addressbook-toolbar-new-address-book =
+ .label = Nouveau carnet d’adresses
+about-addressbook-toolbar-add-carddav-address-book =
+ .label = Ajouter un carnet d’adresses CardDAV
+about-addressbook-toolbar-add-ldap-address-book =
+ .label = Ajouter un carnet d’adresses LDAP
+about-addressbook-toolbar-new-contact =
+ .label = Nouveau contact
+about-addressbook-toolbar-new-list =
+ .label = Nouvelle liste
+about-addressbook-toolbar-import =
+ .label = Importer
+
+## Books
+
+all-address-books-row =
+ .title = Tous les carnets d’adresses
+all-address-books = Tous les carnets d’adresses
+# 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 = Nombre total de contacts du carnet { $name } : { $count }
+# Variables:
+# $count (Number) - The number of contacts in all address books.
+about-addressbook-card-count-all = Nombre total de contacts de tous les carnets d’adresses : { $count }
+about-addressbook-books-context-properties =
+ .label = Propriétés
+about-addressbook-books-context-edit-list =
+ .label = Modifier la liste
+about-addressbook-books-context-synchronize =
+ .label = Synchroniser
+about-addressbook-books-context-edit =
+ .label = Modifier
+about-addressbook-books-context-print =
+ .label = Imprimer…
+about-addressbook-books-context-export =
+ .label = Exporter…
+about-addressbook-books-context-delete =
+ .label = Supprimer
+about-addressbook-books-context-remove =
+ .label = Supprimer
+about-addressbook-books-context-startup-default =
+ .label = Annuaire par défaut
+about-addressbook-confirm-delete-book-title = Supprimer le carnet d’adresses
+# Variables:
+# $name (String) - Name of the address book to be deleted.
+about-addressbook-confirm-delete-book = Voulez-vous vraiment supprimer { $name } et tous ses contacts ?
+about-addressbook-confirm-remove-remote-book-title = Supprimer le carnet d’adresses
+# Variables:
+# $name (String) - Name of the remote address book to be removed.
+about-addressbook-confirm-remove-remote-book = Voulez-vous vraiment supprimer { $name } ?
+
+## Cards
+
+# Variables:
+# $name (String) - Name of the address book that will be searched.
+about-addressbook-search =
+ .placeholder = Rechercher dans { $name }
+about-addressbook-search-all =
+ .placeholder = Rechercher dans tous les carnets d’adresses
+about-addressbook-sort-button2 =
+ .title = Options d’affichage de la liste
+about-addressbook-name-format-display =
+ .label = Nom à afficher
+about-addressbook-name-format-firstlast =
+ .label = Prénom Nom
+about-addressbook-name-format-lastfirst =
+ .label = Nom, Prénom
+about-addressbook-sort-name-ascending =
+ .label = Trier par nom (A > Z)
+about-addressbook-sort-name-descending =
+ .label = Trier par nom (Z > A)
+about-addressbook-sort-email-ascending =
+ .label = Trier par adresse e-mail (A > Z)
+about-addressbook-sort-email-descending =
+ .label = Trier par adresse e-mail (Z > A)
+about-addressbook-horizontal-layout =
+ .label = Passer à la disposition horizontale
+about-addressbook-vertical-layout =
+ .label = Passer à la disposition verticale
+about-addressbook-table-layout =
+ .label = Présentation en tableau
+
+## Card column headers
+## Each string is listed here twice, and the values should match.
+
+about-addressbook-column-header-generatedname = Nom
+about-addressbook-column-label-generatedname =
+ .label = { about-addressbook-column-header-generatedname }
+about-addressbook-column-header-emailaddresses = Adresses e-mail
+about-addressbook-column-label-emailaddresses =
+ .label = { about-addressbook-column-header-emailaddresses }
+about-addressbook-column-header-phonenumbers = Numéros de téléphone
+about-addressbook-column-label-phonenumbers =
+ .label = { about-addressbook-column-header-phonenumbers }
+about-addressbook-column-header-addresses = Adresses
+about-addressbook-column-label-addresses =
+ .label = { about-addressbook-column-header-addresses }
+about-addressbook-column-header-title = Fonction
+about-addressbook-column-label-title =
+ .label = { about-addressbook-column-header-title }
+about-addressbook-column-header-department = Service
+about-addressbook-column-label-department =
+ .label = { about-addressbook-column-header-department }
+about-addressbook-column-header-organization = Société
+about-addressbook-column-label-organization =
+ .label = { about-addressbook-column-header-organization }
+about-addressbook-column-header-addrbook = Carnet d’adresses
+about-addressbook-column-label-addrbook =
+ .label = { about-addressbook-column-header-addrbook }
+about-addressbook-column-header-generatedname2 = Nom
+ .title = Trier par nom
+about-addressbook-column-label-generatedname2 =
+ .label = Nom
+about-addressbook-column-header-emailaddresses2 = Adresses e-mail
+ .title = Trier par adresses e-mail
+about-addressbook-column-label-emailaddresses2 =
+ .label = Adresses e-mail
+about-addressbook-column-header-nickname2 = Pseudo
+ .title = Trier par pseudo
+about-addressbook-column-label-nickname2 =
+ .label = Pseudo
+about-addressbook-column-header-phonenumbers2 = Numéros de téléphone
+ .title = Trier par numéros de téléphone
+about-addressbook-column-label-phonenumbers2 =
+ .label = Numéros de téléphone
+about-addressbook-column-header-addresses2 = Adresses postales
+ .title = Trier par adresses postales
+about-addressbook-column-label-addresses2 =
+ .label = Adresses postales
+about-addressbook-column-header-title2 = Fonction
+ .title = Trier par fonction
+about-addressbook-column-label-title2 =
+ .label = Fonction
+about-addressbook-column-header-department2 = Service
+ .title = Trier par service
+about-addressbook-column-label-department2 =
+ .label = Service
+about-addressbook-column-header-organization2 = Société
+ .title = Trier par société
+about-addressbook-column-label-organization2 =
+ .label = Société
+about-addressbook-column-header-addrbook2 = Carnet d’adresses
+ .title = Trier par carnet d’adresses
+about-addressbook-column-label-addrbook2 =
+ .label = Carnet d’adresses
+about-addressbook-cards-context-write =
+ .label = Écrire
+about-addressbook-confirm-delete-mixed-title = Supprimer des contacts et des listes
+# Variables:
+# $count (Number) - The number of contacts and lists to be deleted. Always greater than 1.
+about-addressbook-confirm-delete-mixed = Voulez-vous vraiment supprimer ces { $count } contacts et listes ?
+# Variables:
+# $count (Number) - The number of lists to be deleted.
+about-addressbook-confirm-delete-lists-title =
+ { $count ->
+ [one] Supprimer la liste
+ *[other] Supprimer les listes
+ }
+# 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] Voulez-vous vraiment supprimer la liste { $name } ?
+ *[other] Voulez-vous vraiment supprimer ces { $count } listes ?
+ }
+# Variables:
+# $count (Number) - The number of contacts to be removed.
+about-addressbook-confirm-remove-contacts-title =
+ { $count ->
+ [one] Supprimer le contact
+ *[other] Supprimer les contacts
+ }
+# Variables:
+# $count (Number) - The number of contacts to be removed.
+# $name (String) - The name of the contact to be removed, if $count is 1.
+# $list (String) - The name of the list that contacts will be removed from.
+about-addressbook-confirm-remove-contacts =
+ { $count ->
+ [one] Voulez-vous vraiment supprimer { $name } de { $list } ?
+ *[other] Voulez-vous vraiment supprimer ces { $count } contacts de { $list } ?
+ }
+# 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 = Voulez-vous vraiment retirer { $name } de { $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 = Voulez-vous vraiment supprimer ces { $count } contacts de { $list } ?
+# Variables:
+# $count (Number) - The number of contacts to be deleted.
+about-addressbook-confirm-delete-contacts-title =
+ { $count ->
+ [one] Supprimer le contact
+ *[other] Supprimer les contacts
+ }
+# Variables:
+# $count (Number) - The number of contacts to be deleted.
+# $name (String) - The name of the contact to be deleted, if $count is 1.
+about-addressbook-confirm-delete-contacts =
+ { $count ->
+ [one] Voulez-vous vraiment supprimer le contact { $name } ?
+ *[other] Voulez-vous vraiment supprimer ces { $count } contacts ?
+ }
+# Variables:
+# $name (String) - The name of the contact to be deleted.
+about-addressbook-confirm-delete-contacts-single = Voulez-vous vraiment supprimer ce contact ({ $name }) ?
+# Variables:
+# $count (Number) - The number of contacts to be deleted.
+about-addressbook-confirm-delete-contacts-multi = Voulez-vous vraiment supprimer ces { $count } contacts ?
+
+## Card list placeholder
+## Shown when there are no cards in the list
+
+about-addressbook-placeholder-empty-book = Aucun contact disponible
+about-addressbook-placeholder-new-contact = Nouveau contact
+about-addressbook-placeholder-search-only = Ce carnet d’adresses affiche uniquement les contacts lorsque vous effectuez une recherche
+about-addressbook-placeholder-searching = Recherche…
+about-addressbook-placeholder-no-search-results = Aucun contact trouvé
+
+## Details
+
+# Variables:
+# $count (Number) - The number of selected items (will never be fewer than two)
+about-addressbook-selection-mixed-header = { $count } contacts et listes sélectionnés
+# Variables:
+# $count (Number) - The number of selected contacts
+about-addressbook-selection-contacts-header = { $count } contacts sélectionnés
+# Variables:
+# $count (Number) - The number of selected lists
+about-addressbook-selection-lists-header = { $count } listes sélectionnées
+# Variables:
+# $count (Number) - The number of selected items (will never be fewer than 2).
+about-addressbook-selection-mixed-header2 =
+ { $count ->
+ [one] { $count } entrée de carnet d’adresses sélectionnée
+ *[other] { $count } entrées de carnet d’adresses sélectionnées
+ }
+# Variables:
+# $count (Number) - The number of selected contacts
+about-addressbook-selection-contacts-header2 =
+ { $count ->
+ [one] { $count } contact sélectionné
+ *[other] { $count } contacts sélectionnés
+ }
+# Variables:
+# $count (Number) - The number of selected lists
+about-addressbook-selection-lists-header2 =
+ { $count ->
+ [one] { $count } liste sélectionnée
+ *[other] { $count } listes sélectionnées
+ }
+about-addressbook-details-edit-photo =
+ .title = Modifier la photo du contact
+about-addressbook-new-contact-header = Nouveau contact
+about-addressbook-prefer-display-name = Préférer le nom à afficher plutôt que l’en-tête de message
+about-addressbook-write-action-button = Écrire
+about-addressbook-event-action-button = Évènement
+about-addressbook-search-action-button = Rechercher
+about-addressbook-new-list-action-button = Nouvelle liste
+about-addressbook-begin-edit-contact-button = Modifier
+about-addressbook-delete-edit-contact-button = Supprimer
+about-addressbook-cancel-edit-contact-button = Annuler
+about-addressbook-save-edit-contact-button = Enregistrer
+about-addressbook-add-contact-to = Ajouter à :
+about-addressbook-details-email-addresses-header = Adresses e-mail
+about-addressbook-details-phone-numbers-header = Numéros de téléphone
+about-addressbook-details-addresses-header = Adresses
+about-addressbook-details-notes-header = Notes
+about-addressbook-details-impp-header = Messagerie instantanée
+about-addressbook-details-websites-header = Sites web
+about-addressbook-details-other-info-header = Autres informations
+about-addressbook-entry-type-work = Professionnel
+about-addressbook-entry-type-home = Domicile
+about-addressbook-entry-type-fax = Fax
+# Or "Mobile"
+about-addressbook-entry-type-cell = Téléphone portable
+about-addressbook-entry-type-pager = Pager
+about-addressbook-entry-name-birthday = Anniversaire
+about-addressbook-entry-name-anniversary = Date d’anniversaire
+about-addressbook-entry-name-title = Fonction
+about-addressbook-entry-name-role = Rôle
+about-addressbook-entry-name-organization = Société
+about-addressbook-entry-name-website = Site web
+about-addressbook-entry-name-time-zone = Fuseau horaire
+about-addressbook-entry-name-custom1 = Divers 1
+about-addressbook-entry-name-custom2 = Divers 2
+about-addressbook-entry-name-custom3 = Divers 3
+about-addressbook-entry-name-custom4 = Divers 4
+about-addressbook-unsaved-changes-prompt-title = Modifications non enregistrées
+about-addressbook-unsaved-changes-prompt = Voulez-vous enregistrer vos modifications avant de quitter la vue d’édition ?
+
+# Photo dialog
+
+about-addressbook-photo-drop-target = Déposez ou collez une photo ici, ou cliquez pour sélectionner un fichier.
+about-addressbook-photo-drop-loading = Chargement de la photo…
+about-addressbook-photo-drop-error = Échec du chargement de la photo.
+about-addressbook-photo-filepicker-title = Sélectionner un fichier d’image
+about-addressbook-photo-discard = Supprimer la photo existante
+about-addressbook-photo-cancel = Annuler
+about-addressbook-photo-save = Enregistrer
+
+# Keyboard shortcuts
+
+about-addressbook-new-contact-key = N
diff --git a/thunderbird-l10n/fr/localization/fr/messenger/addressbook/fieldMapImport.ftl b/thunderbird-l10n/fr/localization/fr/messenger/addressbook/fieldMapImport.ftl
new file mode 100644
index 0000000000..4d9d82b52f
--- /dev/null
+++ b/thunderbird-l10n/fr/localization/fr/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 = Importer un carnet d’adresses depuis un fichier texte
+
+# $recordNumber (Number) - The current record number of the preview data.
+import-ab-csv-preview-record-number = Aperçu des données importées pour l’enregistrement { $recordNumber }
+
+import-ab-csv-dialog =
+ .buttonlabelaccept = Importer
+ .buttonaccesskeyaccept = I
diff --git a/thunderbird-l10n/fr/localization/fr/messenger/addressbook/vcard.ftl b/thunderbird-l10n/fr/localization/fr/messenger/addressbook/vcard.ftl
new file mode 100644
index 0000000000..2f8d2c8e10
--- /dev/null
+++ b/thunderbird-l10n/fr/localization/fr/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 = Nom à afficher
+vcard-displayname-placeholder =
+ .placeholder = { vcard-displayname }
+
+# Type selection
+
+vcard-entry-type-label = Type
+vcard-entry-type-home = Domicile
+vcard-entry-type-work = Professionnel
+vcard-entry-type-none = Aucun
+vcard-entry-type-custom = Personnalisé
+
+# N vCard field
+
+vcard-name-header = Nom
+vcard-n-prefix = Préfixe
+vcard-n-add-prefix =
+ .title = Ajouter un préfixe
+vcard-n-firstname = Prénom
+vcard-n-add-firstname =
+ .title = Ajouter un prénom
+vcard-n-middlename = Deuxième prénom
+vcard-n-add-middlename =
+ .title = Ajouter un deuxième prénom
+vcard-n-lastname = Nom
+vcard-n-add-lastname =
+ .title = Ajouter un nom de famille
+vcard-n-suffix = Suffixe
+vcard-n-add-suffix =
+ .title = Ajouter un suffixe
+
+# Nickname
+
+vcard-nickname = Pseudonyme
+
+# Email vCard field
+
+vcard-email-header = Adresses e-mail
+vcard-email-add = Ajouter une adresse e-mail
+vcard-email-label = Adresse e-mail
+vcard-primary-email-label = Par défaut
+
+# URL vCard field
+
+vcard-url-header = Sites web
+vcard-url-add = Ajouter un site web
+vcard-url-label = Site web
+
+# Tel vCard field
+
+vcard-tel-header = Numéros de téléphone
+vcard-tel-add = Ajouter un numéro de téléphone
+vcard-tel-label = Numéro de téléphone
+# Or "Mobile"
+vcard-entry-type-cell = Portable
+vcard-entry-type-fax = Fax
+vcard-entry-type-pager = Pager
+
+# TZ vCard field
+
+vcard-tz-header = Fuseau horaire
+vcard-tz-add = Ajouter un fuseau horaire
+
+# IMPP vCard field
+
+vcard-impp2-header = Messagerie instantanée
+vcard-impp-add = Ajouter un compte de messagerie instantanée
+vcard-impp-label = Compte de messagerie instantanée
+vcard-impp-select = Protocole
+vcard-impp-option-other = Autre
+vcard-impp-input-label = URI
+vcard-impp-input-title = URI pour la messagerie instantanée
+
+# BDAY and ANNIVERSARY vCard field
+
+vcard-bday-anniversary-header = Dates spéciales
+vcard-bday-anniversary-add = Ajouter une date spéciale
+vcard-bday-label = Anniversaire
+vcard-anniversary-label = Date d’anniversaire
+vcard-date-day = Jour
+vcard-date-month = Mois
+vcard-date-year = Année
+
+# ADR vCard field
+
+vcard-adr-header = Adresses
+vcard-adr-add = Ajouter une adresse
+vcard-adr-label = Adresse
+vcard-adr-delivery-label = Étiquette de livraison
+vcard-adr-street = Adresse postale
+# Or "Locality"
+vcard-adr-locality = Ville
+# Or "Region"
+vcard-adr-region = Département/région
+# The term "ZIP code" only applies in USA. Most locales should use "Postal code" only.
+vcard-adr-code = Code postal
+vcard-adr-country = Pays
+
+# NOTE vCard field
+
+vcard-note-header = Notes
+vcard-note-add = Ajouter une note
+
+# TITLE, ROLE and ORGANIZATION vCard fields
+
+vcard-org-header = Propriétés organisationnelles
+vcard-org-add = Ajouter des propriétés organisationnelles
+vcard-org-title = Fonction
+vcard-org-title-input =
+ .title = Position ou emploi
+ .placeholder = Nom de l’emploi
+vcard-org-role = Rôle
+vcard-org-role-input =
+ .title = Fonction ou rôle joué dans une situation particulière
+ .placeholder = Rôle dans un projet
+vcard-org-org = Société
+vcard-org-org-input =
+ .title = Nom de l’organisation
+ .placeholder = Nom de l’entreprise
+vcard-org-org-unit = Service
+vcard-org-org-unit-input =
+ .title = Nom de l’unité d’organisation
+ .placeholder = Département
+
+# Custom properties
+
+vcard-custom-header = Propriétés personnalisées
+vcard-custom-add = Ajouter des propriétés personnalisées
+vcard-remove-button-title =
+ .title = Supprimer
+vcard-remove-button = Supprimer
diff --git a/thunderbird-l10n/fr/localization/fr/messenger/appmenu.ftl b/thunderbird-l10n/fr/localization/fr/messenger/appmenu.ftl
new file mode 100644
index 0000000000..25446574e9
--- /dev/null
+++ b/thunderbird-l10n/fr/localization/fr/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 = Se connecter à Sync
+ .accesskey = e
+appmenu-sync-sync =
+ .value = Synchroniser le compte
+ .accesskey = c
+appmenu-sync-manage =
+ .value = Gestion du compte
+ .accesskey = M
+appmenu-sync-account =
+ .value = exemple@example.com
+appmenu-sync-now =
+ .label = Synchroniser maintenant
+ .accesskey = N
+appmenu-sync-settings =
+ .label = Paramètres de synchronisation
+ .accesskey = P
+appmenu-sync-sign-out =
+ .label = Se déconnecter…
+ .accesskey = d
+
+## New Account
+
+appmenu-new-account-panel-title =
+ .title = Nouveau compte
+appmenu-new-account-panel =
+ .label = Nouveau compte
+ .accesskey = N
+appmenu-create-new-mail-account =
+ .label = Obtenir une nouvelle adresse e-mail
+ .accesskey = O
+appmenu-new-mail-account =
+ .label = Adresse e-mail existante
+ .accesskey = A
+appmenu-new-calendar =
+ .label = Agenda
+ .accesskey = A
+appmenu-new-chat-account =
+ .label = Messagerie instantanée
+ .accesskey = M
+appmenu-new-feed =
+ .label = Flux
+ .accesskey = F
+appmenu-new-newsgroup =
+ .label = Groupes de discussion
+ .accesskey = G
+
+## New Account / Address Book
+
+appmenu-newab-panel-title =
+ .title = Nouveau carnet d’adresses
+appmenu-newab-panel =
+ .label = Nouveau carnet d’adresses
+ .accesskey = N
+appmenu-new-addressbook =
+ .label = Carnet d’adresses local
+ .accesskey = C
+appmenu-new-carddav =
+ .label = Carnet d’adresses CardDav
+ .accesskey = a
+appmenu-new-ldap =
+ .label = Carnet d’adresses LDAP
+ .accesskey = L
+
+## Create
+
+appmenu-create-panel-title =
+ .title = Créer
+appmenu-create-panel =
+ .label = Créer
+ .accesskey = C
+appmenu-create-message =
+ .label = Message
+ .accesskey = M
+appmenu-create-event =
+ .label = Évènement
+ .accesskey = v
+appmenu-create-task =
+ .label = Tâche
+ .accesskey = T
+appmenu-create-contact =
+ .label = Contact
+ .accesskey = C
+
+## Open
+
+appmenu-open-file-panel =
+ .label = Ouvrir à partir d’un fichier
+ .accesskey = u
+appmenu-open-file-panel-title =
+ .title = Ouvrir à partir d’un fichier
+appmenu-open-message =
+ .label = Message…
+ .accesskey = M
+appmenu-open-calendar =
+ .label = Agenda…
+ .accesskey = A
+
+## View / Layout
+
+appmenu-view-panel-title =
+ .title = Affichage
+appmenu-view-panel =
+ .label = Affichage
+ .accesskey = A
+appmenuitem-toggle-thread-pane-header =
+ .label = En-tête de la liste de messages
+appmenu-font-size-value = Taille de police
+appmenu-mail-uidensity-value = Densité
+appmenu-uidensity-compact =
+ .tooltiptext = Compacte
+appmenu-uidensity-default =
+ .tooltiptext = Par défaut
+appmenu-uidensity-relaxed =
+ .tooltiptext = Détendue
+appmenuitem-font-size-enlarge =
+ .tooltiptext = Augmenter la taille de la police
+appmenuitem-font-size-reduce =
+ .tooltiptext = Réduire la taille de la police
+# Variables:
+# $size (String) - The current font size.
+appmenuitem-font-size-reset =
+ .label = { $size } px
+ .tooltiptext = Réinitialiser la taille de la police
+
+## Tools
+
+appmenu-tools-panel-title =
+ .title = Outils
+appmenu-tools-panel =
+ .label = Outils
+ .accesskey = u
+appmenu-tools-import =
+ .label = Importer
+ .accesskey = I
+appmenu-tools-export =
+ .label = Exporter
+ .accesskey = x
+appmenu-tools-message-search =
+ .label = Rechercher dans les messages
+ .accesskey = R
+appmenu-tools-message-filters =
+ .label = Filtres de messages
+ .accesskey = t
+appmenu-tools-download-manager =
+ .label = Gestionnaire de téléchargements
+ .accesskey = c
+appmenu-tools-activity-manager =
+ .label = Activités
+ .accesskey = s
+appmenu-tools-dev-tools =
+ .label = Outils de développement
+ .accesskey = o
+
+## Help
+
+appmenu-help-panel-title =
+ .title = Aide
+appmenu-help-get-help =
+ .label = Obtenir de l’aide
+ .accesskey = b
+appmenu-help-explore-features =
+ .label = Découvrir les fonctionnalités
+ .accesskey = D
+appmenu-help-shortcuts =
+ .label = Raccourcis clavier
+ .accesskey = R
+appmenu-help-get-involved =
+ .label = S’impliquer
+ .accesskey = S
+appmenu-help-donation =
+ .label = Faire un don
+ .accesskey = F
+appmenu-help-share-feedback =
+ .label = Partager des idées et des commentaires
+ .accesskey = P
+appmenu-help-enter-troubleshoot-mode2 =
+ .label = Mode de dépannage…
+ .accesskey = M
+appmenu-help-exit-troubleshoot-mode2 =
+ .label = Désactiver le mode de dépannage
+ .accesskey = e
+appmenu-help-troubleshooting-info =
+ .label = Informations de dépannage
+ .accesskey = I
+appmenu-help-about-product =
+ .label = À propos de { -brand-short-name }
+ .accesskey = o
+
+## Application Update
+
+appmenuitem-banner-update-downloading =
+ .label = Téléchargement de la mise à jour de { -brand-shorter-name }
+appmenuitem-banner-update-available =
+ .label = Mise à jour disponible — télécharger maintenant
+appmenuitem-banner-update-manual =
+ .label = Mise à jour disponible — télécharger maintenant
+appmenuitem-banner-update-unsupported =
+ .label = Mise à jour impossible — système incompatible
+appmenuitem-banner-update-restart =
+ .label = Mise à jour disponible — redémarrer maintenant
diff --git a/thunderbird-l10n/fr/localization/fr/messenger/chat-verifySession.ftl b/thunderbird-l10n/fr/localization/fr/messenger/chat-verifySession.ftl
new file mode 100644
index 0000000000..48609fc602
--- /dev/null
+++ b/thunderbird-l10n/fr/localization/fr/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 = Vérifier l’identité
+
+# Variables:
+# $subject (String) - a human readable identifier for the other side of the verification flow.
+verify-window-subject-title = Vérifier l’identité de { $subject }
+
+verify-dialog =
+ .buttonlabelaccept = Elles correspondent
+ .buttonaccesskeyaccept = C
+ .buttonlabelextra2 = Elles ne correspondent pas
+ .buttonaccesskeyextra2 = n
+
+challenge-label = Vérifiez que la chaîne affichée correspond à l’affichage à l’autre extrémité.
diff --git a/thunderbird-l10n/fr/localization/fr/messenger/chat.ftl b/thunderbird-l10n/fr/localization/fr/messenger/chat.ftl
new file mode 100644
index 0000000000..10593488cc
--- /dev/null
+++ b/thunderbird-l10n/fr/localization/fr/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 = Entrée dans la discussion
+
+chat-left-chat-icon2 =
+ .alt = Sortie de la discussion
+
+chat-participant-owner-role-icon2 =
+ .alt = Propriétaire
+
+chat-participant-administrator-role-icon2 =
+ .alt = Administrateur
+
+chat-participant-moderator-role-icon2 =
+ .alt = Modérateur
+
+chat-participant-voiced-role-icon2 =
+ .alt = Le participant peut publier des messages
+
+chat-verify-identity =
+ .label = Vérifier l’identité
+ .accesskey = V
+
+chat-identity-verified =
+ .label = Identité déjà vérifiée
+
+chat-buddy-identity-status = Confiance dans le chiffrement
+chat-buddy-identity-status-verified = Vérifiée
+chat-buddy-identity-status-unverified = Non vérifiée
+
+## 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 = Vous avez reçu une invitation pour discuter dans { $conversation }
+chat-conv-invite-accept =
+ .label = Accepter
+ .accesskey = A
+chat-conv-invite-deny =
+ .label = Refuser
+ .accesskey = R
diff --git a/thunderbird-l10n/fr/localization/fr/messenger/compactFoldersDialog.ftl b/thunderbird-l10n/fr/localization/fr/messenger/compactFoldersDialog.ftl
new file mode 100644
index 0000000000..07240e0f89
--- /dev/null
+++ b/thunderbird-l10n/fr/localization/fr/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 = Compacter les dossiers
+compact-folders-dialog-title = Compacter les dossiers
+compact-dialog =
+ .buttonlabelaccept = Compacter maintenant
+ .buttonaccesskeyaccept = C
+ .buttonlabelcancel = Me le rappeler plus tard
+ .buttonaccesskeycancel = r
+ .buttonlabelextra1 = En savoir plus…
+ .buttonaccesskeyextra1 = p
+# 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 } doit effectuer régulièrement une maintenance des fichiers pour améliorer les performances de vos dossiers de messages. Cette opération récupèrera { $data } d’espace disque sans modifier vos messages. Pour permettre à { -brand-short-name } de le faire automatiquement à l’avenir sans rien demander, cochez la case ci-dessous avant de choisir « { compact-dialog.buttonlabelaccept } ».
+compact-dialog-never-ask-checkbox =
+ .label = Compacter automatiquement les dossiers à l’avenir
+ .accesskey = a
diff --git a/thunderbird-l10n/fr/localization/fr/messenger/exportDialog.ftl b/thunderbird-l10n/fr/localization/fr/messenger/exportDialog.ftl
new file mode 100644
index 0000000000..9788fb3a7d
--- /dev/null
+++ b/thunderbird-l10n/fr/localization/fr/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 = Exporter
+
+export-dialog =
+ .buttonlabelaccept = Suivant
+
+export-dialog-button-finish = Terminer
+
+export-dialog-file-picker = Exporter vers un fichier au format Zip
+
+export-dialog-description1 = Exportez les comptes de messagerie, messages, carnets d’adresses et paramètres dans un fichier au format Zip.
+
+export-dialog-desc2 = Au besoin, vous pourrez importer le fichier Zip pour restaurer votre profil.
+
+export-dialog-exporting = Exportation…
+
+export-dialog-exported = Exportation terminée !
diff --git a/thunderbird-l10n/fr/localization/fr/messenger/extensionPermissions.ftl b/thunderbird-l10n/fr/localization/fr/messenger/extensionPermissions.ftl
new file mode 100644
index 0000000000..6c91f9d321
--- /dev/null
+++ b/thunderbird-l10n/fr/localization/fr/messenger/extensionPermissions.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/.
+
+
+## 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 = Créer, renommer ou supprimer des dossiers de vos comptes de messagerie
+webext-perms-description-accountsIdentities = Créer, modifier ou supprimer des identités de vos comptes de messagerie
+webext-perms-description-accountsRead = Voir vos comptes de messagerie, leurs identités et leurs dossiers
+webext-perms-description-addressBooks = Consulter et modifier vos carnets d’adresses et vos contacts
+webext-perms-description-compose = Lire et modifier vos e-mails au fur et à mesure que vous les rédigez et les envoyez
+webext-perms-description-compose-send = Envoyer des e-mails composés en votre nom
+webext-perms-description-compose-save = Enregistrer les e-mails rédigés sous forme de brouillons ou de modèles
+webext-perms-description-experiment = Avoir un accès complet et illimité à { -brand-short-name } et à votre ordinateur
+webext-perms-description-messagesImport = Importer des messages dans Thunderbird
+webext-perms-description-messagesModify = Lire et modifier vos messages au moment où ils sont affichés
+webext-perms-description-messagesMove = Copier ou déplacer vos messages (y compris pour les mettre dans la corbeille)
+webext-perms-description-messagesDelete = Supprimer définitivement vos e-mails
+webext-perms-description-messagesRead = Lire vos e-mails et les marquer ou leur attribuer des étiquettes
+webext-perms-description-messagesRead2 = Lire vos messages électroniques
+webext-perms-description-messagesUpdate = Modifier les propriétés et les étiquettes de vos messages
+webext-perms-description-messagesTags = Créer, modifier et supprimer des étiquettes de messages
+webext-perms-description-messagesTagsList = Lister les étiquettes de messages
+webext-perms-description-sensitiveDataUpload = Transférer des données utilisateur sensibles (si l’accès a été accordé) à un serveur distant pour un traitement supplémentaire
diff --git a/thunderbird-l10n/fr/localization/fr/messenger/extensions/popup.ftl b/thunderbird-l10n/fr/localization/fr/messenger/extensions/popup.ftl
new file mode 100644
index 0000000000..cf521cd8b8
--- /dev/null
+++ b/thunderbird-l10n/fr/localization/fr/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/fr/localization/fr/messenger/extensionsUI.ftl b/thunderbird-l10n/fr/localization/fr/messenger/extensionsUI.ftl
new file mode 100644
index 0000000000..f606d72b12
--- /dev/null
+++ b/thunderbird-l10n/fr/localization/fr/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 = Les modules malveillants peuvent dérober vos données personnelles ou compromettre votre ordinateur. Installez ce module uniquement si vous avez confiance en la source.
+webext-perms-learn-more = En savoir plus
+# Variables:
+# $addonName (String): localized named of the extension that was just installed.
+addon-post-install-message = { $addonName } a été ajouté.
diff --git a/thunderbird-l10n/fr/localization/fr/messenger/firefoxAccounts.ftl b/thunderbird-l10n/fr/localization/fr/messenger/firefoxAccounts.ftl
new file mode 100644
index 0000000000..8a94ddd057
--- /dev/null
+++ b/thunderbird-l10n/fr/localization/fr/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 ->
+ *[lowercase] compte Firefox
+ [uppercase] Compte Firefox
+ }
+
+## These strings are shown in a desktop notification after the user requests we resend a verification email.
+
+fxa-verification-sent-title = Vérification envoyée
+# Variables:
+# $userEmail (String) - Email address of user's Firefox Account.
+fxa-verification-sent-body = Un lien de vérification a été envoyé à { $userEmail }.
+fxa-verification-not-sent-title = Impossible d’envoyer le lien de vérification
+fxa-verification-not-sent-body = Nous ne parvenons pas à vous envoyer d’e-mail de vérification, veuillez réessayer plus tard.
+
+## These strings are shown in a confirmation dialog when the user chooses to sign out.
+
+fxa-signout-dialog-title = Se déconnecter de votre { -fxaccount-brand-name } ?
+fxa-signout-dialog-body = Les données synchronisées resteront dans votre compte.
+fxa-signout-dialog-button = Se déconnecter
+
+## These strings are shown in a confirmation dialog when the user chooses to stop syncing.
+
+sync-disconnect-dialog-title = Se déconnecter ?
+sync-disconnect-dialog-body = { -brand-product-name } ne se synchronisera plus, mais ne supprimera aucune donnée sur cet appareil.
+sync-disconnect-dialog-button = Se déconnecter
diff --git a/thunderbird-l10n/fr/localization/fr/messenger/flatpak.ftl b/thunderbird-l10n/fr/localization/fr/messenger/flatpak.ftl
new file mode 100644
index 0000000000..6357563841
--- /dev/null
+++ b/thunderbird-l10n/fr/localization/fr/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 = Envoyez et recevez des e-mails avec { -brand-product-name }
+# A generic description of Thunderbird
+flatpak-desktop-generic-name = Client e-mail
+
+## 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 = Rédiger un nouveau message
+flatpak-desktop-action-addressbook = Ouvrir le carnet d’adresses
+flatpak-desktop-action-calendar = Ouvrir l’agenda
+flatpak-desktop-action-keymanager = Ouvrir le gestionnaire de clés OpenPGP
diff --git a/thunderbird-l10n/fr/localization/fr/messenger/folderprops.ftl b/thunderbird-l10n/fr/localization/fr/messenger/folderprops.ftl
new file mode 100644
index 0000000000..763c5e2c93
--- /dev/null
+++ b/thunderbird-l10n/fr/localization/fr/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 }% utilisés
diff --git a/thunderbird-l10n/fr/localization/fr/messenger/importDialog.ftl b/thunderbird-l10n/fr/localization/fr/messenger/importDialog.ftl
new file mode 100644
index 0000000000..1944c53082
--- /dev/null
+++ b/thunderbird-l10n/fr/localization/fr/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 = Importer le courrier d’un répertoire de profil de Thunderbird.
+
+import-from-thunderbird-zip =
+ .label = Thunderbird (sauvegarde de profil exporté ; fichier zip inférieur à 2 Go)
+ .accesskey = z
+
+import-from-thunderbird-dir =
+ .label = Thunderbird (dossier de profil)
+ .accesskey = T
+
+import-select-profile-zip = Sélectionnez un répertoire de profil zippé
+
+import-select-profile-dir = Sélectionnez un répertoire de profil
+
+zip-file-too-big-title = Fichier zip trop gros
+
+zip-file-too-big-message = La taille du fichier zip sélectionné est supérieure à 2 Go. Veuillez d’abord l’extraire, puis importer les données à partir du dossier d’extraction.
+
+wizardpage-failed =
+ .label = Échec de l’importation
+
+wizardpage-failed-message = L’importation a échoué de manière inattendue, des informations supplémentaires peuvent être disponibles dans la console d’erreurs.
diff --git a/thunderbird-l10n/fr/localization/fr/messenger/mailWidgets.ftl b/thunderbird-l10n/fr/localization/fr/messenger/mailWidgets.ftl
new file mode 100644
index 0000000000..991efc797a
--- /dev/null
+++ b/thunderbird-l10n/fr/localization/fr/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 = Appliquer la vue actuelle à…
+
+threadpane-apply-changes-prompt-title = Appliquer les modifications ?
+# Variables:
+# $name (String): The name of the folder to apply to.
+threadpane-apply-changes-prompt-no-children-text = Appliquer la vue de ce dossier à { $name } ?
+# Variables:
+# $name (String): The name of the folder to apply to.
+threadpane-apply-changes-prompt-with-children-text = Appliquer la vue de ce dossier à { $name } et à ses sous-dossiers ?
+
diff --git a/thunderbird-l10n/fr/localization/fr/messenger/menubar.ftl b/thunderbird-l10n/fr/localization/fr/messenger/menubar.ftl
new file mode 100644
index 0000000000..dac5a388c0
--- /dev/null
+++ b/thunderbird-l10n/fr/localization/fr/messenger/menubar.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/.
+
+toolbar-context-menu-menu-bar =
+ .toolbarname = Barre de menus
+ .accesskey = m
+
+## Tools Menu
+
+menu-tools-settings =
+ .label = Paramètres
+ .accesskey = P
+menu-addons-and-themes =
+ .label = Modules complémentaires et thèmes
+ .accesskey = e
+
+## Help Menu
+
+menu-help-help-title =
+ .label = Aide
+ .accesskey = e
+menu-help-get-help =
+ .label = Obtenir de l’aide
+ .accesskey = O
+menu-help-explore-features =
+ .label = Découvrir les fonctionnalités
+ .accesskey = D
+menu-help-shortcuts =
+ .label = Raccourcis clavier
+ .accesskey = R
+menu-help-get-involved =
+ .label = S’impliquer
+ .accesskey = S
+menu-help-donation =
+ .label = Faire un don
+ .accesskey = F
+menu-help-share-feedback =
+ .label = Partager des idées et des commentaires
+ .accesskey = P
+menu-help-enter-troubleshoot-mode =
+ .label = Mode de dépannage…
+ .accesskey = d
+menu-help-exit-troubleshoot-mode =
+ .label = Désactiver le mode de dépannage
+ .accesskey = o
+menu-help-more-troubleshooting-info =
+ .label = Plus d’informations de dépannage
+ .accesskey = m
+menu-help-troubleshooting-info =
+ .label = Informations de dépannage
+ .accesskey = I
+menu-help-about-product =
+ .label = À propos de { -brand-short-name }
+ .accesskey = o
+# These menu-quit strings are only used on Windows and Linux.
+menu-quit =
+ .label =
+ { PLATFORM() ->
+ [windows] Quitter
+ *[other] Quitter
+ }
+ .accesskey =
+ { PLATFORM() ->
+ [windows] Q
+ *[other] Q
+ }
+# This menu-quit-mac string is only used on macOS.
+menu-quit-mac =
+ .label = Quitter { -brand-shorter-name }
+quit-app-shortcut =
+ .key = Q
+
+## Mail Toolbar
+
+toolbar-junk-button =
+ .label = Indésirable
+ .tooltiptext = Marquer le message sélectionné comme indésirable
+toolbar-not-junk-button =
+ .label = Acceptable
+ .tooltiptext = Marquer le message sélectionné comme acceptable
+toolbar-delete-button =
+ .label = Supprimer
+ .tooltiptext = Supprimer les messages ou dossiers sélectionnés
+toolbar-undelete-button =
+ .label = Restaurer
+ .tooltiptext = Restaurer les messages sélectionnés
+
+## View
+
+menu-view-repair-text-encoding =
+ .label = Réparer l’encodage du texte
+ .accesskey = c
+
+## View / Folders
+
+menu-view-folders-toggle-header =
+ .label = En-tête du panneau des dossiers
+ .accesskey = E
+
+## View / Layout
+
+menu-view-toggle-thread-pane-header =
+ .label = En-tête de la liste de messages
+ .accesskey = E
+menu-font-size-label =
+ .label = Taille de police
+ .accesskey = T
+menuitem-font-size-enlarge =
+ .label = Augmenter la taille de la police
+ .accesskey = A
+menuitem-font-size-reduce =
+ .label = Réduire la taille de la police
+ .accesskey = R
+menuitem-font-size-reset =
+ .label = Réinitialiser la taille de la police
+ .accesskey = R
+mail-uidensity-label =
+ .label = Densité
+ .accesskey = D
+mail-uidensity-compact =
+ .label = Compacte
+ .accesskey = C
+mail-uidensity-normal =
+ .label = Normale
+ .accesskey = N
+mail-uidensity-touch =
+ .label = Tactile
+ .accesskey = T
+mail-uidensity-default =
+ .label = Par défaut
+ .accesskey = d
+mail-uidensity-relaxed =
+ .label = Détendue
+ .accesskey = D
+menu-spaces-toolbar-button =
+ .label = Barre d’espaces
+ .accesskey = e
+
+## File
+
+file-new-newsgroup-account =
+ .label = Compte de groupes de discussion…
+ .accesskey = g
diff --git a/thunderbird-l10n/fr/localization/fr/messenger/messageheader/headerFields.ftl b/thunderbird-l10n/fr/localization/fr/messenger/messageheader/headerFields.ftl
new file mode 100644
index 0000000000..454f3d3a23
--- /dev/null
+++ b/thunderbird-l10n/fr/localization/fr/messenger/messageheader/headerFields.ftl
@@ -0,0 +1,49 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+
+## Header lists
+
+message-header-to-list-name = Pour
+message-header-from-list-name = De
+message-header-sender-list-name = Expéditeur
+message-header-reply-to-list-name = Réponse à
+message-header-cc-list-name = Copie à
+message-header-bcc-list-name = Copie cachée à
+message-header-newsgroups-list-name = Groupes de discussion
+message-header-followup-to-list-name = Faire suivre à
+message-header-tags-list-name = Étiquettes
+
+## Other message headers.
+## The field-separator is for screen readers to separate the field name from the field value.
+
+message-header-author-field = Auteur<span data-l10n-name="field-separator"> :</span>
+message-header-organization-field = Organisation<span data-l10n-name="field-separator"> :</span>
+message-header-subject-field = Objet<span data-l10n-name="field-separator"> :</span>
+message-header-followup-to-field = Faire suivre à<span data-l10n-name="field-separator"> :</span>
+message-header-date-field = Date<span data-l10n-name="field-separator"> :</span>
+message-header-user-agent-field = Agent utilisateur<span data-l10n-name="field-separator"> :</span>
+message-header-references-field = Références<span data-l10n-name="field-separator"> :</span>
+message-header-message-id-field = Identifiant du message<span data-l10n-name="field-separator"> :</span>
+message-header-in-reply-to-field = En réponse à<span data-l10n-name="field-separator"> :</span>
+message-header-website-field = Site web<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 = Dans le carnet d’adresses
+message-header-address-not-in-address-book-icon2 =
+ .alt = Pas dans le carnet d’adresses
+message-header-address-not-in-address-book-button =
+ .title = Enregistrer cette adresse dans le carnet d’adresses
+message-header-address-in-address-book-button =
+ .title = Modifier le contact
+message-header-field-show-more = Autres
+ .title = Afficher tous les destinataires
+message-ids-field-show-all = Tout afficher
diff --git a/thunderbird-l10n/fr/localization/fr/messenger/messenger.ftl b/thunderbird-l10n/fr/localization/fr/messenger/messenger.ftl
new file mode 100644
index 0000000000..5fd6bd1e00
--- /dev/null
+++ b/thunderbird-l10n/fr/localization/fr/messenger/messenger.ftl
@@ -0,0 +1,415 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.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 = Réduire
+messenger-window-maximize-button =
+ .tooltiptext = Agrandir
+messenger-window-restore-down-button =
+ .tooltiptext = Restaurer
+messenger-window-close-button =
+ .tooltiptext = Fermer
+# Variables:
+# $count (Number) - Number of unread messages.
+unread-messages-os-tooltip =
+ { $count ->
+ [one] 1 message non lu
+ *[other] { $count } messages non lus
+ }
+about-rights-notification-text = { -brand-short-name } est un logiciel libre et open source, réalisé par une communauté internationale de milliers de personnes.
+
+## Content tabs
+
+content-tab-page-loading-icon =
+ .alt = Chargement de la page
+content-tab-security-high-icon =
+ .alt = La connexion est sécurisée
+content-tab-security-broken-icon =
+ .alt = La connexion n’est pas sécurisée
+
+# Back
+
+# Variables
+# $shortcut (String) - A keyboard shortcut for the Go Back command.
+content-tab-menu-back =
+ .tooltiptext = Reculer d’une page ({ $shortcut })
+ .aria-label = Page précédente
+ .accesskey = u
+# This menuitem is only visible on macOS
+content-tab-menu-back-mac =
+ .label = Page précédente
+ .accesskey = P
+
+# Forward
+
+# Variables
+# $shortcut (String) - A keyboard shortcut for the Go Forward command.
+content-tab-menu-forward =
+ .tooltiptext = Avancer d’une page ({ $shortcut })
+ .aria-label = Page suivante
+ .accesskey = p
+# This menuitem is only visible on macOS
+content-tab-menu-forward-mac =
+ .label = Page suivante
+ .accesskey = s
+
+# Reload
+
+content-tab-menu-reload =
+ .tooltiptext = Actualiser la page
+ .aria-label = Actualiser
+ .accesskey = A
+# This menuitem is only visible on macOS
+content-tab-menu-reload-mac =
+ .tooltiptext = Actualiser la page
+ .label = Actualiser
+ .accesskey = A
+
+# Stop
+
+content-tab-menu-stop =
+ .tooltiptext = Arrêter le chargement de la page
+ .aria-label = Arrêter
+ .accesskey = A
+# This menuitem is only visible on macOS
+content-tab-menu-stop-mac =
+ .tooltiptext = Arrêter le chargement de la page
+ .label = Arrêter
+ .accesskey = A
+
+## Toolbar
+
+addons-and-themes-toolbarbutton =
+ .label = Modules complémentaires et thèmes
+ .tooltiptext = Gestion de vos modules complémentaires
+quick-filter-toolbarbutton =
+ .label = Filtre rapide
+ .tooltiptext = Filtrer les messages
+redirect-msg-button =
+ .label = Rediriger
+ .tooltiptext = Rediriger le message sélectionné
+
+## Folder Pane
+
+folder-pane-toolbar =
+ .toolbarname = Barre d’outils du panneau des dossiers
+ .accesskey = d
+folder-pane-toolbar-options-button =
+ .tooltiptext = Options du panneau des dossiers
+folder-pane-header-label = Dossiers
+
+## Folder Toolbar Header Popup
+
+folder-toolbar-hide-toolbar-toolbarbutton =
+ .label = Masquer la barre d’outils
+ .accesskey = M
+show-all-folders-label =
+ .label = Tous les dossiers
+ .accesskey = T
+show-unread-folders-label =
+ .label = Dossiers non lus
+ .accesskey = n
+show-favorite-folders-label =
+ .label = Dossiers préférés
+ .accesskey = f
+show-smart-folders-label =
+ .label = Dossiers unifiés
+ .accesskey = u
+show-recent-folders-label =
+ .label = Dossiers récents
+ .accesskey = r
+show-tags-folders-label =
+ .label = Étiquettes
+ .accesskey = q
+folder-toolbar-toggle-folder-compact-view =
+ .label = Affichage compact
+ .accesskey = c
+
+## File Menu
+
+menu-file-save-as-file =
+ .label = Fichier…
+ .accesskey = F
+
+## Edit Menu
+
+menu-edit-delete-folder =
+ .label = Supprimer le dossier
+ .accesskey = d
+menu-edit-unsubscribe-newsgroup =
+ .label = Se désabonner du groupe de discussion
+ .accesskey = S
+# Variables:
+# $count (Number) - Number of selected messages.
+menu-edit-delete-messages =
+ .label =
+ { $count ->
+ [one] Supprimer le message
+ *[other] Supprimer les messages sélectionnés
+ }
+ .accesskey = S
+# Variables:
+# $count (Number) - Number of selected messages.
+menu-edit-undelete-messages =
+ .label =
+ { $count ->
+ [one] Restaurer le message
+ *[other] Restaurer les messages sélectionnés
+ }
+ .accesskey = R
+menu-edit-properties =
+ .label = Propriétés
+ .accesskey = P
+menu-edit-folder-properties =
+ .label = Propriétés du dossier
+ .accesskey = P
+menu-edit-newsgroup-properties =
+ .label = Propriétés du groupe
+ .accesskey = P
+
+## Message Menu
+
+redirect-msg-menuitem =
+ .label = Rediriger
+ .accesskey = d
+
+## AppMenu
+
+appmenu-save-as-file =
+ .label = Fichier…
+appmenu-settings =
+ .label = Paramètres
+appmenu-addons-and-themes =
+ .label = Modules complémentaires et thèmes
+
+## Context menu
+
+context-menu-redirect-msg =
+ .label = Rediriger
+# This menu item is for canceling an NNTP message
+context-menu-cancel-msg =
+ .label = Annuler le message
+# Variables:
+# $count (Number) - Number of selected messages.
+mail-context-delete-messages =
+ .label =
+ { $count ->
+ [one] Supprimer le message
+ *[other] Supprimer les messages sélectionnés
+ }
+# Variables:
+# $count (Number) - Number of selected messages.
+mail-context-undelete-messages =
+ .label =
+ { $count ->
+ [one] Restaurer le message
+ *[other] Restaurer les messages sélectionnés
+ }
+context-menu-decrypt-to-folder2 =
+ .label = Créer une copie déchiffrée vers
+ .accesskey = o
+
+## Message header pane
+
+other-action-redirect-msg =
+ .label = Rediriger
+message-header-msg-flagged =
+ .title = Suivi
+ .aria-label = Suivi
+# Variables:
+# $address (String) - The email address of the recipient this picture belongs to.
+message-header-recipient-avatar =
+ .alt = Photo de profil de { $address }.
+
+## Message header cutomize panel
+
+message-header-customize-panel-title = Paramètres d’en-tête des messages
+message-header-customize-button-style =
+ .value = Style du bouton
+ .accesskey = B
+message-header-button-style-default =
+ .label = Icônes et texte
+message-header-button-style-text =
+ .label = Texte
+message-header-button-style-icons =
+ .label = Icônes
+message-header-show-sender-full-address =
+ .label = Toujours afficher l’adresse complète de l’expéditeur
+ .accesskey = c
+message-header-show-sender-full-address-description = L’adresse e-mail sera affichée sous le nom d’affichage.
+message-header-show-recipient-avatar =
+ .label = Afficher la photo du profil de l’expéditeur
+ .accesskey = p
+message-header-show-big-avatar =
+ .label = Agrandir la photo de profil
+ .accesskey = A
+message-header-hide-label-column =
+ .label = Masquer la colonne des étiquettes
+ .accesskey = M
+message-header-large-subject =
+ .label = Grand sujet
+ .accesskey = s
+message-header-all-headers =
+ .label = Afficher tous les en-têtes
+ .accesskey = t
+
+## Action Button Context Menu
+
+toolbar-context-menu-manage-extension =
+ .label = Gérer l’extension
+ .accesskey = e
+toolbar-context-menu-remove-extension =
+ .label = Supprimer l’extension
+ .accesskey = m
+
+## Add-on removal warning
+
+# Variables:
+# $name (String): The name of the add-on that will be removed.
+addon-removal-title = Supprimer { $name } ?
+addon-removal-confirmation-button = Supprimer
+# Variables:
+# $name (String): The name of the add-on that will be removed.
+addon-removal-confirmation-message = Supprimer { $name } ainsi que sa configuration et ses données de { -brand-short-name } ?
+caret-browsing-prompt-title = Navigation au curseur
+caret-browsing-prompt-text = L’appui sur F7 active ou désactive la navigation au curseur. Cette fonction place un curseur déplaçable dans certains contenus, permettant de sélectionner du texte au clavier. Désirez-vous activer la navigation au curseur ?
+caret-browsing-prompt-check-text = Ne plus demander à l’avenir.
+repair-text-encoding-button =
+ .label = Réparer l’encodage du texte
+ .tooltiptext = Détermine l’encodage correct du texte en fonction du contenu
+
+## no-reply handling
+
+no-reply-title = Répondre non pris en charge
+# Variables:
+# $email (String) - Email address the reply will be sent to. Example: "noreply@example.com"
+no-reply-message = L’adresse de réponse ({ $email }) n’apparaît pas être une adresse surveillée. Les messages envoyés à cette adresse ne seront probablement pas lus.
+no-reply-reply-anyway-button = Répondre quand même
+
+## 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 } message sur { $total } n’a pas pu être déchiffré et n’a pas été copié.
+ *[other] { $failures }  messages sur { $total } n’ont pas pu être déchiffrés et n’ont pas été copiés.
+ }
+
+## Spaces toolbar
+
+spaces-toolbar-element =
+ .toolbarname = Barre d’espaces
+ .aria-label = Barre d’espaces
+ .aria-description = Barre d’outils verticale pour passer d’un espace à un autre. Utilisez les flèches pour naviguer entre les boutons disponibles.
+spaces-toolbar-button-mail2 =
+ .title = Courrier
+spaces-toolbar-button-address-book2 =
+ .title = Carnet d’adresses
+spaces-toolbar-button-calendar2 =
+ .title = Agenda
+spaces-toolbar-button-tasks2 =
+ .title = Tâches
+spaces-toolbar-button-chat2 =
+ .title = Messagerie instantanée
+spaces-toolbar-button-overflow =
+ .title = Plus d’espaces…
+spaces-toolbar-button-settings2 =
+ .title = Paramètres
+spaces-toolbar-button-hide =
+ .title = Masquer la barre d’espaces
+spaces-toolbar-button-show =
+ .title = Afficher la barre d’espaces
+spaces-context-new-tab-item =
+ .label = Ouvrir dans un nouvel onglet
+spaces-context-new-window-item =
+ .label = Ouvrir dans une nouvelle fenêtre
+# Variables:
+# $tabName (String) - The name of the tab this item will switch to.
+spaces-context-switch-tab-item =
+ .label = Aller à { $tabName }
+settings-context-open-settings-item2 =
+ .label = Paramètres
+settings-context-open-account-settings-item2 =
+ .label = Paramètres des comptes
+settings-context-open-addons-item2 =
+ .label = Modules complémentaires et thèmes
+
+## Spaces toolbar pinned tab menupopup
+
+spaces-toolbar-pinned-tab-button =
+ .tooltiptext = Ouvrir le menu des espaces
+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] Un message non lu
+ *[other] { $count } messages non lus
+ }
+
+## Spaces toolbar customize panel
+
+menuitem-customize-label =
+ .label = Personnaliser…
+spaces-customize-panel-title = Paramètres de la barre d’espaces
+spaces-customize-background-color = Couleur du fond
+spaces-customize-icon-color = Couleur des boutons
+# 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 = Couleur de fond du bouton sélectionné
+# 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 = Couleur du bouton sélectionné
+spaces-customize-button-restore = Configuration par défaut
+ .accesskey = C
+customize-panel-button-save = Terminé
+ .accesskey = T
+
+## 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 = Barre de filtre rapide
+ .accesskey = f
+# 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 = Oublier les phrases de passe OpenPGP
+
+## 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 ->
+ [one] { $percent } % utilisé
+ *[other] { $percent } % utilisés
+ }
+ .title = Quota IMAP : { $usage } utilisés sur { $limit } au total
diff --git a/thunderbird-l10n/fr/localization/fr/messenger/messengercompose/messengercompose.ftl b/thunderbird-l10n/fr/localization/fr/messenger/messengercompose/messengercompose.ftl
new file mode 100644
index 0000000000..66e984acee
--- /dev/null
+++ b/thunderbird-l10n/fr/localization/fr/messenger/messengercompose/messengercompose.ftl
@@ -0,0 +1,423 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.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 = Format d’expédition
+ .accesskey = F
+compose-send-auto-menu-item =
+ .label = Automatique
+ .accesskey = A
+compose-send-both-menu-item =
+ .label = HTML et texte brut
+ .accesskey = H
+compose-send-html-menu-item =
+ .label = Uniquement en HTML
+ .accesskey = U
+compose-send-plain-menu-item =
+ .label = Uniquement en texte brut
+ .accesskey = b
+
+## Addressing widget
+
+# $type (String) - the type of the addressing row
+remove-address-row-button =
+ .title = Supprimer le champ { $type }
+# $type (String) - the type of the addressing row
+# $count (Number) - the number of address pills currently present in the addressing row
+address-input-type-aria-label =
+ { $count ->
+ [0] { $type }
+ [one] { $type } avec une adresse, utilisez la touche flèche gauche pour la sélectionner.
+ *[other] { $type } avec { $count } adresses, utilisez la touche flèche gauche pour les sélectionner.
+ }
+# $email (String) - the email address
+# $count (Number) - the number of address pills currently present in the addressing row
+pill-aria-label =
+ { $count ->
+ [one] { $email } : appuyez sur Entrée pour modifier, ou Supprimer pour retirer.
+ *[other] { $email }, 1 sur { $count } : appuyez sur Entrée pour modifier, ou Supprimer pour retirer.
+ }
+# $email (String) - the email address
+pill-tooltip-invalid-address = { $email } n’est pas une adresse e-mail valide
+# $email (String) - the email address
+pill-tooltip-not-in-address-book = { $email } ne figure pas dans votre carnet d’adresses
+pill-action-edit =
+ .label = Modifier l’adresse
+ .accesskey = M
+# $type (String) - the type of the addressing row, e.g. Cc, Bcc, etc.
+pill-action-select-all-sibling-pills =
+ .label = Sélectionner toutes les adresses dans { $type }
+ .accesskey = a
+pill-action-select-all-pills =
+ .label = Sélectionner toutes les adresses
+ .accesskey = S
+pill-action-move-to =
+ .label = Déplacer vers Pour
+ .accesskey = p
+pill-action-move-cc =
+ .label = Déplacer vers Copie à
+ .accesskey = c
+pill-action-move-bcc =
+ .label = Déplacer vers Copie cachée à
+ .accesskey = h
+pill-action-expand-list =
+ .label = Développer la liste
+ .accesskey = D
+
+## Attachment widget
+
+ctrl-cmd-shift-pretty-prefix =
+ { PLATFORM() ->
+ [macos] ⇧ ⌘{ " " }
+ *[other] Ctrl+Maj+
+ }
+trigger-attachment-picker-key = A
+toggle-attachment-pane-key = M
+menuitem-toggle-attachment-pane =
+ .label = Panneau des pièces jointes
+ .accesskey = n
+ .acceltext = { ctrl-cmd-shift-pretty-prefix }{ toggle-attachment-pane-key }
+toolbar-button-add-attachment =
+ .label = Joindre
+ .tooltiptext = Ajouter une pièce jointe ({ ctrl-cmd-shift-pretty-prefix }{ trigger-attachment-picker-key })
+add-attachment-notification-reminder2 =
+ .label = Ajouter une pièce jointe…
+ .accesskey = j
+ .tooltiptext = { toolbar-button-add-attachment.tooltiptext }
+menuitem-attach-files =
+ .label = Fichier(s)…
+ .accesskey = F
+ .acceltext = { ctrl-cmd-shift-pretty-prefix }{ trigger-attachment-picker-key }
+context-menuitem-attach-files =
+ .label = Joindre fichier(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 = Ma vCard
+ .accesskey = C
+context-menuitem-attach-openpgp-key =
+ .label = Ma clé publique OpenPGP
+ .accesskey = O
+# $count (Number) - the number of attachments in the attachment bucket
+attachment-bucket-count-value =
+ { $count ->
+ [1] { $count } pièce jointe
+ *[other] { $count } pièces jointes
+ }
+attachment-area-show =
+ .title = Afficher le volet des pièces jointes ({ ctrl-cmd-shift-pretty-prefix }{ toggle-attachment-pane-key })
+attachment-area-hide =
+ .title = Masquer le volet des pièces jointes ({ 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] Ajouter comme pièce jointe
+ *[other] Ajouter comme pièces jointes
+ }
+drop-file-label-inline =
+ { $count ->
+ [one] Ajouter au corps du message
+ *[other] Ajouter au corps du message
+ }
+
+## Reorder Attachment Panel
+
+move-attachment-first-panel-button =
+ .label = En premier
+move-attachment-left-panel-button =
+ .label = Vers la gauche
+move-attachment-right-panel-button =
+ .label = Vers la droite
+move-attachment-last-panel-button =
+ .label = En dernier
+button-return-receipt =
+ .label = Accusé de réception
+ .tooltiptext = Demander un accusé de réception pour ce message
+
+## Encryption
+
+encryption-menu =
+ .label = Sécurité
+ .accesskey = c
+encryption-toggle =
+ .label = Chiffrer
+ .tooltiptext = Utiliser le chiffrement de bout en bout pour ce message
+encryption-options-openpgp =
+ .label = OpenPGP
+ .tooltiptext = Voir ou modifier les paramètres de chiffrement OpenPGP
+encryption-options-smime =
+ .label = S/MIME
+ .tooltiptext = Voir ou modifier les paramètres de chiffrement S/MIME
+signing-toggle =
+ .label = Signer
+ .tooltiptext = Signer numériquement ce message
+menu-openpgp =
+ .label = OpenPGP
+ .accesskey = O
+menu-smime =
+ .label = S/MIME
+ .accesskey = S
+menu-encrypt =
+ .label = Chiffrer
+ .accesskey = C
+menu-encrypt-subject =
+ .label = Chiffrer le sujet
+ .accesskey = u
+menu-sign =
+ .label = Signer numériquement
+ .accesskey = n
+menu-manage-keys =
+ .label = Assistant de clés
+ .accesskey = A
+menu-view-certificates =
+ .label = Voir les certificats des destinataires
+ .accesskey = V
+menu-open-key-manager =
+ .label = Gestionnaire de clés
+ .accesskey = G
+openpgp-key-issue-notification-one = Pour utiliser le chiffrement de bout en bout vous devez résoudre les problèmes de clé pour { $addr }
+openpgp-key-issue-notification-many = Pour utiliser le chiffrement de bout en bout vous devez résoudre les problèmes de clés pour { $count } destinataires.
+smime-cert-issue-notification-one = Pour utiliser le chiffrement de bout en bout vous devez résoudre les problèmes de certificat pour { $addr }
+smime-cert-issue-notification-many = Pour utiliser le chiffrement de bout en bout vous devez résoudre les problèmes de certificat pour { $count } destinataires.
+# 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 = Votre compte { $addr } n’est pas configuré pour envoyer des messages chiffrés de bout en bout.
+# Variables:
+# $addr (String) - Email address with key issues.
+openpgp-key-issue-notification-single = Pour utiliser le chiffrement de bout en bout vous devez résoudre les problèmes de clés pour { $addr }.
+# Variables:
+# $count (Number) - Number of recipients with key issues.
+openpgp-key-issue-notification-multi =
+ { $count ->
+ [one] Pour utiliser le chiffrement de bout en bout vous devez résoudre les problèmes de clés pour { $count } destinataire.
+ *[other] Pour utiliser le chiffrement de bout en bout vous devez résoudre les problèmes de clés pour { $count } destinataires.
+ }
+# Variables:
+# $addr (String) - mail address with certificate issues.
+smime-cert-issue-notification-single = Pour utiliser le chiffrement de bout en bout vous devez résoudre les problèmes de certificat pour { $addr }.
+# Variables:
+# $count (Number) - Number of recipients with certificate issues.
+smime-cert-issue-notification-multi =
+ { $count ->
+ [one] Pour utiliser le chiffrement de bout en bout vous devez résoudre les problèmes de certificat pour { $count } destinataire.
+ *[other] Pour utiliser le chiffrement de bout en bout vous devez résoudre les problèmes de certificat pour { $count } destinataires.
+ }
+key-notification-disable-encryption =
+ .label = Ne pas chiffrer
+ .accesskey = N
+ .tooltiptext = Désactiver le chiffrement de bout en bout
+key-notification-resolve =
+ .label = Résoudre…
+ .accesskey = R
+ .tooltiptext = Ouvrir l’assistant de clés OpenPGP
+can-encrypt-smime-notification = Chiffrement S/MIME de bout en bout disponible.
+can-encrypt-openpgp-notification = Chiffrement OpenPGP de bout en bout disponible.
+can-e2e-encrypt-button =
+ .label = Chiffrer
+ .accesskey = C
+
+## Addressing Area
+
+to-address-row-label =
+ .value = Pour
+# $key (String) - the shortcut key for this field
+show-to-row-main-menuitem =
+ .label = Champ Pour
+ .accesskey = P
+ .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 = Pour
+ .accesskey = P
+# $key (String) - the shortcut key for this field
+show-to-row-button = Pour
+ .title = Afficher le champ Pour ({ ctrl-cmd-shift-pretty-prefix }{ $key })
+cc-address-row-label =
+ .value = Copie à
+# $key (String) - the shortcut key for this field
+show-cc-row-main-menuitem =
+ .label = Champ Copie à
+ .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 = Copie à
+ .accesskey = C
+# $key (String) - the shortcut key for this field
+show-cc-row-button = Copie à
+ .title = Afficher le champ Copie à ({ ctrl-cmd-shift-pretty-prefix }{ $key })
+bcc-address-row-label =
+ .value = Copie cachée à
+# $key (String) - the shortcut key for this field
+show-bcc-row-main-menuitem =
+ .label = Champ Copie cachée à
+ .accesskey = h
+ .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 = Copie cachée à
+ .accesskey = h
+# $key (String) - the shortcut key for this field
+show-bcc-row-button = Copie cachée à
+ .title = Afficher le champ Copie cachée à ({ ctrl-cmd-shift-pretty-prefix }{ $key })
+extra-address-rows-menu-button =
+ .title = Autres champs d’adressage à afficher
+# $count (Number) - the count of addresses in the "To" and "Cc" fields.
+many-public-recipients-notice =
+ { $count ->
+ [one] Votre message a un destinataire public. Vous pouvez éviter de révéler les destinataires en utilisant plutôt « Copie cachée à ».
+ *[other] Les { $count } destinataires en « Pour » et « Copie à » verront les adresses des autres. Vous pouvez éviter de révéler les destinataires en utilisant plutôt « Copie cachée à ».
+ }
+public-recipients-notice-single = Votre message a un destinataire public. Vous pouvez éviter de divulguer le destinataire en utilisant plutôt « Copie cachée à ».
+# Variables:
+# $count (Number) - the count of addresses in the "To" and "Cc" fields.
+public-recipients-notice-multi =
+ { $count ->
+ [one] Le destinataire en « Pour » ou « Copie à » verra les adresses des autres destinataires. Vous pouvez éviter de révéler les destinataires en utilisant plutôt « Copie cachée à ».
+ *[other] Les { $count } destinataires en « Pour » et « Copie à » verront les adresses des autres destinataires. Vous pouvez éviter de révéler les destinataires en utilisant plutôt « Copie cachée à ».
+ }
+many-public-recipients-bcc =
+ .label = Utiliser plutôt la Copie cachée
+ .accesskey = U
+many-public-recipients-ignore =
+ .label = Garder les destinataires publics
+ .accesskey = G
+many-public-recipients-prompt-title = Trop de destinataires publics
+# $count (Number) - the count of addresses in the public recipients fields.
+many-public-recipients-prompt-msg =
+ { $count ->
+ [one] Votre message a un destinataire public. Cela peut être un problème de confidentialité. Vous pouvez l’éviter en déplaçant plutôt le destinataire vers « Copie cachée à ».
+ *[other] Votre message a { $count } destinataires publics, qui pourront voir les adresses les uns des autres. Cela peut être un problème de confidentialité. Vous pouvez éviter de divulguer les destinataires en déplaçant plutôt ceux-ci vers « Copie cachée à ».
+ }
+many-public-recipients-prompt-cancel = Annuler l’envoi
+many-public-recipients-prompt-send = Envoyer quand même
+
+## Notifications
+
+# Variables:
+# $identity (string) - The name of the used identity, most likely an email address.
+compose-missing-identity-warning = Une identité unique correspondant à l’adresse d’expédition n’a pas été trouvée. Le message sera envoyé en utilisant l’adresse d’expédition actuelle avec les paramètres de l’identité { $identity }.
+encrypted-bcc-warning = Lors de l’envoi d’un message chiffré, les destinataires en copie cachée ne sont pas complètement masqués. Tous les destinataires pourraient les identifier.
+encrypted-bcc-ignore-button = C’est compris
+auto-disable-e2ee-warning = Le chiffrement de bout en bout de ce message a été automatiquement désactivé.
+
+## Editing
+
+
+# Tools
+
+compose-tool-button-remove-text-styling =
+ .tooltiptext = Supprimer le style du texte
+
+## Filelink
+
+# A text used in a tooltip of Filelink attachments, whose account has been
+# removed or is unknown.
+cloud-file-unknown-account-tooltip = Envoyé sur un compte Filelink inconnu.
+
+# Placeholder file
+
+# Title for the html placeholder file.
+# $filename - name of the file
+cloud-file-placeholder-title = { $filename } - Pièce jointe Filelink
+# 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 = Le fichier { $filename } a été joint en tant que Filelink. Il peut être téléchargé à partir du lien ci-dessous.
+
+# 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] J’ai lié un fichier à ce message :
+ *[other] J’ai lié { $count } fichiers à ce message :
+ }
+# 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 = En savoir plus sur { $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 = En savoir plus sur { $firstLinks } et { $lastLink }.
+# Tooltip for an icon, indicating that the link is protected by a password.
+cloud-file-tooltip-password-protected-link = Lien protégé par mot de passe
+# 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 = Service Filelink :
+cloud-file-template-size = Taille :
+cloud-file-template-link = Lien :
+cloud-file-template-password-protected-link = Lien protégé par mot de passe :
+cloud-file-template-expiry-date = Date d’expiration :
+cloud-file-template-download-limit = Limite de téléchargement :
+
+# Messages
+
+cloud-file-connection-error-title = Erreur de connexion
+# Variables:
+# $provider (string) - name of the online storage service that reported the error
+cloud-file-connection-error = { -brand-short-name } est hors ligne. Impossible de se connecter à { $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 = Échec de l’envoi de { $filename } à { $provider }
+cloud-file-rename-error-title = Erreur de renommage
+# 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 = Un problème est survenu lors du changement de nom de { $filename } sur { $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 = Échec du changement de nom de { $filename } sur { $provider }
+# Variables:
+# $provider (string) - name of the online storage service that reported the error
+cloud-file-rename-not-supported = { $provider } ne prend pas en charge le changement de nom des fichiers déjà téléchargés.
+cloud-file-attachment-error-title = Erreur de pièce jointe Filelink
+# Variables:
+# $filename (string) - name of the file that was renamed and caused the error
+cloud-file-attachment-error = Échec de la mise à jour de la pièce jointe Filelink { $filename }, car son fichier local a été déplacé ou supprimé.
+cloud-file-account-error-title = Erreur de compte Filelink
+# Variables:
+# $filename (string) - name of the file that was renamed and caused the error
+cloud-file-account-error = Échec de la mise à jour de la pièce jointe Filelink { $filename }, car son compte Filelink a été supprimé.
+
+## Link Preview
+
+link-preview-title = Aperçu du lien
+link-preview-description = { -brand-short-name } peut ajouter un aperçu intégré lors du collage des liens.
+link-preview-autoadd = Ajouter automatiquement un aperçu des liens lorsque cela est possible
+link-preview-replace-now = Ajouter un aperçu pour ce lien ?
+link-preview-yes-replace = Oui
+
+## Dictionary selection popup
+
+spell-add-dictionaries =
+ .label = Ajouter des dictionnaires…
+ .accesskey = A
diff --git a/thunderbird-l10n/fr/localization/fr/messenger/migration.ftl b/thunderbird-l10n/fr/localization/fr/messenger/migration.ftl
new file mode 100644
index 0000000000..a732a7a206
--- /dev/null
+++ b/thunderbird-l10n/fr/localization/fr/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 = Préparation de { -brand-short-name }…
+
+## 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 = Test d’un changement rapide
+migration-task-test-slow = Test d’un changement lent
+migration-task-test-progress = Test de la barre de progression
diff --git a/thunderbird-l10n/fr/localization/fr/messenger/multimessageview.ftl b/thunderbird-l10n/fr/localization/fr/messenger/multimessageview.ftl
new file mode 100644
index 0000000000..a535e391c5
--- /dev/null
+++ b/thunderbird-l10n/fr/localization/fr/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 = Résumé de message
+selected-messages-label =
+ .label = Messages sélectionnés
+multi-message-archive-button =
+ .label = Archiver
+ .tooltiptext = Archiver
+multi-message-delete-button =
+ .label = Supprimer
+ .tooltiptext = Supprimer
diff --git a/thunderbird-l10n/fr/localization/fr/messenger/openpgp/backupKeyPassword.ftl b/thunderbird-l10n/fr/localization/fr/messenger/openpgp/backupKeyPassword.ftl
new file mode 100644
index 0000000000..0e1bd46db8
--- /dev/null
+++ b/thunderbird-l10n/fr/localization/fr/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 = Choisissez un mot de passe pour sauvegarder votre clé OpenPGP
+set-password-window-title = Choisissez un mot de passe pour sauvegarder votre clé OpenPGP
+set-password-legend = Choisir un mot de passe
+set-password-message = Le mot de passe que vous allez définir protège le fichier de sauvegarde que vous allez créer. Vous devez définir ce mot de passe pour commencer la sauvegarde.
+set-password-backup-pw =
+ .value = Mot de passe pour la sauvegarde de la clé secrète :
+set-password-repeat-backup-pw =
+ .value = Mot de passe pour la sauvegarde de la clé secrète (à nouveau) :
+set-password-backup-pw-label = Mot de passe pour la sauvegarde de la clé secrète :
+set-password-backup-pw2-label = Mot de passe pour la sauvegarde de la clé secrète (à nouveau) :
+set-password-reminder = <b>Important :</b> si vous oubliez le mot de passe de la sauvegarde de votre clé secrète, vous ne pourrez plus importer cette sauvegarde ultérieurement. Veuillez le conserver en lieu sûr.
+password-quality-meter = Mesure de la qualité du mot de passe
diff --git a/thunderbird-l10n/fr/localization/fr/messenger/openpgp/changeExpiryDlg.ftl b/thunderbird-l10n/fr/localization/fr/messenger/openpgp/changeExpiryDlg.ftl
new file mode 100644
index 0000000000..5e2602efa2
--- /dev/null
+++ b/thunderbird-l10n/fr/localization/fr/messenger/openpgp/changeExpiryDlg.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-change-key-expiry-title =
+ .title = Modifier l’expiration de la clé
+openpgp-change-expiry-title = Modifier l’expiration de la clé
+# Variables:
+# $date (String) - Date the key is expiring on.
+info-will-expire = Cette clé est configurée pour expirer le { $date }.
+info-already-expired = Cette clé a déjà expiré.
+info-does-not-expire = Cette clé est configurée pour ne jamais expirer.
+info-explanation-1 = <b>Après l’expiration d’une clé</b>, il n’est plus possible de l’utiliser pour le chiffrement ou la signature numérique.
+info-explanation-2 = Pour prolonger la période d’utilisation d’une clé, modifiez sa date d’expiration, puis partagez à nouveau la clé publique avec vos interlocuteurs.
+expire-dont-change =
+ .label = Ne pas modifier la date d’expiration
+expire-never-label =
+ .label = La clé n’expirera jamais
+expire-in-label =
+ .label = La clé expirera dans :
+expire-in-months = mois
+expire-no-change-label = Ne pas modifier la date d’expiration
+expire-in-time-label = La clé expirera dans :
+expire-never-expire-label = La clé n’expirera jamais
diff --git a/thunderbird-l10n/fr/localization/fr/messenger/openpgp/composeKeyStatus.ftl b/thunderbird-l10n/fr/localization/fr/messenger/openpgp/composeKeyStatus.ftl
new file mode 100644
index 0000000000..22ff8208ac
--- /dev/null
+++ b/thunderbird-l10n/fr/localization/fr/messenger/openpgp/composeKeyStatus.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/.
+
+openpgp-compose-key-status-intro-need-keys = Pour envoyer un message chiffré de bout en bout, vous devez obtenir et accepter une clé publique pour chaque destinataire.
+openpgp-compose-key-status-keys-heading = Disponibilité des clés OpenPGP :
+openpgp-compose-key-status-title =
+ .title = Sécurité des messages OpenPGP
+openpgp-compose-key-status-recipient =
+ .label = Destinataire
+openpgp-compose-key-status-status =
+ .label = État
+openpgp-compose-key-status-open-details = Gérer les clés du destinataire sélectionné…
+openpgp-recip-good = ok
+openpgp-recip-missing = aucune clé disponible
+openpgp-recip-none-accepted = aucune clé acceptée
+openpgp-compose-general-info-alias = { -brand-short-name } requiert normalement que la clé publique du destinataire contienne un identifiant d’utilisateur avec une adresse e-mail correspondante. Cela peut être outrepassé en utilisant les règles d’alias d’OpenPGP pour le destinataire.
+openpgp-compose-general-info-alias-learn-more = En savoir plus
+# Variables:
+# $count (Number) - Number of alias keys for a recipient.
+openpgp-compose-alias-status-direct =
+ { $count ->
+ [one] mappé sur une clé d’alias
+ *[other] mappé sur { $count } clés d’alias
+ }
+openpgp-compose-alias-status-error = Clé d’alias inutilisable/indisponible
diff --git a/thunderbird-l10n/fr/localization/fr/messenger/openpgp/keyAssistant.ftl b/thunderbird-l10n/fr/localization/fr/messenger/openpgp/keyAssistant.ftl
new file mode 100644
index 0000000000..dc30065b1f
--- /dev/null
+++ b/thunderbird-l10n/fr/localization/fr/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 = Assistant de clés OpenPGP
+openpgp-key-assistant-rogue-warning = Évitez d’accepter une fausse clé. Pour vous assurer d’avoir obtenu la bonne clé, vous devriez la vérifier. <a data-l10n-name="openpgp-link">En savoir plus…</a>
+
+## Encryption status
+
+openpgp-key-assistant-recipients-issue-header = Impossible de chiffrer
+# Variables:
+# $count (Number) - The number of recipients that need attention.
+openpgp-key-assistant-recipients-issue-description =
+ { $count ->
+ [one] Pour chiffrer, vous devez obtenir et accepter une clé utilisable pour un destinataire. <a data-l10n-name="openpgp-link">En savoir plus…</a>
+ *[other] Pour chiffrer, vous devez obtenir et accepter des clés utilisables pour { $count } destinataires. <a data-l10n-name="openpgp-link">En savoir plus…</a>
+ }
+openpgp-key-assistant-info-alias = { -brand-short-name } requiert normalement que la clé publique du destinataire contienne un identifiant d’utilisateur avec une adresse e-mail correspondante. Cela peut être outrepassé en utilisant les règles d’alias d’OpenPGP pour le destinataire. <a data-l10n-name="openpgp-link">En savoir plus…</a>
+# Variables:
+# $count (Number) - The number of recipients that need attention.
+openpgp-key-assistant-recipients-description =
+ { $count ->
+ [one] Vous avez déjà une clé utilisable et acceptée pour un destinataire.
+ *[other] Vous avez déjà des clés utilisables et acceptées pour { $count } destinataires.
+ }
+openpgp-key-assistant-recipients-description-no-issues = Ce message peut être chiffré. Vous disposez de clés utilisables et acceptées pour tous les destinataires.
+
+## 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 } a trouvé la clé suivante pour { $recipient }.
+ *[other] { -brand-short-name } a trouvé les clés suivantes pour { $recipient }.
+ }
+openpgp-key-assistant-valid-description = Sélectionnez la clé que vous souhaitez accepter
+# Variables:
+# $numKeys (Number) - The number of available keys.
+openpgp-key-assistant-invalid-title =
+ { $numKeys ->
+ [one] La clé suivante ne peut pas être utilisée sans avoir obtenu au préalable une mise à jour de la clé.
+ *[other] Les clés suivantes ne peuvent pas être utilisées sans avoir obtenu au préalable une mise à jour des clés.
+ }
+openpgp-key-assistant-no-key-available = Aucune clé disponible.
+openpgp-key-assistant-multiple-keys = Plusieurs clés sont disponibles.
+# Variables:
+# $count (Number) - The number of unaccepted keys.
+openpgp-key-assistant-key-unaccepted =
+ { $count ->
+ [one] Une clé est disponible, mais elle n’a pas encore été acceptée.
+ *[other] Plusieurs clés sont disponibles, mais aucune d’entre elles n’a encore été acceptée.
+ }
+# Variables:
+# $date (String) - The expiration date of the key.
+openpgp-key-assistant-key-accepted-expired = Une clé acceptée a expiré le { $date }.
+openpgp-key-assistant-keys-accepted-expired = Plusieurs clés acceptées ont expiré.
+# Variables:
+# $date (String) - The expiration date of the key.
+openpgp-key-assistant-this-key-accepted-expired = Cette clé a été acceptée mais a expiré le { $date }.
+# Variables:
+# $date (String) - The expiration date of the key.
+openpgp-key-assistant-key-unaccepted-expired-one = La clé a expiré le { $date }.
+openpgp-key-assistant-key-unaccepted-expired-many = Plusieurs clés ont expiré.
+openpgp-key-assistant-key-fingerprint = Empreinte numérique
+# Variables:
+# $count (Number) - Number of key sources.
+openpgp-key-assistant-key-source =
+ { $count ->
+ [one] Source
+ *[other] Sources
+ }
+openpgp-key-assistant-key-collected-attachment = pièce jointe
+# Autocrypt is the name of a standard.
+openpgp-key-assistant-key-collected-autocrypt = En-tête Autocrypt
+openpgp-key-assistant-key-collected-keyserver = Serveur de clés
+# Web Key Directory (WKD) is a concept.
+openpgp-key-assistant-key-collected-wkd = Annuaire de clés web
+# Do not translate GnuPG, it's a name of other software.
+openpgp-key-assistant-key-collected-gnupg = Trousseau GnuPG
+# Variables:
+# $count (Number) - Number of found keys.
+openpgp-key-assistant-keys-has-collected =
+ { $count ->
+ [one] Une clé a été trouvée mais n’a pas encore été acceptée.
+ *[other] Plusieurs clés ont été trouvées mais aucune d’entre elles n’a encore été acceptée.
+ }
+openpgp-key-assistant-key-rejected = Cette clé a été rejetée précédemment.
+openpgp-key-assistant-key-accepted-other = Cette clé a déjà été associée à une autre adresse e-mail.
+# Variables:
+# $recipient (String) - The email address of the recipient needing resolution.
+openpgp-key-assistant-resolve-discover-info = Rechercher en ligne de nouvelles clés ou des clés mises à jour pour { $recipient } ou les importer depuis un fichier.
+
+## Discovery section
+
+openpgp-key-assistant-discover-title = Recherche en ligne en cours.
+# Variables:
+# $recipient (String) - The email address which we're discovering keys.
+openpgp-key-assistant-discover-keys = Recherche de clés pour { $recipient }…
+# Variables:
+# $recipient (String) - The email address which we're discovering keys.
+openpgp-key-assistant-expired-key-update =
+ Une clé précédemment acceptée a été mise à jour pour { $recipient }.
+ Elle est donc à nouveau valide et peut être utilisée.
+
+## Dialog buttons
+
+openpgp-key-assistant-discover-online-button = Rechercher des clés publiques en ligne…
+openpgp-key-assistant-import-keys-button = Importer des clés publiques depuis un fichier…
+openpgp-key-assistant-issue-resolve-button = Résoudre…
+openpgp-key-assistant-view-key-button = Afficher la clé…
+openpgp-key-assistant-recipients-show-button = Afficher
+openpgp-key-assistant-recipients-hide-button = Masquer
+openpgp-key-assistant-cancel-button = Annuler
+openpgp-key-assistant-back-button = Retour
+openpgp-key-assistant-accept-button = Accepter
+openpgp-key-assistant-close-button = Fermer
+openpgp-key-assistant-disable-button = Désactiver le chiffrement
+openpgp-key-assistant-confirm-button = Envoyer chiffré
+# Variables:
+# $date (String) - The key creation date.
+openpgp-key-assistant-key-created = créée le { $date }
diff --git a/thunderbird-l10n/fr/localization/fr/messenger/openpgp/keyWizard.ftl b/thunderbird-l10n/fr/localization/fr/messenger/openpgp/keyWizard.ftl
new file mode 100644
index 0000000000..4dfe603fb5
--- /dev/null
+++ b/thunderbird-l10n/fr/localization/fr/messenger/openpgp/keyWizard.ftl
@@ -0,0 +1,140 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# $identity (String) - the email address of the currently selected identity
+key-wizard-dialog-window =
+ .title = Ajouter une clé OpenPGP personnelle pour { $identity }
+key-wizard-button =
+ .buttonlabelaccept = Continuer
+ .buttonlabelhelp = Retour
+key-wizard-dialog =
+ .buttonlabelaccept = Continuer
+ .buttonlabelextra1 = Retour
+key-wizard-warning = <b>Si vous disposez d’une clé personnelle existante</b> pour cette adresse e-mail, vous devriez l’importer. Dans le cas contraire, vous n’aurez pas accès à vos archives d’e-mails chiffrés, ni ne pourrez lire les e-mails chiffrés entrants de personnes qui utilisent encore votre clé existante.
+key-wizard-learn-more = En savoir plus
+radio-create-key =
+ .label = Créer une nouvelle clé OpenPGP
+ .accesskey = C
+radio-import-key =
+ .label = Importer une clé OpenPGP existante
+ .accesskey = I
+radio-gnupg-key =
+ .label = Utiliser votre clé externe via GnuPG (par exemple à partir d’une carte à puce)
+ .accesskey = U
+
+## Generate key section
+
+openpgp-generate-key-title = Génération d’une clé OpenPGP
+openpgp-keygen-secret-protection = Protection par clé secrète
+radio-keygen-no-protection =
+ .label = Non protégée
+radio-keygen-protect-primary-pass =
+ .label = Protéger avec le mot de passe principal
+radio-keygen-passphrase-protection =
+ .label = Protéger avec une phrase de passe :
+openpgp-passphrase-repeat = Confirmez la phrase de passe :
+openpgp-generate-key-info = <b>La génération d’une clé peut prendre plusieurs minutes.</b> Veuillez ne pas quitter l’application tant que la génération de clé est en cours. Naviguer de façon soutenue sur le Web ou exécuter des opérations qui sollicitent le disque pendant la génération de clé renforcera le caractère aléatoire du processus et l’accélérera. Vous serez averti·e lorsque la génération de clé sera terminée.
+openpgp-keygen-expiry-title = Expiration de la clé
+openpgp-keygen-expiry-description = Définissez la date d’expiration de la clé que vous venez de générer. Vous pourrez par la suite modifier cette date pour prolonger le délai d’expiration si nécessaire.
+radio-keygen-expiry =
+ .label = La clé expire dans
+ .accesskey = L
+radio-keygen-no-expiry =
+ .label = La clé n’expire jamais
+ .accesskey = c
+openpgp-keygen-days-label =
+ .label = jours
+openpgp-keygen-months-label =
+ .label = mois
+openpgp-keygen-years-label =
+ .label = ans
+openpgp-keygen-advanced-title = Paramètres avancés
+openpgp-keygen-advanced-description = Contrôlez les paramètres avancés de votre clé OpenPGP.
+openpgp-keygen-keytype =
+ .value = Type de clé :
+ .accesskey = T
+openpgp-keygen-keysize =
+ .value = Taille de la clé :
+ .accesskey = a
+openpgp-keygen-type-rsa =
+ .label = RSA
+openpgp-keygen-type-ecc =
+ .label = ECC (courbe elliptique)
+openpgp-keygen-button = Générer la clé
+openpgp-keygen-progress-title = Génération de votre nouvelle clé OpenPGP…
+openpgp-keygen-import-progress-title = Importation de vos clés OpenPGP…
+openpgp-import-success = Les clés OpenPGP ont été correctement importées.
+openpgp-import-success-title = Terminez le processus d’importation
+openpgp-import-success-description = Pour commencer à utiliser votre clé OpenPGP importée pour le chiffrement des e-mails, fermez cette boîte de dialogue et accédez aux paramètres de votre compte pour la sélectionner.
+openpgp-keygen-confirm =
+ .label = Confirmer
+openpgp-keygen-dismiss =
+ .label = Annuler
+openpgp-keygen-cancel =
+ .label = Annuler le processus…
+openpgp-keygen-import-complete =
+ .label = Fermer
+ .accesskey = F
+openpgp-keygen-missing-username = Aucun nom n’est spécifié pour le compte actuel. Veuillez saisir une valeur dans le champ « Votre nom » des paramètres du compte.
+openpgp-keygen-long-expiry = Vous ne pouvez pas créer de clé qui expire dans plus de 100 ans.
+openpgp-keygen-short-expiry = Votre clé doit être valide pendant au moins un jour.
+openpgp-keygen-ongoing = Génération de clé déjà en cours.
+openpgp-keygen-error-core = Impossible d’initialiser le service principal d’OpenPGP
+openpgp-keygen-error-failed = La génération de clé OpenPGP a échoué de manière inattendue
+# $key (String) - the ID of the newly generated OpenPGP key
+openpgp-keygen-error-revocation = La clé OpenPGP a été correctement créée, mais n’a pas réussi à obtenir la révocation de la clé { $key }
+openpgp-keygen-abort-title = Annuler la génération de la clé ?
+openpgp-keygen-abort = La génération de clé OpenPGP est en cours, voulez-vous vraiment l’annuler ?
+# $identity (String) - the name and email address of the currently selected identity
+openpgp-key-confirm = Générer une clé publique et une clé secrète pour { $identity } ?
+
+## Import Key section
+
+openpgp-import-key-title = Importer une clé OpenPGP personnelle existante
+openpgp-import-key-legend = Sélectionnez un fichier précédemment sauvegardé.
+openpgp-import-key-description = Vous pouvez importer des clés personnelles qui ont été créées avec d’autres logiciels OpenPGP.
+openpgp-import-key-info = D’autres logiciels peuvent décrire une clé personnelle en utilisant des termes alternatifs tels que « votre propre clé », « clé secrète », « clé privée » ou « paire de clés ».
+# $count (Number) - the number of keys found in the selected files
+openpgp-import-key-list-amount-2 =
+ { $count ->
+ [one] { -brand-short-name } a trouvé une clé qui peut être importée.
+ *[other] { -brand-short-name } a trouvé { $count } clés qui peuvent être importées.
+ }
+openpgp-import-key-list-description = Confirmez quelles clés peuvent être considérées comme vos clés personnelles. Seules les clés que vous avez créées vous-même et qui indiquent votre propre identité doivent être utilisées comme clés personnelles. Vous pouvez modifier cette option ultérieurement depuis la boîte de dialogue Propriétés de la clé.
+openpgp-import-key-list-caption = Les clés marquées comme étant des clés personnelles seront répertoriées dans la section Chiffrement de bout en bout. Les autres seront disponibles dans le gestionnaire de clés.
+openpgp-import-keep-passphrases =
+ .label = Conserver la protection par phrase de passe pour les clés secrètes importées
+openpgp-passphrase-prompt-title = Phrase de passe nécessaire
+# $key (String) - the id of the key being imported
+openpgp-passphrase-prompt = Veuillez saisir la phrase de passe pour déverrouiller la clé suivante : { $key }
+openpgp-import-key-button =
+ .label = Sélectionner le fichier à importer…
+ .accesskey = S
+import-key-file = Importer un fichier de clé OpenPGP
+import-key-personal-checkbox =
+ .label = Considérer cette clé comme une clé personnelle
+gnupg-file = Fichiers GnuPG
+import-error-file-size = <b>Erreur :</b> les fichiers de plus de 5 Mo ne sont pas pris en charge.
+# $error (String) - the reported error from the failed key import method
+import-error-failed = <b>Erreur :</b> échec de l’importation du fichier. { $error }
+# $error (String) - the reported error from the failed key import method
+openpgp-import-keys-failed = <b>Erreur :</b> échec de l’importation des clés. { $error }
+openpgp-import-identity-label = Identité
+openpgp-import-fingerprint-label = Empreinte
+openpgp-import-created-label = Date de création
+openpgp-import-bits-label = Bits
+openpgp-import-key-props =
+ .label = Propriétés de la clé
+ .accesskey = P
+
+## External Key section
+
+openpgp-external-key-title = Clé GnuPG externe
+openpgp-external-key-description = Configurer une clé GnuPG externe en saisissant l’identifiant de la clé
+openpgp-external-key-info = De plus, vous devez utiliser le gestionnaire de clés pour importer et accepter la clé publique correspondante.
+openpgp-external-key-warning = <b>Vous ne pouvez configurer qu’une seule clé GnuPG externe.</b> Votre entrée précédente sera remplacée.
+openpgp-save-external-button = Enregistrer l’identifiant de la clé
+openpgp-external-key-label = Identifiant de la clé secrète :
+openpgp-external-key-input =
+ .placeholder = 123456789341298340
diff --git a/thunderbird-l10n/fr/localization/fr/messenger/openpgp/msgReadStatus.ftl b/thunderbird-l10n/fr/localization/fr/messenger/openpgp/msgReadStatus.ftl
new file mode 100644
index 0000000000..71622483de
--- /dev/null
+++ b/thunderbird-l10n/fr/localization/fr/messenger/openpgp/msgReadStatus.ftl
@@ -0,0 +1,86 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+
+## 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] Afficher la sécurité du message (⌘ ⌥ { message-header-show-security-info-key })
+ *[other] Afficher la sécurité du message (Ctrl+Alt+{ message-header-show-security-info-key })
+ }
+openpgp-view-signer-key =
+ .label = Afficher la clé du signataire
+openpgp-view-your-encryption-key =
+ .label = Afficher votre clé de déchiffrement
+openpgp-openpgp = OpenPGP
+openpgp-no-sig = Pas de signature numérique
+openpgp-no-sig-info = Ce message n’inclut pas la signature numérique de l’expéditeur. L’absence d’une signature numérique signifie que le message peut avoir été envoyé par quelqu’un prétendant avoir cette adresse e-mail. Il est aussi possible que ce message ait été modifié pendant son transfert sur le réseau.
+openpgp-uncertain-sig = Signature numérique incertaine
+# Variables:
+# $date (String) - Date with time the signature was made in a short format.
+openpgp-uncertain-sig-with-date = Signature numérique douteuse - Signé le { $date }
+openpgp-invalid-sig = Signature numérique non valide
+# Variables:
+# $date (String) - Date with time the signature was made in a short format.
+openpgp-invalid-sig-with-date = Signature numérique invalide - Signé le { $date }
+openpgp-bad-date-sig = Non-concordance de la date de la signature
+# Variables:
+# $date (String) - Date with time the signature was made in a short format.
+openpgp-bad-date-sig-with-date = Non-concordance de la date de la signature - Signé le { $date }
+openpgp-good-sig = Signature numérique correcte
+# Variables:
+# $date (String) - Date with time the signature was made in a short format.
+openpgp-good-sig-with-date = Signature numérique correcte - Signé le { $date }
+openpgp-sig-uncertain-no-key = Ce message contient une signature numérique, mais il n’est pas certain qu’elle soit correcte. Pour vérifier la signature, vous devez obtenir une copie de la clé publique de l’expéditeur.
+openpgp-sig-uncertain-uid-mismatch = Ce message contient une signature numérique, mais une incompatibilité a été détectée. Le message a été envoyé à partir d’une adresse e-mail qui ne correspond pas à la clé publique du signataire.
+openpgp-sig-uncertain-not-accepted = Ce message contient une signature numérique, mais vous n’avez pas encore indiqué si la clé du signataire vous paraît correcte ou non.
+openpgp-sig-invalid-rejected = Ce message contient une signature numérique, mais vous avez précédemment décidé de rejeter la clé du signataire.
+openpgp-sig-invalid-technical-problem = Ce message contient une signature numérique, mais une erreur technique a été détectée. Soit le message a été corrompu, soit le message a été modifié par quelqu’un d’autre.
+openpgp-sig-invalid-date-mismatch = Ce message contient une signature numérique, mais qui n’a pas été produite au moment de l’envoi de l’e-mail. Il peut s’agir d’une tentative de vous tromper avec du contenu provenant d’une situation fausse : p. ex. un contenu écrit dans un contexte différent à un autre moment ou destiné à quelqu’un d’autre.
+openpgp-sig-valid-unverified = Ce message comprend une signature numérique valide d’une clé que vous avez déjà acceptée. Cependant, vous n’avez pas encore vérifié que la clé appartient réellement à l’expéditeur.
+openpgp-sig-valid-verified = Ce message comprend une signature numérique valide d’une clé vérifiée.
+openpgp-sig-valid-own-key = Ce message comprend une signature numérique valide de votre clé personnelle.
+# Variables:
+# $key (String) - The ID of the OpenPGP key used to create the signature.
+openpgp-sig-key-id = Identifiant de clé du signataire : { $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 = Identifiant de clé du signataire : { $key } (Sous-identifiant de clé : { $subkey })
+# Variables:
+# $key (String) - The ID of the user's OpenPGP key used to decrypt the message.
+openpgp-enc-key-id = Votre identifiant de clé de déchiffrement : { $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 = Votre identifiant de clé de déchiffrement : { $key } (Sous-identifiant de clé de déchiffrement : { $subkey })
+openpgp-enc-none = Ce message n’est pas chiffré
+openpgp-enc-none-label = Ce message n’a pas été chiffré avant d’être envoyé. Les informations envoyées sur Internet sans être chiffrées peuvent être vues par d’autres personnes pendant leur parcours.
+openpgp-enc-invalid-label = Le message ne peut pas être déchiffré
+openpgp-enc-invalid = Le message a été chiffré avant de vous être envoyé mais il ne peut pas être déchiffré.
+openpgp-enc-clueless = Il y a des problèmes inconnus avec ce message chiffré.
+openpgp-enc-valid-label = Ce message est chiffré
+openpgp-enc-valid = Ce message a été chiffré avant de vous être envoyé. Le chiffrement garantit que le message ne peut être lu que par les destinataires auxquels il était destiné.
+openpgp-unknown-key-id = Clé inconnue
+openpgp-other-enc-additional-key-ids = De plus, le message a été chiffré à destination des propriétaires des clés suivantes :
+openpgp-other-enc-all-key-ids = Le message a été chiffré à destination des propriétaires des clés suivantes :
+openpgp-message-header-encrypted-ok-icon =
+ .alt = Déchiffrement effectué
+openpgp-message-header-encrypted-notok-icon =
+ .alt = Échec du déchiffrement
+openpgp-message-header-signed-ok-icon =
+ .alt = Signature correcte
+# Mismatch icon is used for notok state as well
+openpgp-message-header-signed-mismatch-icon =
+ .alt = Signature incorrecte
+openpgp-message-header-signed-unknown-icon =
+ .alt = État de signature inconnu
+openpgp-message-header-signed-verified-icon =
+ .alt = Signature vérifiée
+openpgp-message-header-signed-unverified-icon =
+ .alt = Signature non vérifiée
diff --git a/thunderbird-l10n/fr/localization/fr/messenger/openpgp/oneRecipientStatus.ftl b/thunderbird-l10n/fr/localization/fr/messenger/openpgp/oneRecipientStatus.ftl
new file mode 100644
index 0000000000..487c9f896e
--- /dev/null
+++ b/thunderbird-l10n/fr/localization/fr/messenger/openpgp/oneRecipientStatus.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/.
+
+openpgp-one-recipient-status-title =
+ .title = Sécurité des messages OpenPGP
+openpgp-one-recipient-status-status =
+ .label = État
+openpgp-one-recipient-status-key-id =
+ .label = Identifiant de clé
+openpgp-one-recipient-status-created-date =
+ .label = Date de création
+openpgp-one-recipient-status-expires-date =
+ .label = Date d’expiration
+openpgp-one-recipient-status-open-details =
+ .label = Ouvrir les détails et modifier l’acceptation…
+openpgp-one-recipient-status-discover =
+ .label = Rechercher une clé nouvelle ou mise à jour
+openpgp-one-recipient-status-instruction1 = Pour envoyer un message chiffré de bout en bout à un destinataire, vous devez obtenir sa clé publique OpenPGP et la marquer comme acceptée.
+openpgp-one-recipient-status-instruction2 = Pour obtenir les clés publiques de vos destinataires, importez-les à partir des e-mails qui vous ont été envoyés et qui les incluent. Vous pouvez également essayer de rechercher leur clé publique sur un annuaire.
+openpgp-key-own = Acceptée (clé personnelle)
+openpgp-key-secret-not-personal = Non utilisable
+openpgp-key-verified = Acceptée (vérifiée)
+openpgp-key-unverified = Acceptée (non vérifiée)
+openpgp-key-undecided = Non acceptée (aucune décision)
+openpgp-key-rejected = Non acceptée (rejetée)
+openpgp-key-expired = Expirée
+# Variables:
+# $key (String) - Recipient email address.
+openpgp-intro = Clés publiques disponibles pour { $key }
+# Variables:
+# $kid (String) - Public key id to import.
+openpgp-pubkey-import-id = ID : { $kid }
+# Variables:
+# $fpr (String) - Fingerprint of the public key to import.
+openpgp-pubkey-import-fpr = Empreinte numérique : { $fpr }
+# Variables:
+# $num (Number) - Number of public keys contained in the key file.
+openpgp-pubkey-import-intro =
+ { $num ->
+ [one] Le fichier contient une clé publique, comme indiqué ci-dessous :
+ *[other] Le fichier contient { $num } clés publiques, comme indiqué ci-dessous :
+ }
+# Variables:
+# $num (Number) - Number of keys to accept.
+openpgp-pubkey-import-accept =
+ { $num ->
+ [one] Acceptez-vous cette clé pour vérifier les signatures numériques et pour chiffrer les messages, pour toutes les adresses affichées ?
+ *[other] Acceptez-vous ces clés pour vérifier les signatures numériques et pour chiffrer les messages, pour toutes les adresses affichées ?
+ }
+pubkey-import-button =
+ .buttonlabelaccept = Importer
+ .buttonaccesskeyaccept = I
diff --git a/thunderbird-l10n/fr/localization/fr/messenger/openpgp/openpgp-frontend.ftl b/thunderbird-l10n/fr/localization/fr/messenger/openpgp/openpgp-frontend.ftl
new file mode 100644
index 0000000000..5c9785c368
--- /dev/null
+++ b/thunderbird-l10n/fr/localization/fr/messenger/openpgp/openpgp-frontend.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/.
+
+openpgp-manage-keys-openpgp-cmd =
+ .label = Gestionnaire de clés OpenPGP
+ .accesskey = G
+openpgp-ctx-decrypt-open =
+ .label = Déchiffrer et ouvrir
+ .accesskey = D
+openpgp-ctx-decrypt-save =
+ .label = Déchiffrer et enregistrer sous…
+ .accesskey = c
+openpgp-ctx-import-key =
+ .label = Importer une clé OpenPGP
+ .accesskey = I
+openpgp-ctx-verify-att =
+ .label = Vérifier la signature
+ .accesskey = V
+openpgp-has-sender-key = Ce message prétend contenir la clé publique OpenPGP de l’expéditeur.
+# Variables:
+# $email (String) - Email address with the problematic public key.
+openpgp-be-careful-new-key = Avertissement : la nouvelle clé publique OpenPGP contenue dans ce message diffère des clés publiques que vous aviez précédemment acceptées pour { $email }.
+openpgp-import-sender-key =
+ .label = Importer…
+openpgp-search-keys-openpgp =
+ .label = Rechercher la clé OpenPGP
+openpgp-missing-signature-key = Ce message a été signé avec une clé que vous ne possédez pas encore.
+openpgp-search-signature-key =
+ .label = Rechercher…
+# Don't translate the terms "OpenPGP" and "MS-Exchange"
+openpgp-broken-exchange-opened = Il s’agit d’un message OpenPGP qui a été apparemment corrompu par MS-Exchange et qui ne peut pas être réparé, car il a été ouvert à partir d’un fichier local. Copiez le message dans un dossier de courrier pour tenter une réparation automatique.
+openpgp-broken-exchange-info = Ce message OpenPGP a été apparemment corrompu par MS-Exchange. Si le contenu du message ne s’affiche pas comme prévu, vous pouvez tenter une réparation automatique.
+openpgp-broken-exchange-repair =
+ .label = Réparer le message
+openpgp-broken-exchange-wait = Veuillez patienter…
+openpgp-has-nested-encrypted-parts = Ce message contient des parties supplémentaires chiffrées.
+openpgp-show-encrypted-parts = Déchiffrer et afficher
+openpgp-cannot-decrypt-because-mdc = Ce message chiffré a recours à un mécanisme ancien et vulnérable. Il a pu être modifié pendant sa transmission, avec l’intention de dérober son contenu. Pour éviter ce risque, le contenu n’est pas affiché.
+openpgp-cannot-decrypt-because-missing-key = La clé secrète nécessaire pour déchiffrer ce message n’est pas disponible.
+openpgp-partially-signed =
+ Seule une partie de ce message a été signée numériquement à l’aide d’OpenPGP.
+ Si vous cliquez sur le bouton Vérifier, les parties non protégées seront masquées et l’état de la signature numérique sera affiché.
+openpgp-partially-encrypted =
+ Seule une partie de ce message a été chiffrée à l’aide d’OpenPGP.
+ Les parties lisibles du message qui sont déjà affichées n’ont pas été chiffrées.
+ Si vous cliquez sur le bouton Déchiffrer, le contenu des parties chiffrées sera affiché.
+openpgp-reminder-partial-display = Rappel : le message ci-dessous n’est qu’une partie du message d’origine.
+openpgp-partial-verify-button = Vérifier
+openpgp-partial-decrypt-button = Déchiffrer
+openpgp-unexpected-key-for-you = Attention : Ce message contient une clé OpenPGP inconnue qui fait référence à l’une de vos adresses e-mail. Si ce n’est pas l’une de vos clés, cela pourrait être une tentative de tromper d’autres correspondants.
diff --git a/thunderbird-l10n/fr/localization/fr/messenger/openpgp/openpgp.ftl b/thunderbird-l10n/fr/localization/fr/messenger/openpgp/openpgp.ftl
new file mode 100644
index 0000000000..2dc4ae5fac
--- /dev/null
+++ b/thunderbird-l10n/fr/localization/fr/messenger/openpgp/openpgp.ftl
@@ -0,0 +1,777 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.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 = Pour envoyer des messages chiffrés ou signés numériquement, vous devez configurer une technologie de chiffrement, soit OpenPGP soit S/MIME.
+e2e-intro-description-more = Sélectionnez votre clé personnelle pour utiliser OpenPGP, ou votre certificat personnel pour utiliser S/MIME. Vous devez posséder la clé secrète associée à la clé personnelle ou au certificat personnel.
+e2e-signing-description = Une signature numérique permet aux destinataires de vérifier que le message a bien été envoyé par vous et que son contenu n’a pas été modifié. Les messages chiffrés sont toujours signés par défaut.
+e2e-sign-message =
+ .label = Signer les messages non chiffrés
+ .accesskey = m
+e2e-disable-enc =
+ .label = Désactiver le chiffrement pour les nouveaux messages
+ .accesskey = D
+e2e-enable-enc =
+ .label = Activer le chiffrement pour les nouveaux messages
+ .accesskey = A
+e2e-enable-description = Vous serez en mesure de désactiver le chiffrement pour des messages au cas par cas.
+e2e-advanced-section = Paramètres avancés
+e2e-attach-key =
+ .label = Joindre ma clé publique lors de l’ajout d’une signature numérique OpenPGP
+ .accesskey = p
+e2e-encrypt-subject =
+ .label = Chiffrer le sujet des messages OpenPGP
+ .accesskey = C
+e2e-encrypt-drafts =
+ .label = Enregistrer les brouillons de messages en format chiffré
+ .accesskey = n
+# Do not translate "Autocrypt", it's the name of a standard.
+e2e-autocrypt-headers =
+ .label = Envoyer la ou les clés publiques OpenPGP dans l’en-tête des messages pour assurer la compatibilité avec Autocrypt
+ .accesskey = v
+openpgp-key-created-label =
+ .label = Date de création
+openpgp-key-expiry-label =
+ .label = Date d’expiration
+openpgp-key-id-label =
+ .label = Identifiant de clé
+openpgp-cannot-change-expiry = La structure de cette clé est complexe, la modification de sa date d’expiration n’est pas prise en charge.
+openpgp-key-man-title =
+ .title = Gestionnaire de clés OpenPGP
+openpgp-key-man-dialog-title = Gestionnaire de clés OpenPGP
+openpgp-key-man-generate =
+ .label = Nouvelle paire de clés
+ .accesskey = N
+openpgp-key-man-gen-revoke =
+ .label = Certificat de révocation
+ .accesskey = C
+openpgp-key-man-ctx-gen-revoke-label =
+ .label = Générer et enregistrer un certificat de révocation
+openpgp-key-man-file-menu =
+ .label = Fichier
+ .accesskey = F
+openpgp-key-man-edit-menu =
+ .label = Édition
+ .accesskey = o
+openpgp-key-man-view-menu =
+ .label = Affichage
+ .accesskey = A
+openpgp-key-man-generate-menu =
+ .label = Génération
+ .accesskey = G
+openpgp-key-man-keyserver-menu =
+ .label = Serveur de clés
+ .accesskey = S
+openpgp-key-man-import-public-from-file =
+ .label = Importer une ou des clés publiques depuis un fichier
+ .accesskey = I
+openpgp-key-man-import-secret-from-file =
+ .label = Importer une ou des clés secrètes depuis un fichier
+openpgp-key-man-import-sig-from-file =
+ .label = Importer une ou des révocations depuis un fichier
+openpgp-key-man-import-from-clipbrd =
+ .label = Importer une ou des clés depuis le presse-papiers
+ .accesskey = I
+openpgp-key-man-import-from-url =
+ .label = Importer une ou des clés depuis une URL
+ .accesskey = m
+openpgp-key-man-export-to-file =
+ .label = Exporter une ou des clés publiques vers un fichier
+ .accesskey = E
+openpgp-key-man-send-keys =
+ .label = Envoyer une ou des clés publiques par e-mail
+ .accesskey = n
+openpgp-key-man-backup-secret-keys =
+ .label = Sauvegarder une ou des clés secrètes dans un fichier
+ .accesskey = S
+openpgp-key-man-discover-cmd =
+ .label = Rechercher des clés en ligne
+ .accesskey = R
+openpgp-key-man-publish-cmd =
+ .label = Publier
+ .accesskey = P
+openpgp-key-publish = Publier
+openpgp-key-man-discover-prompt = Pour rechercher des clés OpenPGP en ligne, sur des serveurs de clés ou à l’aide du protocole WKD, saisissez une adresse e-mail ou un identifiant de clé.
+openpgp-key-man-discover-progress = Recherche…
+# Variables:
+# $keyserver (String) - The address of a server that contains a directory of OpenPGP public keys
+openpgp-key-publish-ok = Clé publique envoyée à « { $keyserver } ».
+# Variables:
+# $keyserver (String) - The address of a server that contains a directory of OpenPGP public keys
+openpgp-key-publish-fail = Échec de l'envoi de votre clé publique à « { $keyserver } ».
+openpgp-key-copy-key =
+ .label = Copier la clé publique
+ .accesskey = C
+openpgp-key-export-key =
+ .label = Exporter la clé publique vers un fichier
+ .accesskey = E
+openpgp-key-backup-key =
+ .label = Sauvegarder la clé secrète dans un fichier
+ .accesskey = S
+openpgp-key-send-key =
+ .label = Envoyer la clé publique par e-mail
+ .accesskey = n
+# Variables:
+# $count (Number) - Number of keys ids to copy.
+openpgp-key-man-copy-key-ids =
+ .label =
+ { $count ->
+ [one] Copier l’identifiant de la clé dans le presse-papiers
+ *[other] Copier les identifiants des clés dans le presse-papiers
+ }
+ .accesskey = C
+# Variables:
+# $count (Number) - Number of fingerprints to copy.
+openpgp-key-man-copy-fprs =
+ .label =
+ { $count ->
+ [one] Copier l’empreinte dans le presse-papiers
+ *[other] Copier les empreintes dans le presse-papiers
+ }
+ .accesskey = e
+# Variables:
+# $count (Number) - Number of public keys to copy.
+openpgp-key-man-copy-to-clipboard =
+ .label =
+ { $count ->
+ [one] Copier la clé publique dans le presse-papiers
+ *[other] Copier les clés publiques dans le presse-papiers
+ }
+ .accesskey = p
+openpgp-key-man-ctx-expor-to-file-label =
+ .label = Exporter les clés vers un fichier
+openpgp-key-man-ctx-copy =
+ .label = Copier
+ .accesskey = C
+# Variables:
+# $count (Number) - Number of fingerprints.
+openpgp-key-man-ctx-copy-fprs =
+ .label =
+ { $count ->
+ [one] Empreinte
+ *[other] Empreintes
+ }
+ .accesskey = E
+# Variables:
+# $count (Number) - Number of key ids.
+openpgp-key-man-ctx-copy-key-ids =
+ .label =
+ { $count ->
+ [one] Identifiant de clé
+ *[other] Identifiants de clés
+ }
+ .accesskey = c
+# Variables:
+# $count (Number) - Number of public keys.
+openpgp-key-man-ctx-copy-public-keys =
+ .label =
+ { $count ->
+ [one] Clé publique
+ *[other] Clés publiques
+ }
+ .accesskey = P
+openpgp-key-man-close =
+ .label = Fermer
+openpgp-key-man-reload =
+ .label = Recharger le cache des clés
+ .accesskey = R
+openpgp-key-man-change-expiry =
+ .label = Modifier la date d’expiration
+ .accesskey = M
+openpgp-key-man-refresh-online =
+ .label = Actualiser en ligne
+ .accesskey = A
+openpgp-key-man-ignored-ids =
+ .label = Adresses e-mail
+openpgp-key-man-del-key =
+ .label = Supprimer une ou des clés
+ .accesskey = S
+openpgp-delete-key =
+ .label = Supprimer la clé
+ .accesskey = S
+openpgp-key-man-revoke-key =
+ .label = Révoquer la clé
+ .accesskey = R
+openpgp-key-man-key-props =
+ .label = Propriétés de la clé
+ .accesskey = P
+openpgp-key-man-key-more =
+ .label = Plus
+ .accesskey = P
+openpgp-key-man-view-photo =
+ .label = Photo d’identité
+ .accesskey = P
+openpgp-key-man-ctx-view-photo-label =
+ .label = Afficher la photo d’identité
+openpgp-key-man-show-invalid-keys =
+ .label = Afficher les clés invalides
+ .accesskey = A
+openpgp-key-man-show-others-keys =
+ .label = Afficher les clés d’autres personnes
+ .accesskey = f
+openpgp-key-man-user-id-label =
+ .label = Nom
+openpgp-key-man-fingerprint-label =
+ .label = Empreinte
+openpgp-key-man-select-all =
+ .label = Sélectionner toutes les clés
+ .accesskey = S
+openpgp-key-man-empty-tree-tooltip =
+ .label = Saisissez les termes à rechercher dans le champ ci-dessus
+openpgp-key-man-nothing-found-tooltip =
+ .label = Aucune clé ne correspond aux termes recherchés
+openpgp-key-man-please-wait-tooltip =
+ .label = Veuillez patienter pendant le chargement des clés…
+openpgp-key-man-filter-label =
+ .placeholder = Rechercher des clés
+openpgp-key-man-select-all-key =
+ .key = A
+openpgp-key-man-key-details-key =
+ .key = I
+openpgp-ign-addr-intro = Vous acceptez d’utiliser cette clé pour les adresses e-mail sélectionnées suivantes :
+openpgp-key-details-doc-title = Propriétés de la clé
+openpgp-key-details-signatures-tab =
+ .label = Certifications
+openpgp-key-details-structure-tab =
+ .label = Structure
+openpgp-key-details-uid-certified-col =
+ .label = Identifiant utilisateur / Certifié par
+openpgp-key-details-key-id-label = Identifiant de clé
+openpgp-key-details-user-id3-label = Propriétaire de clé revendiqué
+openpgp-key-details-id-label =
+ .label = Identifiant
+openpgp-key-details-key-type-label = Type
+openpgp-key-details-key-part-label =
+ .label = Partie de clé
+openpgp-key-details-attr-ignored = Attention : Cette clé pourrait ne pas fonctionner comme prévu, car certaines de ses propriétés ne sont pas sûres et pourraient être ignorées.
+openpgp-key-details-attr-upgrade-sec = Vous devriez mettre à niveau les propriétés non sécurisées.
+openpgp-key-details-attr-upgrade-pub = Vous devriez demander au propriétaire de cette clé de mettre à niveau les propriétés non sécurisées.
+openpgp-key-details-upgrade-unsafe =
+ .label = Mettre à niveau les propriétés non sécurisées
+ .accesskey = M
+openpgp-key-details-upgrade-ok = La clé a été correctement mise à niveau. Vous devez partager la clé publique mise à niveau avec vos correspondants.
+openpgp-key-details-algorithm-label =
+ .label = Algorithme
+openpgp-key-details-size-label =
+ .label = Taille
+openpgp-key-details-created-label =
+ .label = Date de création
+openpgp-key-details-created-header = Date de création
+openpgp-key-details-expiry-label =
+ .label = Date d’expiration
+openpgp-key-details-expiry-header = Date d’expiration
+openpgp-key-details-usage-label =
+ .label = Utilisation
+openpgp-key-details-fingerprint-label = Empreinte
+openpgp-key-details-legend-secret-missing = Pour les clés marquées d’un (!), la clé secrète n’est pas disponible.
+openpgp-key-details-sel-action =
+ .label = Sélectionner une action…
+ .accesskey = S
+openpgp-card-details-close-window-label =
+ .buttonlabelaccept = Fermer
+openpgp-acceptance-label =
+ .label = Votre acceptation
+openpgp-acceptance-rejected-label =
+ .label = Non, rejeter cette clé.
+openpgp-acceptance-undecided-label =
+ .label = Pas encore, peut-être plus tard.
+openpgp-acceptance-unverified-label =
+ .label = Oui, mais je n’ai pas vérifié qu’il s’agit de la bonne clé.
+openpgp-acceptance-verified-label =
+ .label = Oui, j’ai vérifié en personne que l’empreinte de cette clé est correcte.
+key-accept-personal =
+ Pour cette clé, vous disposez à la fois de la partie publique et de la partie secrète. Vous pouvez l’utiliser en tant que clé personnelle.
+ Si cette clé vous a été fournie par quelqu’un d’autre, ne l’utilisez pas comme clé personnelle.
+openpgp-personal-no-label =
+ .label = Non, ne pas l’utiliser comme clé personnelle.
+openpgp-personal-yes-label =
+ .label = Oui, considérer cette clé comme une clé personnelle.
+openpgp-passphrase-protection =
+ .label = Protection par phrase de passe
+openpgp-passphrase-status-unprotected = Non protégée
+openpgp-passphrase-status-primary-password = Protégée par le mot de passe principal de { -brand-short-name }
+openpgp-passphrase-status-user-passphrase = Protégée par une phrase de passe
+openpgp-passphrase-instruction-unprotected = Définissez une phrase de passe pour protéger cette clé
+openpgp-passphrase-instruction-primary-password = Vous pouvez également protéger cette clé avec une autre phrase de passe
+openpgp-passphrase-instruction-user-passphrase = Déverrouillez cette clé pour modifier sa protection.
+openpgp-passphrase-unlock = Déverrouiller
+openpgp-passphrase-unlocked = La clé a bien été déverrouillée.
+openpgp-remove-protection = Retirer la protection par phrase de passe
+openpgp-use-primary-password = Supprimer la phrase de passe et protéger avec le mot de passe principal
+openpgp-passphrase-new = Nouvelle phrase de passe
+openpgp-passphrase-new-repeat = Confirmer la nouvelle phrase de passe
+openpgp-passphrase-set = Définir une phrase de passe
+openpgp-passphrase-change = Changer la phrase de passe
+openpgp-copy-cmd-label =
+ .label = Copier
+
+## e2e encryption settings
+
+# $identity (String) - the email address of the currently selected identity
+openpgp-description-no-key = { -brand-short-name } ne dispose pas de clé personnelle OpenPGP pour <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 } a trouvé une clé personnelle OpenPGP associée avec <b>{ $identity }</b>
+ *[other] { -brand-short-name } a trouvé { $count } clés personnelles OpenPGP associées avec <b>{ $identity }</b>
+ }
+# $key (String) - the currently selected OpenPGP key
+openpgp-selection-status-have-key = Votre configuration actuelle utilise l’identifiant de clé <b>{ $key }</b>
+# $key (String) - the currently selected OpenPGP key
+openpgp-selection-status-error = Votre configuration actuelle utilise la clé à l’identifiant <b>{ $key }</b> et cette clé a expiré.
+openpgp-add-key-button =
+ .label = Ajouter une clé…
+ .accesskey = A
+e2e-learn-more = En savoir plus
+openpgp-keygen-success = La clé OpenPGP a été créée.
+openpgp-keygen-import-success = Les clés OpenPGP ont été importées.
+openpgp-keygen-external-success = L’identifiant de clé GnuPG externe a été enregistré.
+
+## OpenPGP Key selection area
+
+openpgp-radio-none =
+ .label = Aucune
+openpgp-radio-none-desc = Ne pas utiliser OpenPGP pour cette identité.
+openpgp-radio-key-not-usable = Cette clé ne peut être utilisée comme clé personnelle, car la clé secrète est manquante.
+openpgp-radio-key-not-accepted = Pour utiliser cette clé, vous devez l’approuver comme clé personnelle.
+openpgp-radio-key-not-found = Cette clé n’a pas pu être trouvée. Si vous voulez l’utiliser, vous devez l’importer dans { -brand-short-name }.
+# $date (String) - the future expiration date of when the OpenPGP key will expire
+openpgp-radio-key-expires = Date d’expiration : { $date }
+# $date (String) - the past expiration date of when the OpenPGP key expired
+openpgp-radio-key-expired = A expiré le : { $date }
+openpgp-key-expires-within-6-months-icon =
+ .title = La clé expire dans moins de 6 mois
+openpgp-key-has-expired-icon =
+ .title = La clé a expiré
+openpgp-suggest-publishing-key = Publier la clé publique sur un serveur de clés permet à d’autres personnes de la découvrir.
+openpgp-key-expand-section =
+ .tooltiptext = Plus d’informations
+openpgp-key-revoke-title = Révoquer la clé
+openpgp-key-edit-title = Changer la clé OpenPGP
+openpgp-key-edit-date-title = Prolonger la date d’expiration
+openpgp-manager-description = Utilisez le gestionnaire de clés OpenPGP pour consulter et gérer les clés publiques de vos correspondants, ainsi que l’ensemble des autres clés non répertoriées ci-dessus.
+openpgp-manager-button =
+ .label = Gestionnaire de clés OpenPGP
+ .accesskey = G
+openpgp-key-remove-external =
+ .label = Supprimer l’identifiant de clé externe
+ .accesskey = u
+key-external-label = Clé GnuPG externe
+
+## Strings in keyDetailsDlg.xhtml
+
+key-type-public = clé publique
+key-type-primary = clé principale
+key-type-subkey = sous-clé
+key-type-pair = paire de clés (clé secrète et clé publique)
+key-expiry-never = jamais
+key-usage-encrypt = Chiffrer
+key-usage-sign = Signer
+key-usage-certify = Certifier
+key-usage-authentication = Authentification
+key-does-not-expire = La clé n’expire jamais
+# Variables:
+# $keyExpiry (String) - Date the key expired on.
+key-expired-date = La clé a expiré le { $keyExpiry }
+key-expired-simple = La clé a expiré
+key-revoked-simple = La clé a été révoquée
+key-do-you-accept = Acceptez-vous cette clé pour vérifier les signatures numériques et pour chiffrer les messages ?
+# Variables:
+# $addr (String) - Email address the key claims it belongs to.
+key-verification = Vérifiez l’empreinte numérique de la clé à l’aide d’un canal de communication sécurisé autre que l’e-mail pour vous assurer qu’il s’agit bien de la clé de { $addr }.
+
+## Strings enigmailMsgComposeOverlay.js
+
+# Variables:
+# $problem (String) - Error message from key usability check.
+cannot-use-own-key-because = Impossible d’envoyer le message, car il y a un problème avec votre clé personnelle. { $problem }
+window-locked = La fenêtre de rédaction est verrouillée ; envoi annulé
+
+## Strings in keyserver.jsm
+
+keyserver-error-aborted = Abandon
+keyserver-error-unknown = Une erreur inconnue est survenue
+keyserver-error-server-error = Le serveur de clés a signalé une erreur.
+keyserver-error-import-error = Échec de l’importation de la clé téléchargée.
+keyserver-error-unavailable = Le serveur de clés n’est pas disponible.
+keyserver-error-security-error = Le serveur de clés ne prend pas en charge l’accès chiffré.
+keyserver-error-certificate-error = Le certificat du serveur de clés n’est pas valide.
+keyserver-error-unsupported = Le serveur de clés n’est pas pris en charge.
+
+## Strings in mimeWkdHandler.jsm
+
+wkd-message-body-req =
+ Votre fournisseur de messagerie a traité votre demande d’envoi de votre clé publique vers l’annuaire de clés web (WKD) d’OpenPGP.
+ Veuillez confirmer pour terminer la publication de votre clé publique.
+wkd-message-body-process =
+ Cet e-mail est relatif au traitement automatique pour l’envoi de votre clé publique vers l’annuaire de clés web (WKD) d’OpenPGP.
+ Vous n’avez aucune action manuelle à effectuer pour l’instant.
+
+## Strings in persistentCrypto.jsm
+
+# Variables:
+# $subject (String) - Subject of the message.
+converter-decrypt-body-failed =
+ Impossible de déchiffrer le message dont le sujet est
+ « { $subject } ».
+ Voulez-vous recommencer avec une phrase de passe différente ou plutôt ignorer ce message ?
+
+## Strings filters.jsm
+
+filter-folder-required = Vous devez sélectionner un dossier cible.
+filter-decrypt-move-warn-experimental =
+ Avertissement : l’action de filtrage « Déchiffrement permanent » pourrait détruire des e-mails.
+ Nous vous recommandons fortement d’essayer d’abord le filtre « Créer une copie déchiffrée », de tester le résultat avec soin et de ne commencer à utiliser ce filtre qu’une fois que vous serez satisfait·e du résultat.
+filter-term-pgpencrypted-label = Chiffré avec OpenPGP
+filter-key-required = Vous devez sélectionner une clé de destinataire.
+# Variables:
+# $desc (String) - Email address to look for a key of.
+filter-key-not-found = Aucune clé de chiffrement trouvée pour « { $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 =
+ Avertissement : l’action de filtrage « Chiffrer avec la clé » remplace les destinataires.
+ Si vous ne possédez pas la clé privée de « { $desc } », vous ne pourrez plus lire les e-mails.
+
+## Strings filtersWrapper.jsm
+
+filter-decrypt-move-label = Déchiffrement permanent (OpenPGP)
+filter-decrypt-copy-label = Créer une copie déchiffrée (OpenPGP)
+filter-encrypt-label = Chiffrer avec la clé (OpenPGP)
+
+## Strings in enigmailKeyImportInfo.js
+
+import-info-title =
+ .title = Clés correctement importées
+import-info-bits = Bits
+import-info-created = Date de création
+import-info-fpr = Empreinte
+import-info-details = Afficher les détails et gérer l’acceptation des clés
+import-info-no-keys = Aucune clé importée.
+
+## Strings in enigmailKeyManager.js
+
+import-from-clip = Voulez-vous importer certaines clés du presse-papiers ?
+import-from-url = Télécharger la clé publique à partir de cette URL :
+copy-to-clipbrd-failed = Impossible de copier la ou les clés sélectionnées dans le presse-papiers.
+copy-to-clipbrd-ok = La ou les clés ont été copiées dans le presse-papiers
+# Variables:
+# $userId (String) - User id of the key.
+delete-secret-key =
+ AVERTISSEMENT : vous êtes sur le point de supprimer une clé secrète !
+
+ Si vous supprimez votre clé secrète, vous ne pourrez plus déchiffrer les messages chiffrés pour cette clé et vous ne pourrez plus la révoquer.
+
+ Voulez-vous vraiment supprimer LES DEUX clés, la clé secrète et la clé publique « { $userId } » ?
+delete-mix =
+ AVERTISSEMENT : vous êtes sur le point de supprimer des clés secrètes !
+
+ Si vous supprimez votre clé secrète, vous ne pourrez plus déchiffrer les messages chiffrés pour cette clé et vous ne pourrez plus la révoquer.
+
+ Voulez-vous vraiment supprimer les paires de clés, les clés secrètes ET les clés publiques sélectionnées ?
+# Variables:
+# $userId (String) - User id of the key.
+delete-pub-key = Voulez-vous supprimer la clé publique « { $userId } » ?
+delete-selected-pub-key = Voulez-vous supprimer les clés publiques ?
+refresh-all-question = Vous n’avez sélectionné aucune clé. Voulez-vous actualiser TOUTES les clés ?
+key-man-button-export-sec-key = Exporter les clés &secrètes
+key-man-button-export-pub-key = Exporter les clés &publiques uniquement
+key-man-button-refresh-all = &Actualiser toutes les clés
+key-man-loading-keys = Chargement des clés, veuillez patienter…
+ascii-armor-file = Fichiers blindés ASCII (*.asc)
+no-key-selected = Vous devez sélectionner au moins une clé pour effectuer l’opération sélectionnée
+export-to-file = Exporter la clé publique vers un fichier
+export-keypair-to-file = Exporter la clé secrète et la clé publique vers un fichier
+export-secret-key = Voulez-vous inclure la clé secrète dans le fichier de clé OpenPGP enregistré ?
+save-keys-ok = Les clés ont été correctement enregistrées
+save-keys-failed = Échec de l’enregistrement des clés
+default-pub-key-filename = Clés-publiques-exportées
+default-pub-sec-key-filename = Sauvegarde-des-clés-secrètes
+refresh-key-warn = Attention : en fonction du nombre de clés et de la vitesse de connexion, l’actualisation de l’ensemble des clés peut être un processus assez long.
+preview-failed = Impossible de lire le fichier de clé publique.
+# Variables:
+# $reason (String) - Error description.
+general-error = Erreur : { $reason }
+dlg-button-delete = &Supprimer
+
+## Account settings export output
+
+openpgp-export-public-success = <b>Clé publique correctement exportée !</b>
+openpgp-export-public-fail = <b>Impossible d’exporter la clé publique sélectionnée.</b>
+openpgp-export-secret-success = <b>Clé secrète correctement exportée !</b>
+openpgp-export-secret-fail = <b>Impossible d’exporter la clé secrète sélectionnée.</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 = La clé { $userId } (Identifiant de clé { $keyId }) est révoquée.
+key-ring-pub-key-expired = La clé { $userId } (Identifiant de clé { $keyId }) est expirée.
+key-ring-no-secret-key = Vous ne semblez pas avoir la clé privée pour { $userId } (Identifiant de clé { $keyId }) dans votre trousseau ; vous ne pouvez pas utiliser la clé pour signer.
+key-ring-pub-key-not-for-signing = La clé { $userId } (Identifiant de clé { $keyId }) ne peut pas être utilisée pour signer.
+key-ring-pub-key-not-for-encryption = La clé { $userId } (Identifiant de clé { $keyId }) ne peut pas être utilisée pour chiffrer.
+key-ring-sign-sub-keys-revoked = Toutes les sous-clés de signature de la clé { $userId } (Identifiant de clé { $keyId }) sont révoquées.
+key-ring-sign-sub-keys-expired = Toutes les sous-clés de signature de la clé { $userId } (Identifiant de clé { $keyId }) ont expiré.
+key-ring-enc-sub-keys-revoked = Toutes les sous-clés de chiffrement de la clé { $userId } (Identifiant de clé { $keyId }) sont révoquées.
+key-ring-enc-sub-keys-expired = Toutes les sous-clés de chiffrement de la clé { $userId } (Identifiant de clé { $keyId }) ont expiré.
+
+## Strings in gnupg-keylist.jsm
+
+keyring-photo = Photo
+user-att-photo = Attribut utilisateur (image JPEG)
+
+## Strings in key.jsm
+
+already-revoked = Cette clé a déjà été révoquée.
+# $identity (String) - the id and associated user identity of the key being revoked
+revoke-key-question =
+ Vous êtes sur le point de révoquer la clé « { $identity } ».
+ Vous ne serez plus en mesure de signer avec cette clé, et une fois que la révocation sera propagée, les autres ne pourront plus chiffrer avec cette clé. Vous pouvez encore l’utiliser pour déchiffrer les e-mails anciens.
+ Voulez-vous continuer ?
+# $keyId (String) - the id of the key being revoked
+revoke-key-not-present =
+ Vous ne possédez pas de clé (0x{ $keyId }) qui correspond à ce certificat de révocation.
+ Si vous avez perdu votre clé, vous devez l’importer (par exemple, d’un serveur de clés) avant d’importer le certificat de révocation.
+# $keyId (String) - the id of the key being revoked
+revoke-key-already-revoked = La clé 0x{ $keyId } a déjà été révoquée.
+key-man-button-revoke-key = &Révoquer la clé
+openpgp-key-revoke-success = La clé a été révoquée.
+after-revoke-info =
+ La clé a été révoquée.
+ Partagez à nouveau cette clé publique, en l’envoyant par e-mail ou sur des serveurs de clés, pour informer les autres personnes que vous avez révoqué votre clé.
+ Dès que les logiciels utilisés par les autres personnes auront eu connaissance de la révocation, ils cesseront d’utiliser votre ancienne clé.
+ Si vous utilisez une nouvelle clé pour la même adresse e-mail et que vous attachez la nouvelle clé publique aux e-mails que vous envoyez, des informations à propos de votre ancienne clé révoquée seront automatiquement incluses.
+
+## Strings in keyRing.jsm & decryption.jsm
+
+key-man-button-import = &Importer
+delete-key-title = Supprimer la clé OpenPGP
+delete-external-key-title = Supprimer la clé GnuPG externe
+delete-external-key-description = Voulez-vous supprimer cet identifiant de clé GnuPG externe ?
+key-in-use-title = Clé OpenPGP en cours d’utilisation
+delete-key-in-use-description = Impossible de poursuivre. La clé que vous souhaitez supprimer est actuellement utilisée par cette identité. Sélectionnez une autre clé, ou sélectionnez « Aucune », et essayez à nouveau.
+revoke-key-in-use-description = Impossible de poursuivre. La clé que vous souhaitez révoquer est actuellement utilisée par cette identité. Sélectionnez une autre clé, ou sélectionnez « Aucune », et essayez à nouveau.
+
+## Strings used in errorHandling.jsm
+
+# Variables:
+# $keySpec (String) - Email address.
+key-error-key-spec-not-found = L’adresse e-mail « { $keySpec } » ne correspond à aucune clé de votre trousseau.
+# $keySpec (String) - Key id.
+key-error-key-id-not-found = L’identifiant de clé « { $keySpec } » configuré ne se trouve pas dans votre trousseau.
+# $keySpec (String) - Key id.
+key-error-not-accepted-as-personal = Vous n’avez pas confirmé que la clé avec l’identifiant « { $keySpec } » est votre clé personnelle.
+
+## Strings used in enigmailKeyManager.js & windows.jsm
+
+need-online = La fonction que vous avez sélectionnée n’est pas disponible en mode hors connexion. Veuillez vous connecter et réessayer.
+
+## Strings used in keyRing.jsm & keyLookupHelper.jsm
+
+no-key-found2 = Nous n’avons trouvé aucune clé utilisable correspondant aux critères de recherche spécifiés.
+no-update-found = Vous disposez déjà des clés découvertes en ligne.
+
+## Strings used in keyRing.jsm & GnuPGCryptoAPI.jsm
+
+fail-key-extract = Erreur – échec de la commande d’extraction de clé
+
+## Strings used in keyRing.jsm
+
+fail-cancel = Erreur — réception de clé annulée par l’utilisateur
+not-first-block = Erreur — le premier bloc OpenPGP n’est pas un bloc de clé publique
+import-key-confirm = Importer la ou les clés publiques incluses dans le message ?
+fail-key-import = Erreur — échec de l’importation de la clé
+# Variables:
+# $output (String) - File that writing was attempted to.
+file-write-failed = Échec de l’écriture dans le fichier { $output }
+no-pgp-block = Erreur — aucun bloc de données OpenPGP blindé valide n’a été trouvé
+confirm-permissive-import = Échec de l’importation. La clé que vous essayez d’importer est peut-être corrompue ou utilise des attributs inconnus. Souhaitez-vous essayer d’importer les parties correctes ? Cela peut entraîner l’importation de clés incomplètes et inutilisables.
+
+## Strings used in trust.jsm
+
+key-valid-unknown = inconnue
+key-valid-invalid = invalide
+key-valid-disabled = désactivée
+key-valid-revoked = révoquée
+key-valid-expired = expirée
+key-trust-untrusted = non fiable
+key-trust-marginal = marginale
+key-trust-full = fiable
+key-trust-ultimate = absolu
+key-trust-group = (groupe)
+
+## Strings used in commonWorkflows.js
+
+import-key-file = Importer un fichier de clé OpenPGP
+import-rev-file = Importer un fichier de révocation OpenPGP
+gnupg-file = Fichiers GnuPG
+import-keys-failed = Échec de l’importation des clés
+# 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 = Saisissez la phrase de passe pour déverrouiller la clé secrète dont l’identifiant est { $key }, créée le { $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 = Saisissez la phrase de passe pour déverrouiller la clé secrète dont l’identifiant est { $subkey }, qui est une sous-clé de la clé à l’identifiant { $key }, créée le { $date }, { $username_and_email }
+file-to-big-to-import = Ce fichier est trop volumineux. Veuillez ne pas importer un nombre important de clés à la fois.
+
+## Strings used in enigmailKeygen.js
+
+save-revoke-cert-as = Créer et enregistrer un certificat de révocation
+revoke-cert-ok = Le certificat de révocation a été créé. Vous pouvez l’utiliser pour invalider votre clé publique, par exemple dans le cas où vous perdriez votre clé secrète.
+revoke-cert-failed = Le certificat de révocation n’a pas pu être créé.
+gen-going = Génération de clé déjà en cours.
+keygen-missing-user-name = Aucun nom n’est spécifié pour le compte ou l’identité sélectionnée. Veuillez saisir une valeur dans le champ « Votre nom » des paramètres du compte.
+expiry-too-short = Votre clé doit être valide pendant au moins un jour.
+expiry-too-long = Vous ne pouvez pas créer de clé qui expire dans plus de 100 ans.
+# Variables:
+# $id (String) - Name and/or email address to generate keys for.
+key-confirm = Générer une clé publique et une clé secrète pour { $id } ?
+key-man-button-generate-key = &Générer une clé
+key-abort = Annuler la génération de la clé ?
+key-man-button-generate-key-abort = &Annuler la génération de clé
+key-man-button-generate-key-continue = &Poursuivre la génération de clé
+
+## Strings used in enigmailMessengerOverlay.js
+
+failed-decrypt = Erreur — échec du déchiffrement
+fix-broken-exchange-msg-failed = Impossible de réparer le message.
+# Variables:
+# $attachment (String) - File name of the signature file.
+attachment-no-match-from-signature = Impossible de faire correspondre le fichier de signature « { $attachment } » à une pièce jointe
+# Variables:
+# $attachment (String) - File name of the attachment.
+attachment-no-match-to-signature = Impossible de faire correspondre la pièce jointe « { $attachment } » à un fichier de signature
+# Variables:
+# $attachment (String) - File name of the attachment
+signature-verified-ok = La signature a été vérifiée avec succès pour la pièce jointe { $attachment }
+# Variables:
+# $attachment (String) - File name of the attachment
+signature-verify-failed = Impossible de vérifier la signature de la pièce jointe { $attachment }
+decrypt-ok-no-sig =
+ Avertissement
+ Le déchiffrement a réussi, mais la signature n’a pas pu être vérifiée correctement
+msg-ovl-button-cont-anyway = &Continuer quand même
+enig-content-note = *Les pièces jointes à ce message n’ont pas été signées ni chiffrées*
+
+## Strings used in enigmailMsgComposeOverlay.js
+
+msg-compose-button-send = &Envoyer le message
+msg-compose-details-button-label = Détails…
+msg-compose-details-button-access-key = D
+send-aborted = L’opération d’envoi a été abandonnée.
+# Variables:
+# $key (String) - Key id.
+key-not-trusted = Le niveau de confiance de la clé « { $key } » est insuffisant
+# Variables:
+# $key (String) - Key id.
+key-not-found = Clé « { $key } » introuvable
+# Variables:
+# $key (String) - Key id.
+key-revoked = Clé « { $key } » révoquée
+# Variables:
+# $key (String) - Key id.
+key-expired = Clé « { $key } » expirée
+msg-compose-internal-error = Une erreur interne s’est produite.
+keys-to-export = Sélectionnez les clés OpenPGP à insérer
+msg-compose-partially-encrypted-inlinePGP =
+ L’e-mail auquel vous répondez comprend à la fois des parties chiffrées et non chiffrées. Si l’expéditeur n’a pas réussi à déchiffrer initialement les parties cachées de l’e-mail, vous divulguerez peut-être des renseignements confidentiels que l’expéditeur n’a pas réussi à déchiffrer.
+ Veuillez envisager d’effacer tout texte cité de votre réponse à cet expéditeur.
+msg-compose-cannot-save-draft = Erreur lors de l’enregistrement du brouillon
+msg-compose-partially-encrypted-short = Faites attention à ne pas divulguer des renseignements sensibles ; l’e-mail est chiffré partiellement.
+quoted-printable-warn =
+ Vous avez activé l’encodage « citation imprimable » pour l’envoi d’e-mails. Cela peut entraîner un déchiffrement ou une vérification incorrects de votre e-mail.
+ Souhaitez-vous désactiver maintenant l’envoi d’e-mails avec cette option ?
+# Variables:
+# $width (Number) - Number of characters per line.
+minimal-line-wrapping =
+ Vous avez défini le retour à la ligne automatique à { $width } caractères. Pour un chiffrement ou une signature corrects, cette valeur doit être d’au moins 68.
+ Souhaitez-vous définir le retour à la ligne automatique à 68 caractères maintenant ?
+sending-news =
+ L’opération d’envoi chiffré a été annulée.
+ Cet e-mail ne peut pas être chiffré, car certains destinataires sont des forums. Veuillez renvoyer l’e-mail sans chiffrement.
+send-to-news-warning =
+ Avertissement : vous êtes sur le point d’envoyer un e-mail chiffré à un forum.
+ Cela est déconseillé, car il ne serait logique de le faire que si tous les membres du forum peuvent déchiffrer l’e-mail, c.-à-d. que l’e-mail doit être chiffré avec les clés de tous les membres du forum. Veuillez n’envoyer cet e-mail que si vous savez exactement ce que vous faites.
+ Continuer ?
+save-attachment-header = Enregistrer la pièce jointe déchiffrée
+possibly-pgp-mime = Message potentiellement chiffré ou signé via PGP/MIME ; utilisez la fonction « Déchiffrer/Vérifier » pour vous en assurer
+# Variables:
+# $key (String) - Sender email address.
+cannot-send-sig-because-no-own-key = Impossible de signer numériquement ce message, car vous n’avez pas encore configuré le chiffrement de bout en bout pour <{ $key }>
+# Variables:
+# $key (String) - Sender email address.
+cannot-send-enc-because-no-own-key = Impossible d’envoyer ce message chiffré, car vous n’avez pas encore configuré le chiffrement de bout en bout pour <{ $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 = Importer les clés suivantes ? { $key }
+# Variables:
+# $name (String) - Name and/or email address mentioned in the key.
+# $id (String) - Key id of the key.
+do-import-one = Importer { $name } ({ $id }) ?
+cant-import = Erreur lors de l’importation de la clé publique
+unverified-reply = La partie du message en retrait (la réponse) a probablement été modifiée
+key-in-message-body = Une clé a été détectée dans le corps du message. Cliquez sur « Importer la clé » pour l’importer
+sig-mismatch = Erreur — la signature ne correspond pas
+invalid-email = Erreur — une ou plusieurs adresses e-mail ne sont pas valides
+# Variables:
+# $name (String) - File name of the attachment.
+attachment-pgp-key =
+ La pièce jointe « { $name } » que vous essayez d’ouvrir semble être un fichier de clé OpenPGP.
+ Cliquez sur « Importer » pour importer les clés contenues ou sur « Afficher » pour afficher le contenu du fichier dans une fenêtre de navigateur.
+dlg-button-view = &Afficher
+
+## Strings used in enigmailMsgHdrViewOverlay.js
+
+decrypted-msg-with-format-error = E-mail déchiffré (restauration d’un format d’e-mail PGP défectueux probablement causé par un ancien serveur Exchange ; le résultat pourrait ne pas être complètement lisible)
+
+## Strings used in encryption.jsm
+
+not-required = Erreur — aucun chiffrement nécessaire
+
+## Strings used in windows.jsm
+
+no-photo-available = Aucune photo disponible
+# Variables:
+# $photo (String) - Path of the photo in the key.
+error-photo-path-not-readable = L’emplacement « { $photo } » de la photo ne peut pas être lu
+debug-log-title = Journal de débogage OpenPGP
+
+## 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 = Cette alerte sera répétée { $count }
+repeat-suffix-singular = fois.
+repeat-suffix-plural = fois.
+no-repeat = Cette alerte ne sera plus affichée.
+dlg-keep-setting = Se souvenir de ma réponse et ne plus me demander
+dlg-button-ok = &Ok
+dlg-button-close = &Fermer
+dlg-button-cancel = &Annuler
+dlg-no-prompt = Ne plus afficher ce dialogue à l’avenir
+enig-prompt = Boîte de dialogue OpenPGP
+enig-confirm = Confirmation OpenPGP
+enig-alert = Alerte OpenPGP
+enig-info = Information OpenPGP
+
+## Strings used in persistentCrypto.jsm
+
+dlg-button-retry = &Réessayer
+dlg-button-skip = &Ignorer
+
+## Strings used in enigmailMsgBox.js
+
+enig-alert-title =
+ .title = Alerte OpenPGP
diff --git a/thunderbird-l10n/fr/localization/fr/messenger/otr/add-finger.ftl b/thunderbird-l10n/fr/localization/fr/messenger/otr/add-finger.ftl
new file mode 100644
index 0000000000..d9df08cc01
--- /dev/null
+++ b/thunderbird-l10n/fr/localization/fr/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 = Ajouter l’empreinte d’une clé OTR
+
+# Variables:
+# $name (String) - name of a chat contact person
+# Do not translate 'OTR' (name of an encryption protocol)
+otr-add-finger-description = Saisissez l’empreinte de la clé OTR pour { $name }.
+
+otr-add-finger-fingerprint = Empreinte :
+otr-add-finger-tooltip-error = Caractère saisi invalide. Seuls les lettres ABCDEF et les chiffres sont autorisés
+
+otr-add-finger-input =
+ .placeholder = L’empreinte de la clé OTR longue de 40 caractères
diff --git a/thunderbird-l10n/fr/localization/fr/messenger/otr/am-im-otr.ftl b/thunderbird-l10n/fr/localization/fr/messenger/otr/am-im-otr.ftl
new file mode 100644
index 0000000000..f80c955092
--- /dev/null
+++ b/thunderbird-l10n/fr/localization/fr/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 = Chiffrement de bout en bout
+account-otr-label = Messagerie Off-the-Record (OTR)
+account-otr-description2 = { -brand-short-name } prend en charge le chiffrement de bout en bout des conversations en tête-à-tête en se basant sur OTR. Cela empêche des tiers d’espionner une conversation. Ce type de chiffrement de bout en bout ne peut être utilisé que si l’autre personne utilise également un logiciel prenant en charge OTR.
+otr-encryption-title = Chiffrement vérifié
+otr-encryption-caption = Pour permettre aux autres de vérifier votre identité dans les discussions en ligne OTR, partagez votre empreinte OTR personnelle en utilisant un canal de communication extérieur (hors bande).
+otr-fingerprint-label = Votre empreinte :
+view-fingerprint-button =
+ .label = Gérer les empreintes des contacts
+ .accesskey = e
+otr-settings-title = Paramètres OTR
+otr-require-encryption =
+ .label = Exiger un chiffrement de bout en bout pour les conversations en tête-à-tête
+otr-require-encryption-info =
+ Lorsque vous demandez le chiffrement de bout en bout, les messages dans les conversations individuelles
+ ne seront envoyés que s’ils peuvent être chiffrés. Les messages reçus non chiffrés ne s’afficheront pas
+ dans le cadre de la conversation normale et ne seront pas non plus enregistrés.
+otr-verify-nudge =
+ .label = Toujours me rappeler de vérifier un contact non vérifié
+
+otr-not-yet-available = pas encore disponible
+
diff --git a/thunderbird-l10n/fr/localization/fr/messenger/otr/auth.ftl b/thunderbird-l10n/fr/localization/fr/messenger/otr/auth.ftl
new file mode 100644
index 0000000000..874fc8c5a9
--- /dev/null
+++ b/thunderbird-l10n/fr/localization/fr/messenger/otr/auth.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/.
+
+otr-auth =
+ .title = Vérifier l’identité du contact
+ .buttonlabelaccept = Vérifier
+# Variables:
+# $name (String) - the screen name of a chat contact person
+auth-title = Vérifier l’identité de { $name }
+# Variables:
+# $own_name (String) - the user's own screen name
+auth-your-fp-value = Votre empreinte, { $own_name } :
+# Variables:
+# $their_name (String) - the screen name of a chat contact
+auth-their-fp-value = L’empreinte de { $their_name } :
+auth-help = Vérifier l’identité d’un contact permet de s’assurer que la conversation est réellement privée, ce qui rend difficile pour un tiers d’espionner ou manipuler la conversation.
+auth-help-title = Aide à la vérification
+auth-question-received = Voici la question posée par votre contact :
+auth-yes =
+ .label = Oui
+auth-no =
+ .label = Non
+auth-verified = J’ai vérifié qu’il s’agit de l’empreinte correcte.
+auth-manual-verification = Vérification manuelle de l’empreinte
+auth-question-and-answer = Question et réponse
+auth-shared-secret = Secret partagé
+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 = Contactez votre interlocutrice ou interlocuteur en utilisant un autre canal authentifié, tel qu’un e-mail signé par OpenPGP ou un appel téléphonique. Communiquez-vous alors vos empreintes respectives (une empreinte est une somme de contrôle qui identifie une clé de chiffrement). Si l’empreinte correspond, indiquez dans la boîte de dialogue ci-dessous que vous avez vérifié l’empreinte.
+auth-how = De quelle façon souhaitez-vous vérifier l’identité de votre contact ?
+auth-qa-instruction = Pensez à une question dont la réponse n’est connue que de votre contact et vous. Saisissez la question et sa réponse, puis attendez que votre contact saisisse la réponse. Si elle ne correspond pas à la vôtre, le canal de communication que vous utilisez peut être sous surveillance.
+auth-secret-instruction = Pensez à un secret qui n’est connu que de vous et votre contact. N’utilisez pas la même connexion internet pour échanger le secret. Saisissez le secret, puis attendez que votre contact le saisisse aussi. Si les secrets ne correspondent pas, le canal de communication que vous utilisez est peut-être sous surveillance.
+auth-question = Saisissez une question :
+auth-answer = Saisissez la réponse (sensible à la casse) :
+auth-secret = Saisissez le secret :
diff --git a/thunderbird-l10n/fr/localization/fr/messenger/otr/chat.ftl b/thunderbird-l10n/fr/localization/fr/messenger/otr/chat.ftl
new file mode 100644
index 0000000000..ec2748fc0f
--- /dev/null
+++ b/thunderbird-l10n/fr/localization/fr/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 = État du chiffrement :
+
+start-text = Démarrer une conversation chiffrée
+
+start-label =
+ .label = { start-text }
+
+start-tooltip =
+ .tooltiptext = { start-text }
+
+end-label =
+ .label = Mettre fin à la conversation chiffrée
+
+auth-label =
+ .label = Vérifier l’identité de votre contact
diff --git a/thunderbird-l10n/fr/localization/fr/messenger/otr/finger-sync.ftl b/thunderbird-l10n/fr/localization/fr/messenger/otr/finger-sync.ftl
new file mode 100644
index 0000000000..dd0aea9767
--- /dev/null
+++ b/thunderbird-l10n/fr/localization/fr/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 = Vérifiée
+finger-no = Non vérifiée
+
+finger-subset-title = Supprimer les empreintes numériques
+finger-subset-message = Impossible de supprimer au moins une empreinte numérique, car la clé correspondante est actuellement utilisée dans une conversation active.
+
+finger-remove-all-title = Supprimer toutes les empreintes
+finger-remove-all-message = Voulez-vous vraiment supprimer toutes les empreintes numériques vues précédemment ? Toutes les vérifications d’identité OTR existantes seront perdues.
diff --git a/thunderbird-l10n/fr/localization/fr/messenger/otr/finger.ftl b/thunderbird-l10n/fr/localization/fr/messenger/otr/finger.ftl
new file mode 100644
index 0000000000..b8a92a5b2d
--- /dev/null
+++ b/thunderbird-l10n/fr/localization/fr/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 = Empreintes numériques OTR précédemment vues
+
+finger-intro = Empreintes numériques des clés OTR de précédentes conversations chiffrées de bout en bout.
+
+finger-screen-name =
+ .label = Contact
+finger-verified =
+ .label = État de la vérification
+finger-fingerprint =
+ .label = Empreinte numérique
+
+finger-remove =
+ .label = Supprimer les éléments sélectionnés
+
+finger-remove-all =
+ .label = Tout supprimer
diff --git a/thunderbird-l10n/fr/localization/fr/messenger/otr/otr.ftl b/thunderbird-l10n/fr/localization/fr/messenger/otr/otr.ftl
new file mode 100644
index 0000000000..725111e70a
--- /dev/null
+++ b/thunderbird-l10n/fr/localization/fr/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 = Vous avez tenté d’envoyer un message non chiffré à { $name }. Les messages non chiffrés ne sont pas autorisés par votre configuration.
+
+msgevent-encryption-required-part2 = Tentative de démarrer une conversation privée. Votre message sera renvoyé au début de la conversation privée.
+msgevent-encryption-error = Une erreur s’est produite lors du chiffrement de votre message. Le message n’a pas été envoyé.
+
+# Variables:
+# $name (String) - the screen name of a chat contact person
+msgevent-connection-ended = { $name } a déjà fermé sa connexion chiffrée avec vous. Pour éviter d’envoyer accidentellement un message sans chiffrement, votre message n’a pas été envoyé. Veuillez mettre fin à votre conversation chiffrée ou la redémarrer.
+
+# Variables:
+# $name (String) - the screen name of a chat contact person
+msgevent-setup-error = Une erreur s’est produite lors de la configuration d’une conversation privée avec { $name }.
+
+# Do not translate 'OTR' (name of an encryption protocol)
+msgevent-msg-reflected = Vous recevez vos propres messages OTR. Vous essayez de vous parler à vous-même, ou quelqu’un vous renvoie vos propres messages.
+
+# Variables:
+# $name (String) - the screen name of a chat contact person
+msgevent-msg-resent = Le dernier message à { $name } a été renvoyé.
+
+# Variables:
+# $name (String) - the screen name of a chat contact person
+msgevent-rcvdmsg-not-private = Le message chiffré reçu de { $name } est illisible, car vous ne communiquez pas actuellement en privé.
+
+# Variables:
+# $name (String) - the screen name of a chat contact person
+msgevent-rcvdmsg-unreadable = Vous avez reçu un message chiffré illisible de { $name }.
+
+# Variables:
+# $name (String) - the screen name of a chat contact person
+msgevent-rcvdmsg-malformed = Vous avez reçu un message de données mal formé de { $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 = Message Heartbeat reçu de { $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 = Message Heartbeat envoyé à { $name }.
+
+# Do not translate 'OTR' (name of an encryption protocol)
+msgevent-rcvdmsg-general-err = Une erreur inattendue s’est produite lors de la tentative de protection de votre conversation à l’aide d’OTR.
+
+# Variables:
+# $name (String) - the screen name of a chat contact person
+# $msg (string) - the message that was received.
+msgevent-rcvdmsg-unencrypted = Le message suivant reçu de { $name } n’a pas été chiffré : { $msg }
+
+# Do not translate 'OTR' (name of an encryption protocol)
+# Variables:
+# $name (String) - the screen name of a chat contact person
+msgevent-rcvdmsg-unrecognized = Vous avez reçu un message OTR non reconnu de { $name }.
+
+# Variables:
+# $name (String) - the screen name of a chat contact person
+msgevent-rcvdmsg-for-other-instance = { $name } a envoyé un message destiné à une autre session. Si vous êtes connecté·e plusieurs fois, une autre session peut avoir reçu le message.
+
+# Variables:
+# $name (String) - the screen name of a chat contact person
+context-gone-secure-private = Une conversation privée avec { $name } a commencé.
+
+# Variables:
+# $name (String) - the screen name of a chat contact person
+context-gone-secure-unverified = Une conversation chiffrée mais non vérifiée avec { $name } a commencé.
+
+# Variables:
+# $name (String) - the screen name of a chat contact person
+context-still-secure = Actualisation réussie de la conversation chiffrée avec { $name }.
+
+error-enc = Une erreur s’est produite lors du chiffrement du message.
+
+# Variables:
+# $name (String) - the screen name of a chat contact person
+error-not-priv = Vous avez envoyé des données chiffrées à { $name }, qui ne s’y attendait pas.
+
+error-unreadable = Vous avez transmis un message chiffré illisible.
+error-malformed = Vous avez transmis un message de données mal formé.
+
+resent = [renvoyé]
+
+# Variables:
+# $name (String) - the screen name of a chat contact person
+tlv-disconnected = { $name } a mis fin à sa conversation chiffrée avec vous ; vous devriez faire de même.
+
+# 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 } a demandé une conversation chiffrée Off-the-Record (OTR). Cependant, vous ne disposez pas d’un plugin le permettant. Voir https://fr.wikipedia.org/wiki/Off-the-Record_Messaging pour plus d’informations.
diff --git a/thunderbird-l10n/fr/localization/fr/messenger/otr/otrUI.ftl b/thunderbird-l10n/fr/localization/fr/messenger/otr/otrUI.ftl
new file mode 100644
index 0000000000..af544aba80
--- /dev/null
+++ b/thunderbird-l10n/fr/localization/fr/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 = Démarrer une conversation chiffrée
+refresh-label = Actualiser la conversation chiffrée
+auth-label = Vérifier l’identité de votre contact
+reauth-label = Revérifier l’identité de votre contact
+
+auth-cancel = Annuler
+auth-cancel-access-key = A
+
+auth-error = Une erreur s’est produite lors de la vérification de l’identité de votre contact.
+auth-success = La vérification de l’identité de votre contact s’est terminée avec succès.
+auth-success-them = Votre contact a réussi à vérifier votre identité. Vous pouvez également vérifier son identité en lui posant votre propre question.
+auth-fail = Impossible de vérifier l’identité de votre contact.
+auth-waiting = En attente de vérification par votre contact…
+
+finger-verify = Vérifier
+finger-verify-access-key = V
+
+finger-ignore = Ignorer
+finger-ignore-access-key = I
+
+# Do not translate 'OTR' (name of an encryption protocol)
+buddycontextmenu-label = Ajouter une empreinte OTR
+
+# Variables:
+# $name (String) - the screen name of a chat contact person
+alert-start = Tentative de démarrer une conversation chiffrée avec { $name }.
+
+# Variables:
+# $name (String) - the screen name of a chat contact person
+alert-refresh = Tentative de rafraîchissement de la conversation chiffrée avec { $name }.
+
+# Variables:
+# $name (String) - the screen name of a chat contact person
+alert-gone-insecure = La conversation chiffrée avec { $name } est terminée.
+
+# Variables:
+# $name (String) - the screen name of a chat contact person
+finger-unseen = L’identité de { $name } n’a pas encore été vérifiée. L’interception passive de vos conversations n’est pas possible, mais avec un peu d’effort, quelqu’un pourrait accéder à leur contenu. Empêchez toute surveillance en vérifiant l’identité de ce contact.
+
+# Variables:
+# $name (String) - the screen name of a chat contact person
+finger-seen = { $name } vous contacte depuis un ordinateur non reconnu. L’interception passive de vos conversations n’est pas possible, mais avec un peu d’effort, quelqu’un pourrait avoir accès à leur contenu. Empêchez toute surveillance en vérifiant l’identité de ce contact.
+
+state-not-private = La conversation en cours n’est pas privée.
+state-generic-not-private = La conversation actuelle n’est pas privée.
+
+# Variables:
+# $name (String) - the screen name of a chat contact person
+state-unverified = La conversation en cours est chiffrée mais pas privée, car l’identité de { $name } n’a pas encore été vérifiée.
+
+state-generic-unverified = La conversation actuelle est chiffrée, mais non privée, car certaines identités ne sont pas encore vérifiées.
+
+# Variables:
+# $name (String) - the screen name of a chat contact person
+state-private = L’identité de { $name } a été vérifiée. La conversation en cours est chiffrée et privée.
+
+state-generic-private = La conversation actuelle est chiffrée et privée.
+
+# Variables:
+# $name (String) - the screen name of a chat contact person
+state-finished = { $name } a mis fin à sa conversation chiffrée avec vous ; vous devriez faire de même.
+
+state-not-private-label = Non sécurisé
+state-unverified-label = Non vérifié
+state-private-label = Privé
+state-finished-label = Terminé
+
+# Variables:
+# $name (String) - the screen name of a chat contact person
+verify-request = { $name } a demandé la vérification de votre identité.
+
+# Variables:
+# $name (String) - the screen name of a chat contact person
+afterauth-private = Vous avez vérifié l’identité de { $name }.
+
+# Variables:
+# $name (String) - the screen name of a chat contact person
+afterauth-unverified = L’identité de { $name } n’a pas été vérifiée.
+
+# 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 = Échec de la génération de la clé privée OTR : { $error }
diff --git a/thunderbird-l10n/fr/localization/fr/messenger/policies/aboutPolicies.ftl b/thunderbird-l10n/fr/localization/fr/messenger/policies/aboutPolicies.ftl
new file mode 100644
index 0000000000..362dad75f9
--- /dev/null
+++ b/thunderbird-l10n/fr/localization/fr/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 = Stratégies d’entreprise
+
+# 'Active' is used to describe the policies that are currently active
+active-policies-tab = Active
+errors-tab = Erreurs
+documentation-tab = Documentation
+
+no-specified-policies-message = Le service de stratégies d’entreprise est actif, mais aucune stratégie n’est activée.
+inactive-message = Le service de stratégies d’entreprise est inactif.
+
+policy-name = Nom de la politique
+policy-value = Valeur de la politique
+policy-errors = Erreurs de politique
diff --git a/thunderbird-l10n/fr/localization/fr/messenger/policies/policies-descriptions.ftl b/thunderbird-l10n/fr/localization/fr/messenger/policies/policies-descriptions.ftl
new file mode 100644
index 0000000000..257c584e80
--- /dev/null
+++ b/thunderbird-l10n/fr/localization/fr/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 = Définir les stratégies auxquelles les WebExtensions peuvent accéder par chrome.storage.managed.
+
+policy-AppAutoUpdate = Activer ou désactiver les mises à jour automatiques des applications.
+
+policy-AppUpdatePin = Empêcher la mise à jour de { -brand-short-name } au-delà de la version spécifiée.
+
+policy-AppUpdateURL = Définir une URL personnalisée pour la mise à jour de l’application.
+
+policy-Authentication = Configurer l’authentification intégrée pour les sites web qui la prennent en charge.
+
+policy-BackgroundAppUpdate2 = Activer ou désactiver la mise à jour en arrière-plan.
+
+policy-BlockAboutAddons = Bloquer l’accès au gestionnaire de modules complémentaires (about:addons).
+
+policy-BlockAboutConfig = Bloquer l’accès à la page about:config.
+
+policy-BlockAboutProfiles = Bloquer l’accès à la page about:profiles.
+
+policy-BlockAboutSupport = Bloquer l’accès à la page about:support.
+
+policy-CaptivePortal = Activer ou désactiver la prise en charge du portail captif.
+
+policy-CertificatesDescription = Ajouter des certificats ou utiliser les certificats intégrés.
+
+policy-Cookies = Autoriser ou refuser les cookies des sites web.
+
+policy-DisableBuiltinPDFViewer = Désactiver PDF.js, la visionneuse PDF intégrée dans { -brand-short-name }.
+
+policy-DisabledCiphers = Désactiver les chiffrements.
+
+policy-DefaultDownloadDirectory = Définir le répertoire de téléchargement par défaut.
+
+policy-DisableAppUpdate = Empêcher la mise à jour de { -brand-short-name }.
+
+policy-DisableDefaultClientAgent = Empêcher l’agent du client par défaut de prendre des mesures. Uniquement applicable à Windows ; les autres plateformes n’ont pas cet agent.
+
+policy-DisableDeveloperTools = Bloquer l’accès aux outils de développement.
+
+policy-DisableFeedbackCommands = Désactiver les commandes permettant d’envoyer des commentaires dans le menu Aide (« Donner votre avis… » et « Signaler un site trompeur… »).
+
+policy-DisableForgetButton = Empêcher l’accès au bouton d’effacement des données.
+
+policy-DisableFormHistory = Désactiver la conservation de l’historique des recherches et des formulaires.
+
+policy-DisableMasterPasswordCreation = Si la valeur est sur true, la création d’un mot de passe principal est impossible.
+
+policy-DisablePasswordReveal = Ne pas permettre de révéler les mots de passe dans les identifiants enregistrés.
+
+policy-DisableProfileImport = Désactiver la commande de menu pour importer des données depuis une autre application.
+
+policy-DisableSafeMode = Désactiver le redémarrage en mode sans échec. Note : sous Windows, le passage en mode sans échec via la touche Majuscule ne peut être désactivé qu’à l’aide d’une stratégie de groupe.
+
+policy-DisableSecurityBypass = Empêcher l’utilisateur de contourner certains avertissements de sécurité.
+
+policy-DisableSystemAddonUpdate = Empêcher { -brand-short-name } d’installer et de mettre à jour des modules système.
+
+policy-DisableTelemetry = Désactiver la télémétrie.
+
+policy-DisplayMenuBar = Afficher la barre de menus par défaut.
+
+policy-DNSOverHTTPS = Activer le DNS via HTTPS.
+
+policy-DontCheckDefaultClient = Désactiver la vérification du client par défaut au démarrage.
+
+policy-DownloadDirectory = Définir et verrouiller le répertoire de téléchargement.
+
+# “lock” means that the user won’t be able to change this setting
+policy-EnableTrackingProtection = Activer ou désactiver le blocage de contenu et éventuellement le verrouiller.
+
+# “lock” means that the user won’t be able to change this setting
+policy-EncryptedMediaExtensions = Activer ou désactiver les extensions de médias chiffrés (EME) et permettre de verrouiller ce choix.
+
+# 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 = Installer, désinstaller ou verrouiller les extensions. L’option Installer accepte des URL ou des chemins comme paramètres. Les options Désinstaller et Verrouiller utilisent les identifiants des extensions.
+
+policy-ExtensionSettings = Gérer tous les aspects de l’installation d’extensions.
+
+policy-ExtensionUpdate = Activer ou désactiver les mises à jour automatiques des extensions.
+
+policy-Handlers = Configurer les gestionnaires d’applications par défaut.
+
+policy-HardwareAcceleration = Si la valeur est sur false, l’accélération matérielle est désactivée.
+
+policy-InstallAddonsPermission = Autoriser certains sites web à installer des modules complémentaires.
+
+policy-LegacyProfiles = Désactiver la fonctionnalité qui impose l’utilisation d’un profil distinct pour chaque installation.
+
+## Do not translate "SameSite", it's the name of a cookie attribute.
+
+policy-LegacySameSiteCookieBehaviorEnabled = Activer par défaut le paramètre de comportement traditionnel SameSite pour les cookies.
+
+policy-LegacySameSiteCookieBehaviorEnabledForDomainList = Revenir au comportement traditionnel SameSite pour les cookies sur certains sites spécifiques.
+
+##
+
+policy-LocalFileLinks = Autoriser des sites web spécifiques à créer des liens vers des fichiers locaux.
+
+policy-ManualAppUpdateOnly = Autoriser uniquement les mises à jour manuelles et ne pas informer l’utilisateur ou l’utilisatrice de la disponibilité de mises à jour.
+
+policy-NetworkPrediction = Activer ou désactiver la prédiction réseau (prélecture DNS).
+
+policy-OfferToSaveLogins = Appliquer les paramètres qui permettent à { -brand-short-name } de se souvenir des identifiants et des mots de passe enregistrés. Les valeurs true et false sont toutes deux acceptées.
+
+policy-OfferToSaveLoginsDefault = Définir si, par défaut, { -brand-short-name } doit proposer de mémoriser des identifiants et des mots de passe. Les valeurs true et false sont toutes deux acceptées.
+
+policy-OverrideFirstRunPage = Remplacer la page de premier démarrage. Laissez cette règle vide pour désactiver la page de premier démarrage.
+
+policy-OverridePostUpdatePage = Remplacer la page « Nouveautés » après une mise à jour. Laissez cette règle vide pour désactiver la page qui s’ouvre après la mise à jour.
+
+policy-PasswordManagerEnabled = Activer l’enregistrement des mots de passe dans le gestionnaire de mots de passe.
+
+# PDF.js and PDF should not be translated
+policy-PDFjs = Désactiver ou configurer PDF.js, la visionneuse PDF intégrée dans { -brand-short-name }.
+
+policy-Permissions2 = Configurer les permissions pour la caméra, le microphone, la localisation, les notifications et la lecture automatique.
+
+policy-Preferences = Définir et verrouiller la valeur pour un sous-ensemble de préférences.
+
+policy-PrimaryPassword = Exiger ou empêcher l’utilisation d’un mot de passe principal.
+
+policy-PromptForDownloadLocation = Demander où sauvegarder les fichiers lors du téléchargement.
+
+policy-Proxy = Configurer les paramètres de proxy.
+
+policy-RequestedLocales = Définir la liste des locales demandées par l’application, dans l’ordre de préférence.
+
+policy-SanitizeOnShutdown2 = Effacer les données de navigation à la fermeture.
+
+policy-SearchEngines = Configurer les paramètres du moteur de recherche. Cette propriété n’est disponible que sur la version Extended Support Release (ESR).
+
+policy-SearchSuggestEnabled = Activer ou désactiver les suggestions de recherche.
+
+# For more information, see https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSS/PKCS11/Module_Installation
+policy-SecurityDevices = Installer des modules PKCS #11.
+
+policy-SSLVersionMax = Définir la version SSL maximale.
+
+policy-SSLVersionMin = Définir la version SSL minimale.
+
+policy-SupportMenu = Ajoute une entrée personnalisée au menu d’aide pour l’assistance.
+
+policy-UserMessaging = Masquer certains messages à destination de l’utilisateur.
+
+# “format” refers to the format used for the value of this policy.
+policy-WebsiteFilter = Bloquer l’accès à des sites web. Voir la documentation pour plus de détails sur le format.
diff --git a/thunderbird-l10n/fr/localization/fr/messenger/preferences/am-copies.ftl b/thunderbird-l10n/fr/localization/fr/messenger/preferences/am-copies.ftl
new file mode 100644
index 0000000000..8ca1f7a4df
--- /dev/null
+++ b/thunderbird-l10n/fr/localization/fr/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 = Laissez vide le champ d’adresse pour afficher toujours la ligne d’adresses en commençant un nouveau message.
diff --git a/thunderbird-l10n/fr/localization/fr/messenger/preferences/am-im.ftl b/thunderbird-l10n/fr/localization/fr/messenger/preferences/am-im.ftl
new file mode 100644
index 0000000000..aef815329e
--- /dev/null
+++ b/thunderbird-l10n/fr/localization/fr/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 = Paramètres d’authentification
+account-channel-title = Canaux par défaut
+
+chat-autologin =
+ .label = S’identifier au démarrage
+
+chat-encryption-generic = Générique
+chat-encryption-log =
+ .label = Inclure les messages chiffrés de bout en bout dans les historiques de conversation
+chat-encryption-label = Chiffrement natif de bout en bout
+chat-encryption-description = { $protocol } fournit un chiffrement de bout en bout des messages instantanés. Des tiers ne peuvent donc pas espionner une conversation. Il peut être nécessaire d’effectuer une configuration supplémentaire ci-dessous pour que le chiffrement soit opérationnel.
+chat-encryption-status = État du chiffrement
+chat-encryption-placeholder = Le chiffrement n’est pas initialisé.
+chat-encryption-sessions = Sessions
+chat-encryption-sessions-description = Pour que le chiffrement de bout en bout fonctionne correctement, vous devez faire confiance aux autres sessions connectées à votre compte actuellement. Une interaction avec l’autre client est requise pour vérifier une session. La vérification d’une session peut conduire à ce que toutes les sessions qu’il approuve soient également approuvées par { -brand-short-name }.
+chat-encryption-session-verify = vérifier
+ .title = Vérifier l’identité d’une session
+chat-encryption-session-trusted = fiable
+ .title = L’identité de cette session a été vérifiée
diff --git a/thunderbird-l10n/fr/localization/fr/messenger/preferences/application-manager.ftl b/thunderbird-l10n/fr/localization/fr/messenger/preferences/application-manager.ftl
new file mode 100644
index 0000000000..ef99d67bc8
--- /dev/null
+++ b/thunderbird-l10n/fr/localization/fr/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 = Détails de l’application
+app-manager-dialog-title = Détails de l’application
+remove-app-button =
+ .label = Supprimer
+ .accesskey = S
diff --git a/thunderbird-l10n/fr/localization/fr/messenger/preferences/attachment-reminder.ftl b/thunderbird-l10n/fr/localization/fr/messenger/preferences/attachment-reminder.ftl
new file mode 100644
index 0000000000..8da1fe727e
--- /dev/null
+++ b/thunderbird-l10n/fr/localization/fr/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 = Mots-clés de rappel pour les pièces jointes
+attachment-reminder-dialog-title = Mots-clés de rappel pour les pièces jointes
+attachment-reminder-label = { -brand-short-name } vous avertira de l’absence de pièces jointes si vous êtes sur le point d’envoyer un e-mail contenant l’un de ces mots-clés.
+keyword-new-button =
+ .label = Nouveau…
+ .accesskey = N
+keyword-edit-button =
+ .label = Modifier…
+ .accesskey = M
+keyword-remove-button =
+ .label = Supprimer
+ .accesskey = S
+new-keyword-title = Nouveau mot-clé
+new-keyword-label = Mot-clé :
+edit-keyword-title = Modifier le mot-clé
+edit-keyword-label = Mot-clé :
diff --git a/thunderbird-l10n/fr/localization/fr/messenger/preferences/colors.ftl b/thunderbird-l10n/fr/localization/fr/messenger/preferences/colors.ftl
new file mode 100644
index 0000000000..4f4e4810ad
--- /dev/null
+++ b/thunderbird-l10n/fr/localization/fr/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 = Couleurs
+colors-dialog-title = Couleurs
+colors-dialog-legend = Texte et arrière-plan
+text-color-label =
+ .value = Texte :
+ .accesskey = T
+background-color-label =
+ .value = Arrière-plan :
+ .accesskey = A
+use-system-colors =
+ .label = Utiliser les couleurs système
+ .accesskey = U
+colors-link-legend = Couleur des liens
+link-color-label =
+ .value = Liens non visités :
+ .accesskey = L
+visited-link-color-label =
+ .value = Liens visités :
+ .accesskey = v
+underline-link-checkbox =
+ .label = Souligner les liens
+ .accesskey = S
+override-color-label =
+ .value = Outrepasser les couleurs spécifiées par le contenu avec celles choisies ci-dessus :
+ .accesskey = O
+override-color-always =
+ .label = Toujours
+override-color-auto =
+ .label = Uniquement pour les thèmes avec un contraste élevé
+override-color-never =
+ .label = Jamais
diff --git a/thunderbird-l10n/fr/localization/fr/messenger/preferences/connection.ftl b/thunderbird-l10n/fr/localization/fr/messenger/preferences/connection.ftl
new file mode 100644
index 0000000000..965b568237
--- /dev/null
+++ b/thunderbird-l10n/fr/localization/fr/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 = Utiliser le fournisseur
+ .accesskey = U
+# Variables:
+# $name (String) - Display name or URL for the DNS over HTTPS provider
+connection-dns-over-https-url-item-default =
+ .label = { $name } (par défaut)
+ .tooltiptext = Utiliser l’URL par défaut pour résoudre le DNS via HTTPS
+connection-dns-over-https-url-custom =
+ .label = Personnalisé
+ .accesskey = P
+ .tooltiptext = Saisissez l’URL de votre choix pour résoudre le DNS via HTTPS
+connection-dns-over-https-custom-label = Personnalisé
+connection-dialog-window2 =
+ .title = Paramètres de connexion
+connection-dialog-title = Paramètres de connexion
+disable-extension-button = Désactiver l’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 = Une extension, <img data-l10n-name="extension-icon" alt="" /> { $name }, contrôle la façon dont { -brand-short-name } se connecte à Internet.
+connection-proxy-legend = Configuration du serveur proxy pour accéder à Internet
+proxy-type-no =
+ .label = Pas de proxy
+ .accesskey = d
+proxy-type-wpad =
+ .label = Détection automatique des paramètres de proxy pour ce réseau
+ .accesskey = u
+proxy-type-system =
+ .label = Utiliser les paramètres proxy du système
+ .accesskey = y
+proxy-type-manual =
+ .label = Configuration manuelle du proxy :
+ .accesskey = m
+proxy-http-label =
+ .value = Proxy HTTP :
+ .accesskey = h
+http-port-label =
+ .value = Port :
+ .accesskey = p
+proxy-http-sharing =
+ .label = Utiliser également ce proxy pour HTTPS
+ .accesskey = x
+proxy-https-label =
+ .value = Proxy HTTPS :
+ .accesskey = S
+ssl-port-label =
+ .value = Port :
+ .accesskey = o
+proxy-socks-label =
+ .value = Hôte SOCKS :
+ .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 = Adresse de configuration automatique du proxy :
+ .accesskey = A
+proxy-reload-label =
+ .label = Actualiser
+ .accesskey = e
+no-proxy-label =
+ .value = Pas de proxy pour :
+ .accesskey = x
+no-proxy-example = Exemples : .mozilla.org, .asso.org, 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 = Les connexions à localhost, 127.0.0.1/8 ou ::1 ne passent jamais par un proxy.
+proxy-password-prompt =
+ .label = Ne pas me demander de m’authentifier si le mot de passe est enregistré
+ .accesskey = N
+ .tooltiptext = Cette option vous authentifie automatiquement sur les serveurs proxy dont le mot de passe est enregistré. Si l’authentification échoue, le mot de passe vous sera demandé.
+proxy-remote-dns =
+ .label = Utiliser un DNS distant lorsque SOCKS v5 est actif
+ .accesskey = r
+proxy-enable-doh =
+ .label = Activer le DNS via HTTPS
+ .accesskey = d
diff --git a/thunderbird-l10n/fr/localization/fr/messenger/preferences/cookies.ftl b/thunderbird-l10n/fr/localization/fr/messenger/preferences/cookies.ftl
new file mode 100644
index 0000000000..47e0f8c6c4
--- /dev/null
+++ b/thunderbird-l10n/fr/localization/fr/messenger/preferences/cookies.ftl
@@ -0,0 +1,44 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+cookies-window-dialog2 =
+ .title = Cookies
+cookies-dialog-title = Cookies
+window-close-key =
+ .key = w
+window-focus-search-key =
+ .key = f
+window-focus-search-alt-key =
+ .key = k
+filter-search-label =
+ .value = Rechercher :
+ .accesskey = R
+cookies-on-system-label = Les cookies suivants sont stockés sur votre ordinateur :
+treecol-site-header =
+ .label = Site
+treecol-name-header =
+ .label = Nom du cookie
+props-name-label =
+ .value = Nom :
+props-value-label =
+ .value = Contenu :
+props-domain-label =
+ .value = Hôte :
+props-path-label =
+ .value = Chemin :
+props-secure-label =
+ .value = Envoi pour :
+props-expires-label =
+ .value = Expire :
+props-container-label =
+ .value = Conteneur :
+remove-cookie-button =
+ .label = Supprimer le cookie
+ .accesskey = S
+remove-all-cookies-button =
+ .label = Supprimer tous les cookies
+ .accesskey = u
+cookie-close-button =
+ .label = Fermer
+ .accesskey = m
diff --git a/thunderbird-l10n/fr/localization/fr/messenger/preferences/dock-options.ftl b/thunderbird-l10n/fr/localization/fr/messenger/preferences/dock-options.ftl
new file mode 100644
index 0000000000..75aaf7241a
--- /dev/null
+++ b/thunderbird-l10n/fr/localization/fr/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 = Options de l’icône de l’application
+dock-options-dialog-title = Options de l’icône de l’application
+dock-options-show-badge =
+ .label = Afficher la pastille sur l’icône
+ .accesskey = p
+bounce-system-dock-icon =
+ .label = Animer l’icône de l’application à la réception d’un nouveau message
+ .accesskey = i
+dock-icon-legend = Pastille de l’icône de l’application
+dock-icon-show-label =
+ .value = Afficher sur l’icône de l’application :
+count-unread-messages-radio =
+ .label = Le nombre de messages non lus
+ .accesskey = o
+count-new-messages-radio =
+ .label = Le nombre de nouveaux messages
+ .accesskey = n
+notification-settings-info2 = Vous pouvez désactiver la pastille depuis le panneau Notifications situé dans les paramètres système.
diff --git a/thunderbird-l10n/fr/localization/fr/messenger/preferences/fonts.ftl b/thunderbird-l10n/fr/localization/fr/messenger/preferences/fonts.ftl
new file mode 100644
index 0000000000..90f6479d85
--- /dev/null
+++ b/thunderbird-l10n/fr/localization/fr/messenger/preferences/fonts.ftl
@@ -0,0 +1,134 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+fonts-dialog-title = Polices de caractères
+fonts-window-close =
+ .key = w
+# Variables:
+# $name {string, "Arial"} - Name of the default font
+fonts-label-default =
+ .label = Par défaut ({ $name })
+fonts-label-default-unnamed =
+ .label = Par défaut
+fonts-encoding-dialog-title =
+ .title = Polices et encodages
+fonts-language-legend =
+ .value = Polices pour :
+ .accesskey = o
+fonts-proportional-label =
+ .value = Proportionnelle :
+ .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 = Langues latines
+font-language-group-japanese =
+ .label = Japonais
+font-language-group-trad-chinese =
+ .label = Chinois traditionnel (Taiwan)
+font-language-group-simpl-chinese =
+ .label = Chinois simplifié
+font-language-group-trad-chinese-hk =
+ .label = Chinois traditionnel (Hong Kong)
+font-language-group-korean =
+ .label = Coréen
+font-language-group-cyrillic =
+ .label = Cyrillique
+font-language-group-el =
+ .label = Grec
+font-language-group-other =
+ .label = Autres systèmes d’écriture
+font-language-group-thai =
+ .label = Thaï
+font-language-group-hebrew =
+ .label = Hébreu
+font-language-group-arabic =
+ .label = Arabe
+font-language-group-devanagari =
+ .label = Devanagari
+font-language-group-tamil =
+ .label = Tamoul
+font-language-group-armenian =
+ .label = Arménien
+font-language-group-bengali =
+ .label = Bengali
+font-language-group-canadian =
+ .label = Syllabaire canadien unifié
+font-language-group-ethiopic =
+ .label = Éthiopien
+font-language-group-georgian =
+ .label = Géorgien
+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 = Mathématiques
+font-language-group-odia =
+ .label = Odia
+font-language-group-telugu =
+ .label = Télougou
+font-language-group-kannada =
+ .label = Kannada
+font-language-group-sinhala =
+ .label = Sinhala
+font-language-group-tibetan =
+ .label = Tibétain
+
+## Default font type
+
+default-font-serif =
+ .label = Serif
+default-font-sans-serif =
+ .label = Sans serif
+font-size-proportional-label =
+ .value = Taille :
+ .accesskey = e
+font-size-monospace-label =
+ .value = Taille :
+ .accesskey = e
+font-serif-label =
+ .value = Serif :
+ .accesskey = S
+font-sans-serif-label =
+ .value = Sans serif :
+ .accesskey = n
+font-monospace-label =
+ .value = Largeur fixe :
+ .accesskey = L
+font-min-size-label =
+ .value = Taille minimale des polices :
+ .accesskey = m
+min-size-none =
+ .label = Aucune
+
+## Fonts in message
+
+font-control-legend = Contrôle des polices
+use-document-fonts-checkbox =
+ .label = Autoriser les messages à utiliser d’autres polices
+ .accesskey = A
+use-fixed-width-plain-checkbox =
+ .label = Utiliser une police à largeur fixe pour les messages au format texte
+ .accesskey = x
+
+## Language settings
+
+text-encoding-legend = Encodage du texte
+text-encoding-description = Réglage de l’encodage de texte par défaut pour l’envoi et la réception de courrier
+font-outgoing-email-label =
+ .value = Courrier sortant :
+ .accesskey = u
+font-incoming-email-label =
+ .value = Courrier entrant :
+ .accesskey = i
+default-font-reply-checkbox =
+ .label = Quand c’est possible, utiliser l’encodage par défaut dans les réponses
+ .accesskey = Q
diff --git a/thunderbird-l10n/fr/localization/fr/messenger/preferences/languages.ftl b/thunderbird-l10n/fr/localization/fr/messenger/preferences/languages.ftl
new file mode 100644
index 0000000000..a9476f1e2e
--- /dev/null
+++ b/thunderbird-l10n/fr/localization/fr/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 = Monter
+ .accesskey = r
+languages-customize-movedown =
+ .label = Descendre
+ .accesskey = D
+languages-customize-remove =
+ .label = Supprimer
+ .accesskey = S
+languages-customize-select-language =
+ .placeholder = Choisir une langue à ajouter…
+languages-customize-add =
+ .label = Ajouter
+ .accesskey = A
+messenger-languages-window2 =
+ .title = Paramètres de langue de { -brand-short-name }
+messenger-languages-dialog-title = Paramètres de langue de { -brand-short-name }
+messenger-languages-description = { -brand-short-name } affichera la première langue par défaut puis les autres langues si nécessaire dans leur ordre d’apparition.
+messenger-languages-search = Recherche de langues supplémentaires…
+messenger-languages-searching =
+ .label = Recherche des langues…
+messenger-languages-downloading =
+ .label = Téléchargement…
+messenger-languages-select-language =
+ .label = Choisir une langue à ajouter…
+ .placeholder = Choisir une langue à ajouter…
+messenger-languages-installed-label = Langues installées
+messenger-languages-available-label = Langues disponibles
+messenger-languages-error = { -brand-short-name } ne peut pas mettre à jour vos langues pour l’instant. Vérifiez votre connexion à Internet ou réessayez.
diff --git a/thunderbird-l10n/fr/localization/fr/messenger/preferences/new-tag.ftl b/thunderbird-l10n/fr/localization/fr/messenger/preferences/new-tag.ftl
new file mode 100644
index 0000000000..2bf80d8ac1
--- /dev/null
+++ b/thunderbird-l10n/fr/localization/fr/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 = Nouvelle étiquette
+tag-dialog-title = Nouvelle étiquette
+tag-name-label =
+ .value = Étiquette :
+ .accesskey = t
+tag-color-label =
+ .value = Couleur :
+ .accesskey = C
diff --git a/thunderbird-l10n/fr/localization/fr/messenger/preferences/notifications.ftl b/thunderbird-l10n/fr/localization/fr/messenger/preferences/notifications.ftl
new file mode 100644
index 0000000000..3ce72f28fa
--- /dev/null
+++ b/thunderbird-l10n/fr/localization/fr/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 = Personnaliser les alertes pour un nouveau message
+notifications-dialog-title = Personnaliser les alertes pour un nouveau message
+customize-alert-description = Choisir les champs à afficher dans la notification d’alerte :
+preview-text-checkbox =
+ .label = Prévisualisation du message
+ .accesskey = P
+subject-checkbox =
+ .label = Sujet
+ .accesskey = S
+sender-checkbox =
+ .label = Expéditeur
+ .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 = Afficher l’alerte de nouveau message pendant
+ .accesskey = A
+open-time-label-after =
+ .value = secondes
diff --git a/thunderbird-l10n/fr/localization/fr/messenger/preferences/offline.ftl b/thunderbird-l10n/fr/localization/fr/messenger/preferences/offline.ftl
new file mode 100644
index 0000000000..4c37746ced
--- /dev/null
+++ b/thunderbird-l10n/fr/localization/fr/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 = Paramètres hors connexion
+offline-dialog-title = Paramètres hors connexion
+autodetect-online-label =
+ .label = Toujours passer en mode en ligne lorsque cela est possible
+ .accesskey = T
+offline-preference-startup-label = État manuel au démarrage :
+status-radio-remember =
+ .label = Se souvenir de l’état précédent
+ .accesskey = S
+status-radio-ask =
+ .label = Demander à passer en mode en ligne
+ .accesskey = D
+status-radio-always-online =
+ .label = Passer en mode en ligne
+ .accesskey = P
+status-radio-always-offline =
+ .label = Passer en mode hors connexion
+ .accesskey = a
+going-online-label = Envoyer les messages en attente lors du passage en mode en ligne ?
+going-online-auto =
+ .label = Oui
+ .accesskey = u
+going-online-not =
+ .label = Non
+ .accesskey = N
+going-online-ask =
+ .label = Demander
+ .accesskey = e
+going-offline-label = À la déconnexion, télécharger les messages pour une utilisation hors connexion ?
+going-offline-auto =
+ .label = Oui
+ .accesskey = i
+going-offline-not =
+ .label = Non
+ .accesskey = o
+going-offline-ask =
+ .label = Demander
+ .accesskey = m
diff --git a/thunderbird-l10n/fr/localization/fr/messenger/preferences/passwordManager.ftl b/thunderbird-l10n/fr/localization/fr/messenger/preferences/passwordManager.ftl
new file mode 100644
index 0000000000..a01f1b5699
--- /dev/null
+++ b/thunderbird-l10n/fr/localization/fr/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 = Identifiants enregistrés
+saved-logins-title = Identifiants enregistrés
+window-close =
+ .key = w
+focus-search-primary-shortcut =
+ .key = f
+focus-search-alt-shortcut =
+ .key = k
+copy-provider-url-cmd =
+ .label = Copier l’URL
+ .accesskey = o
+copy-username-cmd =
+ .label = Copier le nom d’utilisateur
+ .accesskey = n
+edit-username-cmd =
+ .label = Modifier le nom d’utilisateur
+ .accesskey = M
+copy-password-cmd =
+ .label = Copier le mot de passe
+ .accesskey = C
+edit-password-cmd =
+ .label = Modifier le mot de passe
+ .accesskey = o
+search-filter =
+ .accesskey = R
+ .placeholder = Rechercher
+column-heading-provider =
+ .label = Fournisseur
+column-heading-username =
+ .label = Nom d’utilisateur
+column-heading-password =
+ .label = Mot de passe
+column-heading-time-created =
+ .label = Première utilisation
+column-heading-time-last-used =
+ .label = Dernière utilisation
+column-heading-time-password-changed =
+ .label = Dernière modification
+column-heading-times-used =
+ .label = Nombre d’utilisations
+remove =
+ .label = Supprimer
+ .accesskey = S
+import =
+ .label = Importer…
+ .accesskey = I
+password-close-button =
+ .label = Fermer
+ .accesskey = F
+show-passwords =
+ .label = Afficher les mots de passe
+ .accesskey = A
+hide-passwords =
+ .label = Masquer les mots de passe
+ .accesskey = p
+logins-description-all = Les identifiants pour les fournisseurs suivants sont enregistrés sur votre ordinateur
+logins-description-filtered = Les identifiants suivants correspondent à votre recherche :
+remove-all =
+ .label = Tout supprimer
+ .accesskey = T
+remove-all-shown =
+ .label = Supprimer les identifiants affichés
+ .accesskey = S
+remove-all-passwords-prompt = Souhaitez-vous vraiment supprimer tous les mots de passe ?
+remove-all-passwords-title = Supprimer tous les mots de passe
+no-master-password-prompt = Voulez-vous vraiment afficher vos mots de passe ?
+
+## OS Authentication dialog
+
+# This message can be seen by trying to show or copy the passwords.
+password-os-auth-dialog-message = Confirmez votre identité pour révéler les mots de passe enregistrés.
+# 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 = révéler les mots de passe enregistrés
+# Don't change this label.
+password-os-auth-dialog-caption = { -brand-full-name }
diff --git a/thunderbird-l10n/fr/localization/fr/messenger/preferences/permissions.ftl b/thunderbird-l10n/fr/localization/fr/messenger/preferences/permissions.ftl
new file mode 100644
index 0000000000..a62aa0088a
--- /dev/null
+++ b/thunderbird-l10n/fr/localization/fr/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 = Adresse du site web :
+ .accesskey = d
+block-button =
+ .label = Bloquer
+ .accesskey = B
+allow-session-button =
+ .label = Autoriser pour la session
+ .accesskey = o
+allow-button =
+ .label = Autoriser
+ .accesskey = A
+treehead-sitename-label =
+ .label = Site
+treehead-status-label =
+ .label = État
+remove-site-button =
+ .label = Supprimer le site
+ .accesskey = S
+remove-all-site-button =
+ .label = Supprimer tous les sites
+ .accesskey = u
+cancel-button =
+ .label = Annuler
+ .accesskey = n
+save-button =
+ .label = Enregistrer les modifications
+ .accesskey = E
+permission-can-label = Autoriser
+permission-can-access-first-party-label = Domaine principal seul
+permission-can-session-label = Autoriser pour la session
+permission-cannot-label = Bloquer
+invalid-uri-message = Veuillez saisir un nom d’hôte valide
+invalid-uri-title = Nom d’hôte invalide
diff --git a/thunderbird-l10n/fr/localization/fr/messenger/preferences/preferences.ftl b/thunderbird-l10n/fr/localization/fr/messenger/preferences/preferences.ftl
new file mode 100644
index 0000000000..5fe55ea5ba
--- /dev/null
+++ b/thunderbird-l10n/fr/localization/fr/messenger/preferences/preferences.ftl
@@ -0,0 +1,787 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.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 = Fermer
+preferences-doc-title2 = Paramètres
+category-list =
+ .aria-label = Catégories
+pane-general-title = Général
+category-general =
+ .tooltiptext = { pane-general-title }
+pane-compose-title = Rédaction
+category-compose =
+ .tooltiptext = Rédaction
+pane-privacy-title = Vie privée et sécurité
+category-privacy =
+ .tooltiptext = Vie privée et sécurité
+pane-chat-title = Messagerie instantanée
+category-chat =
+ .tooltiptext = Messagerie instantanée
+pane-calendar-title = Agenda
+category-calendar =
+ .tooltiptext = Agenda
+pane-sync-title = Synchronisation
+category-sync =
+ .tooltiptext = Synchronisation
+general-language-and-appearance-header = Langue et apparence
+general-incoming-mail-header = Courrier entrant
+general-files-and-attachment-header = Fichiers et pièces jointes
+general-tags-header = Étiquettes
+general-reading-and-display-header = Lecture et affichage
+general-updates-header = Mises à jour
+general-network-and-diskspace-header = Réseau et espace disque
+general-indexing-label = Indexation
+composition-category-header = Rédaction
+composition-attachments-header = Pièces jointes
+composition-spelling-title = Orthographe
+compose-html-style-title = Style HTML
+composition-addressing-header = Adressage
+privacy-main-header = Vie privée
+privacy-passwords-header = Mots de passe
+privacy-junk-header = Courrier indésirable
+collection-header = Collecte de données par { -brand-short-name } et utilisation
+collection-description = Nous nous efforçons de vous laisser le choix et de recueillir uniquement les informations dont nous avons besoin pour proposer { -brand-short-name } et l’améliorer pour tout le monde. Nous demandons toujours votre permission avant de recevoir des données personnelles.
+collection-privacy-notice = Politique de confidentialité
+collection-health-report-telemetry-disabled = Vous n’autorisez plus { -vendor-short-name } à capturer des données techniques et d’interaction. Toutes les données passées seront supprimées dans les 30 jours.
+collection-health-report-telemetry-disabled-link = En savoir plus
+collection-health-report =
+ .label = Autoriser { -brand-short-name } à envoyer des données techniques et des données d’interaction à { -vendor-short-name }
+ .accesskey = A
+collection-health-report-link = En savoir plus
+# This message is displayed above disabled data sharing options in developer builds
+# or builds with no Telemetry support available.
+collection-health-report-disabled = L’envoi de données est désactivé pour cette configuration de compilation
+collection-backlogged-crash-reports =
+ .label = Autoriser { -brand-short-name } à envoyer pour vous les rapports de plantage en attente
+ .accesskey = u
+collection-backlogged-crash-reports-link = En savoir plus
+privacy-security-header = Sécurité
+privacy-scam-detection-title = Détection de contenu frauduleux
+privacy-anti-virus-title = Antivirus
+privacy-certificates-title = Certificats
+chat-pane-header = Messagerie instantanée
+chat-status-title = Statut
+chat-notifications-title = Notifications
+chat-pane-styling-header = Styles
+choose-messenger-language-description = Choisissez les langues utilisées pour afficher les menus, messages et notifications de { -brand-short-name }.
+manage-messenger-languages-button =
+ .label = Choisir des alternatives…
+ .accesskey = l
+confirm-messenger-language-change-description = Redémarrez { -brand-short-name } pour appliquer ces modifications
+confirm-messenger-language-change-button = Appliquer et redémarrer
+update-setting-write-failure-title = Erreur lors de l’enregistrement des préférences de mise à jour
+# 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 } a rencontré une erreur et n’a pas enregistré cette modification. Notez que modifier cette préférence de mise à jour nécessite la permission d’écriture pour le fichier ci-dessous. Vous, ou un administrateur système, pouvez peut-être corriger l’erreur en accordant au groupe Users l’accès complet à ce fichier.
+
+ Écriture impossible dans le fichier : { $path }
+update-in-progress-title = Mise à jour en cours
+update-in-progress-message = Voulez-vous que { -brand-short-name } continue cette mise à jour ?
+update-in-progress-ok-button = &Abandonner
+# 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 = &Continuer
+account-button = Paramètres des comptes
+open-addons-sidebar-button = Modules complémentaires et thèmes
+
+## OS Authentication dialog
+
+# This message can be seen by trying to add a Primary Password.
+primary-password-os-auth-dialog-message-win = Pour créer un mot de passe principal, saisissez vos informations de connexion Windows. Cela contribue à protéger la sécurité de vos comptes.
+# 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 = créer un mot de passe principal
+# 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 = Page de démarrage de { -brand-short-name }
+start-page-label =
+ .label = Afficher la page de démarrage au lancement de { -brand-short-name }
+ .accesskey = A
+location-label =
+ .value = Adresse :
+ .accesskey = d
+restore-default-label =
+ .label = Réinitialiser
+ .accesskey = i
+default-search-engine = Moteur de recherche par défaut
+add-web-search-engine =
+ .label = Ajouter…
+ .accesskey = A
+remove-search-engine =
+ .label = Supprimer
+ .accesskey = S
+add-opensearch-provider-title = Ajouter un fournisseur OpenSearch
+add-opensearch-provider-text = Saisissez l’URL du fournisseur OpenSearch à ajouter. Utilisez soit l’URL directe du fichier de description OpenSearch, soit une URL où il peut être découvert automatiquement.
+adding-opensearch-provider-failed-title = Échec de l’ajout du fournisseur OpenSearch
+# Variables:
+# $url (String) - URL an OpenSearch provider was requested for.
+adding-opensearch-provider-failed-text = Impossible d’ajouter le fournisseur OpenSearch pour { $url }.
+minimize-to-tray-label =
+ .label = Quand { -brand-short-name } est réduit, le déplacer dans la barre de notification
+ .accesskey = r
+new-message-arrival = Quand un nouveau message arrive :
+mail-play-sound-label =
+ .label =
+ { PLATFORM() ->
+ [macos] Jouer le fichier son suivant :
+ *[other] Jouer un son
+ }
+ .accesskey =
+ { PLATFORM() ->
+ [macos] J
+ *[other] J
+ }
+mail-play-button =
+ .label = Jouer le son
+ .accesskey = o
+change-dock-icon = Modifier les préférences de l’icône de l’application
+app-icon-options =
+ .label = Options de l’icône de l’application…
+ .accesskey = n
+notification-settings2 = Les alertes et le son par défaut peuvent être désactivés depuis le panneau Notifications dans les paramètres système.
+animated-alert-label =
+ .label = Afficher un avertissement
+ .accesskey = f
+customize-alert-label =
+ .label = Personnaliser…
+ .accesskey = P
+biff-use-system-alert =
+ .label = Utiliser la notification système
+tray-icon-unread-label =
+ .label = Afficher une icône dans la barre des tâches pour les messages non lus
+ .accesskey = t
+tray-icon-unread-description = Recommandé lorsque vous utilisez de petits boutons dans la barre des tâches
+mail-system-sound-label =
+ .label = Son système par défaut pour la réception d’un nouveau message
+ .accesskey = d
+mail-custom-sound-label =
+ .label = Utiliser le fichier son suivant :
+ .accesskey = U
+mail-browse-sound-button =
+ .label = Parcourir…
+ .accesskey = r
+enable-gloda-search-label =
+ .label = Activer la recherche et l’indexation globales
+ .accesskey = c
+datetime-formatting-legend = Format de date et heure
+language-selector-legend = Langues
+allow-hw-accel =
+ .label = Utiliser l’accélération graphique matérielle si disponible
+ .accesskey = i
+store-type-label =
+ .value = Type de stockage des messages pour les nouveaux comptes :
+ .accesskey = k
+mbox-store-label =
+ .label = Un fichier par dossier (mbox)
+maildir-store-label =
+ .label = Un fichier par message (maildir)
+scrolling-legend = Défilement
+autoscroll-label =
+ .label = Automatique
+ .accesskey = u
+smooth-scrolling-label =
+ .label = Doux
+ .accesskey = o
+browsing-gtk-use-non-overlay-scrollbars =
+ .label = Toujours afficher les barres de défilement
+ .accesskey = d
+window-layout-legend = Disposition des fenêtres
+draw-in-titlebar-label =
+ .label = Masquer la barre de titre de la fenêtre
+ .accesskey = M
+auto-hide-tabbar-label =
+ .label = Masquer automatiquement la barre d’onglets
+ .accesskey = a
+auto-hide-tabbar-description = Masquer la barre des onglets s’il n’y en a qu’un d’ouvert
+system-integration-legend = Intégration système
+always-check-default =
+ .label = Toujours vérifier si { -brand-short-name } est le client de messagerie par défaut au démarrage
+ .accesskey = T
+check-default-button =
+ .label = Vérifier maintenant…
+ .accesskey = V
+# 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] Recherche Windows
+ *[other] { "" }
+ }
+search-integration-label =
+ .label = Autoriser { search-engine-name } à rechercher dans les messages
+ .accesskey = A
+config-editor-button =
+ .label = Éditeur de configuration…
+ .accesskey = d
+return-receipts-description = Gestion des accusés de réception dans { -brand-short-name }
+return-receipts-button =
+ .label = Accusés de réception…
+ .accesskey = A
+update-app-legend = Mises à jour de { -brand-short-name }
+# Variables:
+# $version (String): version of Thunderbird, e.g. 68.0.1
+update-app-version = Version { $version }
+allow-description = Autoriser { -brand-short-name } à
+automatic-updates-label =
+ .label = Installer automatiquement les mises à jour (recommandé pour votre sécurité)
+ .accesskey = A
+check-updates-label =
+ .label = Vérifier l’existence de mises à jour mais me laisser décider de leur installation
+ .accesskey = C
+update-history-button =
+ .label = Afficher l’historique des mises à jour
+ .accesskey = h
+use-service =
+ .label = Utiliser un service en arrière-plan pour installer les mises à jour
+ .accesskey = s
+cross-user-udpate-warning = Ce paramètre s’appliquera à tous les comptes Windows et aux profils { -brand-short-name } utilisant cette installation de { -brand-short-name }.
+networking-legend = Connexion
+proxy-config-description = Configurer la façon dont { -brand-short-name } se connecte à Internet
+network-settings-button =
+ .label = Paramètres…
+ .accesskey = P
+offline-legend = Hors connexion
+offline-settings = Configurer les paramètres hors connexion
+offline-settings-button =
+ .label = Hors connexion…
+ .accesskey = H
+diskspace-legend = Espace disque
+offline-compact-folder =
+ .label = Compacter les dossiers quand cela économise au moins
+ .accesskey = C
+offline-compact-folder-automatically =
+ .label = Toujours demander avant de compacter
+ .accesskey = a
+compact-folder-size =
+ .value = Mo au 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 = Utiliser jusqu’à
+ .accesskey = U
+use-cache-after = Mo d’espace disque pour le cache
+
+##
+
+smart-cache-label =
+ .label = Modifier la gestion automatique du cache
+ .accesskey = M
+clear-cache-button =
+ .label = Vider le cache maintenant
+ .accesskey = V
+clear-cache-shutdown-label =
+ .label = Vider le cache à la fermeture
+ .accesskey = f
+fonts-legend = Polices et couleurs
+default-font-label =
+ .value = Police par défaut :
+ .accesskey = D
+default-size-label =
+ .value = Taille :
+ .accesskey = T
+font-options-button =
+ .label = Avancé…
+ .accesskey = A
+color-options-button =
+ .label = Couleurs…
+ .accesskey = C
+display-width-legend = Messages en texte simple
+# Note : convert-emoticons-label 'Emoticons' are also known as 'Smileys', e.g. :-)
+convert-emoticons-label =
+ .label = Afficher des images à la place des émoticônes
+ .accesskey = f
+display-text-label = Lors de l’affichage de citations en texte simple :
+style-label =
+ .value = Style :
+ .accesskey = S
+regular-style-item =
+ .label = Normal
+bold-style-item =
+ .label = Gras
+italic-style-item =
+ .label = Italique
+bold-italic-style-item =
+ .label = Gras italique
+size-label =
+ .value = Taille :
+ .accesskey = T
+regular-size-item =
+ .label = Normale
+bigger-size-item =
+ .label = Plus grande
+smaller-size-item =
+ .label = Plus petite
+quoted-text-color =
+ .label = Couleur :
+ .accesskey = o
+search-handler-table =
+ .placeholder = Filtrer les types de contenu et les actions
+type-column-header = Type de contenu
+action-column-header = Action
+save-to-label =
+ .label = Enregistrer les fichiers sous
+ .accesskey = E
+choose-folder-label =
+ .label =
+ { PLATFORM() ->
+ [macos] Choisir…
+ *[other] Parcourir…
+ }
+ .accesskey =
+ { PLATFORM() ->
+ [macos] C
+ *[other] P
+ }
+always-ask-label =
+ .label = Toujours demander où enregistrer les fichiers
+ .accesskey = o
+display-tags-text = Les étiquettes peuvent être utilisées pour classer en catégories et donner un ordre de priorité à vos messages
+new-tag-button =
+ .label = Nouvelle…
+ .accesskey = N
+edit-tag-button =
+ .label = Modifier…
+ .accesskey = M
+delete-tag-button =
+ .label = Supprimer
+ .accesskey = S
+auto-mark-as-read =
+ .label = Marquer automatiquement les messages comme lus
+ .accesskey = M
+mark-read-no-delay =
+ .label = Dès l’affichage
+ .accesskey = D
+view-attachments-inline =
+ .label = Afficher les pièces jointes en ligne
+ .accesskey = f
+
+## Note: This will concatenate to "After displaying for [___] seconds",
+## using (mark-read-delay) and a number (seconds-label).
+
+mark-read-delay =
+ .label = Après un délai de
+ .accesskey = A
+seconds-label = secondes
+
+##
+
+open-msg-label =
+ .value = Ouvrir les messages dans :
+open-msg-tab =
+ .label = un nouvel onglet
+ .accesskey = v
+open-msg-window =
+ .label = une nouvelle fenêtre
+ .accesskey = U
+open-msg-ex-window =
+ .label = une fenêtre existante
+ .accesskey = e
+close-move-delete =
+ .label = Fermer la fenêtre ou l’onglet de message lors du déplacement ou de la suppression
+ .accesskey = F
+display-name-label =
+ .value = Nom à afficher :
+condensed-addresses-label =
+ .label = N’afficher que le nom pour les personnes se trouvant dans le carnet d’adresses
+ .accesskey = N
+
+## Compose Tab
+
+forward-label =
+ .value = Transférer les messages :
+ .accesskey = T
+inline-label =
+ .label = intégrés
+as-attachment-label =
+ .label = en pièces jointes
+extension-label =
+ .label = ajouter une extension au nom de fichier
+ .accesskey = a
+
+## Note: This will concatenate to "Auto Save every [___] minutes",
+## using (auto-save-label) and a number (auto-save-end).
+
+auto-save-label =
+ .label = Sauvegarde automatique toutes les
+ .accesskey = S
+auto-save-end = minutes
+
+##
+
+warn-on-send-accel-key =
+ .label = Demander confirmation lors de l’utilisation d’un raccourci clavier pour envoyer un message
+ .accesskey = D
+add-link-previews =
+ .label = Ajouter un aperçu pour les liens lors du collage d’URL
+ .accesskey = o
+spellcheck-label =
+ .label = Vérifier l’orthographe avant l’envoi
+ .accesskey = V
+spellcheck-inline-label =
+ .label = Activer la vérification pendant la saisie
+ .accesskey = A
+language-popup-label =
+ .value = Langue :
+ .accesskey = L
+download-dictionaries-link = Télécharger d’autres dictionnaires
+font-label =
+ .value = Police :
+ .accesskey = P
+font-size-label =
+ .value = Taille :
+ .accesskey = e
+default-colors-label =
+ .label = Utiliser les couleurs par défaut du lecteur
+ .accesskey = d
+font-color-label =
+ .value = Couleur du texte :
+ .accesskey = C
+bg-color-label =
+ .value = Couleur de l’arrière-plan :
+ .accesskey = u
+restore-html-label =
+ .label = Restaurer les paramètres initiaux
+ .accesskey = R
+default-format-label =
+ .label = Utiliser le format paragraphe à la place du format texte principal par défaut
+ .accesskey = P
+compose-send-format-title = Format d’expédition
+compose-send-automatic-option =
+ .label = Automatique
+compose-send-automatic-description = Si aucun style n’est utilisé dans le message, envoyez-le au format texte brut. Sinon, envoyez-le au format HTML avec un recours au texte brut en cas de besoin.
+compose-send-both-option =
+ .label = HTML et texte brut
+compose-send-both-description = L’application de messagerie du destinataire déterminera la version à afficher.
+compose-send-html-option =
+ .label = Uniquement en HTML
+compose-send-html-description = Certains destinataires peuvent ne pas être en mesure de lire le message sans possibilité d’avoir recours au texte brut.
+compose-send-plain-option =
+ .label = Uniquement en texte brut
+compose-send-plain-description = Certains styles seront convertis en une alternative simple, tandis que d’autres fonctionnalités de rédaction seront désactivées.
+autocomplete-description = Lors de la recherche d’adresses, chercher les correspondances dans :
+ab-label =
+ .label = les carnets d’adresses locaux
+ .accesskey = C
+directories-label =
+ .label = un serveur d’annuaire :
+ .accesskey = s
+directories-none-label =
+ .none = Aucun
+edit-directories-label =
+ .label = Modifier les annuaires…
+ .accesskey = M
+email-picker-label =
+ .label = Ajouter les adresses des messages sortants dans :
+ .accesskey = A
+default-directory-label =
+ .value = Annuaire par défaut à l’ouverture de la fenêtre du carnet d’adresses :
+ .accesskey = f
+default-last-label =
+ .none = Dernier annuaire utilisé
+attachment-label =
+ .label = Vérification de pièces jointes manquantes
+ .accesskey = V
+attachment-options-label =
+ .label = Mots-clés
+ .accesskey = M
+enable-cloud-share =
+ .label = Proposer le partage pour les fichiers de plus de
+cloud-share-size =
+ .value = Mo
+add-cloud-account =
+ .label = Ajouter…
+ .accesskey = A
+ .defaultlabel = Ajouter…
+remove-cloud-account =
+ .label = Supprimer
+ .accesskey = S
+find-cloud-providers =
+ .value = Trouver plus de fournisseurs…
+cloud-account-description = Ajouter un nouveau service de stockage en ligne
+
+## Privacy Tab
+
+mail-content = Contenu des messages
+remote-content-label =
+ .label = Autoriser le contenu distant dans les messages
+ .accesskey = u
+exceptions-button =
+ .label = Exceptions…
+ .accesskey = p
+remote-content-info =
+ .value = En savoir plus sur les problématiques de vie privée liées au contenu distant
+web-content = Contenu web
+history-label =
+ .label = Se souvenir des sites web et liens visités
+ .accesskey = S
+cookies-label =
+ .label = Accepter les cookies
+ .accesskey = A
+third-party-label =
+ .value = Accepter les cookies tiers :
+ .accesskey = c
+third-party-always =
+ .label = toujours
+third-party-never =
+ .label = jamais
+third-party-visited =
+ .label = depuis les sites visités
+keep-label =
+ .value = Les conserver jusqu’à :
+ .accesskey = L
+keep-expire =
+ .label = leur expiration
+keep-close =
+ .label = la fermeture de { -brand-short-name }
+keep-ask =
+ .label = me demander à chaque fois
+cookies-button =
+ .label = Afficher les cookies…
+ .accesskey = k
+do-not-track-label =
+ .label = Envoyer aux sites web un signal « Ne pas me pister » indiquant que vous ne souhaitez pas être pisté·e
+ .accesskey = n
+learn-button =
+ .label = En savoir plus
+dnt-learn-more-button =
+ .value = En savoir plus
+passwords-description = { -brand-short-name } peut mémoriser les mots de passe pour tous vos comptes.
+passwords-button =
+ .label = Mots de passe enregistrés…
+ .accesskey = M
+primary-password-description = Un mot de passe principal protège tous vos mots de passe, mais il faut le saisir une fois par session.
+primary-password-label =
+ .label = Utiliser un mot de passe principal
+ .accesskey = U
+primary-password-button =
+ .label = Changer le mot de passe principal ...
+ .accesskey = C
+forms-primary-pw-fips-title = Vous êtes actuellement en mode FIPS. Ce mode nécessite un mot de passe principal non vide.
+forms-master-pw-fips-desc = Échec de la modification du mot de passe principal
+junk-description = Définir les paramètres par défaut des indésirables. Les paramètres pour les indésirables propres à chaque compte peuvent être configurés dans le menu « Paramètres des comptes… ».
+junk-label =
+ .label = Quand je marque des messages comme indésirables :
+ .accesskey = Q
+junk-move-label =
+ .label = les déplacer dans le dossier « Indésirables »
+ .accesskey = e
+junk-delete-label =
+ .label = les supprimer
+ .accesskey = s
+junk-read-label =
+ .label = Marquer les messages détectés indésirables comme lus
+ .accesskey = M
+junk-log-label =
+ .label = Activer la journalisation du filtre adaptatif des indésirables
+ .accesskey = c
+junk-log-button =
+ .label = Afficher le journal
+ .accesskey = A
+reset-junk-button =
+ .label = Réinitialiser les données d’apprentissage
+ .accesskey = R
+phishing-description = { -brand-short-name } peut analyser les messages pour trouver les courriers susceptibles d’être frauduleux en cherchant les techniques habituelles utilisées pour tromper les utilisateurs.
+phishing-label =
+ .label = Signaler si le message en cours de lecture est susceptible d’être frauduleux
+ .accesskey = S
+antivirus-description = { -brand-short-name } peut permettre aux logiciels antivirus d’analyser les courriers entrants avant qu’ils ne soient stockés localement.
+antivirus-label =
+ .label = Permettre aux logiciels antivirus de mettre individuellement en quarantaine les messages entrants
+ .accesskey = P
+certificate-description = Lorsqu’un serveur demande mon certificat personnel :
+certificate-auto =
+ .label = en sélectionner un automatiquement
+ .accesskey = m
+certificate-ask =
+ .label = me demander à chaque fois
+ .accesskey = d
+ocsp-label =
+ .label = Interroger le répondeur OCSP pour confirmer la validité de vos certificats
+ .accesskey = I
+certificate-button =
+ .label = Gérer les certificats…
+ .accesskey = G
+security-devices-button =
+ .label = Périphériques de sécurité…
+ .accesskey = P
+email-e2ee-header = Chiffrement de bout en bout des e-mails
+account-settings = Paramètres du compte
+email-e2ee-enable-info = Configurez les comptes de messagerie et les identités pour le chiffrement de bout en bout dans les paramètres des comptes.
+email-e2ee-automatism = Utilisation automatique du chiffrement
+email-e2ee-automatism-pre = { -brand-short-name } peut vous aider en activant ou désactivant automatiquement le chiffrement lors de la rédaction d’un e-mail. L’activation/la désactivation automatique est effectuée en fonction de la disponibilité de clés ou de certificats valides et acceptés pour les correspondants.
+email-e2ee-auto-on =
+ .label = Activer automatiquement le chiffrement lorsque cela est possible
+email-e2ee-auto-off =
+ .label = Désactiver automatiquement le chiffrement lorsque les destinataires changent et que le chiffrement n’est plus possible
+email-e2ee-auto-off-notify =
+ .label = Afficher une notification lorsque le chiffrement est désactivé automatiquement
+email-e2ee-automatism-post =
+ Les décisions automatiques peuvent être outrepassées en activant ou désactivant manuellement le chiffrement lors de la rédaction d’un message.
+ Remarque : le chiffrement est toujours activé automatiquement lorsque vous répondez à un message chiffré.
+
+## Chat Tab
+
+startup-label =
+ .value = Au démarrage de { -brand-short-name } :
+ .accesskey = A
+offline-label =
+ .label = Laisser mes comptes de messagerie instantanée déconnectés
+auto-connect-label =
+ .label = Connecter mes comptes automatiquement
+
+## 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 = Permettre à mes contacts de savoir que mon compte est inactif après
+ .accesskey = P
+idle-time-label = minutes d’inactivité
+
+##
+
+away-message-label =
+ .label = et indiquer mon absence avec le message suivant :
+ .accesskey = e
+send-typing-label =
+ .label = Envoyer les notifications de saisie dans mes conversations
+ .accesskey = v
+notification-label = À la réception d’un message qui vous est destiné :
+show-notification-label =
+ .label = Afficher une notification :
+ .accesskey = c
+notification-all =
+ .label = avec le nom de l’expéditeur et un aperçu du message
+notification-name =
+ .label = avec le nom de l’expéditeur uniquement
+notification-empty =
+ .label = sans aucune information
+notification-type-label =
+ .label =
+ { PLATFORM() ->
+ [macos] Animer l’icône du dock
+ *[other] Faire clignoter l’élément dans la barre des tâches
+ }
+ .accesskey =
+ { PLATFORM() ->
+ [macos] A
+ *[other] F
+ }
+chat-play-sound-label =
+ .label = Jouer un son
+ .accesskey = n
+chat-play-button =
+ .label = Jouer
+ .accesskey = J
+chat-system-sound-label =
+ .label = Son système par défaut pour la réception d’un nouveau message
+ .accesskey = S
+chat-custom-sound-label =
+ .label = Utiliser le fichier son suivant
+ .accesskey = U
+chat-browse-sound-button =
+ .label = Parcourir…
+ .accesskey = r
+theme-label =
+ .value = Thème :
+ .accesskey = T
+style-mail =
+ .label = { -brand-short-name }
+style-bubbles =
+ .label = Bulles
+style-dark =
+ .label = Sombre
+style-paper =
+ .label = Feuilles de papier
+style-simple =
+ .label = Simple
+preview-label = Aperçu :
+no-preview-label = Pas d’aperçu disponible
+no-preview-description = Ce thème n’est plus valide ou est indisponible (module désactivé, mode sans échec, …).
+chat-variant-label =
+ .value = Variante :
+ .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: 19em
+ .placeholder = Rechercher dans les paramètres
+
+## Settings UI Search Results
+
+search-results-header = Résultats de la recherche
+# `<span data-l10n-name="query"></span>` will be replaced by the search term.
+search-results-empty-message2 =
+ { PLATFORM() ->
+ [windows] Désolé, il n’y a aucun résultat dans les paramètres pour « <span data-l10n-name="query"></span> ».
+ *[other] Désolé, il n’y a aucun résultat dans les paramètres pour « <span data-l10n-name="query"></span> ».
+ }
+search-results-help-link = Besoin d’aide ? Consultez <a data-l10n-name="url">l’assistance de { -brand-short-name }</a>
+
+## Sync Tab
+
+sync-signedout-caption = Emportez votre Web partout avec vous
+sync-signedout-description = Synchronisez vos comptes, carnets d’adresses, agendas, modules complémentaires et paramètres entre tous vos appareils.
+# Note: "Sync" represents the Firefox Sync product so it shouldn't be translated.
+sync-signedout-account-signin-btn = Se connecter pour synchroniser…
+sync-pane-header = Synchronisation
+# Variables:
+# $userEmail (String) - The email logged into Sync.
+sync-pane-email-not-verified = « { $userEmail } » n’est pas vérifiée.
+# Variables:
+# $userEmail (String) - The email logged into Sync.
+sync-signedin-login-failure = Veuillez vous identifier pour vous reconnecter via « { $userEmail } »
+sync-pane-resend-verification = Renvoyer la vérification
+sync-pane-sign-in = Se connecter
+sync-pane-remove-account = Supprimer le compte
+sync-pane-edit-photo =
+ .title = Changer la photo de profil
+sync-pane-manage-account = Gérer le compte
+sync-pane-sign-out = Se déconnecter…
+sync-pane-device-name-title = Nom de l’appareil
+sync-pane-change-device-name = Changer le nom de l’appareil
+sync-pane-cancel = Annuler
+sync-pane-save = Enregistrer
+sync-pane-show-synced-header-on = Synchronisation ACTIVÉE
+sync-pane-show-synced-header-off = Synchronisation DÉSACTIVÉE
+sync-pane-sync-now = Synchroniser maintenant
+sync-panel-sync-now-syncing = Synchronisation…
+show-synced-list-heading = Les éléments suivants sont actuellement synchronisés :
+show-synced-learn-more = En savoir plus…
+show-synced-item-account = Comptes de messagerie
+show-synced-item-address = Carnets d’adresses
+show-synced-item-calendar = Agendas
+show-synced-item-identity = Identités
+show-synced-item-passwords = Mots de passe
+show-synced-change = Modifier…
+synced-acount-item-server-config = Configuration du serveur
+synced-acount-item-filters = Filtres
+synced-acount-item-keys = OpenPGP - S/MIME
+sync-disconnected-text = Synchronisez vos comptes de messagerie, carnets d’adresses, agendas et identités entre tous vos appareils.
+sync-disconnected-turn-on-sync = Activer la synchronisation…
diff --git a/thunderbird-l10n/fr/localization/fr/messenger/preferences/receipts.ftl b/thunderbird-l10n/fr/localization/fr/messenger/preferences/receipts.ftl
new file mode 100644
index 0000000000..9bc946747e
--- /dev/null
+++ b/thunderbird-l10n/fr/localization/fr/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 = Accusés de réception
+receipts-dialog-title = Accusés de réception
+return-receipt-checkbox-control =
+ .label = Lors de l’envoi d’un message, toujours demander un accusé de réception
+ .accesskey = a
+receipt-arrive-label = Lorsqu’un accusé de réception arrive :
+receipt-leave-radio-control =
+ .label = Le laisser dans le dossier « Courrier entrant »
+ .accesskey = l
+receipt-move-radio-control =
+ .label = Le déplacer dans le dossier « Envoyés »
+ .accesskey = e
+receipt-request-label = Lors de la réception d’une demande d’accusé de réception :
+receipt-return-never-radio-control =
+ .label = Ne jamais envoyer d’accusé de réception
+ .accesskey = j
+receipt-return-some-radio-control =
+ .label = Autoriser les accusés de réception pour certains messages
+ .accesskey = c
+receipt-not-to-cc-label =
+ .value = Si je ne suis ni le destinataire ni en copie du message :
+ .accesskey = n
+receipt-send-never-label =
+ .label = Ne jamais envoyer
+receipt-send-always-label =
+ .label = Toujours envoyer
+receipt-send-ask-label =
+ .label = Me demander
+sender-outside-domain-label =
+ .value = Si l’expéditeur est hors de mon domaine :
+ .accesskey = h
+other-cases-text-label =
+ .value = Dans tous les autres cas :
+ .accesskey = a
diff --git a/thunderbird-l10n/fr/localization/fr/messenger/preferences/sync-dialog.ftl b/thunderbird-l10n/fr/localization/fr/messenger/preferences/sync-dialog.ftl
new file mode 100644
index 0000000000..a72a779453
--- /dev/null
+++ b/thunderbird-l10n/fr/localization/fr/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 = Choisir les informations à synchroniser
+sync-dialog =
+ .buttonlabelaccept = Enregistrer les modifications
+ .buttonaccesskeyaccept = E
+ .buttonlabelextra2 = Se déconnecter…
+ .buttonaccesskeyextra2 = d
diff --git a/thunderbird-l10n/fr/localization/fr/messenger/preferences/system-integration.ftl b/thunderbird-l10n/fr/localization/fr/messenger/preferences/system-integration.ftl
new file mode 100644
index 0000000000..12e3ec1b64
--- /dev/null
+++ b/thunderbird-l10n/fr/localization/fr/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 = Intégration système
+system-integration-dialog-title = Intégration système
+system-integration-dialog =
+ .buttonlabelaccept = Définir par défaut
+ .buttonlabelcancel = Ignorer l’intégration
+ .buttonlabelcancel2 = Annuler
+default-client-intro = Utiliser { -brand-short-name } comme client par défaut pour :
+unset-default-tooltip = Il n’est pas possible de faire en sorte que { -brand-short-name } ne soit plus le client par défaut au sein de { -brand-short-name }. Pour définir une autre application comme client par défaut vous devez utiliser son dialogue « Définir par défaut ».
+checkbox-email-label =
+ .label = les e-mails
+ .tooltiptext = { unset-default-tooltip }
+checkbox-newsgroups-label =
+ .label = les groupes de discussion
+ .tooltiptext = { unset-default-tooltip }
+checkbox-feeds-label =
+ .label = les flux
+ .tooltiptext = { unset-default-tooltip }
+checkbox-calendar-label =
+ .label = les agendas
+ .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] Recherche Windows
+ *[other] { "" }
+ }
+system-search-integration-label =
+ .label = Autoriser { system-search-engine-name } à rechercher dans les messages
+ .accesskey = A
+check-on-startup-label =
+ .label = Toujours effectuer cette vérification au démarrage de { -brand-short-name }
+ .accesskey = T
diff --git a/thunderbird-l10n/fr/localization/fr/messenger/shortcuts.ftl b/thunderbird-l10n/fr/localization/fr/messenger/shortcuts.ftl
new file mode 100644
index 0000000000..8a0e7a39bc
--- /dev/null
+++ b/thunderbird-l10n/fr/localization/fr/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] Maj+{ $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+Maj+{ $key }
+ }
+
+ctrl-shift-shortcut-key =
+ { PLATFORM() ->
+ [macos] ⌃ ⇧ { $key }
+ *[other] Ctrl+Maj+{ $key }
+ }
+
+meta-ctrl-shift-shortcut-key =
+ { PLATFORM() ->
+ [macos] ⌃ ⇧ ⌘ { $key }
+ *[other] Meta+Ctrl+Maj+{ $key }
+ }
+
+alt-shift-shortcut-key =
+ { PLATFORM() ->
+ [macos] ⌥ ⇧ { $key }
+ *[other] Alt+Maj+{ $key }
+ }
+
+meta-shift-alt-shortcut-key2 =
+ { PLATFORM() ->
+ [macos] ⌥ ⇧ ⌘ { $key }
+ *[other] Meta+Alt+Maj+{ $key }
+ }
+
+ctrl-shift-alt-shortcut-key2 =
+ { PLATFORM() ->
+ [macos] ⌃ ⌥ ⇧ { $key }
+ *[other] Ctrl+Alt+Maj+{ $key }
+ }
+
+meta-ctrl-shift-alt-shortcut-key2 =
+ { PLATFORM() ->
+ [macos] ⌃ ⌥ ⇧ ⌘ { $key }
+ *[other] Meta+Ctrl+Alt+Maj+{ $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/fr/localization/fr/messenger/syncAccounts.ftl b/thunderbird-l10n/fr/localization/fr/messenger/syncAccounts.ftl
new file mode 100644
index 0000000000..038d219a89
--- /dev/null
+++ b/thunderbird-l10n/fr/localization/fr/messenger/syncAccounts.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 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 = Vérification envoyée
+# Variables:
+# $userEmail (String) - Email address of the account used for sync.
+sync-verification-sent-body = Un lien de vérification a été envoyé à { $userEmail }.
+sync-verification-not-sent-title = Impossible d’envoyer le lien de vérification
+sync-verification-not-sent-body = Nous ne parvenons pas à vous envoyer d’e-mail de vérification, veuillez réessayer plus tard.
+
+## These strings are shown in a confirmation dialog when the user chooses to sign out.
+
+sync-signout-dialog-title = Se déconnecter du compte ?
+sync-signout-dialog-body = Les données synchronisées resteront dans votre compte.
+sync-signout-dialog-button = Se déconnecter
+
+## These strings are shown in a confirmation dialog when the user chooses to stop syncing.
+
+sync-disconnect-dialog-title = Se déconnecter ?
+sync-disconnect-dialog-body = { -brand-product-name } ne se synchronisera plus, mais ne supprimera aucune donnée sur cet appareil.
+sync-disconnect-dialog-button = Se déconnecter
diff --git a/thunderbird-l10n/fr/localization/fr/messenger/treeView.ftl b/thunderbird-l10n/fr/localization/fr/messenger/treeView.ftl
new file mode 100644
index 0000000000..0c7ec9c318
--- /dev/null
+++ b/thunderbird-l10n/fr/localization/fr/messenger/treeView.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/.
+
+
+## Table
+
+tree-list-view-row-select =
+ .alt = Case à cocher pour sélectionner ou désélectionner la ligne courante
+ .title = Sélectionner la ligne courante
+tree-list-view-row-deselect =
+ .alt = Case à cocher pour sélectionner ou désélectionner la ligne courante
+ .title = Désélectionner la ligne courante
+tree-list-view-row-delete =
+ .title = Supprimer la ligne courante
+tree-list-view-row-restore =
+ .title = Restaurer la ligne courante
+tree-list-view-column-picker =
+ .title = Choisir les colonnes à afficher
+tree-list-view-column-picker-restore =
+ .label = Rétablir l’ordre des colonnes
+tree-list-view-row-thread-icon =
+ .alt = Indicateur de fil de discussion
+ .title = Ce message fait partie d’une discussion
+tree-list-view-row-thread-button =
+ .title = Ce message fait partie d’une discussion
+tree-list-view-row-ignored-thread = Discussion ignorée
+tree-list-view-row-ignored-thread-icon =
+ .alt = Indicateur de fil de discussion
+ .title = Cette discussion est ignorée
+tree-list-view-row-ignored-thread-button =
+ .title = Cette discussion est ignorée
+tree-list-view-row-ignored-subthread = Sous-fil de discussion ignoré
+tree-list-view-row-ignored-subthread-icon =
+ .alt = Indicateur de fil de discussion
+ .title = Ce sous-fil de discussion est ignoré
+tree-list-view-row-ignored-subthread-button =
+ .title = Ce sous-fil de discussion est ignoré
+tree-list-view-row-watched-thread = Discussion surveillée
+tree-list-view-row-watched-thread-icon =
+ .alt = Indicateur de fil de discussion
+ .title = Cette discussion est surveillée
+tree-list-view-row-watched-thread-button =
+ .title = Cette discussion est surveillée
+tree-list-view-row-flagged =
+ .alt = Indicateur de message suivi
+ .title = Message suivi
+tree-list-view-row-flag =
+ .alt = Indicateur de message suivi
+ .title = Message non suivi
+tree-list-view-row-attach =
+ .alt = Indicateur de pièces jointes
+ .title = Message contenant des pièces jointes
+tree-list-view-row-spam =
+ .alt = Indicateur de statut indésirable
+ .title = Message marqué comme indésirable
+tree-list-view-row-not-spam =
+ .alt = Indicateur de statut indésirable
+ .title = Message non marqué comme indésirable
+tree-list-view-row-read =
+ .alt = Indicateur d’état de lecture
+ .title = État de lecture du message
+tree-list-view-row-not-read =
+ .alt = Indicateur d’état non lu
+ .title = État non lu du message
diff --git a/thunderbird-l10n/fr/localization/fr/messenger/troubleshootMode.ftl b/thunderbird-l10n/fr/localization/fr/messenger/troubleshootMode.ftl
new file mode 100644
index 0000000000..0a21a31310
--- /dev/null
+++ b/thunderbird-l10n/fr/localization/fr/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 = Mode de dépannage de { -brand-short-name }
+ .style = width: 37em;
+troubleshoot-mode-dialog-title = Mode de dépannage de { -brand-short-name }
+troubleshoot-mode-description = Utilisez le mode de dépannage de { -brand-short-name } pour diagnostiquer les problèmes. Vos personnalisations et vos modules complémentaires seront temporairement désactivés.
+troubleshoot-mode-description2 = Il est possible de rendre tout ou partie de ces changements permanents :
+troubleshoot-mode-disable-addons =
+ .label = Désactiver tous les modules complémentaires
+ .accesskey = D
+troubleshoot-mode-reset-toolbars =
+ .label = Réinitialiser les barres d’outils et les contrôles
+ .accesskey = R
+troubleshoot-mode-change-and-restart =
+ .label = Effectuer les changements et redémarrer
+ .accesskey = m
+troubleshoot-mode-continue =
+ .label = Continuer en mode de dépannage
+ .accesskey = C
+troubleshoot-mode-quit =
+ .label =
+ { PLATFORM() ->
+ [windows] Quitter
+ *[other] Quitter
+ }
+ .accesskey =
+ { PLATFORM() ->
+ [windows] Q
+ *[other] Q
+ }
diff --git a/thunderbird-l10n/fr/localization/fr/messenger/unifiedToolbar.ftl b/thunderbird-l10n/fr/localization/fr/messenger/unifiedToolbar.ftl
new file mode 100644
index 0000000000..075bc185b9
--- /dev/null
+++ b/thunderbird-l10n/fr/localization/fr/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 = Rechercher
+search-bar-item =
+ .label = Rechercher :
+search-bar-placeholder = Rechercher…
+# 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 = Personnaliser…
+
+# Unified toolbar get messages button context menu
+
+toolbar-get-all-messages-menuitem =
+ .label = Relever tous les nouveaux messages
+ .accesskey = R
+
+## Unified Toolbar customization
+
+customize-title = Personnaliser les barres d’outils
+customize-space-tab-mail = Courrier
+ .title = Courrier
+customize-space-tab-addressbook = Carnet d’adresses
+ .title = Carnet d’adresses
+customize-space-tab-calendar = Agenda
+ .title = Agenda
+customize-space-tab-tasks = Tâches
+ .title = Tâches
+customize-space-tab-chat = Messagerie instantanée
+ .title = Messagerie instantanée
+customize-space-tab-settings = Paramètres
+ .title = Paramètres
+customize-restore-default = Configuration par défaut
+customize-change-appearance = Modifier l’apparence...
+customize-button-style-label = Style de bouton :
+customize-button-style-icons-beside-text-option = Texte à côté des icônes
+customize-button-style-icons-above-text-option = Icônes au-dessus du texte
+customize-button-style-icons-only-option = Icônes uniquement
+customize-button-style-text-only-option = Texte uniquement
+customize-cancel = Annuler
+customize-save = Enregistrer
+customize-unsaved-changes = Modifications non enregistrées dans d’autres espaces
+customize-search-bar =
+ .label = Rechercher des boutons de barre d’outils…
+customize-spaces-tabs =
+ .aria-label = Espaces
+customize-main-toolbar-target =
+ .aria-label = Barre d’outils principale
+customize-palette-generic-title = Disponible pour tous les espaces
+customize-palette-mail-specific-title = Disponible uniquement pour l’espace Courrier
+customize-palette-addressbook-specific-title = Disponible uniquement pour l’espace Carnet d’adresses
+customize-palette-calendar-specific-title = Disponible uniquement pour l’espace Agenda
+customize-palette-tasks-specific-title = Disponible uniquement pour l’espace Tâches
+customize-palette-chat-specific-title = Disponible uniquement pour l’espace Messagerie instantanée
+customize-palette-settings-specific-title = Disponible uniquement pour l’espace Paramètres
+customize-palette-extension-specific-title = Disponible uniquement pour cet espace
+
+## Unified toolbar customization palette context menu
+
+# Variables:
+# $target (String) - Name of the target the item should be added to.
+customize-palette-add-to =
+ .label = Ajouter à { $target }
+customize-palette-add-everywhere =
+ .label = Ajouter à toutes les barres d’outils
+
+## Unified toolbar customization target context menu
+
+customize-target-forward =
+ .label = Faire avancer
+customize-target-backward =
+ .label = Faire reculer
+customize-target-remove =
+ .label = Supprimer
+customize-target-remove-everywhere =
+ .label = Retirer de toutes les barres d’outils
+customize-target-add-everywhere =
+ .label = Ajouter à toutes les barres d’outils
+customize-target-start =
+ .label = Déplacer vers le début
+customize-target-end =
+ .label = Déplacer vers la fin
diff --git a/thunderbird-l10n/fr/localization/fr/messenger/unifiedToolbarItems.ftl b/thunderbird-l10n/fr/localization/fr/messenger/unifiedToolbarItems.ftl
new file mode 100644
index 0000000000..f5cbe469af
--- /dev/null
+++ b/thunderbird-l10n/fr/localization/fr/messenger/unifiedToolbarItems.ftl
@@ -0,0 +1,165 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+
+### Unified Toolbar Item Label strings
+
+spacer-label = Espace flexible
+search-bar-label = Rechercher
+toolbar-write-message-label = Écrire
+toolbar-write-message =
+ .title = Créer un nouveau message
+toolbar-move-to-label = Déplacer vers
+toolbar-move-to =
+ .title = Déplacer le message sélectionné
+toolbar-unifinder-label = Recherche d’évènements
+toolbar-unifinder =
+ .title = Afficher/Masquer le panneau de recherche d’évènements
+toolbar-folder-location-label = Emplacement du dossier
+toolbar-folder-location =
+ .title = Aller au dossier
+toolbar-edit-event-label = Modifier
+toolbar-edit-event =
+ .title = Modifier la tâche ou l’évènement sélectionné
+toolbar-get-messages-label = Relever
+toolbar-get-messages =
+ .title = Récupérer les nouveaux messages de tous les comptes
+toolbar-reply-label = Répondre
+toolbar-reply =
+ .title = Répondre au message
+toolbar-reply-all-label = Rép. à tous
+toolbar-reply-all =
+ .title = Répondre à l’expéditeur et à tous les destinataires
+toolbar-reply-to-list-label = Rép. à la liste
+toolbar-reply-to-list =
+ .title = Répondre à la liste de diffusion
+toolbar-redirect-label = Rediriger
+toolbar-redirect =
+ .title = Rediriger le message sélectionné
+toolbar-archive-label = Archiver
+toolbar-archive =
+ .title = Archiver les messages sélectionnés
+toolbar-conversation-label = Conversation
+toolbar-conversation =
+ .title = Afficher la conversation du message sélectionné
+toolbar-previous-unread-label = Non lu précédent
+toolbar-previous-unread =
+ .title = Aller au précédent message non lu
+toolbar-previous-label = Précédent
+toolbar-previous =
+ .title = Aller au précédent message
+toolbar-next-unread-label = Non lu suivant
+toolbar-next-unread =
+ .title = Aller au prochain message non lu
+toolbar-next-label = Suivant
+toolbar-next =
+ .title = Aller au prochain message
+toolbar-junk-label = Indésirable
+toolbar-junk =
+ .title = Marquer le message sélectionné comme indésirable
+toolbar-delete-label = Supprimer
+toolbar-delete-title =
+ .title = Supprimer les messages sélectionnés
+toolbar-undelete-label = Restaurer
+toolbar-undelete =
+ .title = Restaurer les messages sélectionnés
+toolbar-compact-label = Compacter
+toolbar-compact =
+ .title = Retirer les messages supprimés du dossier sélectionné
+toolbar-add-as-event-label = Ajouter comme évènement
+toolbar-add-as-event =
+ .title = Extraire les informations temporelles du message et les ajouter à votre agenda en tant qu’évènement
+toolbar-add-as-task-label = Ajouter comme tâche
+toolbar-add-as-task =
+ .title = Extraire les informations temporelles du message et les ajouter à votre agenda en tant que tâche
+toolbar-tag-message-label = Étiquette
+toolbar-tag-message =
+ .title = Étiqueter les messages
+toolbar-forward-inline-label = Transférer
+toolbar-forward-inline =
+ .title = Transférer le message sélectionné au format intégré
+toolbar-forward-attachment-label = Transférer au format pièce jointe
+toolbar-forward-attachment =
+ .title = Transférer le message sélectionné au format pièce jointe
+toolbar-mark-as-label = Marquer
+toolbar-mark-as =
+ .title = Marquer les messages
+toolbar-view-picker-label = Affichage
+toolbar-view-picker =
+ .title = Personnaliser l’affichage du dossier courant
+toolbar-address-book-label = Carnet d’adresses
+toolbar-address-book =
+ .title = Ouvrir le carnet d’adresses
+toolbar-chat-label = Messagerie instantanée
+toolbar-chat =
+ .title = Afficher l’onglet de messagerie instantanée
+toolbar-add-ons-and-themes-label = Modules complémentaires et thèmes
+toolbar-add-ons-and-themes =
+ .title = Gestion de vos modules complémentaires
+toolbar-calendar-label = Agenda
+toolbar-calendar =
+ .title = Aller à l’onglet d’agenda
+toolbar-tasks-label = Tâches
+toolbar-tasks =
+ .title = Aller à l’onglet des tâches
+toolbar-mail-label = Courrier
+toolbar-mail =
+ .title = Aller à l’onglet Courrier
+toolbar-print-label = Imprimer
+toolbar-print =
+ .title = Imprimer ce message
+toolbar-quick-filter-bar-label = Filtre rapide
+toolbar-quick-filter-bar =
+ .title = Filtrer les messages
+toolbar-synchronize-label = Synchroniser
+toolbar-synchronize =
+ .title = Actualiser les agendas et synchroniser les changements
+toolbar-delete-event-label = Supprimer
+toolbar-delete-event =
+ .title = Supprimer les tâches ou évènements sélectionnés
+toolbar-go-to-today-label = Aujourd’hui
+toolbar-go-to-today =
+ .title = Aller à la date d’aujourd’hui
+toolbar-print-event-label = Imprimer
+toolbar-print-event =
+ .title = Imprimer des tâches ou des évènements
+toolbar-new-event-label = Évènement
+toolbar-new-event =
+ .title = Créer un nouvel évènement
+toolbar-new-task-label = Tâche
+toolbar-new-task =
+ .title = Créer une nouvelle tâche
+toolbar-go-back-label = Reculer
+toolbar-go-back =
+ .title = Reculer d’un message
+toolbar-go-forward-label = Avancer
+toolbar-go-forward =
+ .title = Avancer d’un message
+toolbar-stop-label = Arrêter
+toolbar-stop =
+ .title = Arrêter le transfert courant
+toolbar-throbber-label = Indicateur d’activité
+toolbar-throbber =
+ .title = Indicateur d’activité
+toolbar-create-contact-label = Nouveau contact
+toolbar-create-contact =
+ .title = Créer un nouveau contact
+toolbar-create-address-book-label = Nouveau carnet d’adresses
+toolbar-create-address-book =
+ .title = Créer un nouveau carnet d’adresses
+toolbar-create-list-label = Nouvelle liste
+toolbar-create-list =
+ .title = Créer une nouvelle liste de diffusion
+toolbar-import-contacts-label = Importer
+toolbar-import-contacts =
+ .title = Importer des contacts depuis un fichier
+
+## New Address Book popup items
+
+toolbar-new-address-book-popup-add-js-address-book =
+ .label = Ajouter un carnet d’adresses local
+toolbar-new-address-book-popup-add-carddav-address-book =
+ .label = Ajouter un carnet d’adresses CardDAV
+toolbar-new-address-book-popup-add-ldap-address-book =
+ .label = Ajouter un carnet d’adresses LDAP
diff --git a/thunderbird-l10n/fr/localization/fr/messenger/viewSource.ftl b/thunderbird-l10n/fr/localization/fr/messenger/viewSource.ftl
new file mode 100644
index 0000000000..798c5ca9b7
--- /dev/null
+++ b/thunderbird-l10n/fr/localization/fr/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 = Rechercher
+ .accesskey = R
+
+context-text-action-find-again =
+ .label = Rechercher le suivant
+ .accesskey = s
+
+text-action-find =
+ .label = Rechercher
+ .accesskey = R
+
+text-action-find-again =
+ .label = Rechercher le suivant
+ .accesskey = s
diff --git a/thunderbird-l10n/fr/localization/fr/security/certificates/certManager.ftl b/thunderbird-l10n/fr/localization/fr/security/certificates/certManager.ftl
new file mode 100644
index 0000000000..fbea907adc
--- /dev/null
+++ b/thunderbird-l10n/fr/localization/fr/security/certificates/certManager.ftl
@@ -0,0 +1,228 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+certmgr-title =
+ .title = Gestionnaire de certificats
+
+certmgr-tab-mine =
+ .label = Vos certificats
+
+certmgr-tab-remembered =
+ .label = Décisions d’authentification
+
+certmgr-tab-people =
+ .label = Personnes
+
+certmgr-tab-servers =
+ .label = Serveurs
+
+certmgr-tab-ca =
+ .label = Autorités
+
+certmgr-mine = Vous possédez des certificats de ces organisations qui vous identifient
+certmgr-remembered = Ces certificats sont utilisés pour vous identifier sur les sites web
+certmgr-people = Vous possédez des certificats enregistrés identifiant ces personnes
+certmgr-server = Ces entrées identifient les exceptions aux erreurs de certificat serveur
+certmgr-ca = Vous possédez des certificats enregistrés identifiant ces autorités de certification
+
+certmgr-edit-ca-cert2 =
+ .title = Édition des paramètres de confiance de l’autorité de certification (CA)
+ .style = min-width: 48em;
+
+certmgr-edit-cert-edit-trust = Modifier les paramètres de confiance :
+
+certmgr-edit-cert-trust-ssl =
+ .label = Ce certificat peut identifier des sites web.
+
+certmgr-edit-cert-trust-email =
+ .label = Ce certificat peut identifier des utilisateurs de courrier électronique.
+
+certmgr-delete-cert2 =
+ .title = Suppression d’un certificat
+ .style = min-width: 48em; min-height: 24em;
+
+certmgr-cert-host =
+ .label = Hôte
+
+certmgr-cert-name =
+ .label = Nom du certificat
+
+certmgr-cert-server =
+ .label = Serveur
+
+certmgr-token-name =
+ .label = Périphérique de sécurité
+
+certmgr-begins-label =
+ .label = Débute le
+
+certmgr-expires-label =
+ .label = Expire le
+
+certmgr-email =
+ .label = Adresse e-mail
+
+certmgr-serial =
+ .label = Numéro de série
+
+certmgr-fingerprint-sha-256 =
+ .label = Empreinte numérique SHA-256
+
+certmgr-view =
+ .label = Voir…
+ .accesskey = V
+
+certmgr-edit =
+ .label = Modifier la confiance…
+ .accesskey = M
+
+certmgr-export =
+ .label = Exporter…
+ .accesskey = x
+
+certmgr-delete =
+ .label = Supprimer…
+ .accesskey = S
+
+certmgr-delete-builtin =
+ .label = Supprimer ou ne plus faire confiance…
+ .accesskey = S
+
+certmgr-backup =
+ .label = Sauvegarder…
+ .accesskey = e
+
+certmgr-backup-all =
+ .label = Tout sauvegarder…
+ .accesskey = T
+
+certmgr-restore =
+ .label = Importer…
+ .accesskey = I
+
+certmgr-add-exception =
+ .label = Ajouter une exception…
+ .accesskey = u
+
+exception-mgr =
+ .title = Ajout d’une exception de sécurité
+
+exception-mgr-extra-button =
+ .label = Confirmer l’exception de sécurité
+ .accesskey = C
+
+exception-mgr-supplemental-warning = Les banques, magasins et autres sites web publics légitimes ne vous demanderont pas de faire cela.
+
+exception-mgr-cert-location-url =
+ .value = Adresse :
+
+exception-mgr-cert-location-download =
+ .label = Obtenir le certificat
+ .accesskey = O
+
+exception-mgr-cert-status-view-cert =
+ .label = Voir…
+ .accesskey = V
+
+exception-mgr-permanent =
+ .label = Conserver cette exception de façon permanente
+ .accesskey = S
+
+pk11-bad-password = Le mot de passe PK11 est incorrect.
+pkcs12-decode-err = Échec de décodage du fichier. Soit il n’est pas au format PKCS#12, soit il est corrompu, ou le mot de passe est incorrect.
+pkcs12-unknown-err-restore = Échec de récupération du fichier PKCS#12 pour une raison inconnue.
+pkcs12-unknown-err-backup = Échec de sauvegarde du fichier PKCS#12 pour une raison inconnue.
+pkcs12-unknown-err = L’opération PKCS #12 a échoué pour des raisons inconnues.
+pkcs12-info-no-smartcard-backup = Il est impossible de sauvegarder les certificats d’un périphérique matériel de sécurité tel qu’une carte intelligente.
+pkcs12-dup-data = Le certificat et la clé privée existent déjà sur le périphérique de sécurité.
+
+## PKCS#12 file dialogs
+
+choose-p12-backup-file-dialog = Nom de fichier à sauvegarder
+file-browse-pkcs12-spec = Fichiers PKCS12
+choose-p12-restore-file-dialog = Fichier de certificat à importer
+
+## Import certificate(s) file dialog
+
+file-browse-certificate-spec = Fichiers de certificat
+import-ca-certs-prompt = Sélectionner un fichier contenant un (ou des) certificat(s) d’AC à importer
+import-email-cert-prompt = Sélectionner un fichier contenant un certificat de courrier à importer
+
+## For editing certificates trust
+
+# Variables:
+# $certName: the name of certificate
+edit-trust-ca = Le certificat « { $certName } » représente une autorité de certification.
+
+## For Deleting Certificates
+
+delete-user-cert-title =
+ .title = Suppression de certificats
+delete-user-cert-confirm = Voulez-vous vraiment supprimer ces certificats ?
+delete-user-cert-impact = Si vous supprimez un de vos certificats, vous ne pourrez plus l’utiliser pour vous identifier vous-même.
+
+
+delete-ssl-override-title =
+ .title = Suppression de l’exception de certificat serveur
+delete-ssl-override-confirm = Voulez-vous vraiment supprimer cette exception de serveur ?
+delete-ssl-override-impact = Si vous supprimez une exception de serveur, vous restaurez les vérifications de sécurité habituelles pour ce serveur et exigez qu’il utilise un certificat valide.
+
+delete-ca-cert-title =
+ .title = Supprimer ou ne plus faire confiance à des certificats d’AC
+delete-ca-cert-confirm = Vous avez demandé de supprimer ces certificats d’AC. S’il s’agit de certificats intégrés, aucune confiance ne leur sera plus accordée, ce qui a le même effet. Voulez-vous vraiment supprimer ces certificats ou ne plus leur faire confiance ?
+delete-ca-cert-impact = Si vous supprimez une autorité de certification (AC) ou cessez de lui faire confiance, l’application ne fera plus confiance à aucun certificat fourni par cette autorité.
+
+
+delete-email-cert-title =
+ .title = Suppression de certificats de courrier
+delete-email-cert-confirm = Voulez-vous vraiment supprimer les certificats de courrier de ces personnes ?
+delete-email-cert-impact = Si vous supprimez le certificat de courrier d’une personne, vous ne pourrez plus envoyer de courrier chiffré à la personne qui lui est associée.
+
+# 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 = Certificat avec numéro de série : { $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 = Ne pas envoyer de certificat client
+
+# Used when no cert is stored for an override
+no-cert-stored-for-override = (Non stocké)
+
+# When a certificate is unavailable (for example, it has been deleted or the token it exists on has been removed).
+certificate-not-available = (Indisponible)
+
+## Used to show whether an override is temporary or permanent
+
+permanent-override = Permanente
+temporary-override = Temporaire
+
+## Add Security Exception dialog
+
+add-exception-branded-warning = Vous êtes en train de passer outre la façon dont { -brand-short-name } identifie ce site.
+add-exception-invalid-header = Ce site essaie de s’identifier lui-même avec des informations invalides.
+add-exception-domain-mismatch-short = Mauvais site
+add-exception-domain-mismatch-long = Le certificat appartient à un site différent, ce qui pourrait indiquer que quelqu’un tente d’usurper l’identité de ce site.
+add-exception-expired-short = Informations obsolètes
+add-exception-expired-long = Le certificat n’est pas valide actuellement. Il a pu être volé ou perdu et peut être utilisé par quelqu’un pour usurper l’identité de ce site.
+add-exception-unverified-or-bad-signature-short = Identité inconnue
+add-exception-unverified-or-bad-signature-long = Le certificat n’est pas sûr car il est impossible de vérifier qu’il ait été délivré par une autorité de confiance utilisant une signature sécurisée.
+add-exception-valid-short = Certificat valide
+add-exception-valid-long = Ce site fournit une identification valide et certifiée. Il n’est pas nécessaire d’ajouter une exception.
+add-exception-checking-short = Vérification des informations
+add-exception-checking-long = Tentative d’identification de ce site…
+add-exception-no-cert-short = Pas d’informations disponibles
+add-exception-no-cert-long = Impossible d’obtenir l’état d’identification de ce site.
+
+## Certificate export "Save as" and error dialogs
+
+save-cert-as = Enregistrer le certificat dans un fichier
+cert-format-base64 = Certificat X.509 (PEM)
+cert-format-base64-chain = Certificat X.509 avec chaîne (PEM)
+cert-format-der = Certificat X.509 (DER)
+cert-format-pkcs7 = Certificat X.509 (PKCS#7)
+cert-format-pkcs7-chain = Certificat X.509 avec chaîne (PKCS#7)
+write-file-failure = Erreur de fichier
diff --git a/thunderbird-l10n/fr/localization/fr/security/certificates/deviceManager.ftl b/thunderbird-l10n/fr/localization/fr/security/certificates/deviceManager.ftl
new file mode 100644
index 0000000000..762e79df6d
--- /dev/null
+++ b/thunderbird-l10n/fr/localization/fr/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 = Gestionnaire de périphériques
+ .style = min-width: 67em; min-height: 32em;
+
+devmgr-devlist =
+ .label = Modules et périphériques de sécurité
+
+devmgr-header-details =
+ .label = Détails
+
+devmgr-header-value =
+ .label = Valeur
+
+devmgr-button-login =
+ .label = Connexion
+ .accesskey = n
+
+devmgr-button-logout =
+ .label = Déconnexion
+ .accesskey = D
+
+devmgr-button-changepw =
+ .label = Changer le mot de passe
+ .accesskey = m
+
+devmgr-button-load =
+ .label = Charger
+ .accesskey = g
+
+devmgr-button-unload =
+ .label = Décharger
+ .accesskey = h
+
+devmgr-button-enable-fips =
+ .label = Activer FIPS
+ .accesskey = F
+
+devmgr-button-disable-fips =
+ .label = Désactiver FIPS
+ .accesskey = F
+
+## Strings used for load device
+
+load-device =
+ .title = Charger le pilote du périphérique PKCS#11
+
+load-device-info = Saisissez les informations sur le module que vous voulez ajouter.
+
+load-device-modname =
+ .value = Nom du module
+ .accesskey = o
+
+load-device-modname-default =
+ .value = Nouveau module PKCS#11
+
+load-device-filename =
+ .value = Nom de fichier du module
+ .accesskey = i
+
+load-device-browse =
+ .label = Parcourir…
+ .accesskey = P
+
+## Token Manager
+
+devinfo-status =
+ .label = Statut
+
+devinfo-status-disabled =
+ .label = Désactivé
+
+devinfo-status-not-present =
+ .label = Absent
+
+devinfo-status-uninitialized =
+ .label = Non initialisé
+
+devinfo-status-not-logged-in =
+ .label = Non connecté
+
+devinfo-status-logged-in =
+ .label = Connecté
+
+devinfo-status-ready =
+ .label = Prêt
+
+devinfo-desc =
+ .label = Description
+
+devinfo-man-id =
+ .label = Fabricant
+
+devinfo-hwversion =
+ .label = Version HW
+devinfo-fwversion =
+ .label = Version FW
+
+devinfo-modname =
+ .label = Module
+
+devinfo-modpath =
+ .label = Chemin
+
+login-failed = Échec de connexion
+
+devinfo-label =
+ .label = Étiquette
+
+devinfo-serialnum =
+ .label = Numéro de série
+
+fips-nonempty-primary-password-required = Le mode FIPS exige que vous ayez défini un mot de passe principal pour chaque périphérique de sécurité. Veuillez définir le mot de passe principal avant d’activer le mode FIPS.
+unable-to-toggle-fips = Impossible de modifier le mode FIPS pour le périphérique de sécurité. Nous vous recommandons de quitter et de redémarrer cette application.
+load-pk11-module-file-picker-title = Sélectionner un pilote de périphérique PKCS#11 à charger
+
+# Load Module Dialog
+load-module-help-empty-module-name =
+ .value = Le nom du module ne peut pas être vide.
+
+# Do not translate 'Root Certs'
+load-module-help-root-certs-module-name =
+ .value = « Root Certs » est réservé et ne peut pas être utilisé comme nom de module.
+
+add-module-failure = Impossible d’ajouter le module
+del-module-warning = Voulez-vous vraiment supprimer ce module de sécurité ?
+del-module-error = Impossible de supprimer le module
diff --git a/thunderbird-l10n/fr/localization/fr/security/pippki/pippki.ftl b/thunderbird-l10n/fr/localization/fr/security/pippki/pippki.ftl
new file mode 100644
index 0000000000..338d87bbd8
--- /dev/null
+++ b/thunderbird-l10n/fr/localization/fr/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 = Mesure de la qualité du mot de passe :
+
+## Change Password dialog
+
+change-device-password-window =
+ .title = Changer le mot de passe
+# Variables:
+# $tokenName (String) - Security device of the change password dialog
+change-password-token = Périphérique de sécurité: { $tokenName }
+change-password-old = Ancien mot de passe
+change-password-new = Saisissez le nouveau mot de passe
+change-password-reenter = Saisissez-le à nouveau
+pippki-failed-pw-change = Impossible de changer le mot de passe.
+pippki-incorrect-pw = Vous n’avez pas saisi correctement le mot de passe actuel. Veuillez réessayer.
+pippki-pw-change-ok = Le mot de passe a été changé.
+pippki-pw-empty-warning = Vos mots de passe et clés privées stockés ne seront pas protégés.
+pippki-pw-erased-ok = Vous avez supprimé votre mot de passe. { pippki-pw-empty-warning }
+pippki-pw-not-wanted = Attention ! Vous avez décidé de ne pas utiliser de mot de passe. { pippki-pw-empty-warning }
+pippki-pw-change2empty-in-fips-mode = Vous êtes actuellement en mode FIPS. Ce mode nécessite un mot de passe non vide.
+
+## Reset Primary Password dialog
+
+reset-primary-password-window2 =
+ .title = Effacer le mot de passe principal
+ .style = min-width: 40em
+reset-password-button-label =
+ .label = Effacer
+reset-primary-password-text = Si vous effacez votre mot de passe principal, tous vos mots de passe web et courrier, vos certificats personnels et vos clés privées seront oubliés. Voulez-vous vraiment supprimer le mot de passe principal ?
+pippki-reset-password-confirmation-title = Effacer le mot de passe principal
+pippki-reset-password-confirmation-message = Votre mot de passe principal a été effacé.
+
+## Downloading cert dialog
+
+download-cert-window2 =
+ .title = Téléchargement du certificat
+ .style = min-width: 46em
+download-cert-message = On vous a demandé de confirmer une nouvelle autorité de certification (AC).
+download-cert-trust-ssl =
+ .label = Confirmer cette AC pour identifier des sites web.
+download-cert-trust-email =
+ .label = Confirmer cette AC pour identifier les utilisateurs de courrier.
+download-cert-message-desc = Avant de confirmer cette AC pour quelque raison que ce soit, vous devriez l’examiner elle, ses méthodes et ses procédures (si possible).
+download-cert-view-cert =
+ .label = Voir
+download-cert-view-text = Examiner le certificat d’AC
+
+## Client Authorization Ask dialog
+
+
+## Client Authentication Ask dialog
+
+client-auth-window =
+ .title = Requête d’identification d’utilisateur
+client-auth-site-description = Ce site vous demande de vous identifier avec un certificat de sécurité :
+client-auth-choose-cert = Choisir un certificat à présenter comme identification :
+client-auth-send-no-certificate =
+ .label = Ne pas envoyer de certificat
+# Variables:
+# $hostname (String) - The domain name of the site requesting the client authentication certificate
+client-auth-site-identification = « { $hostname } » vous demande de vous identifier avec un certificat de sécurité :
+client-auth-cert-details = Détails du certificat sélectionné :
+# Variables:
+# $issuedTo (String) - The subject common name of the currently-selected client authentication certificate
+client-auth-cert-details-issued-to = Émis pour : { $issuedTo }
+# Variables:
+# $serialNumber (String) - The serial number of the certificate (hexadecimal of the form "AA:BB:...")
+client-auth-cert-details-serial-number = Numéro de série : { $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 = Valide du { $notBefore } au { $notAfter }
+# Variables:
+# $keyUsages (String) - A list of already-localized key usages for which the certificate may be used
+client-auth-cert-details-key-usages = Utilisations de la clé : { $keyUsages }
+# Variables:
+# $emailAddresses (String) - A list of email addresses present in the certificate
+client-auth-cert-details-email-addresses = Adresses e-mail : { $emailAddresses }
+# Variables:
+# $issuedBy (String) - The issuer common name of the certificate
+client-auth-cert-details-issued-by = Émis par : { $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 = Stocké sur : { $storedOn }
+client-auth-cert-remember-box =
+ .label = Se souvenir de cette décision
+
+## Set password (p12) dialog
+
+set-password-window =
+ .title = Choisir un mot de passe de sauvegarde du certificat
+set-password-message = Le mot de passe de sauvegarde du certificat que vous venez de définir protège le fichier de sauvegarde que vous allez créer. Vous devez donner le mot de passe pour commencer cette sauvegarde.
+set-password-backup-pw =
+ .value = Mot de passe de sauvegarde du certificat :
+set-password-repeat-backup-pw =
+ .value = Mot de passe de sauvegarde du certificat (encore) :
+set-password-reminder = Important : si vous avez oublié votre mot de passe de sécurité, vous ne pourrez plus importer cette sauvegarde plus tard. Veuillez le conserver en un lieu sûr.
+
+## Protected authentication alert
+
+# Variables:
+# $tokenName (String) - The name of the token to authenticate to (for example, "OS Client Cert Token (Modern)")
+protected-auth-alert = Veuillez vous authentifier auprès du token « { $tokenName } ». La manière de procéder dépend du jeton (par exemple, en utilisant un lecteur d’empreintes digitales ou en saisissant un code avec un clavier).
diff --git a/thunderbird-l10n/fr/localization/fr/services/accounts.ftl b/thunderbird-l10n/fr/localization/fr/services/accounts.ftl
new file mode 100644
index 0000000000..4b19f7f05f
--- /dev/null
+++ b/thunderbird-l10n/fr/localization/fr/services/accounts.ftl
@@ -0,0 +1,8 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# Variables:
+# $user (String): the user name (e.g. "Ed")
+# $system (String): the operating system (e.g. "Android")
+account-client-name = { -brand-short-name } de { $user } sur { $system }
diff --git a/thunderbird-l10n/fr/localization/fr/toolkit/about/aboutAbout.ftl b/thunderbird-l10n/fr/localization/fr/toolkit/about/aboutAbout.ftl
new file mode 100644
index 0000000000..61e4126a15
--- /dev/null
+++ b/thunderbird-l10n/fr/localization/fr/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 = À propos de « À propos »
+about-about-note =
+ Il s’agit d’une liste de pages « À propos de » à votre disposition.<br/>
+ Certaines d’entre elles peuvent être absconses. Certaines sont uniquement destinées à faire des diagnostics.<br/>
+ Et d’autres sont omises car elles nécessitent des chaînes de requête.
diff --git a/thunderbird-l10n/fr/localization/fr/toolkit/about/aboutAddons.ftl b/thunderbird-l10n/fr/localization/fr/toolkit/about/aboutAddons.ftl
new file mode 100644
index 0000000000..4be4ed6689
--- /dev/null
+++ b/thunderbird-l10n/fr/localization/fr/toolkit/about/aboutAddons.ftl
@@ -0,0 +1,489 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.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 = Gestionnaire de modules complémentaires
+search-header =
+ .placeholder = Rechercher sur addons.mozilla.org
+ .searchbuttonlabel = Rechercher
+
+## Variables
+## $domain - Domain name where add-ons are available (e.g. addons.mozilla.org)
+
+list-empty-get-extensions-message = Téléchargez des extensions et des thèmes sur <a data-l10n-name="get-extensions">{ $domain }</a>
+list-empty-get-dictionaries-message = Téléchargez des dictionnaires sur <a data-l10n-name="get-extensions">{ $domain }</a>
+list-empty-get-language-packs-message = Téléchargez des paquetages linguistiques sur <a data-l10n-name="get-extensions">{ $domain }</a>
+
+##
+
+list-empty-installed =
+ .value = Vous n’avez aucun module de ce type installé
+list-empty-available-updates =
+ .value = Aucune mise à jour trouvée
+list-empty-recent-updates =
+ .value = Vous n’avez pas mis à jour vos modules complémentaires depuis un certain temps
+list-empty-find-updates =
+ .label = Vérifier les mises à jour
+list-empty-button =
+ .label = En apprendre plus sur les modules complémentaires
+help-button = Assistance des modules
+sidebar-help-button-title =
+ .title = Assistance des modules
+addons-settings-button = Paramètres de { -brand-short-name }
+sidebar-settings-button-title =
+ .title = Paramètres de { -brand-short-name }
+show-unsigned-extensions-button =
+ .label = Certaines extensions n’ont pas pu être vérifiées
+show-all-extensions-button =
+ .label = Afficher toutes les extensions
+detail-version =
+ .label = Version
+detail-last-updated =
+ .label = Dernière mise à jour
+addon-detail-description-expand = Afficher plus
+addon-detail-description-collapse = Afficher moins
+detail-contributions-description = Le développeur de ce module demande que vous l’aidiez à assurer la poursuite de son développement en lui versant une petite contribution.
+detail-contributions-button = Participer
+ .title = Participer au développement de ce module complémentaire
+ .accesskey = P
+detail-update-type =
+ .value = Mises à jour automatiques
+detail-update-default =
+ .label = Par défaut
+ .tooltiptext = N’installer les mises à jour automatiquement que s’il s’agit du réglage par défaut
+detail-update-automatic =
+ .label = Activées
+ .tooltiptext = Installer automatiquement les mises à jour
+detail-update-manual =
+ .label = Désactivées
+ .tooltiptext = Ne pas installer automatiquement les mises à jour
+# Used as a description for the option to allow or block an add-on in private windows.
+detail-private-browsing-label = Exécution dans les fenêtres privées
+# 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 = Non autorisée dans les fenêtres privées
+detail-private-disallowed-description2 = Cette extension ne fonctionne pas en navigation privée. <a data-l10n-name="learn-more">En savoir plus</a>
+# Some special add-ons are privileged, run in private windows automatically, and this permission can't be revoked
+detail-private-required-label = Nécessite un accès aux fenêtres privées
+detail-private-required-description2 = Cette extension a accès à vos activités en ligne pendant la navigation privée. <a data-l10n-name="learn-more">En savoir plus</a>
+detail-private-browsing-on =
+ .label = Autoriser
+ .tooltiptext = Autoriser en navigation privée
+detail-private-browsing-off =
+ .label = Ne pas autoriser
+ .tooltiptext = Ne pas autoriser en navigation privée
+detail-home =
+ .label = Page d’accueil
+detail-home-value =
+ .value = { detail-home.label }
+detail-repository =
+ .label = Profil du module
+detail-repository-value =
+ .value = { detail-repository.label }
+detail-check-for-updates =
+ .label = Vérifier si des mises à jour sont disponibles
+ .accesskey = V
+ .tooltiptext = Vérifier si des mises à jour sont disponibles pour ce module
+detail-show-preferences =
+ .label =
+ { PLATFORM() ->
+ [windows] Options
+ *[other] Préférences
+ }
+ .accesskey =
+ { PLATFORM() ->
+ [windows] O
+ *[other] P
+ }
+ .tooltiptext =
+ { PLATFORM() ->
+ [windows] Modifier les options de ce module
+ *[other] Modifier les préférences de ce module
+ }
+detail-rating =
+ .value = Appréciation
+addon-restart-now =
+ .label = Redémarrer maintenant
+disabled-unsigned-heading =
+ .value = Certains modules complémentaires ont été désactivés
+disabled-unsigned-description = Les modules complémentaires suivants n’ont pas pu être vérifiés pour leur utilisation dans { -brand-short-name }. Vous pouvez <label data-l10n-name="find-addons">rechercher des modules équivalents</label> ou demander au développeur de les faire vérifier.
+disabled-unsigned-learn-more = En savoir plus sur nos efforts pour vous apporter plus de sécurité en ligne.
+disabled-unsigned-devinfo = Les développeurs souhaitant faire vérifier leurs modules complémentaires peuvent obtenir davantage d’informations en lisant notre <label data-l10n-name="learn-more">manuel</label>.
+plugin-deprecation-description = Quelque chose semble manquer ? Certains plugins ne sont plus pris en charge par { -brand-short-name }. <label data-l10n-name="learn-more">En savoir plus.</label>
+legacy-warning-show-legacy = Afficher les extensions obsolètes
+legacy-extensions =
+ .value = Extensions obsolètes
+legacy-extensions-description = Ces extensions ne répondent pas aux exigences actuelles de { -brand-short-name }. Elles ont été désactivées. <label data-l10n-name="legacy-learn-more">En savoir plus sur les changements apportés aux modules</label>
+private-browsing-description2 =
+ { -brand-short-name } modifie le fonctionnement des extensions en navigation privée. Aucune nouvelle extension que vous ajouterez à
+ { -brand-short-name } ne s’exécutera par défaut dans une fenêtre privée. Si vous ne le permettez pas dans les paramètres,
+ l’extension ne fonctionnera pas en navigation privée et n’aura pas accès à vos activités en ligne.
+ Nous avons apporté cette modification pour que votre navigation privée reste confidentielle.
+ <label data-l10n-name="private-browsing-learn-more"> Découvrez comment gérer les paramètres d’extension.</ label>
+addon-category-discover = Recommandations
+addon-category-discover-title =
+ .title = Recommandations
+addon-category-extension = Extensions
+addon-category-extension-title =
+ .title = Extensions
+addon-category-theme = Thèmes
+addon-category-theme-title =
+ .title = Thèmes
+addon-category-plugin = Plugins
+addon-category-plugin-title =
+ .title = Plugins
+addon-category-dictionary = Dictionnaires
+addon-category-dictionary-title =
+ .title = Dictionnaires
+addon-category-locale = Langues
+addon-category-locale-title =
+ .title = Langues
+addon-category-available-updates = À mettre à jour
+addon-category-available-updates-title =
+ .title = À mettre à jour
+addon-category-recent-updates = Mis à jour
+addon-category-recent-updates-title =
+ .title = Mis à jour
+addon-category-sitepermission = Autorisations de site
+addon-category-sitepermission-title =
+ .title = Autorisations de site
+# 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 = Autorisations de site pour { $host }
+
+## These are global warnings
+
+extensions-warning-safe-mode = Tous les modules complémentaires ont été désactivés par le mode sans échec.
+extensions-warning-check-compatibility = La vérification de compatibilité des modules complémentaires est désactivée. Vous avez peut-être des modules complémentaires incompatibles.
+extensions-warning-safe-mode2 =
+ .message = Tous les modules complémentaires ont été désactivés par le mode sans échec.
+extensions-warning-check-compatibility2 =
+ .message = La vérification de compatibilité des modules complémentaires est désactivée. Vous avez peut-être des modules complémentaires incompatibles.
+extensions-warning-check-compatibility-button = Activer
+ .title = Activer la vérification de compatibilité
+extensions-warning-update-security = La vérification de mises à jour de sécurité pour les modules complémentaires est désactivée. Vous avez peut-être des modules complémentaires non sûrs.
+extensions-warning-update-security2 =
+ .message = La vérification de mises à jour de sécurité pour les modules complémentaires est désactivée. Vous avez peut-être des modules complémentaires non sûrs.
+extensions-warning-update-security-button = Activer
+ .title = Activer la vérification de mises à jour de sécurité pour les modules complémentaires
+extensions-warning-imported-addons2 =
+ .message = Veuillez terminer l’installation des extensions qui ont été importées dans { -brand-short-name }.
+extensions-warning-imported-addons-button = Installer les extensions
+
+## Strings connected to add-on updates
+
+addon-updates-check-for-updates = Rechercher des mises à jour
+ .accesskey = R
+addon-updates-view-updates = Afficher les mises à jour récentes
+ .accesskey = A
+
+# This menu item is a checkbox that toggles the default global behavior for
+# add-on update checking.
+
+addon-updates-update-addons-automatically = Mettre à jour les modules automatiquement
+ .accesskey = M
+
+## 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 = Activer la mise à jour automatique pour tous les modules
+ .accesskey = c
+addon-updates-reset-updates-to-manual = Désactiver la mise à jour automatique pour tous les modules
+ .accesskey = D
+
+## Status messages displayed when updating add-ons
+
+addon-updates-updating = Mise à jour des modules
+addon-updates-installed = Vos modules ont été mis à jour.
+addon-updates-none-found = Aucune mise à jour disponible
+addon-updates-manual-updates-found = Afficher les mises à jour disponibles
+
+## Add-on install/debug strings for page options menu
+
+addon-install-from-file = Installer un module depuis un fichier…
+ .accesskey = I
+addon-install-from-file-dialog-title = Sélectionner un module à installer
+addon-install-from-file-filter-name = Modules complémentaires
+addon-open-about-debugging = Déboguer des modules
+ .accesskey = b
+
+## Extension shortcut management
+
+# This is displayed in the page options menu
+addon-manage-extensions-shortcuts = Gérer les raccourcis d’extensions
+ .accesskey = G
+shortcuts-no-addons = Aucune extension n’est activée.
+shortcuts-no-commands = Les extensions suivantes ne disposent pas de raccourcis :
+shortcuts-input =
+ .placeholder = Saisissez un raccourci
+shortcuts-browserAction2 = Activer le bouton de la barre d’outils
+shortcuts-pageAction = Activer l’action de la page
+shortcuts-sidebarAction = Afficher/Masquer le panneau latéral
+shortcuts-modifier-mac = Inclure Ctrl, Alt ou ⌘
+shortcuts-modifier-other = Inclure Ctrl ou Alt
+shortcuts-invalid = Combinaison invalide
+shortcuts-letter = Saisissez une lettre
+shortcuts-system = Impossible de remplacer un raccourci { -brand-short-name }
+# String displayed in warning label when there is a duplicate shortcut
+shortcuts-duplicate = Raccourci en doublon
+# 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 } est utilisé comme raccourci dans plusieurs cas. Les raccourcis en doublon peuvent provoquer un comportement imprévisible.
+# 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 } est utilisé comme raccourci dans plusieurs cas. Les raccourcis en doublon peuvent provoquer un comportement imprévisible.
+# String displayed when a keyboard shortcut is already used by another add-on
+# Variables:
+# $addon (string) - Name of the add-on
+shortcuts-exists = Déjà utilisé par { $addon }
+# Variables:
+# $numberToShow (number) - Number of other elements available to show
+shortcuts-card-expand-button =
+ { $numberToShow ->
+ [one] En montrer { $numberToShow } de plus
+ *[other] En montrer { $numberToShow } de plus
+ }
+shortcuts-card-collapse-button = En montrer moins
+header-back-button =
+ .title = Retour
+
+## 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 = Les extensions et les thèmes sont comme des applications pour votre navigateur qui vous permettent de protéger vos mots de passe, télécharger des vidéos, trouver de bonnes affaires, bloquer les publicités gênantes, changer l’apparence de votre navigateur, etc. Ces petits logiciels sont souvent produits par des développeurs tiers. Voici une sélection que { -brand-product-name } <a data-l10n-name="learn-more-trigger">recommande</a> pour une sécurité, des performances et des fonctionnalités poussées.
+# Notice to make user aware that the recommendations are personalized.
+discopane-notice-recommendations = Certaines de ces recommandations sont personnalisées. Cette sélection se fonde sur d’autres extensions que vous avez installées, les préférences de votre profil et les statistiques d’utilisation.
+# Notice to make user aware that the recommendations are personalized.
+discopane-notice-recommendations2 =
+ .message = Certaines de ces recommandations sont personnalisées. Cette sélection se fonde sur d’autres extensions que vous avez installées, les préférences de votre profil et les statistiques d’utilisation.
+discopane-notice-learn-more = En savoir plus
+privacy-policy = Politique de confidentialité
+# 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 = par <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 = Utilisateurs : { $dailyUsers }
+install-extension-button = Ajouter à { -brand-product-name }
+install-theme-button = Installer le thème
+# 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 = Gérer
+find-more-addons = Découvrir davantage de modules
+find-more-themes = Trouver d’autres thèmes
+# 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 = Plus d’options
+
+## Add-on actions
+
+report-addon-button = Signaler
+remove-addon-button = Supprimer
+# The link will always be shown after the other text.
+remove-addon-disabled-button = Suppression impossible <a data-l10n-name="link">Pourquoi ?</a>
+disable-addon-button = Désactiver
+enable-addon-button = Activer
+# 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 = Activer
+preferences-addon-button =
+ { PLATFORM() ->
+ [windows] Options
+ *[other] Préférences
+ }
+details-addon-button = Détails
+release-notes-addon-button = Notes de version
+permissions-addon-button = Permissions
+extension-enabled-heading = Activées
+extension-disabled-heading = Désactivées
+theme-enabled-heading = Activé
+theme-disabled-heading2 = Thèmes enregistrés
+plugin-enabled-heading = Activés
+plugin-disabled-heading = Désactivés
+dictionary-enabled-heading = Activés
+dictionary-disabled-heading = Désactivés
+locale-enabled-heading = Activées
+locale-disabled-heading = Désactivées
+sitepermission-enabled-heading = Activées
+sitepermission-disabled-heading = Désactivées
+always-activate-button = Toujours activer
+never-activate-button = Ne jamais activer
+addon-detail-author-label = Auteur
+addon-detail-version-label = Version
+addon-detail-last-updated-label = Dernière mise à jour
+addon-detail-homepage-label = Page d’accueil
+addon-detail-rating-label = Appréciation
+# Message for add-ons with a staged pending update.
+install-postponed-message = Cette extension sera mise à jour au redémarrage de { -brand-short-name }.
+# Message for add-ons with a staged pending update.
+install-postponed-message2 =
+ .message = Cette extension sera mise à jour au redémarrage de { -brand-short-name }.
+install-postponed-button = Mettre à jour maintenant
+# 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 = Noté { NUMBER($rating, maximumFractionDigits: 1) } sur 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 } (désactivé)
+# 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 } critique
+ *[other] { $numberOfReviews } critiques
+ }
+
+## Pending uninstall message bar
+
+# Variables:
+# $addon (string) - Name of the add-on
+pending-uninstall-description = <span data-l10n-name="addon-name">{ $addon }</span> a été supprimé.
+# Variables:
+# $addon (string) - Name of the add-on
+pending-uninstall-description2 =
+ .message = { $addon } a été supprimé.
+pending-uninstall-undo-button = Annuler
+addon-detail-updates-label = Autoriser les mises à jour automatiques
+addon-detail-updates-radio-default = Par défaut
+addon-detail-updates-radio-on = Activées
+addon-detail-updates-radio-off = Désactivées
+addon-detail-update-check-label = Rechercher des mises à jour
+install-update-button = Mettre à jour
+# 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 = Autorisée dans les fenêtres de navigation privée
+ .aria-label = { addon-badge-private-browsing-allowed2.title }
+addon-detail-private-browsing-help = Lorsqu’elle est autorisée, l’extension a accès à vos activités en ligne lors d’une navigation privée. <a data-l10n-name="learn-more">En savoir plus</a>
+addon-detail-private-browsing-allow = Autoriser
+addon-detail-private-browsing-disallow = Ne pas autoriser
+# 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 = Exécuter sur les sites avec restrictions
+# Used as help text part of the quarantined domains UI controls row.
+addon-detail-quarantined-domains-help = Lorsqu’elle est autorisée, l’extension a accès aux sites restreints par { -vendor-short-name }. Autorisez uniquement si vous faites confiance à cette extension.
+# Used as label and tooltip text on the radio inputs associated to the quarantined domains UI controls.
+addon-detail-quarantined-domains-allow = Autoriser
+addon-detail-quarantined-domains-disallow = Ne pas autoriser
+# 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 } ne recommande que des extensions conformes à nos normes en matière de sécurité et de performances.
+ .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 = Extension officielle, réalisée par Mozilla. Elle répond aux normes de sécurité et de performance.
+ .aria-label = { addon-badge-line3.title }
+addon-badge-verified2 =
+ .title = Après examen, cette extension a été reconnue conforme à nos normes de sécurité et de performance
+ .aria-label = { addon-badge-verified2.title }
+
+##
+
+available-updates-heading = Mises à jour disponibles
+recent-updates-heading = Mises à jour récentes
+release-notes-loading = Chargement…
+release-notes-error = Désolé, une erreur s’est produite lors du chargement des notes de version.
+addon-permissions-empty = Cette extension ne nécessite aucune autorisation
+addon-permissions-required = Autorisations nécessaires pour les fonctionnalités de base :
+addon-permissions-optional = Autorisations facultatives pour des fonctionnalités supplémentaires :
+addon-permissions-learnmore = En savoir plus à propos des autorisations
+recommended-extensions-heading = Extensions recommandées
+recommended-themes-heading = Thèmes recommandés
+# Variables:
+# $hostname (string) - Host where the permissions are granted
+addon-sitepermissions-required = Accorder les capacités suivantes à <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 = Vous avez la fibre créative ? <a data-l10n-name="link">Créez votre propre thème avec Firefox Color.</a>
+
+## Page headings
+
+extension-heading = Gestion de vos extensions
+theme-heading = Gestion de vos thèmes
+plugin-heading = Gestion de vos plugins
+dictionary-heading = Gestion de vos dictionnaires
+locale-heading = Gestion des langues
+updates-heading = Gestion de vos mises à jour
+sitepermission-heading = Gestion de vos autorisations de site
+discover-heading = Personnalisez { -brand-short-name }
+shortcuts-heading = Gestion des raccourcis d’extensions
+default-heading-search-label = Découvrez davantage de modules
+addons-heading-search-input =
+ .placeholder = Rechercher sur addons.mozilla.org
+addon-page-options-button =
+ .title = Outils pour tous les modules
+
+## Detail notifications
+## Variables:
+## $name (string) - Name of the add-on.
+
+# Variables:
+# $version (string) - Application version.
+details-notification-incompatible = { $name } est incompatible avec { -brand-short-name } { $version }.
+# Variables:
+# $version (string) - Application version.
+details-notification-incompatible2 =
+ .message = { $name } est incompatible avec { -brand-short-name } { $version }.
+details-notification-incompatible-link = Plus d’informations
+details-notification-unsigned-and-disabled = { $name } n’a pas pu être vérifié pour son utilisation dans { -brand-short-name } et a été désactivé.
+details-notification-unsigned-and-disabled2 =
+ .message = { $name } n’a pas pu être vérifié pour son utilisation dans { -brand-short-name } et a été désactivé.
+details-notification-unsigned-and-disabled-link = Plus d’informations
+details-notification-unsigned = { $name } n’a pas pu être vérifié pour son utilisation dans { -brand-short-name }. Faites attention.
+details-notification-unsigned2 =
+ .message = { $name } n’a pas pu être vérifié pour son utilisation dans { -brand-short-name }. Faites attention.
+details-notification-unsigned-link = Plus d’informations
+details-notification-blocked = { $name } a été désactivé suite à des problèmes de sécurité ou de stabilité.
+details-notification-blocked2 =
+ .message = { $name } a été désactivé suite à des problèmes de sécurité ou de stabilité.
+details-notification-blocked-link = Plus d’informations
+details-notification-softblocked = { $name } est connu pour poser des problèmes de sécurité ou de stabilité.
+details-notification-softblocked2 =
+ .message = { $name } est connu pour poser des problèmes de sécurité ou de stabilité.
+details-notification-softblocked-link = Plus d’informations
+details-notification-gmp-pending = { $name } sera bientôt installé.
+details-notification-gmp-pending2 =
+ .message = { $name } sera bientôt installé.
+
+## Gecko Media Plugins (GMPs)
+
+plugins-gmp-license-info = Informations de licence
+plugins-gmp-privacy-info = Informations liées à la vie privée
+plugins-openh264-name = Codec vidéo OpenH264 fourni par Cisco Systems, Inc.
+plugins-openh264-description = Ce plugin est automatiquement installé par Mozilla pour respecter la spécification WebRTC et permettre les appels WebRTC avec les appareils qui nécessitent le codec vidéo H.264. Rendez-vous sur http://www.openh264.org/ pour consulter le code source du codec et en apprendre davantage sur son implémentation.
+plugins-widevine-name = Module de déchiffrement de contenu Widevine fourni par Google Inc.
+plugins-widevine-description = Ce plugin permet la lecture de contenus chiffrés selon la spécification Encrypted Media Extensions. Le chiffrement de contenus est typiquement utilisé par les sites comme protection contre la copie de médias payants. Visitez https://www.w3.org/TR/encrypted-media/ pour davantage d’informations sur la spécification Encrypted Media Extensions.
diff --git a/thunderbird-l10n/fr/localization/fr/toolkit/about/aboutCompat.ftl b/thunderbird-l10n/fr/localization/fr/toolkit/about/aboutCompat.ftl
new file mode 100644
index 0000000000..8bb42b3490
--- /dev/null
+++ b/thunderbird-l10n/fr/localization/fr/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 = Désactiver
+label-enable = Activer
+label-interventions = Interventions
+label-more-information = Plus d’informations : Bug { $bug }
+label-overrides = Remplacements de l’agent utilisateur
+text-disabled-in-about-config = Cette fonctionnalité a été désactivée dans about:config
+text-no-interventions = Aucune intervention n’est utilisée
+text-no-overrides = Aucun remplacement de l’agent utilisateur n’est utilisé
+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 = Correctifs SmartBlock
+text-no-smartblock = Aucun correctif SmartBlock n’est utilisé
diff --git a/thunderbird-l10n/fr/localization/fr/toolkit/about/aboutGlean.ftl b/thunderbird-l10n/fr/localization/fr/toolkit/about/aboutGlean.ftl
new file mode 100644
index 0000000000..0db55d0e0f
--- /dev/null
+++ b/thunderbird-l10n/fr/localization/fr/toolkit/about/aboutGlean.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/.
+
+
+### "FOG", "Glean", and "Glean SDK" should remain in English.
+
+-fog-brand-name = FOG
+-glean-brand-name = Glean
+glean-sdk-brand-name = SDK { -glean-brand-name }
+glean-debug-ping-viewer-brand-name = Visionneuse des pings de débogage { -glean-brand-name }
+about-glean-page-title2 = À propos de { -glean-brand-name }
+about-glean-header = À propos de { -glean-brand-name }
+about-glean-interface-description = <a data-l10n-name="glean-sdk-doc-link">{ glean-sdk-brand-name }</a> est une bibliothèque de collecte de données utilisée dans les projets de { -vendor-short-name }. Cette interface est conçue pour être utilisée par les développeurs et les testeurs pour effectuer manuellement des <a data-l10n-name="fog-link">tests d’instrumentation</a>.
+about-glean-upload-enabled = L’envoi de données est activé.
+about-glean-upload-disabled = L’envoi de données est désactivé.
+about-glean-upload-enabled-local = L'envoi de données est activé uniquement vers un serveur local.
+about-glean-upload-fake-enabled =
+ L’envoi de données est désactivé, mais nous mentons au { glean-sdk-brand-name } et lui disons que cet envoi est activé afin que les données soient toujours enregistrées localement.
+ Note : si vous définissez une balise de débogage, les pings seront envoyés sur le <a data-l10n-name="glean-debug-ping-viewer">{ glean-debug-ping-viewer-brand-name }</a> quels que soient les paramètres.
+# This message is followed by a bulleted list.
+about-glean-prefs-and-defines = Les <a data-l10n-name="fog-prefs-and-defines-doc-link">préférences et définitions pertinentes</a> incluent :
+# 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 = À propos des tests
+# This message is followed by a numbered list.
+about-glean-manual-testing = Les instructions complètes sont détaillées dans la <a data-l10n-name="fog-instrumentation-test-doc-link">documentation des tests d’instrumentation de { -fog-brand-name }</a> et dans la <a data-l10n-name="glean-sdk-doc-link">documentation de { glean-sdk-brand-name }</a> mais, en résumé, pour tester manuellement que votre instrumentation fonctionne, voici ce que vous devriez faire :
+# This message is an option in a dropdown filled with untranslated names of pings.
+about-glean-no-ping-label = (n’envoyer aucun ping)
+# An in-line text input field precedes this string.
+about-glean-label-for-tag-pings = Dans le champ précédent, assurez-vous qu’il y ait une balise de débogage mémorisable afin que vous puissiez reconnaître vos pings plus tard.
+# An in-line text input field precedes this string.
+about-glean-label-for-tag-pings-with-requirements = Définir une balise de débogage facile à retenir <span>(composée uniquement d’au plus 20 caractères alphanumériques et du signe -)</span> afin de pouvoir reconnaître vos pings par la suite.
+# An in-line drop down list precedes this string.
+# Do not translate strings between <code> </code> tags.
+about-glean-label-for-ping-names =
+ Sélectionnez dans la liste précédente le ping dans lequel se trouve votre instrumentation. Si elle est dans un <a data-l10n-name="custom-ping-link">ping personnalisé</a>, choisissez celui-ci. Sinon, la valeur par défaut pour les mesures <code>event</code> est le ping <code>events</code> et pour toutes les autres mesures,
+ le ping <code>metrics</code>.
+# An in-line check box precedes this string.
+about-glean-label-for-log-pings = (Facultatif. Cochez la case précédente si vous voulez que les pings soient également enregistrés quand ils sont envoyés. Vous devrez également <a data-l10n-name="enable-logging-link">activer la journalisation</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 = Appuyez sur le bouton précédent pour marquer tous les pings { -glean-brand-name } avec votre étiquette et soumettre le ping sélectionné (tous les pings envoyés à partir de ce moment et jusqu’au redémarrage de l’application seront étiquetés avec <code>{ $debug-tag }</code>.)
+about-glean-li-for-visit-gdpv =
+ <a data-l10n-name="gdpv-tagged-pings-link">Rendez-vous sur la page { glean-debug-ping-viewer-brand-name } pour consulter les pings avec votre étiquette</a>.
+ Le ping devrait arriver quelques secondes après avoir appuyé sur le bouton.
+ Parfois, cela peut prendre quelques minutes.
+# Do not translate strings between <code> </code> tags.
+about-glean-adhoc-explanation =
+ Pour plus de tests ponctuels, vous pouvez également déterminer la valeur actuelle d’un élément d’instrumentation particulier en ouvrant une console d’outils de développement ici sur <code>about:glean</code> et en utilisant l’API <code>testGetValue()</code>, par exemple
+ <code>Glean.metricCategory.metricName.testGetValue()</code>.
+# Do not translate strings between <code> </code> tags.
+about-glean-adhoc-explanation2 =
+ Pour plus de tests ponctuels, vous pouvez également déterminer la valeur actuelle d’un élément d’instrumentation particulier en ouvrant une console d’outils de développement ici sur <code>about:glean</code> et en utilisant l’API <code>testGetValue()</code>, par exemple
+ <code>Glean.metricCategory.metricName.testGetValue()</code> pour une métrique nommée <code>metric.category.metric_name</code>.
+# Do not translate strings between <code> </code> tags.
+about-glean-adhoc-note =
+ Veuillez noter que vous utilisez l’API Glean JS en utilisant la console des outils de développement.
+ Cela implique que la catégorie et le nom des métriques sont au format
+ <code>camelCase</code> contrairement à l’usage des API Rust et C++.
+controls-button-label-verbose = Appliquer les paramètres et envoyer le ping
+about-glean-about-data-header = À propos des données
+about-glean-about-data-explanation = Pour visualiser la liste des données collectées, veuillez consulter le <a data-l10n-name="glean-dictionary-link">dictionnaire de { -glean-brand-name }</a>
diff --git a/thunderbird-l10n/fr/localization/fr/toolkit/about/aboutHttpsOnlyError.ftl b/thunderbird-l10n/fr/localization/fr/toolkit/about/aboutHttpsOnlyError.ftl
new file mode 100644
index 0000000000..a658927f7b
--- /dev/null
+++ b/thunderbird-l10n/fr/localization/fr/toolkit/about/aboutHttpsOnlyError.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/.
+
+about-httpsonly-title-alert = Avertissement du mode « HTTPS uniquement »
+about-httpsonly-title-site-not-available = Site sécurisé non disponible
+
+# Variables:
+# $websiteUrl (String) - Url of the website that failed to load. Example: www.example.com
+about-httpsonly-explanation-unavailable2 = Vous avez activé le mode « HTTPS uniquement » pour une sécurité renforcée, mais il n’existe aucune version HTTPS du site <em>{ $websiteUrl }</em>.
+about-httpsonly-explanation-question = Quelle peut en être la cause ?
+about-httpsonly-explanation-nosupport = Très probablement, le site web ne prend tout simplement pas en charge HTTPS.
+about-httpsonly-explanation-risk = Il est également possible qu’un malfaiteur soit impliqué. Si vous décidez de visiter ce site web, il vaut mieux éviter de saisir des informations sensibles comme des mots de passe, des adresses e-mail ou des informations de cartes bancaires.
+about-httpsonly-explanation-continue = Si vous continuez, le mode « HTTPS uniquement » sera temporairement désactivé pour ce site.
+
+about-httpsonly-button-continue-to-site = Continuer vers le site HTTP
+about-httpsonly-button-go-back = Retour
+about-httpsonly-link-learn-more = En savoir plus…
+
+## 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 = Autre possibilité
+about-httpsonly-suggestion-box-www-text = Il existe une version sécurisée de <em>www.{ $websiteUrl }</em>. Vous pouvez visiter cette page au lieu de <em>{ $websiteUrl }</em>.
+about-httpsonly-suggestion-box-www-button = Ouvrir www.{ $websiteUrl }
diff --git a/thunderbird-l10n/fr/localization/fr/toolkit/about/aboutLogging.ftl b/thunderbird-l10n/fr/localization/fr/toolkit/about/aboutLogging.ftl
new file mode 100644
index 0000000000..8109879c75
--- /dev/null
+++ b/thunderbird-l10n/fr/localization/fr/toolkit/about/aboutLogging.ftl
@@ -0,0 +1,69 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# This is the title of the page
+about-logging-title = À propos de la journalisation
+about-logging-page-title = Gestionnaire de journalisation
+about-logging-current-log-file = Fichier de journalisation actuel :
+about-logging-new-log-file = Nouveau fichier journal :
+about-logging-currently-enabled-log-modules = Modules de journalisation actuellement activés :
+about-logging-log-tutorial = Consultez <a data-l10n-name="logging">HTTP Logging</a> pour obtenir des informations sur l’utilisation de cet outil.
+# This message is used as a button label, "Open" indicates an action.
+about-logging-open-log-file-dir = Ouvrir le répertoire
+about-logging-set-log-file = Définir un fichier de journalisation
+about-logging-set-log-modules = Définir des modules de journalisation
+about-logging-start-logging = Lancer la journalisation
+about-logging-stop-logging = Arrêter la journalisation
+about-logging-buttons-disabled = La journalisation est configurée par les variables d’environnement, la configuration dynamique n’est pas disponible.
+about-logging-some-elements-disabled = La journalisation est configurée par URL, certaines options de configuration ne sont pas disponibles
+about-logging-info = Informations :
+about-logging-log-modules-selection = Sélection des modules de journalisation
+about-logging-new-log-modules = Nouveaux modules de journalisation :
+about-logging-logging-output-selection = Sortie du journal
+about-logging-logging-to-file = Sortie vers un fichier
+about-logging-logging-to-profiler = Sortie vers le { -profiler-brand-name }
+about-logging-no-log-modules = Aucun
+about-logging-no-log-file = Aucun
+about-logging-logging-preset-selector-text = Réglage de journalisation :
+about-logging-with-profiler-stacks-checkbox = Activer les traces d’appels pour les messages du journal.
+
+## Logging presets
+
+about-logging-preset-networking-label = Réseau
+about-logging-preset-networking-description = Modules de journalisation pour diagnostiquer les problèmes de réseau
+about-logging-preset-networking-cookie-label = Cookies
+about-logging-preset-networking-cookie-description = Modules de journalisation pour diagnostiquer les problèmes de cookies
+about-logging-preset-networking-websocket-label = WebSocket
+about-logging-preset-networking-websocket-description = Modules de journalisation pour diagnostiquer les problèmes de WebSocket
+about-logging-preset-networking-http3-label = HTTP/3
+about-logging-preset-networking-http3-description = Modules de journalisation pour diagnostiquer les problèmes d’HTTP/3 et QUIC
+about-logging-preset-networking-http3-upload-speed-label = Vitesse d’envoi HTTP/3
+about-logging-preset-networking-http3-upload-speed-description = Modules de journalisation pour diagnostiquer les problèmes de vitesse d’envoi HTTP/3
+about-logging-preset-media-playback-label = Lecture multimédia
+about-logging-preset-media-playback-description = Modules de journalisation pour diagnostiquer les problèmes de lecture multimédia (mais non ceux de visioconférence)
+about-logging-preset-webrtc-label = WebRTC
+about-logging-preset-webrtc-description = Modules de journalisation pour diagnostiquer les appels WebRTC
+about-logging-preset-webgpu-label = WebGPU
+about-logging-preset-webgpu-description = Modules de journalisation pour diagnostiquer les problèmes de WebGPU
+about-logging-preset-gfx-label = Accélération graphique
+about-logging-preset-gfx-description = Modules de journalisation pour diagnostiquer les problèmes d’accélération graphique
+# This is specifically "Microsoft Windows". Microsoft normally doesn't localize it, and we should follow their convention here.
+about-logging-preset-windows-label = Windows
+about-logging-preset-windows-description = Modules de journalisation pour diagnostiquer les problèmes spécifiques à Microsoft Windows
+about-logging-preset-custom-label = Personnalisé
+about-logging-preset-custom-description = Modules de journalisation sélectionnés manuellement
+# Error handling
+about-logging-error = Erreur :
+
+## Variables:
+## $k (String) - Variable name
+## $v (String) - Variable value
+
+about-logging-invalid-output = Valeur « { $v } » invalide pour la clé « { $k } »
+about-logging-unknown-logging-preset = Réglage de journalisation « { $v } » inconnu
+about-logging-unknown-profiler-preset = Réglage du profileur « { $v } » inconnu
+about-logging-unknown-option = Option « { $k } » pour about:logging inconnue
+about-logging-configuration-url-ignored = URL de configuration ignorée
+about-logging-file-and-profiler-override = Impossible de forcer la sortie du fichier et de remplacer les options du profileur en même temps
+about-logging-configured-via-url = Option configurée par URL
diff --git a/thunderbird-l10n/fr/localization/fr/toolkit/about/aboutMozilla.ftl b/thunderbird-l10n/fr/localization/fr/toolkit/about/aboutMozilla.ftl
new file mode 100644
index 0000000000..87a1fd58fa
--- /dev/null
+++ b/thunderbird-l10n/fr/localization/fr/toolkit/about/aboutMozilla.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/.
+
+about-mozilla-title-6-27 = Le Livre de Mozilla, 6:27
+about-mozilla-quote-6-27 = La Bête poursuivit ses études avec un <em>focus</em> renouvelé, générant de grands travaux de <em>référence</em> et contemplant de nouvelles <em>réalités</em>. La Bête a conduit ses disciples et ses acolytes à créer une forme renouvelée et plus agile d’elle-même et, tirant parti de son <em>espièglerie</em>, l’a diffusée à travers le monde.
+about-mozilla-from-6-27 = d’après <strong>Le Livre de Mozilla,</strong> 6:27
diff --git a/thunderbird-l10n/fr/localization/fr/toolkit/about/aboutNetworking.ftl b/thunderbird-l10n/fr/localization/fr/toolkit/about/aboutNetworking.ftl
new file mode 100644
index 0000000000..360c67f962
--- /dev/null
+++ b/thunderbird-l10n/fr/localization/fr/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 = Informations réseau
+about-networking-http = HTTP
+about-networking-sockets = Sockets
+about-networking-dns = DNS
+about-networking-dns-clear-cache-button = Vider le cache DNS
+about-networking-dns-trr-url = URL DoH
+about-networking-dns-trr-mode = Mode DoH
+about-networking-dns-suffix = Suffixe DNS
+about-networking-websockets = WebSockets
+about-networking-refresh = Actualiser
+about-networking-auto-refresh = Actualiser toutes les 3 secondes
+about-networking-hostname = Nom d’hôte
+about-networking-port = Port
+about-networking-http-version = Version HTTP
+about-networking-ssl = SSL
+about-networking-active = Actif
+about-networking-idle = Inactif
+about-networking-host = Hôte
+about-networking-type = Type
+about-networking-sent = Envoyés
+about-networking-received = Reçus
+about-networking-family = Famille
+about-networking-trr = TRR
+about-networking-addresses = Adresses
+about-networking-expires = Expiration (secondes)
+about-networking-originAttributesSuffix = Clé d’isolement
+about-networking-flags = Flags supplémentaires
+about-networking-messages-sent = Messages envoyés
+about-networking-messages-received = Messages reçus
+about-networking-bytes-sent = Octets envoyés
+about-networking-bytes-received = Octets reçus
+about-networking-logging = Journalisation
+about-networking-dns-lookup = Recherche DNS
+about-networking-dns-lookup-button = Résolution
+about-networking-dns-domain = Domaine:
+about-networking-dns-lookup-table-column = Adresses IP
+about-networking-dns-https-rr-lookup-table-column = RR HTTP
+about-networking-rcwn = Statistiques RCWN
+about-networking-rcwn-status = État RCWN
+about-networking-rcwn-cache-won-count = Nombre de victoires du cache
+about-networking-rcwn-net-won-count = Nombre de victoires du réseau
+about-networking-total-network-requests = Nombre total de requêtes réseau
+about-networking-rcwn-operation = Opérations du cache
+about-networking-rcwn-perf-open = Ouvertures
+about-networking-rcwn-perf-read = Lectures
+about-networking-rcwn-perf-write = Écritures
+about-networking-rcwn-perf-entry-open = Ouvertures d’entrées
+about-networking-rcwn-avg-short = Petite moyenne
+about-networking-rcwn-avg-long = Grande moyenne
+about-networking-rcwn-std-dev-long = Grand écart-type
+about-networking-rcwn-cache-slow = Nombre de fois où le cache est lent
+about-networking-rcwn-cache-not-slow = Nombre de fois où le cache est rapide
+about-networking-networkid = Identifiant réseau
+about-networking-networkid-id = Identifiant réseau
+# Note: do not translate about:logging, as it is a URL.
+about-networking-moved-about-logging = Cette page a été déplacée vers <a data-l10n-name="about-logging-url">about:logging</a>.
+
+## Link is intended as "network link"
+
+about-networking-networkid-is-up = Liaison établie
+about-networking-networkid-status-known = L’état de la liaison est connu
+
+##
+
diff --git a/thunderbird-l10n/fr/localization/fr/toolkit/about/aboutPerformance.ftl b/thunderbird-l10n/fr/localization/fr/toolkit/about/aboutPerformance.ftl
new file mode 100644
index 0000000000..a90c9e5390
--- /dev/null
+++ b/thunderbird-l10n/fr/localization/fr/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 = Gestionnaire de tâches
+
+## Column headers
+
+column-name = Nom
+column-type = Type
+column-energy-impact = Impact énergétique
+column-memory = Mémoire
+
+## Special values for the Name column
+
+ghost-windows = Onglets récemment fermés
+# Variables:
+# $title (String) - the title of the preloaded page, typically 'New Tab'
+preloaded-tab = Préchargé : { $title }
+
+## Values for the Type column
+
+type-tab = Onglet
+type-subframe = Subframe
+type-tracker = Traqueur
+type-addon = Module
+type-browser = Navigateur
+type-worker = Worker
+type-other = Autre
+
+## 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 = Élevé ({ $value })
+energy-impact-medium = Moyen ({ $value })
+energy-impact-low = Faible ({ $value })
+
+## Values for the Memory column
+##
+## Variables:
+## $value (Number) - How much memory is used
+
+size-KB = { $value } Ko
+size-MB = { $value } Mo
+size-GB = { $value } Go
+
+## Tooltips for the action buttons
+
+close-tab =
+ .title = Fermer l’onglet
+show-addon =
+ .title = Afficher dans le gestionnaire des modules complémentaires
+
+# 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 =
+ Exécutions depuis le chargement : { $totalDispatches } ({ $totalDuration } ms)
+ Exécutions au cours des dernières secondes : { $dispatchesSincePrevious } ({ $durationSincePrevious } ms)
diff --git a/thunderbird-l10n/fr/localization/fr/toolkit/about/aboutPlugins.ftl b/thunderbird-l10n/fr/localization/fr/toolkit/about/aboutPlugins.ftl
new file mode 100644
index 0000000000..c962361f9c
--- /dev/null
+++ b/thunderbird-l10n/fr/localization/fr/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 = À propos des plugins
+installed-plugins-label = Plugins installés
+no-plugins-are-installed-label = Aucun plugin installé n’a été trouvé
+deprecation-description = Quelque chose semble manquer ? Certains plugins ne sont plus pris en charge. <a data-l10n-name="deprecation-link">En savoir plus.</a>
+deprecation-description2 =
+ .message = Quelque chose semble manquer ? Certains plugins ne sont plus pris en charge.
+
+## 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">Fichier :</span> { $pluginLibraries }
+path-dd = <span data-l10n-name="path">Chemin :</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">État :</span> Activé
+state-dd-enabled-block-list-state = <span data-l10n-name="state">État :</span> Activé ({ $blockListState })
+state-dd-Disabled = <span data-l10n-name="state">État :</span> Désactivé
+state-dd-Disabled-block-list-state = <span data-l10n-name="state">État :</span> Désactivé ({ $blockListState })
+mime-type-label = Type MIME
+description-label = Description
+suffixes-label = Suffixes
+
+## Gecko Media Plugins (GMPs)
+
+plugins-gmp-license-info = Informations de licence
+plugins-gmp-privacy-info = Informations liées à la vie privée
+plugins-openh264-name = Codec vidéo OpenH264 fourni par Cisco Systems, Inc.
+plugins-openh264-description = Ce plugin est automatiquement installé par Mozilla pour respecter la spécification WebRTC et permettre les appels WebRTC avec les appareils qui nécessitent le codec vidéo H.264. Rendez-vous sur http://www.openh264.org/ pour consulter le code source du codec et en apprendre davantage sur son implémentation.
+plugins-widevine-name = Module de déchiffrement de contenu Widevine fourni par Google Inc.
+plugins-widevine-description = Ce plugin permet la lecture de contenus chiffrés selon la spécification Encrypted Media Extensions. Le chiffrement de contenus est typiquement utilisé par les sites comme protection contre la copie de médias payants. Visitez https://www.w3.org/TR/encrypted-media/ pour davantage d’informations sur la spécification Encrypted Media Extensions.
diff --git a/thunderbird-l10n/fr/localization/fr/toolkit/about/aboutProcesses.ftl b/thunderbird-l10n/fr/localization/fr/toolkit/about/aboutProcesses.ftl
new file mode 100644
index 0000000000..f490121b8d
--- /dev/null
+++ b/thunderbird-l10n/fr/localization/fr/toolkit/about/aboutProcesses.ftl
@@ -0,0 +1,189 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# Page title
+about-processes-title = Gestionnaire de processus
+# The Actions column
+about-processes-column-action =
+ .title = Actions
+
+## Tooltips
+
+about-processes-shutdown-process =
+ .title = Décharger les onglets et tuer le processus
+about-processes-shutdown-tab =
+ .title = Fermer l’onglet
+# 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] Profiler tous les threads de ce processus pendant { $duration } seconde
+ *[other] Profiler tous les threads de ce processus pendant { $duration } secondes
+ }
+
+## Column headers
+
+about-processes-column-name = Nom
+about-processes-column-memory-resident = Mémoire
+about-processes-column-cpu-total = Processeur
+
+## 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 = Processus web partagé ({ $pid })
+about-processes-file-process = Fichiers ({ $pid })
+about-processes-extension-process = Extensions ({ $pid })
+about-processes-privilegedabout-process = Pages « about: » ({ $pid })
+about-processes-plugin-process = Plugins ({ $pid })
+about-processes-privilegedmozilla-process = Sites { -vendor-short-name } ({ $pid })
+about-processes-gmp-plugin-process = Plugins multimédia Gecko ({ $pid })
+about-processes-gpu-process = Processeur graphique ({ $pid })
+about-processes-vr-process = Réalité virtuelle ({ $pid })
+about-processes-rdd-process = Décodeur de données ({ $pid })
+about-processes-socket-process = Réseau ({ $pid })
+about-processes-remote-sandbox-broker-process = Broker du bac à sable distant ({ $pid })
+about-processes-fork-server-process = Copie du serveur ({ $pid })
+about-processes-preallocated-process = Préalloué ({ $pid })
+about-processes-utility-process = Utilitaire ({ $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 = Autre : { $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 }, processus multiorigine isolé)
+about-processes-web-isolated-process-private = { $origin } — Privé ({ $pid })
+about-processes-with-coop-coep-process-private = { $origin } — Privé ({ $pid }, processus multiorigine isolé)
+
+## 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 } thread actif sur { $number } : { $list }
+ *[other] { $active } threads actifs sur { $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 } thread inactif
+ *[other] { $number } threads inactifs
+ }
+# 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 = Identifiant du thread : { $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 = Onglet : { $name }
+about-processes-preloaded-tab = Nouvel onglet préchargé
+# Single subframe
+# Variables:
+# $url (String) The full url of this subframe.
+about-processes-frame-name-one = Iframe imbriqué : { $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 = Iframes imbriqués ({ $number }) : { $shortUrl }
+
+## Utility process actor names
+
+about-processes-utility-actor-unknown = Utilitaire inconnu
+about-processes-utility-actor-audio-decoder-generic = Décodeur audio générique
+about-processes-utility-actor-audio-decoder-applemedia = Décodeur audio multimédia Apple
+about-processes-utility-actor-audio-decoder-wmf = Décodeur audio Windows Media Framework
+about-processes-utility-actor-mf-media-engine = CDM du moteur multimédia Windows Media Foundation
+# "Oracle" refers to an internal Firefox process and should be kept in English
+about-processes-utility-actor-js-oracle = Oracle JavaScript
+about-processes-utility-actor-windows-utils = Utilitaires Windows
+about-processes-utility-actor-windows-file-dialog = Boîte de dialogue de fichiers de Windows
+
+## Displaying CPU (percentage and total)
+## Variables:
+## $percent (Number) The percentage of CPU used by the process or thread.
+## Always > 0, generally <= 200.
+## $total (Number) The amount of time used by the process or thread since
+## its start.
+## $unit (String) The unit in which to display $total. See the definitions
+## of `duration-unit-*`.
+
+# Common case.
+about-processes-cpu = { NUMBER($percent, maximumSignificantDigits: 2, style: "percent") }
+ .title = Temps total de CPU : { NUMBER($total, maximumFractionDigits: 0) } { $unit }
+# Special case: data is not available yet.
+about-processes-cpu-user-and-kernel-not-ready = (mesure en cours)
+# 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 = Temps CPU total : { NUMBER($total, maximumFractionDigits: 0) } { $unit }
+# Special case: process or thread is currently idle.
+about-processes-cpu-fully-idle = inactif
+ .title = Temps total de CPU : { NUMBER($total, maximumFractionDigits: 0) } { $unit }
+
+## Displaying Memory (total and delta)
+## Variables:
+## $total (Number) The amount of memory currently used by the process.
+## $totalUnit (String) The unit in which to display $total. See the definitions
+## of `memory-unit-*`.
+## $delta (Number) The absolute value of the amount of memory added recently.
+## $deltaSign (String) Either "+" if the amount of memory has increased
+## or "-" if it has decreased.
+## $deltaUnit (String) The unit in which to display $delta. See the definitions
+## of `memory-unit-*`.
+
+# Common case.
+about-processes-total-memory-size-changed = { NUMBER($total, maximumFractionDigits: 0) } { $totalUnit }
+ .title = Évolution : { $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 = j
+
+## Memory units
+
+memory-unit-B = o
+memory-unit-KB = Ko
+memory-unit-MB = Mo
+memory-unit-GB = Go
+memory-unit-TB = To
+memory-unit-PB = Po
+memory-unit-EB = Eo
diff --git a/thunderbird-l10n/fr/localization/fr/toolkit/about/aboutProfiles.ftl b/thunderbird-l10n/fr/localization/fr/toolkit/about/aboutProfiles.ftl
new file mode 100644
index 0000000000..9bb6d6b1e8
--- /dev/null
+++ b/thunderbird-l10n/fr/localization/fr/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 = Informations sur les profils
+profiles-subtitle = Cette page vous aide à gérer vos profils. Chaque profil est un environnement isolé contenant un historique, des marque-pages, des paramètres et des modules qui lui sont propres.
+profiles-create = Créer un nouveau profil
+profiles-restart-title = Redémarrer
+profiles-restart-in-safe-mode = Redémarrer avec les modules désactivés…
+profiles-restart-normal = Redémarrer normalement…
+profiles-conflict = Une autre copie de { -brand-product-name } a apporté des modifications aux profils. Vous devez redémarrer { -brand-short-name } avant de procéder à d’autres changements.
+profiles-flush-fail-title = Modifications non enregistrées
+profiles-flush-conflict = { profiles-conflict }
+profiles-flush-failed = Une erreur inattendue a empêché l’enregistrement de vos modifications.
+profiles-flush-restart-button = Redémarrer { -brand-short-name }
+
+# Variables:
+# $name (String) - Name of the profile
+profiles-name = Profil : { $name }
+profiles-is-default = Profil par défaut
+profiles-rootdir = Répertoire racine
+
+# 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 = Répertoire local
+profiles-current-profile = Il s’agit du profil en cours d’utilisation ; il ne peut pas être supprimé.
+profiles-in-use-profile = Ce profil est utilisé par une autre application et ne peut pas être supprimé.
+
+profiles-rename = Renommer
+profiles-remove = Supprimer
+profiles-set-as-default = Définir comme profil par défaut
+profiles-launch-profile = Lancer le profil dans un nouveau navigateur
+
+profiles-cannot-set-as-default-title = Impossible de définir comme profil par défaut
+profiles-cannot-set-as-default-message = Le profil par défaut ne peut pas être changé pour { -brand-short-name }.
+
+profiles-yes = oui
+profiles-no = non
+
+profiles-rename-profile-title = Renommer un profil
+# Variables:
+# $name (String) - Name of the profile
+profiles-rename-profile = Renommer le profil { $name }
+
+profiles-invalid-profile-name-title = Nom de profil invalide
+# Variables:
+# $name (String) - Name of the profile
+profiles-invalid-profile-name = Le nom de profil « { $name } » n’est pas autorisé.
+
+profiles-delete-profile-title = Supprimer un profil
+# Variables:
+# $dir (String) - Path to be displayed
+profiles-delete-profile-confirm =
+ Supprimer un profil l’enlèvera de la liste des profils disponibles et ne peut être annulé.
+ Il est aussi possible de choisir de supprimer les fichiers de données du profil, comprenant vos paramètres, certificats et toutes vos données personnelles. Cette option supprimera le dossier « { $dir } » et ne pourra pas être annulée.
+ Désirez-vous supprimer les fichiers de données du profil ?
+profiles-delete-files = Supprimer les fichiers
+profiles-dont-delete-files = Ne pas supprimer les fichiers
+
+profiles-delete-profile-failed-title = Erreur
+profiles-delete-profile-failed-message = Une erreur s’est produite lors de la tentative de suppression de ce profil.
+
+
+profiles-opendir =
+ { PLATFORM() ->
+ [macos] Afficher dans le Finder
+ [windows] Ouvrir le dossier
+ *[other] Ouvrir le répertoire
+ }
diff --git a/thunderbird-l10n/fr/localization/fr/toolkit/about/aboutReader.ftl b/thunderbird-l10n/fr/localization/fr/toolkit/about/aboutReader.ftl
new file mode 100644
index 0000000000..c515523e94
--- /dev/null
+++ b/thunderbird-l10n/fr/localization/fr/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 = Chargement…
+about-reader-load-error = Impossible de charger l’article à partir de la page
+
+about-reader-color-scheme-light = Clair
+ .title = Jeu de couleurs claires
+about-reader-color-scheme-dark = Sombre
+ .title = Jeu de couleurs sombres
+about-reader-color-scheme-sepia = Sépia
+ .title = Jeu de couleurs sépia
+about-reader-color-scheme-auto = Auto
+ .title = Jeu de couleurs automatique
+
+# 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 = Diminuer la taille de la police
+about-reader-toolbar-plus =
+ .title = Augmenter la taille de la police
+about-reader-toolbar-contentwidthminus =
+ .title = Réduire la largeur du contenu
+about-reader-toolbar-contentwidthplus =
+ .title = Augmenter la largeur du contenu
+about-reader-toolbar-lineheightminus =
+ .title = Réduire la hauteur de ligne
+about-reader-toolbar-lineheightplus =
+ .title = Augmenter la hauteur de ligne
+
+## These are the styles of typeface that are options in the reader view controls.
+
+about-reader-font-type-serif = Sérif
+about-reader-font-type-sans-serif = Sans sérif
+
+## Reader View toolbar buttons
+
+about-reader-toolbar-close = Quitter le mode lecture
+about-reader-toolbar-type-controls = Modifier la police
+about-reader-toolbar-savetopocket = Enregistrer dans { -pocket-brand-name }
diff --git a/thunderbird-l10n/fr/localization/fr/toolkit/about/aboutRights.ftl b/thunderbird-l10n/fr/localization/fr/toolkit/about/aboutRights.ftl
new file mode 100644
index 0000000000..d0ab0b5d2d
--- /dev/null
+++ b/thunderbird-l10n/fr/localization/fr/toolkit/about/aboutRights.ftl
@@ -0,0 +1,36 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+rights-title = À propos de vos droits
+rights-intro = { -brand-full-name } est un logiciel libre et ouvert, réalisé par une communauté de milliers de contributeurs dans le monde. Voici ce que vous devriez savoir :
+rights-intro-point-1 = { -brand-short-name } est disponible suivant les modalités de la <a data-l10n-name="mozilla-public-license-link">Mozilla Public License</a> (Licence publique Mozilla). Ceci signifie que vous pouvez utiliser, copier et distribuer { -brand-short-name } à d’autres personnes. Vous pouvez également modifier le code source de { -brand-short-name } à votre gré pour répondre à vos besoins. La Licence publique Mozilla vous autorise aussi à distribuer vos versions modifiées.
+rights-intro-point-2 = Il ne vous est cédé aucun droit ou licence sur les marques déposées de la Fondation Mozilla ou de tiers, y compris et sans limitation, sur le nom et le logo de Firefox. Vous pouvez consulter des informations complémentaires sur les marques déposées <a data-l10n-name="mozilla-trademarks-link">ici</a>.
+rights-intro-point-3 = Certaines fonctionnalités de { -brand-short-name }, comme le rapporteur de plantages, vous permettent de fournir un retour à { -vendor-short-name }. En choisissant d’envoyer ces informations, vous donnez à { -vendor-short-name } la permission d’utiliser ce retour pour améliorer ses logiciels, de le publier sur ses sites web et de le distribuer.
+rights-intro-point-4 = La manière dont nous utilisons vos informations personnelles et le retour envoyés à { -vendor-short-name } par l’intermédiaire de { -brand-short-name } est décrite dans la <a data-l10n-name="mozilla-privacy-policy-link">politique de confidentialité de { -brand-short-name }</a>.
+rights-intro-point-4-unbranded = Toutes les politiques de confidentialité applicables à ce logiciel devraient être listées ici.
+rights-intro-point-5 = Certaines fonctionnalités de { -brand-short-name } utilisent des services d’information sur le Web, cependant nous ne pouvons pas garantir à 100 % qu’ils sont appropriés ou dénués d’erreurs. Vous pouvez trouver plus de détails, y compris des informations sur la manière de désactiver les services, dans les <a data-l10n-name="mozilla-service-terms-link">modalités d’utilisation</a>.
+rights-intro-point-5-unbranded = Si ce logiciel intègre des services web, toutes les modalités d’utilisation applicables pour le ou les services doivent être liées à la section <a data-l10n-name="mozilla-website-services-link">Services de sites web</a>.
+rights-intro-point-6 = Afin de pouvoir lire certains types de contenus vidéos, { -brand-short-name } télécharge certains modules de déchiffrement de contenu depuis des tiers.
+rights-webservices-header = Services d’informations web de { -brand-full-name }
+rights-webservices = { -brand-full-name } utilise des services d’informations web (« Les Services ») pour fournir certaines des fonctionnalités qui sont mises à votre disposition dans cette version binaire de { -brand-short-name } comme décrit ci-dessous. Si vous ne voulez pas utiliser l’un ou l’autre de ces Services ou si vous trouvez que les modalités ci-dessous ne sont pas acceptables, vous pouvez désactiver la fonctionnalité ou le Service. Pour ce faire, veuillez consulter ces <a data-l10n-name="mozilla-disable-service-link">instructions</a> décrivant la manière de désactiver un Service ou une fonctionnalité en particulier. Les autres fonctionnalités ou Services peuvent être désactivés dans les préférences de l’application.
+rights-safebrowsing = <strong>Blocage de sites malveillants : </strong>Il n’est pas recommandé de désactiver cette fonctionnalité car cela peut vous amener à naviguer sur des sites non sûrs. Si vous désirez désactiver la fonctionnalité complètement, suivez ces instructions :
+rights-safebrowsing-term-1 = Ouvrez les préférences ou options de l’application
+rights-safebrowsing-term-2 = Sélectionnez le panneau Sécurité
+rights-safebrowsing-term-3 = Désélectionnez l’option « { enableSafeBrowsing-label } »
+enableSafeBrowsing-label = Bloquer les contenus dangereux ou trompeurs
+rights-safebrowsing-term-4 = Le blocage de sites malveillants est alors désactivé.
+rights-locationawarebrowsing = <strong>Navigation selon la localisation géographique : </strong>se fait toujours à la demande. Aucune information concernant votre localisation n’est jamais envoyée sans votre permission. Si vous souhaitez désactiver la fonctionnalité complètement, suivez ces instructions :
+rights-locationawarebrowsing-term-1 = Dans la barre d’adresse, saisissez <code>about:config</code>
+rights-locationawarebrowsing-term-2 = Faites une recherche sur geo.enabled
+rights-locationawarebrowsing-term-3 = Double-cliquez sur la préférence geo.enabled
+rights-locationawarebrowsing-term-4 = La localisation géographique est alors désactivée.
+rights-webservices-unbranded = Un aperçu des services de sites web intégrés dans le logiciel, accompagné des instructions sur la manière de les désactiver, le cas échéant, doit être indiqué ici.
+rights-webservices-term-unbranded = Toutes les modalités d’utilisation applicables pour ce logiciel doivent être indiquées ici.
+rights-webservices-term-1 = { -vendor-short-name } et ses contributeurs, concédants de licence et partenaires travaillent pour produire les Services les plus exacts et les plus à jour. Cependant, nous ne pouvons pas garantir que ces informations sont exhaustives et dénuées d’erreur. Par exemple, le service de blocage des sites malveillants peut ne pas identifier certains sites dangereux ou identifier à tort certains sites sûrs comme malveillants. Par ailleurs, tous les emplacements indiqués par le service de localisation géographique ne sont que des estimations et ni nous ni nos fournisseurs de service ne pouvons garantir leur précision.
+rights-webservices-term-2 = { -vendor-short-name } peut arrêter ou modifier Les Services à sa discrétion.
+rights-webservices-term-3 = Vous pouvez utiliser ces Services avec la version de { -brand-short-name } qui les accompagne, et { -vendor-short-name } vous garantit les droits nécessaires pour le faire. { -vendor-short-name } et ses concédants de licence se réservent tous les autres droits dans les Services. Les présentes modalités ne sont pas destinées à limiter les droits concédés par les licences de logiciels libres applicables à { -brand-short-name } et au code source des versions correspondantes de { -brand-short-name }.
+rights-webservices-term-4 = <strong>Les Services sont fournis « tels quels ». { -vendor-short-name }, ses contributeurs, concédants de licence et distributeurs, déclinent toutes garanties, expresses ou implicites, y compris mais sans s’y limiter, les garanties que les Services sont commercialisables et s’adaptent à vos besoins particuliers. Vous supportez intégralement les risques quant à la sélection des Services pour vos besoins et quant à la qualité et aux performances des Services. Certaines juridictions n’autorisent pas l’exclusion ou la limitation des garanties implicites, et donc cette clause de non-garantie peut ne pas s’appliquer pour vous.</strong>
+rights-webservices-term-5 = <strong>Sauf si requis par la loi, { -vendor-short-name }, ses contributeurs, concédants de licence et distributeurs ne seront pas passibles de dommages indirects, particuliers, accessoires, de dommages et intérêts punitifs ou exemplaires résultant de l’utilisation ou par tout moyen relatif à l’utilisation de { -brand-short-name } et des Services. La responsabilité collective sous les présentes modalités n’excédera pas 500 $ (cinq cents dollars). Certaines juridictions n’autorisent pas l’exclusion ou la limitation de certains dommages, et donc ces exclusions et limitations peuvent ne pas s’appliquer pour vous.</strong>
+rights-webservices-term-6 = { -vendor-short-name } peut mettre à jour les présentes modalités si nécessaire de temps à autre. Ces modalités ne peuvent pas être modifiées ou annulées sans l’accord écrit de { -vendor-short-name }.
+rights-webservices-term-7 = Les présentes modalités sont régies par les lois de l’état de Californie, États-Unis d’Amérique, à l’exclusion de conflit avec des dispositions légales. Si une partie de ces modalités est invalidée ou ne peut pas être mise en application, les parties restantes demeureront pleinement applicables. Dans l’éventualité d’un conflit entre une version traduite de ces modalités et la version en langue anglaise, la version en langue anglaise fera foi.
diff --git a/thunderbird-l10n/fr/localization/fr/toolkit/about/aboutServiceWorkers.ftl b/thunderbird-l10n/fr/localization/fr/toolkit/about/aboutServiceWorkers.ftl
new file mode 100644
index 0000000000..4830fea3c0
--- /dev/null
+++ b/thunderbird-l10n/fr/localization/fr/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 = À propos des Service workers
+about-service-workers-main-title = Service workers inscrits
+about-service-workers-warning-not-enabled = Les Service workers ne sont pas activés.
+about-service-workers-warning-no-service-workers = Aucun service worker inscrit.
+
+# The original title of service workers' information
+#
+# Variables:
+# $originTitle: original title
+origin-title = Origine : { $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>Portée :</strong> { $name }
+script-spec = <strong>Script des spécifications :</strong> <a data-l10n-name="link">{ $url }</a>
+current-worker-url = <strong>URL du Worker courant :</strong> <a data-l10n-name="link">{ $url }</a>
+active-cache-name = <strong>Nom de cache actif :</strong> { $name }
+waiting-cache-name = <strong>Nom de cache en attente :</strong> { $name }
+push-end-point-waiting = <strong>Point de terminaison pour l’envoi :</strong> { waiting }
+push-end-point-result = <strong>Point de terminaison pour l’envoi :</strong> { $name }
+
+# This term is used as a button label (verb, not noun).
+update-button = Mettre à jour
+
+unregister-button = Désinscrire
+
+unregister-error = Échec de la désinscription de ce Service worker.
+
+waiting = Veuillez patienter…
diff --git a/thunderbird-l10n/fr/localization/fr/toolkit/about/aboutSupport.ftl b/thunderbird-l10n/fr/localization/fr/toolkit/about/aboutSupport.ftl
new file mode 100644
index 0000000000..5a170909ea
--- /dev/null
+++ b/thunderbird-l10n/fr/localization/fr/toolkit/about/aboutSupport.ftl
@@ -0,0 +1,429 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.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 = Informations de dépannage
+page-subtitle =
+ Cette page contient des informations techniques qui pourraient être utiles quand vous essayez
+ de résoudre un problème. Si vous cherchez des réponses à des questions courantes
+ sur { -brand-short-name }, veuillez consulter notre <a data-l10n-name="support-link">site web d’assistance</a>.
+crashes-title = Rapports de plantage
+crashes-id = Identifiant du rapport
+crashes-send-date = Date d’envoi
+crashes-all-reports = Tous les rapports de plantage
+crashes-no-config = Cette application n’a pas été configurée pour afficher les rapports de plantage.
+support-addons-title = Modules complémentaires
+support-addons-name = Nom
+support-addons-type = Type
+support-addons-enabled = Activé
+support-addons-version = Version
+support-addons-id = ID
+legacy-user-stylesheets-title = Anciennes feuilles de style utilisateur
+legacy-user-stylesheets-enabled = Activées
+legacy-user-stylesheets-stylesheet-types = Feuilles de style
+legacy-user-stylesheets-no-stylesheets-found = Aucune feuille de style trouvée
+security-software-title = Logiciel de sécurité
+security-software-type = Type
+security-software-name = Nom
+security-software-antivirus = Antivirus
+security-software-antispyware = Logiciel anti-espion
+security-software-firewall = Pare-feu
+features-title = Fonctionnalités de { -brand-short-name }
+features-name = Nom
+features-version = Version
+features-id = ID
+processes-title = Processus distants
+processes-type = Type
+processes-count = Nombre
+app-basics-title = Paramètres de base de l’application
+app-basics-name = Nom
+app-basics-version = Version
+app-basics-build-id = Identifiant de compilation
+app-basics-distribution-id = ID de distribution
+app-basics-update-channel = Canal de mise à jour
+# 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] Répertoire pour les mises à jour
+ *[other] Dossier pour les mises à jour
+ }
+app-basics-update-history = Historique des mises à jour
+app-basics-show-update-history = Afficher l’historique des mises à jour
+# Represents the path to the binary used to start the application.
+app-basics-binary = Binaire de l’application
+app-basics-profile-dir =
+ { PLATFORM() ->
+ [linux] Répertoire de profil
+ *[other] Dossier de profil
+ }
+app-basics-enabled-plugins = Plugins activés
+app-basics-build-config = Configuration de compilation
+app-basics-user-agent = Agent utilisateur
+app-basics-os = Système d’exploitation
+app-basics-os-theme = Thème du système d’exploitation
+# Rosetta is Apple's translation process to run apps containing x86_64
+# instructions on Apple Silicon. This should remain in English.
+app-basics-rosetta = Traduit par Rosetta
+app-basics-memory-use = Utilisation mémoire
+app-basics-performance = Performances
+app-basics-service-workers = Service workers inscrits
+app-basics-third-party = Modules tiers
+app-basics-profiles = Profils
+app-basics-launcher-process-status = Processus de lancement
+app-basics-multi-process-support = Fenêtres multiprocessus
+app-basics-fission-support = Fenêtres Fission
+app-basics-remote-processes-count = Processus distants
+app-basics-enterprise-policies = Stratégies d’entreprise
+app-basics-location-service-key-google = Clé du service de localisation de Google
+app-basics-safebrowsing-key-google = Clé de Google Safebrowsing
+app-basics-key-mozilla = Clé du service de localisation de Mozilla
+app-basics-safe-mode = Mode sans échec
+app-basics-memory-size = Taille de la mémoire (RAM)
+app-basics-disk-available = Espace disque disponible
+app-basics-pointing-devices = Périphériques de pointage
+# 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] Afficher dans le Finder
+ [windows] Ouvrir le dossier correspondant
+ *[other] Ouvrir le répertoire correspondant
+ }
+environment-variables-title = Variables d’environnement
+environment-variables-name = Nom
+environment-variables-value = Valeur
+experimental-features-title = Fonctionnalités expérimentales
+experimental-features-name = Nom
+experimental-features-value = Valeur
+modified-key-prefs-title = Préférences modifiées importantes
+modified-prefs-name = Nom
+modified-prefs-value = Valeur
+user-js-title = Préférences de user.js
+user-js-description = Votre dossier de profil possède un <a data-l10n-name="user-js-link">fichier user.js</a> contenant les préférences qui n’ont pas été créées par { -brand-short-name }.
+locked-key-prefs-title = Préférences verrouillées importantes
+locked-prefs-name = Nom
+locked-prefs-value = Valeur
+graphics-title = Accélération graphique
+graphics-features-title = Fonctionnalités
+graphics-diagnostics-title = Diagnostics
+graphics-failure-log-title = Journal des échecs
+graphics-gpu1-title = GPU 1
+graphics-gpu2-title = GPU 2
+graphics-decision-log-title = Journal des décisions
+graphics-crash-guards-title = Fonctionnalités désactivées par la protection contre les plantages
+graphics-workarounds-title = Solutions de contournement
+graphics-device-pixel-ratios = Rapports de pixels de l’appareil pour les fenêtres
+# Windowing system in use on Linux (e.g. X11, Wayland).
+graphics-window-protocol = Protocole de fenêtrage
+# Desktop environment in use on Linux (e.g. GNOME, KDE, XFCE, etc).
+graphics-desktop-environment = Environnement de bureau
+place-database-title = Base de données « Places »
+place-database-stats = Statistiques
+place-database-stats-show = Afficher les statistiques
+place-database-stats-hide = Masquer les statistiques
+place-database-stats-entity = Entité
+place-database-stats-count = Nombre
+place-database-stats-size-kib = Taille (Ko)
+place-database-stats-size-perc = Taille (%)
+place-database-stats-efficiency-perc = Efficacité (%)
+place-database-stats-sequentiality-perc = Séquentialité (%)
+place-database-integrity = Intégrité
+place-database-verify-integrity = Vérifier l’intégrité
+a11y-title = Accessibilité
+a11y-activated = Activée
+a11y-force-disabled = Empêcher l’accessibilité
+a11y-handler-used = Utilisation d’un gestionnaire accessible
+a11y-instantiator = Générateur d’accessibilité
+library-version-title = Versions des bibliothèques
+copy-text-to-clipboard-label = Copier le texte dans le presse-papiers
+copy-raw-data-to-clipboard-label = Copier les informations brutes dans le presse-papiers
+sandbox-title = Bac à sable
+sandbox-sys-call-log-title = Appels système rejetés
+sandbox-sys-call-index = #
+sandbox-sys-call-age = Il y a quelques secondes
+sandbox-sys-call-pid = PID
+sandbox-sys-call-tid = TID
+sandbox-sys-call-proc-type = Type de processus
+sandbox-sys-call-number = Syscall
+sandbox-sys-call-args = Arguments
+troubleshoot-mode-title = Diagnostiquer des problèmes
+restart-in-troubleshoot-mode-label = Mode de dépannage…
+clear-startup-cache-title = Essayez de vider le cache de démarrage
+clear-startup-cache-label = Vider le cache de démarrage…
+startup-cache-dialog-title2 = Redémarrer { -brand-short-name } pour effacer le cache de démarrage ?
+startup-cache-dialog-body2 = Cela ne modifiera pas vos paramètres ni ne supprimera les extensions.
+restart-button-label = Redémarrer
+
+## Media titles
+
+audio-backend = Backend audio
+max-audio-channels = Nombre maximum de canaux
+sample-rate = Fréquence d’échantillonnage préférée
+roundtrip-latency = Latence aller-retour (écart type)
+media-title = Multimédia
+media-output-devices-title = Périphériques de sortie
+media-input-devices-title = Périphériques d’entrée
+media-device-name = Nom
+media-device-group = Groupe
+media-device-vendor = Fabricant
+media-device-state = État
+media-device-preferred = Préféré
+media-device-format = Format
+media-device-channels = Canaux
+media-device-rate = Fréquence
+media-device-latency = Latence
+media-capabilities-title = Capacités média
+media-codec-support-info = Informations sur la prise en charge des codecs
+# List all the entries of the database.
+media-capabilities-enumerate = Parcourir la base de données
+
+## Codec support table
+
+media-codec-support-sw-decoding = Décodage logiciel
+media-codec-support-hw-decoding = Décodage matériel
+media-codec-support-codec-name = Nom du codec
+media-codec-support-supported = Pris en charge
+media-codec-support-unsupported = Non pris en charge
+media-codec-support-error = Les informations sur la prise en charge des codecs ne sont pas disponibles. Réessayez après avoir lu un fichier multimédia.
+media-codec-support-lack-of-extension = Installer une extension
+
+## Media Content Decryption Modules (CDM)
+## See EME Spec for more explanation for following technical terms
+## https://w3c.github.io/encrypted-media/
+
+media-content-decryption-modules-title = Informations sur les modules de déchiffrement de contenu
+media-key-system-name = Nom du système de clé
+media-video-robustness = Robustesse vidéo
+media-audio-robustness = Robustesse audio
+media-cdm-capabilities = Fonctions
+# Clear Lead isn't defined in the spec, which means the the first few seconds
+# are not encrypted. It allows playback to start without having to wait for
+# license response, improving video start time and user experience.
+media-cdm-clear-lead = Début en clair
+
+##
+
+intl-title = Langue et internationalisation
+intl-app-title = Paramètres d’application
+intl-locales-requested = Langues demandées
+intl-locales-available = Langues disponibles
+intl-locales-supported = Langues de l’application
+intl-locales-default = Langue par défaut
+intl-os-title = Système d’exploitation
+intl-os-prefs-system-locales = Langues du système
+intl-regional-prefs = Préférences régionales
+
+## 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 = Débogage à distance (protocole Chromium)
+remote-debugging-accepting-connections = Accepter les connexions
+remote-debugging-url = URL
+
+##
+
+# Variables
+# $days (Integer) - Number of days of crashes to log
+report-crash-for-days =
+ { $days ->
+ [one] Rapports de plantage de la veille
+ *[other] Rapports de plantage des { $days } derniers jours
+ }
+# Variables
+# $minutes (integer) - Number of minutes since crash
+crashes-time-minutes =
+ { $minutes ->
+ [one] Il y a { $minutes } minute
+ *[other] Il y a { $minutes } minutes
+ }
+# Variables
+# $hours (integer) - Number of hours since crash
+crashes-time-hours =
+ { $hours ->
+ [one] Il y a { $hours } heure
+ *[other] Il y a { $hours } heures
+ }
+# Variables
+# $days (integer) - Number of days since crash
+crashes-time-days =
+ { $days ->
+ [one] Il y a { $days } jour
+ *[other] Il y a { $days } jours
+ }
+# Variables
+# $reports (integer) - Number of pending reports
+pending-reports =
+ { $reports ->
+ [one] Tous les rapports de plantage (y compris { $reports } rapport en attente d’un plantage ayant eu lieu dans l’intervalle)
+ *[other] Tous les rapports de plantage (y compris { $reports } rapports en attente de plantages ayant eu lieu dans l’intervalle)
+ }
+raw-data-copied = Informations brutes copiées dans le presse-papiers
+text-copied = Texte copié dans le presse-papiers
+
+## The verb "blocked" here refers to a graphics feature such as "Direct2D" or "OpenGL layers".
+
+blocked-driver = Bloqué pour la version de votre pilote graphique.
+blocked-gfx-card = Bloqué pour votre carte graphique à cause de problèmes non résolus du pilote.
+blocked-os-version = Bloqué pour la version de votre système d’exploitation.
+blocked-mismatched-version = Bloqué pour la version de votre pilote graphique car la version diffère entre le registre et les DLL.
+# Variables
+# $driverVersion - The graphics driver version string
+try-newer-driver = Bloqué pour la version de votre pilote graphique. Essayez de faire la mise à jour de votre pilote graphique vers la version { $driverVersion } ou supérieure.
+# "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 = Paramètres ClearType
+compositing = Composition
+hardware-h264 = Décodage matériel H264
+main-thread-no-omtc = Fil d’exécution principal, pas d’OMTC
+yes = Oui
+no = Non
+unknown = Inconnu
+virtual-monitor-disp = Affichage virtuel
+
+## 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 = Présente
+missing = Manquante
+gpu-process-pid = GPUProcessPid
+gpu-process = GPUProcess
+gpu-description = Description
+gpu-vendor-id = ID du vendeur
+gpu-device-id = ID du périphérique
+gpu-subsys-id = ID du sous-système
+gpu-drivers = Pilotes
+gpu-ram = RAM
+gpu-driver-vendor = Éditeur du pilote
+gpu-driver-version = Version du pilote
+gpu-driver-date = Date du pilote
+gpu-active = Actif
+webgl1-wsiinfo = Pilote WebGL 1 - Informations WSI
+webgl1-renderer = Pilote WebGL 1 - Rendu
+webgl1-version = Pilote WebGL 1 - Version
+webgl1-driver-extensions = Pilote WebGL 1 - Extensions
+webgl1-extensions = WebGL 1 - Extensions
+webgl2-wsiinfo = Pilote WebGL 2 - Informations WSI
+webgl2-renderer = Pilote WebGL 2 - Rendu
+webgl2-version = Pilote WebGL 2 - Version
+webgl2-driver-extensions = Pilote WebGL 2 - Extensions
+webgl2-extensions = WebGL 2 - Extensions
+webgpu-default-adapter = Adaptateur WebGPU par défaut
+webgpu-fallback-adapter = Adaptateur WebGPU de secours
+# Variables
+# $bugNumber (string) - Bug number on Bugzilla
+support-blocklisted-bug = Mis en liste de blocage en raison de problèmes connus : <a data-l10n-name="bug-link">bug { $bugNumber }</a>
+# Variables
+# $failureCode (string) - String that can be searched in the source tree.
+unknown-failure = Mis sur liste de blocage ; code d’erreur { $failureCode }
+d3d11layers-crash-guard = Compositeur D3D11
+glcontext-crash-guard = OpenGL
+wmfvpxvideo-crash-guard = Décodeur vidéo WMF VPX
+reset-on-next-restart = Réinitialisé au prochain démarrage
+gpu-process-kill-button = Arrêter le processus GPU
+gpu-device-reset = Réinitialisation de l’appareil
+gpu-device-reset-button = Déclencher la réinitialisation de l’appareil
+uses-tiling = Utilise le pavage
+content-uses-tiling = Utilise le pavage (contenu)
+off-main-thread-paint-enabled = Painting en dehors du fil d’exécution principal activé
+off-main-thread-paint-worker-count = Nombre de workers participant au painting en dehors du fil d’exécution principal
+target-frame-rate = Fréquence d’images cible
+min-lib-versions = Version minimale attendue
+loaded-lib-versions = Version utilisée
+has-seccomp-bpf = Seccomp-BPF (Filtrage des appels système)
+has-seccomp-tsync = Synchronisation du fil d’exécution Seccomp
+has-user-namespaces = Espace de noms utilisateur
+has-privileged-user-namespaces = Espace de noms utilisateur pour les processus privilégiés
+can-sandbox-content = Bac à sable pour les processus de contenu
+can-sandbox-media = Bac à sable pour les plugins multimédia
+content-sandbox-level = Niveau du bac à sable pour les processus de contenu
+effective-content-sandbox-level = Niveau effectif du bac à sable pour les processus de contenu
+content-win32k-lockdown-state = État de verrouillage Win32k pour le processus de contenu
+support-sandbox-gpu-level = Niveau du bac à sable pour les processus du GPU
+sandbox-proc-type-content = contenu
+sandbox-proc-type-file = contenu du fichier
+sandbox-proc-type-media-plugin = plugin multimédia
+sandbox-proc-type-data-decoder = décodeur de données
+startup-cache-title = Cache de démarrage
+startup-cache-disk-cache-path = Chemin du cache disque
+startup-cache-ignore-disk-cache = Ignorer le cache disque
+startup-cache-found-disk-cache-on-init = Cache disque trouvé à l’initialisation
+startup-cache-wrote-to-disk-cache = Écriture dans le cache disque
+launcher-process-status-0 = Activé
+launcher-process-status-1 = Désactivé en raison d’une défaillance
+launcher-process-status-2 = Désactivé de force
+launcher-process-status-unknown = État inconnu
+# 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 = Désactivées par une expérience
+fission-status-experiment-treatment = Activées par une expérience
+fission-status-disabled-by-e10s-env = Désactivées par l’environnement
+fission-status-enabled-by-env = Activées par l’environnement
+fission-status-disabled-by-env = Désactivées par l’environnement
+fission-status-enabled-by-default = Activées par défaut
+fission-status-disabled-by-default = Désactivées par défaut
+fission-status-enabled-by-user-pref = Activées par l’utilisateur
+fission-status-disabled-by-user-pref = Désactivées par l’utilisateur
+fission-status-disabled-by-e10s-other = Désactivées par E10s
+fission-status-enabled-by-rollout = Activé par déploiement progressif
+async-pan-zoom = Zoom/Panoramique asynchrones
+apz-none = aucun
+wheel-enabled = entrée molette activée
+touch-enabled = entrée tactile activée
+drag-enabled = faire glisser les barres de défilement
+keyboard-enabled = clavier activé
+autoscroll-enabled = défilement automatique activé
+zooming-enabled = zoom fluide par pincement activé
+
+## Variables
+## $preferenceKey (string) - String ID of preference
+
+wheel-warning = entrée molette asynchrone désactivée en raison d’une préférence non prise en charge : { $preferenceKey }
+touch-warning = entrée tactile asynchrone désactivée en raison d’une préférence non prise en charge : { $preferenceKey }
+
+## Strings representing the status of the Enterprise Policies engine.
+
+policies-inactive = Inactives
+policies-active = Actives
+policies-error = Erreur
+
+## Printing section
+
+support-printing-title = Impression
+support-printing-troubleshoot = Résolution de problèmes
+support-printing-clear-settings-button = Effacer les paramètres d’impression enregistrés
+support-printing-modified-settings = Paramètres d’impression modifiés
+support-printing-prefs-name = Nom
+support-printing-prefs-value = Valeur
+
+## Normandy sections
+
+support-remote-experiments-title = Expériences à distance
+support-remote-experiments-name = Nom
+support-remote-experiments-branch = Branche expérimentale
+support-remote-experiments-see-about-studies = Consultez <a data-l10n-name="support-about-studies-link">about:studies</a> pour plus d’informations, notamment sur la façon de désactiver des tests individuels ou d’empêcher { -brand-short-name } d’exécuter ce type d’expérience dans le futur.
+support-remote-features-title = Fonctionnalités distantes
+support-remote-features-name = Nom
+support-remote-features-status = État
+
+## Pointing devices
+
+pointing-device-mouse = Souris
+pointing-device-touchscreen = Écran tactile
+pointing-device-pen-digitizer = Stylet numériseur
+pointing-device-none = Aucun périphérique de pointage
diff --git a/thunderbird-l10n/fr/localization/fr/toolkit/about/aboutTelemetry.ftl b/thunderbird-l10n/fr/localization/fr/toolkit/about/aboutTelemetry.ftl
new file mode 100644
index 0000000000..cd0c5ba432
--- /dev/null
+++ b/thunderbird-l10n/fr/localization/fr/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 = Source des données de ping :
+about-telemetry-show-current-data = Données actuelles
+about-telemetry-show-archived-ping-data = Données de ping archivées
+about-telemetry-show-subsession-data = Afficher les données de sous-session
+about-telemetry-choose-ping = Sélectionner le ping :
+about-telemetry-archive-ping-type = Type de ping
+about-telemetry-archive-ping-header = Ping
+about-telemetry-option-group-today = Aujourd’hui
+about-telemetry-option-group-yesterday = Hier
+about-telemetry-option-group-older = Plus ancien
+about-telemetry-previous-ping = <<
+about-telemetry-next-ping = >>
+about-telemetry-page-title = Données télémétriques
+about-telemetry-current-store = Magasin actuel :
+about-telemetry-more-information = Besoin de plus d’informations ?
+about-telemetry-firefox-data-doc = La <a data-l10n-name="data-doc-link">documentation des données de Firefox</a> propose des guides pour comprendre comment utiliser nos outils de données.
+about-telemetry-telemetry-client-doc = La <a data-l10n-name="client-doc-link">documentation du client de télémétrie Firefox</a> contient la définition des différents concepts, la documentation de l’API et un référentiel de données.
+about-telemetry-telemetry-dashboard = Les <a data-l10n-name="dashboard-link">tableaux de bord de télémétrie</a> vous permettent de visualiser les données reçues par Mozilla grâce à la télémétrie.
+about-telemetry-telemetry-probe-dictionary = Le <a data-l10n-name="probe-dictionary-link">dictionnaire des échantillons</a> fournit des informations et des descriptions sur les échantillons collectés par télémétrie.
+about-telemetry-show-in-Firefox-json-viewer = Ouvrir dans la visionneuse JSON
+about-telemetry-home-section = Accueil
+about-telemetry-general-data-section = Données générales
+about-telemetry-environment-data-section = Données de l’environnement
+about-telemetry-session-info-section = Informations sur la session
+about-telemetry-scalar-section = Scalaires
+about-telemetry-keyed-scalar-section = Scalaires avec mots-clés
+about-telemetry-histograms-section = Histogrammes
+about-telemetry-keyed-histogram-section = Histogrammes avec mots-clés
+about-telemetry-events-section = Évènements
+about-telemetry-simple-measurements-section = Mesures simples
+about-telemetry-slow-sql-section = Requêtes SQL lentes
+about-telemetry-addon-details-section = Détails sur les modules complémentaires
+about-telemetry-late-writes-section = Écritures tardives
+about-telemetry-raw-payload-section = Charge brute
+about-telemetry-raw = JSON brut
+about-telemetry-full-sql-warning = NOTE : Le débogage des requêtes SQL lentes est activé. Des requêtes SQL complètes peuvent être affichées ci-dessous, mais elles ne seront pas envoyées par télémétrie.
+about-telemetry-fetch-stack-symbols = Récupérer les noms de fonctions pour les piles
+about-telemetry-hide-stack-symbols = Afficher les données brutes des piles
+# Selects the correct release version
+# Variables:
+# $channel (String): represents the corresponding release data string
+about-telemetry-data-type =
+ { $channel ->
+ [release] données de la version stable
+ *[prerelease] données de préversion
+ }
+# Selects the correct upload string
+# Variables:
+# $uploadcase (String): represents a corresponding upload string
+about-telemetry-upload-type =
+ { $uploadcase ->
+ [enabled] activée
+ *[disabled] désactivée
+ }
+# 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 } élément, moyenne = { $prettyAverage }, somme = { $sum }
+ *[other] { $sampleCount } éléments, moyenne = { $prettyAverage }, somme = { $sum }
+ }
+# Variables:
+# $telemetryServerOwner (String): the value of the toolkit.telemetry.server_owner preference. Typically "Mozilla"
+about-telemetry-page-subtitle = Cette page affiche les informations collectées par télémétrie concernant les performances, les caractéristiques matérielles, l’utilisation des fonctionnalités et la personnalisation du navigateur. Ces informations sont envoyées à { $telemetryServerOwner } pour aider à l’amélioration de { -brand-full-name }.
+about-telemetry-settings-explanation = La télémétrie collecte les { about-telemetry-data-type } et la transmission est <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 = Chaque information est envoyée empaquetée dans des « <a data-l10n-name="ping-link">pings</a> ». Vous visionnez le ping { $name }, { $timestamp }.
+about-telemetry-data-details-current = Les informations sont envoyées dans des paquets appelés « <a data-l10n-name="ping-link">pings</a> ». Vous visualisez les données actuelles.
+# 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 = Rechercher dans { $selectedTitle }
+about-telemetry-filter-all-placeholder =
+ .placeholder = Rechercher dans toutes les sections
+# Variables:
+# $searchTerms (String): the searched terms
+about-telemetry-results-for-search = Résultats pour « { $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 = Désolé, il n’y a aucun résultat dans { $sectionName } pour « { $currentSearchText } ».
+# Variables:
+# $searchTerms (String): the searched terms
+about-telemetry-no-search-results-all = Désolé, il n’y a aucun résultat pour « { $searchTerms } » dans les différentes sections
+# This message is displayed when a section is empty.
+# Variables:
+# $sectionName (String): is replaced by the section name.
+about-telemetry-no-data-to-display = Désolé, aucune donnée n’est disponible dans « { $sectionName } »
+# used as a tooltip for the “current” ping title in the sidebar
+about-telemetry-current-data-sidebar = données actuelles
+# used in the “Ping Type” select
+about-telemetry-telemetry-ping-type-all = tout
+# button label to copy the histogram
+about-telemetry-histogram-copy = Copier
+# these strings are used in the “Slow SQL Statements” section
+about-telemetry-slow-sql-main = Requêtes SQL lentes dans le fil d’exécution principal (main thread)
+about-telemetry-slow-sql-other = Requêtes SQL lentes dans les fils d’exécution assistants (helper threads)
+about-telemetry-slow-sql-hits = Compteur
+about-telemetry-slow-sql-average = Temps moyen (ms)
+about-telemetry-slow-sql-statement = Requête
+# these strings are used in the “Add-on Details” section
+about-telemetry-addon-table-id = Identifiant du module
+about-telemetry-addon-table-details = Détails
+# Variables:
+# $addonProvider (String): the name of an Add-on Provider (e.g. “XPI”, “Plugin”)
+about-telemetry-addon-provider = Éditeur { $addonProvider }
+about-telemetry-keys-header = Propriété
+about-telemetry-names-header = Nom
+about-telemetry-values-header = Valeur
+# Variables:
+# $lateWriteCount (Integer): the number of the late writes
+about-telemetry-late-writes-title = Écriture tardive n°{ $lateWriteCount }
+about-telemetry-stack-title = Pile :
+about-telemetry-memory-map-title = Cartographie mémoire :
+about-telemetry-error-fetching-symbols = Une erreur s’est produite lors de la récupération des symboles. Vérifiez votre connexion à Internet et réessayez.
+about-telemetry-time-stamp-header = horodatage
+about-telemetry-category-header = catégorie
+about-telemetry-method-header = méthode
+about-telemetry-object-header = objet
+about-telemetry-extra-header = en supplément
+# Variables:
+# $process (String): type of process in subsection headers ( e.g. "content", "parent" )
+about-telemetry-process = Processus « { $process } »
diff --git a/thunderbird-l10n/fr/localization/fr/toolkit/about/aboutThirdParty.ftl b/thunderbird-l10n/fr/localization/fr/toolkit/about/aboutThirdParty.ftl
new file mode 100644
index 0000000000..7d683df8ab
--- /dev/null
+++ b/thunderbird-l10n/fr/localization/fr/toolkit/about/aboutThirdParty.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/.
+
+third-party-page-title = Informations sur les modules tiers
+third-party-section-title = Liste des modules tiers dans { -brand-short-name }
+third-party-intro = Cette page affiche les modules tiers qui ont été injectés dans votre { -brand-short-name }. Tout module qui n’est pas signé par Microsoft ou { -vendor-short-name } est considéré comme un module tiers.
+third-party-message-empty = Aucun module tiers n’a été détecté.
+third-party-message-no-duration = Non enregistré
+third-party-detail-version = Version du fichier
+third-party-detail-vendor = Informations sur l’éditeur
+third-party-detail-occurrences = Occurrences
+ .title = Nombre de fois dont ce module a été chargé.
+third-party-detail-duration = Temps moy. de blocage (ms)
+ .title = Durée de blocage de l’application par ce module.
+third-party-detail-app = Application
+third-party-detail-publisher = Éditeur
+third-party-th-process = Processus
+third-party-th-duration = Durée de chargement (ms)
+third-party-th-status = État
+third-party-tag-ime = IME
+ .title = Ce type de module est chargé lorsque vous utilisez un IME (méthode de saisie) tiers.
+third-party-tag-shellex = Extension Shell
+ .title = Ce type de module est chargé lorsque vous ouvrez le dialogue système d’ouverture de fichier.
+third-party-tag-background = Arrière-plan
+ .title = Ce module n’a pas bloqué l’application car il était chargé en arrière-plan.
+third-party-icon-unsigned =
+ .title = Ce module n’est pas signé
+ .alt = Ce module n’est pas signé
+third-party-icon-warning =
+ .title = { -brand-short-name } a planté dans le code de ce module
+ .alt = { -brand-short-name } a planté dans le code de ce module
+third-party-status-loaded = Chargé
+third-party-status-blocked = Bloqué
+third-party-status-redirected = Redirigé
+third-party-button-copy-to-clipboard = Copier les informations brutes dans le presse-papiers
+third-party-loading-data =
+ .alt = Chargement des informations système…
+ .title = Chargement des informations système…
+third-party-button-reload = Recharger avec les infos système
+ .title = Recharger avec les informations système
+third-party-button-open =
+ .title = Ouvrir l’emplacement du fichier…
+third-party-button-to-block =
+ .title = Bloquer ce module
+ .aria-label = Bloquer ce module
+third-party-button-to-unblock =
+ .title = Actuellement bloqué. Cliquez pour le débloquer.
+ .aria-label = Actuellement bloqué. Cliquez pour le débloquer.
+third-party-button-to-unblock-disabled =
+ .title =
+ Actuellement marqué comme bloqué, bien que la liste de blocage soit désactivée pour cette exécution
+ de { -brand-short-name }. Cliquez pour le débloquer.
+ .aria-label =
+ Actuellement marqué comme bloqué, bien que la liste de blocage soit désactivée pour cette exécution
+ de { -brand-short-name }. Cliquez pour le débloquer.
+third-party-button-to-block-module = Bloquer ce module
+ .title = Bloquer ce module
+ .aria-label = Bloquer ce module
+third-party-button-to-unblock-module = Débloquer ce module
+ .title = Actuellement bloqué. Cliquer pour le débloquer.
+ .aria-label = Actuellement bloqué. Cliquer pour le débloquer.
+third-party-button-to-unblock-module-disabled = Débloquer ce module (la liste de blocage est actuellement désactivée)
+ .title = Module actuellement marqué comme bloqué, malgré la désactivation de la liste de blocage pour cette exécution de { -brand-short-name }. Cliquer pour le débloquer.
+ .aria-label = Module actuellement marqué comme bloqué, malgré la désactivation de la liste de blocage pour cette exécution de { -brand-short-name }. Cliquer pour le débloquer.
+third-party-button-expand =
+ .title = Afficher les informations détaillées
+third-party-button-collapse =
+ .title = Masquer les informations détaillées
+third-party-blocking-requires-restart = Pour bloquer un module tiers, { -brand-short-name } doit redémarrer.
+third-party-should-restart-title = Redémarrer { -brand-short-name }
+third-party-restart-now = Redémarrer maintenant
+third-party-restart-later = Redémarrer plus tard
+third-party-blocked-by-builtin =
+ .title = Bloqué par { -brand-short-name }
+ .alt = Bloqué par { -brand-short-name }
diff --git a/thunderbird-l10n/fr/localization/fr/toolkit/about/aboutWebauthn.ftl b/thunderbird-l10n/fr/localization/fr/toolkit/about/aboutWebauthn.ftl
new file mode 100644
index 0000000000..6532de07f2
--- /dev/null
+++ b/thunderbird-l10n/fr/localization/fr/toolkit/about/aboutWebauthn.ftl
@@ -0,0 +1,104 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+
+### Localization for about:webauthn, a security token management page
+
+# Page title
+# 'WebAuthn' is a protocol name and should not be translated
+about-webauthn-page-title = À propos de WebAuthn
+
+## Section titles
+
+about-webauthn-info-section-title = Informations de l’appareil
+about-webauthn-pin-section-title = Gestion du code PIN
+about-webauthn-credential-management-section-title = Gérer les informations d’authentification
+about-webauthn-pin-required-section-title = Code PIN requis
+about-webauthn-confirm-deletion-section-title = Confirmer la suppression
+
+## Info field texts
+
+about-webauthn-text-connect-device = Veuillez connecter un jeton d’authentification.
+# If multiple devices are plugged in, they will blink and we are asking the user to select one by touching the device they want.
+about-webauthn-text-select-device = Veuillez sélectionner le jeton de sécurité de votre choix en appuyant sur l’appareil.
+# CTAP2 refers to Client to Authenticator Protocol version 2
+about-webauthn-text-non-ctap2-device = Impossible de gérer les options, car votre jeton de sécurité ne prend pas en charge CTAP2.
+about-webauthn-text-not-available = Non disponible sur cette plateforme.
+
+## Results label
+
+about-webauthn-results-success = Opération réussie.
+about-webauthn-results-general-error = Erreur !
+# Variables:
+# $retriesLeft (Number): number of tries left
+about-webauthn-results-pin-invalid-error =
+ { $retriesLeft ->
+ [0] Erreur : code PIN incorrect. Veuillez réessayer.
+ [one] Erreur : code PIN incorrect. Veuillez réessayer. Il ne vous reste qu’une tentative.
+ *[other] Erreur : code PIN incorrect. Veuillez réessayer. Il vous reste { $retriesLeft } tentatives.
+ }
+about-webauthn-results-pin-blocked-error = Erreur : il ne reste plus aucune tentative et votre appareil a été verrouillé, car un code PIN incorrect a été saisi trop de fois. L’appareil doit être réinitialisé.
+about-webauthn-results-pin-too-short-error = Erreur : le code PIN saisi est trop court.
+about-webauthn-results-pin-too-long-error = Erreur : le code PIN saisi est trop long.
+about-webauthn-results-pin-auth-blocked-error = Erreur : trop de tentatives infructueuses ont été effectuées à la suite et l’authentification par code PIN a été temporairement bloquée. Votre appareil nécessite d’être remis sous tension (débranchez-le et rebranchez-le).
+about-webauthn-results-cancelled-by-user-error = Erreur : l’opération a été annulée par l’utilisateur ou l’utilisatrice.
+
+## Labels
+
+about-webauthn-new-pin-label = Nouveau code PIN :
+about-webauthn-repeat-pin-label = Répétez le nouveau code PIN :
+about-webauthn-current-pin-label = Code PIN actuel :
+about-webauthn-pin-required-label = Veuillez saisir votre code PIN :
+about-webauthn-credential-list-subsection-title = Informations d’authentification :
+about-webauthn-credential-list-empty = Aucune information d’authentification trouvée sur l’appareil.
+about-webauthn-confirm-deletion-label = Vous êtes sur le point de supprimer :
+
+## Buttons
+
+about-webauthn-current-set-pin-button = Définir un code PIN
+about-webauthn-current-change-pin-button = Modifier le code PIN
+# List is a verb, as in "Show list of credentials"
+about-webauthn-list-credentials-button = Lister les informations d’authentification
+about-webauthn-cancel-button = Annuler
+about-webauthn-send-pin-button = OK
+about-webauthn-delete-button = Supprimer
+
+## Authenticator options fields
+## Option fields correspond to the CTAP2 option IDs and definitions found in https://fidoalliance.org/specs/fido-v2.1-ps-20210615/fido-client-to-authenticator-protocol-v2.1-ps-20210615.html#option-id
+
+about-webauthn-auth-option-clientpin = Code PIN du client
+about-webauthn-auth-option-ep = Attestation d’entreprise
+about-webauthn-auth-option-bioenroll = Enregistrement biométrique
+# FIDO_2_1_PRE should not be translated.
+about-webauthn-auth-option-userverificationmgmtpreview = Prototype d’enregistrement biométrique (FIDO_2_1_PRE)
+about-webauthn-auth-option-uvbioenroll = Autorisation d’enregistrement biométrique
+about-webauthn-auth-option-credmgmt = Gestion des informations d’authentification
+about-webauthn-auth-option-setminpinlength = Définir la longueur minimale du code PIN
+# Shows when boolean value for an option is True. True should not be translated.
+about-webauthn-auth-option-true = Vrai
+# Shows when boolean value of an option is False. False should not be translated.
+about-webauthn-auth-option-false = Faux
+# If the value is missing (null), it means a certain feature is not supported.
+about-webauthn-auth-option-null = Non pris en charge
+
+## Authenticator info fields
+## Info fields correspond to the CTAP2 authenticatorGetInfo field member name and definitions found in https://fidoalliance.org/specs/fido-v2.1-ps-20210615/fido-client-to-authenticator-protocol-v2.1-ps-20210615.html#authenticatorGetInfo
+
+about-webauthn-auth-info-certifications = Certifications
+about-webauthn-auth-info-max-cred-blob-length = Longueur maximale des blobs pour les informations d’authentification
+about-webauthn-auth-info-firmware-version = Version du micrologiciel
+about-webauthn-auth-info-min-pin-length = Taille minimale du code PIN
+about-webauthn-auth-info-force-pin-change = Forcer le changement du code PIN
+about-webauthn-auth-info-algorithms = Algorithmes
+about-webauthn-auth-info-pin-protocols = Protocoles du code PIN
+about-webauthn-auth-info-max-msg-size = Taille maximale des messages
+# AAGUID should not be translated.
+about-webauthn-auth-info-aaguid = AAGUID
+about-webauthn-auth-info-extensions = Extensions
+about-webauthn-auth-info-versions = Versions
+# Shows when boolean value for an info field is True. True should not be translated.
+about-webauthn-auth-info-true = Vrai
+# Shows when boolean value for an info field is False. False should not be translated.
+about-webauthn-auth-info-false = Faux
+about-webauthn-auth-info-null = Non pris en charge
diff --git a/thunderbird-l10n/fr/localization/fr/toolkit/about/aboutWebrtc.ftl b/thunderbird-l10n/fr/localization/fr/toolkit/about/aboutWebrtc.ftl
new file mode 100644
index 0000000000..0d3987f1f5
--- /dev/null
+++ b/thunderbird-l10n/fr/localization/fr/toolkit/about/aboutWebrtc.ftl
@@ -0,0 +1,323 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. 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 = Données internes de WebRTC
+# "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 = enregistrer about:webrtc sous
+
+## These labels are for a disclosure which contains the information for closed PeerConnection sections
+
+about-webrtc-closed-peerconnection-disclosure-show-msg = Afficher les connexions PeerConnection fermées
+about-webrtc-closed-peerconnection-disclosure-hide-msg = Masquer les connexions PeerConnection fermées
+
+## AEC is an abbreviation for Acoustic Echo Cancellation.
+
+about-webrtc-aec-logging-msg-label = Journalisation AEC 
+about-webrtc-aec-logging-off-state-label = Démarrer la journalisation AEC
+about-webrtc-aec-logging-on-state-label = Arrêter la journalisation AEC
+about-webrtc-aec-logging-on-state-msg = Journalisation AEC active (discutez quelques minutes avec votre correspondant puis arrêtez l’enregistrement)
+about-webrtc-aec-logging-toggled-on-state-msg = Journalisation AEC active (discutez quelques minutes avec votre correspondant puis arrêtez l’enregistrement)
+about-webrtc-aec-logging-unavailable-sandbox = La variable d’environnement MOZ_DISABLE_CONTENT_SANDBOX=1 est requise pour exporter les journaux AEC. Ne définissez cette variable que si vous comprenez les risques possibles.
+# Variables:
+# $path (String) - The path to which the aec log file is saved.
+about-webrtc-aec-logging-toggled-off-state-msg = Les fichiers de journalisation capturés sont disponibles à l’emplacement suivant : { $path }
+
+##
+
+# The autorefresh checkbox causes a stats section to autorefresh its content when checked
+about-webrtc-auto-refresh-label = Actualisation automatique
+# Determines the default state of the Auto Refresh check boxes
+about-webrtc-auto-refresh-default-label = Actualisation automatique par défaut
+# A button which forces a refresh of displayed statistics
+about-webrtc-force-refresh-button = Actualiser
+# "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 = Identifiant PeerConnection:
+# The number of DataChannels that a PeerConnection has opened
+about-webrtc-data-channels-opened-label = Canaux de données ouverts :
+# The number of once open DataChannels that a PeerConnection has closed
+about-webrtc-data-channels-closed-label = Canaux de données fermés :
+
+## "SDP" is an abbreviation for Session Description Protocol, an IETF standard.
+## See http://wikipedia.org/wiki/Session_Description_Protocol
+
+about-webrtc-sdp-heading = SDP
+about-webrtc-local-sdp-heading = SDP local
+about-webrtc-local-sdp-heading-offer = SDP local (Proposition)
+about-webrtc-local-sdp-heading-answer = SDP local (Réponse)
+about-webrtc-remote-sdp-heading = SDP distant
+about-webrtc-remote-sdp-heading-offer = SDP distant (Proposition)
+about-webrtc-remote-sdp-heading-answer = SDP distant (Réponse)
+about-webrtc-sdp-history-heading = Historique SDP
+about-webrtc-sdp-parsing-errors-heading = Erreurs d’analyse SDP
+
+##
+
+# "RTP" is an abbreviation for the Real-time Transport Protocol, an IETF
+# specification, and should not normally be translated. "Stats" is an
+# abbreviation for Statistics.
+about-webrtc-rtp-stats-heading = Statistiques RTP
+
+## "ICE" is an abbreviation for Interactive Connectivity Establishment, which
+## is an IETF protocol, and should not normally be translated.
+
+about-webrtc-ice-state = État ICE
+# "Stats" is an abbreviation for Statistics.
+about-webrtc-ice-stats-heading = Statistiques ICE
+about-webrtc-ice-restart-count-label = Redémarrages ICE:
+about-webrtc-ice-rollback-count-label = Restaurations ICE:
+about-webrtc-ice-pair-bytes-sent = Octets envoyés:
+about-webrtc-ice-pair-bytes-received = Octets reçus:
+about-webrtc-ice-component-id = ID du composant
+
+## 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 = Distant
+
+##
+
+# 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 = Nommé
+# 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 = Sélectionné
+about-webrtc-save-page-label = Enregistrer la page
+about-webrtc-debug-mode-msg-label = Mode débogage 
+about-webrtc-debug-mode-off-state-label = Démarrer le mode débogage
+about-webrtc-debug-mode-on-state-label = Arrêter le mode débogage
+about-webrtc-enable-logging-label = Activer la sélection de la journalisation WebRTC
+about-webrtc-stats-heading = Statistiques de session
+about-webrtc-peerconnections-section-heading = Statistiques RTCPeerConnection
+about-webrtc-peerconnections-section-show-msg = Afficher les statistiques RTCPeerConnection
+about-webrtc-peerconnections-section-hide-msg = Masquer les statistiques RTCPeerConnection
+about-webrtc-stats-clear = Effacer l’historique
+about-webrtc-log-heading = Historique de connexion
+about-webrtc-log-clear = Effacer l’historique
+about-webrtc-log-show-msg = afficher l’historique
+ .title = cliquer pour développer cette section
+about-webrtc-log-hide-msg = masquer l’historique
+ .title = cliquer pour réduire cette section
+about-webrtc-log-section-show-msg = Afficher l’historique
+ .title = Cliquer pour développer cette section
+about-webrtc-log-section-hide-msg = Masquer l’historique
+ .title = Cliquer pour réduire cette section
+about-webrtc-copy-report-button = Copier le rapport
+about-webrtc-copy-report-history-button = Copier l’historique des rapports
+
+## 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 } (fermée) { $now }
+
+## These are used to indicate what direction media is flowing.
+## Variables:
+## $codecs - a list of media codecs
+
+about-webrtc-short-send-receive-direction = Envoi – Réception : { $codecs }
+about-webrtc-short-send-direction = Envoi : { $codecs }
+about-webrtc-short-receive-direction = Réception : { $codecs }
+
+##
+
+about-webrtc-local-candidate = Candidat local
+about-webrtc-remote-candidate = Candidat distant
+about-webrtc-raw-candidates-heading = Tous les candidats bruts
+about-webrtc-raw-local-candidate = Candidat brut local
+about-webrtc-raw-remote-candidate = Candidat brut distant
+about-webrtc-raw-cand-show-msg = afficher les candidats bruts
+ .title = cliquer pour développer cette section
+about-webrtc-raw-cand-hide-msg = masquer les candidats bruts
+ .title = cliquer pour réduire cette section
+about-webrtc-raw-cand-section-show-msg = Afficher les candidats bruts
+ .title = Cliquer pour développer cette section
+about-webrtc-raw-cand-section-hide-msg = Masquer les candidats bruts
+ .title = Cliquer pour réduire cette section
+about-webrtc-priority = Priorité
+about-webrtc-fold-show-msg = afficher les détails
+ .title = cliquer pour développer cette section
+about-webrtc-fold-hide-msg = masquer les détails
+ .title = cliquer pour réduire cette section
+about-webrtc-fold-default-show-msg = Afficher les détails
+ .title = Cliquer pour développer cette section
+about-webrtc-fold-default-hide-msg = Masquer les détails
+ .title = Cliquer pour réduire cette section
+about-webrtc-dropped-frames-label = Images perdues :
+about-webrtc-discarded-packets-label = Paquets ignorés :
+about-webrtc-decoder-label = Décodeur
+about-webrtc-encoder-label = Encodeur
+about-webrtc-show-tab-label = Afficher l’onglet
+about-webrtc-current-framerate-label = Fréquence d’images
+about-webrtc-width-px = Largeur (px)
+about-webrtc-height-px = Hauteur (px)
+about-webrtc-consecutive-frames = Images consécutives
+about-webrtc-time-elapsed = Temps écoulé (s)
+about-webrtc-estimated-framerate = Images par seconde estimées
+about-webrtc-rotation-degrees = Rotation (degrés)
+about-webrtc-first-frame-timestamp = Horodatage de réception de la première image
+about-webrtc-last-frame-timestamp = Horodatage de réception de la dernière image
+
+## SSRCs are identifiers that represent endpoints in an RTP stream
+
+# This is an SSRC on the local side of the connection that is receiving RTP
+about-webrtc-local-receive-ssrc = SSRC de réception locale
+# This is an SSRC on the remote side of the connection that is sending RTP
+about-webrtc-remote-send-ssrc = SSRC d’envoi à distance
+
+## These are displayed on the button that shows or hides the
+## PeerConnection configuration disclosure
+
+about-webrtc-pc-configuration-show-msg = Afficher la configuration
+about-webrtc-pc-configuration-hide-msg = Masquer la configuration
+
+##
+
+# An option whose value will not be displayed but instead noted as having been
+# provided
+about-webrtc-configuration-element-provided = Fourni
+# An option whose value will not be displayed but instead noted as having not
+# been provided
+about-webrtc-configuration-element-not-provided = Non fourni
+# The options set by the user in about:config that could impact a WebRTC call
+about-webrtc-custom-webrtc-configuration-heading = Préférences WebRTC définies par l’utilisateur ou l’utilisatrice
+
+## These are displayed on the button that shows or hides the
+## user modified configuration disclosure
+
+
+##
+
+# Section header for estimated bandwidths of WebRTC media flows
+about-webrtc-bandwidth-stats-heading = Bande passante estimée
+# The ID of the MediaStreamTrack
+about-webrtc-track-identifier = Numéro de piste
+# The estimated bandwidth available for sending WebRTC media in bytes per second
+about-webrtc-send-bandwidth-bytes-sec = Débit montant (octets/s)
+# The estimated bandwidth available for receiving WebRTC media in bytes per second
+about-webrtc-receive-bandwidth-bytes-sec = Débit descendant (octets/s)
+# Maximum number of bytes per second that will be padding zeros at the ends of packets
+about-webrtc-max-padding-bytes-sec = Bourrage maximal (octets/s)
+# The amount of time inserted between packets to keep them spaced out
+about-webrtc-pacer-delay-ms = Délai d’espacement (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 = Statistiques d’images vidéo - ID MediaStreamTrack : { $track-identifier }
+
+## These are paths used for saving the about:webrtc page or log files so
+## they can be attached to bug reports.
+## Variables:
+## $path (String) - The path to which the file is saved.
+
+about-webrtc-save-page-msg = page enregistrée à l’emplacement suivant : { $path }
+about-webrtc-debug-mode-off-state-msg = le fichier de la trace est disponible à l’emplacement suivant : { $path }
+about-webrtc-debug-mode-on-state-msg = mode débogage actif, le fichier de la trace est disponible à l’emplacement suivant : { $path }
+about-webrtc-aec-logging-off-state-msg = les fichiers de journalisation capturés sont disponibles à l’emplacement suivant : { $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 enregistrée à l’emplacement suivant : { $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 } image
+ *[other] { $frames } images
+ }
+# 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 } canal
+ *[other] { $channels } canaux
+ }
+# 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] Un paquet reçu
+ *[other] { $packets } paquets reçus
+ }
+# 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] Un paquet perdu
+ *[other] { $packets } paquets perdus
+ }
+# 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] Un paquet envoyé
+ *[other] { $packets } paquets envoyés
+ }
+# 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 = Gigue { $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 = Les candidats lents (arrivant après la réponse) sont affichés avec un fond bleu
+
+## "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 = Définir SDP local à l’horodatage { 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 = Définir SDP distant à l’horodatage { 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 = Horodatage { 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 = Afficher le SDP
+about-webrtc-hide-msg-sdp = Masquer le 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 = Afficher le contexte multimédia
+about-webrtc-media-context-hide-msg = Masquer le contexte multimédia
+about-webrtc-media-context-heading = Contexte multimédia
+
+##
+
diff --git a/thunderbird-l10n/fr/localization/fr/toolkit/about/aboutWindowsMessages.ftl b/thunderbird-l10n/fr/localization/fr/toolkit/about/aboutWindowsMessages.ftl
new file mode 100644
index 0000000000..7636f09b34
--- /dev/null
+++ b/thunderbird-l10n/fr/localization/fr/toolkit/about/aboutWindowsMessages.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/.
+
+
+### 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 = Informations sur les messages de Windows
+windows-messages-intro = Cette page affiche les messages les plus récents envoyés par Windows aux fenêtres du navigateur { -brand-short-name }. L’entrée en gras correspond à cette fenêtre. Notez que la page affiche les messages les plus récents reçus au moment de son chargement. Pour voir les messages actuels, vous devez la rafraîchir.
+windows-messages-copy-to-clipboard = Copier dans le presse-papiers
diff --git a/thunderbird-l10n/fr/localization/fr/toolkit/about/abuseReports.ftl b/thunderbird-l10n/fr/localization/fr/toolkit/about/abuseReports.ftl
new file mode 100644
index 0000000000..d6f088cda9
--- /dev/null
+++ b/thunderbird-l10n/fr/localization/fr/toolkit/about/abuseReports.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/.
+
+# 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 = Rapport pour { $addon-name }
+abuse-report-title-extension = Signaler cette extension à { -vendor-short-name }
+abuse-report-title-sitepermission = Signaler ce module complémentaire d’autorisations de site à { -vendor-short-name }
+abuse-report-title-theme = Signaler ce thème à { -vendor-short-name }
+abuse-report-subtitle = Quel est le problème ?
+# Variables:
+# $author-name (string) - Name of the add-on author
+abuse-report-addon-authored-by = par <a data-l10n-name="author-name">{ $author-name }</a>
+abuse-report-learnmore =
+ Vous ne savez pas quel problème choisir ?
+ <a data-l10n-name="learnmore-link">Apprenez-en plus sur le signalement d’extensions et de thèmes</a>
+abuse-report-learnmore-intro = Vous ne savez pas quel problème choisir ?
+abuse-report-learnmore-link = Apprenez-en plus sur le signalement d’extensions et de thèmes
+abuse-report-submit-description = Décrivez le problème (facultatif)
+abuse-report-textarea =
+ .placeholder = Il est plus facile pour nous de résoudre un problème si nous avons connaissance des détails. Veuillez décrire ce que vous avez constaté. Merci de nous aider à garder le Web en bonne santé.
+abuse-report-submit-note =
+ Remarque : N’incluez pas d’informations personnelles (telles que nom, adresse e-mail, numéro de téléphone, adresse physique).
+ { -vendor-short-name } conserve un enregistrement permanent de ces rapports.
+
+## Panel buttons.
+
+abuse-report-cancel-button = Annuler
+abuse-report-next-button = Suivant
+abuse-report-goback-button = Retour
+abuse-report-submit-button = Envoyer
+
+## Message bars descriptions.
+##
+## Variables:
+## $addon-name (string) - Name of the add-on
+
+abuse-report-messagebar-aborted = Signalement de <span data-l10n-name="addon-name">{ $addon-name }</span> annulé.
+abuse-report-messagebar-submitting = Envoi du signalement concernant <span data-l10n-name="addon-name">{ $addon-name }</span>.
+abuse-report-messagebar-submitted = Merci d’avoir soumis un rapport. Voulez-vous supprimer <span data-l10n-name="addon-name">{ $addon-name }</span> ?
+abuse-report-messagebar-submitted-noremove = Merci d’avoir soumis un rapport.
+abuse-report-messagebar-removed-extension = Merci d’avoir soumis un rapport. Vous avez supprimé l’extension <span data-l10n-name="addon-name">{ $addon-name }</span>.
+abuse-report-messagebar-removed-sitepermission = Merci d’avoir soumis un rapport. Vous avez supprimé le module complémentaire d’autorisations de site <span data-l10n-name="addon-name">{ $addon-name }</span>.
+abuse-report-messagebar-removed-theme = Merci d’avoir soumis un rapport. Vous avez supprimé le thème <span data-l10n-name="addon-name">{ $addon-name }</span>.
+abuse-report-messagebar-error = Une erreur s’est produite lors de l’envoi du rapport pour <span data-l10n-name="addon-name">{ $addon-name }</span>.
+abuse-report-messagebar-error-recent-submit = Le rapport <span data-l10n-name="addon-name">{ $addon-name }</span> n’a pas été transmis car un autre rapport a été transmis récemment.
+abuse-report-messagebar-aborted2 =
+ .message = Signalement de { $addon-name } annulé.
+abuse-report-messagebar-submitting2 =
+ .message = Envoi du signalement concernant { $addon-name }.
+abuse-report-messagebar-submitted2 =
+ .message = Merci d’avoir soumis un rapport. Voulez-vous supprimer { $addon-name } ?
+abuse-report-messagebar-submitted-noremove2 =
+ .message = Merci d’avoir soumis un rapport.
+abuse-report-messagebar-removed-extension2 =
+ .message = Merci d’avoir soumis un rapport. Vous avez supprimé l’extension { $addon-name }.
+abuse-report-messagebar-removed-sitepermission2 =
+ .message = Merci d’avoir soumis un rapport. Vous avez supprimé le module complémentaire d’autorisations de site { $addon-name }.
+abuse-report-messagebar-removed-theme2 =
+ .message = Merci d’avoir soumis un rapport. Vous avez supprimé le thème { $addon-name }.
+abuse-report-messagebar-error2 =
+ .message = Une erreur s’est produite lors de l’envoi du rapport pour { $addon-name }.
+abuse-report-messagebar-error-recent-submit2 =
+ .message = Le rapport { $addon-name } n’a pas été transmis car un autre rapport a été transmis récemment.
+
+## Message bars actions.
+
+abuse-report-messagebar-action-remove-extension = Oui, supprimez-la
+abuse-report-messagebar-action-keep-extension = Non, je vais la conserver
+abuse-report-messagebar-action-remove-sitepermission = Oui, supprimez-le
+abuse-report-messagebar-action-keep-sitepermission = Non, je vais le conserver
+abuse-report-messagebar-action-remove-theme = Oui, supprimez-le
+abuse-report-messagebar-action-keep-theme = Non, je vais le conserver
+abuse-report-messagebar-action-retry = Réessayer
+abuse-report-messagebar-action-cancel = Annuler
+
+## Abuse report reasons (optionally paired with related examples and/or suggestions)
+
+abuse-report-damage-reason-v2 = Mes données ou mon ordinateur ont été endommagés
+abuse-report-damage-example = Exemple : a injecté un logiciel malveillant ou volé des données
+abuse-report-spam-reason-v2 = Contient du spam ou insère de la publicité indésirable
+abuse-report-spam-example = Exemple : insère des publicités sur des pages web
+abuse-report-settings-reason-v2 = A modifié mon moteur de recherche, ma page d’accueil ou de nouvel onglet sans me prévenir ou me demander
+abuse-report-settings-suggestions = Avant de signaler l’extension, vous pouvez essayer de modifier vos paramètres :
+abuse-report-settings-suggestions-search = Modifie vos paramètres de recherche par défaut
+abuse-report-settings-suggestions-homepage = Modifie votre page d’accueil et de nouvel onglet
+abuse-report-deceptive-reason-v2 = Prétend être ce qu’il/elle n’est pas
+abuse-report-deceptive-example = Exemple : description ou images trompeuses
+abuse-report-broken-reason-extension-v2 = Ne fonctionne pas, casse les sites web ou ralentit { -brand-product-name }
+abuse-report-broken-reason-sitepermission-v2 = Ne fonctionne pas, casse les sites web ou ralentit { -brand-product-name }
+abuse-report-broken-reason-theme-v2 = Ne fonctionne pas ou interrompt l’affichage du navigateur
+abuse-report-broken-example = Exemple : les fonctionnalités sont lentes, difficiles à utiliser ou ne fonctionnent pas ; des parties de sites web ne se chargent pas ou semblent inhabituelles
+abuse-report-broken-suggestions-extension =
+ Vous avez probablement identifié un problème. En plus de soumettre un rapport ici, la meilleure façon de résoudre un problème de fonctionnalité est de contacter le développeur de l’extension.
+ <a data-l10n-name="support-link">Visitez le site web de l’extension</a> pour obtenir des informations sur le développeur.
+abuse-report-broken-suggestions-sitepermission =
+ Il semble que vous avez identifié un bug. En plus de soumettre un rapport ici, la meilleure façon d’obtenir la résolution d’un problème de fonctionnement est de contacter la personne qui développe le site web.
+ <a data-l10n-name="support-link">Visitez le site web</a> pour trouver les informations de contact du développeur ou de la développeuse.
+abuse-report-broken-suggestions-theme =
+ Vous avez probablement identifié un problème. En plus de soumettre un rapport ici, la meilleure façon de résoudre un problème de fonctionnalité est de contacter le développeur du thème.
+ <a data-l10n-name="support-link">Visitez le site web du thème</a> pour trouver des informations sur le développeur.
+abuse-report-policy-reason-v2 = Contient des contenus haineux, violents ou illégaux
+abuse-report-policy-suggestions =
+ Remarque : Les problèmes de droits d’auteur et de marques doivent être signalés dans un processus séparé.
+ <a data-l10n-name="report-infringement-link">Suivez ces instructions</a> pour signaler le problème.
+abuse-report-unwanted-reason-v2 = Je n’en ai jamais voulu et je ne sais pas comment m’en débarrasser
+abuse-report-unwanted-example = Exemple : une application l’a installée sans mon autorisation
+abuse-report-other-reason = Autre chose
diff --git a/thunderbird-l10n/fr/localization/fr/toolkit/about/certviewer.ftl b/thunderbird-l10n/fr/localization/fr/toolkit/about/certviewer.ftl
new file mode 100644
index 0000000000..09660ed4dd
--- /dev/null
+++ b/thunderbird-l10n/fr/localization/fr/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 = Certificat
+
+## Error messages
+
+certificate-viewer-error-message = Nous n’avons pas pu trouver les informations sur le certificat ou le certificat est corrompu. Veuillez réessayer.
+certificate-viewer-error-title = Quelque chose s’est mal passé.
+
+## Certificate information labels
+
+certificate-viewer-algorithm = Algorithme
+certificate-viewer-certificate-authority = Autorité de certification
+certificate-viewer-cipher-suite = Suite de chiffrement
+certificate-viewer-common-name = Nom courant
+certificate-viewer-email-address = Adresse e-mail
+# Variables:
+# $firstCertName (String) - Common Name for the displayed certificate
+certificate-viewer-tab-title = Certificat pour { $firstCertName }
+# Inc. means Incorporated, e.g GitHub is incorporated in Delaware
+certificate-viewer-inc-country = Pays d’enregistrement
+certificate-viewer-country = Pays
+certificate-viewer-curve = Courbe
+certificate-viewer-distribution-point = Point de distribution
+certificate-viewer-dns-name = Nom DNS
+certificate-viewer-ip-address = Adresse IP
+certificate-viewer-other-name = Autre nom
+certificate-viewer-exponent = Exposant
+certificate-viewer-id = ID
+certificate-viewer-key-exchange-group = Groupe d’échange de clés
+certificate-viewer-key-id = ID de clé
+certificate-viewer-key-size = Taille de la clé
+# Inc. means Incorporated, e.g GitHub is incorporated in Delaware
+certificate-viewer-inc-locality = Siège social
+certificate-viewer-locality = Localité
+certificate-viewer-location = Emplacement
+certificate-viewer-logid = ID de journal
+certificate-viewer-method = Méthode
+certificate-viewer-modulus = Module
+certificate-viewer-name = Nom
+certificate-viewer-not-after = Pas après
+certificate-viewer-not-before = Pas avant
+certificate-viewer-organization = Organisation
+certificate-viewer-organizational-unit = Unité organisationnelle
+certificate-viewer-policy = Politique
+certificate-viewer-protocol = Protocole
+certificate-viewer-public-value = Valeur publique
+certificate-viewer-purposes = Usages
+certificate-viewer-qualifier = Qualificatif
+certificate-viewer-qualifiers = Qualificatifs
+certificate-viewer-required = Requis
+certificate-viewer-unsupported = &lt;non pris en charge&gt;
+# Inc. means Incorporated, e.g GitHub is incorporated in Delaware
+certificate-viewer-inc-state-province = État / Province d’enregistrement
+certificate-viewer-state-province = État / Province
+certificate-viewer-sha-1 = SHA-1
+certificate-viewer-sha-256 = SHA-256
+certificate-viewer-serial-number = Numéro de série
+certificate-viewer-signature-algorithm = Algorithme de signature
+certificate-viewer-signature-scheme = Schéma de signature
+certificate-viewer-timestamp = Horodatage
+certificate-viewer-value = Valeur
+certificate-viewer-version = Version
+certificate-viewer-business-category = Catégorie d’affaires
+certificate-viewer-subject-name = Nom du sujet
+certificate-viewer-issuer-name = Nom de l’émetteur
+certificate-viewer-validity = Validité
+certificate-viewer-subject-alt-names = Noms alternatifs du sujet
+certificate-viewer-public-key-info = Informations sur la clé publique
+certificate-viewer-miscellaneous = Divers
+certificate-viewer-fingerprints = Empreintes numériques
+certificate-viewer-basic-constraints = Contraintes de base
+certificate-viewer-key-usages = Utilisations de la clé
+certificate-viewer-extended-key-usages = Utilisations étendues de la clé
+certificate-viewer-ocsp-stapling = Agrafage OCSP
+certificate-viewer-subject-key-id = Identifiant de clé du sujet
+certificate-viewer-authority-key-id = Identifiant de clé de l’autorité
+certificate-viewer-authority-info-aia = Informations sur l’autorité (AIA)
+certificate-viewer-certificate-policies = Politiques du certificat
+certificate-viewer-embedded-scts = SCT intégrés
+certificate-viewer-crl-endpoints = Points de terminaison CRL
+
+# This message is used as a row header in the Miscellaneous section.
+# The associated data cell contains links to download the certificate.
+certificate-viewer-download = Télécharger
+# 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] Oui
+ *[false] Non
+ }
+
+## 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 = Cette extension a été marquée comme critique, ce qui signifie que les clients doivent rejeter le certificat s’ils ne le comprennent pas.
+certificate-viewer-export = Exporter
+ .download = { $fileName }.pem
+
+##
+
+# Label for a tab where we haven't found a better label:
+certificate-viewer-unknown-group-label = (inconnu)
+
+## Labels for tabs displayed in stand-alone about:certificate page
+
+certificate-viewer-tab-mine = Vos certificats
+certificate-viewer-tab-people = Personnes
+certificate-viewer-tab-servers = Serveurs
+certificate-viewer-tab-ca = Autorités
+certificate-viewer-tab-unkonwn = Inconnu
diff --git a/thunderbird-l10n/fr/localization/fr/toolkit/about/config.ftl b/thunderbird-l10n/fr/localization/fr/toolkit/about/config.ftl
new file mode 100644
index 0000000000..a122796929
--- /dev/null
+++ b/thunderbird-l10n/fr/localization/fr/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 = Agissez avec précaution
+about-config-intro-warning-text = Modifier les préférences de configuration avancées peut affecter les performances et la sécurité de { -brand-short-name }.
+about-config-intro-warning-checkbox = M’avertir lorsque j’essaie d’accéder à ces préférences
+about-config-intro-warning-button = Accepter le risque et poursuivre
+
+##
+
+# This is shown on the page before searching but after the warning is accepted.
+about-config-caution-text = Modifier ces préférences peut affecter les performances et la sécurité de { -brand-short-name }.
+
+about-config-page-title = Préférences avancées
+
+about-config-search-input1 =
+ .placeholder = Rechercher un nom de préférence
+about-config-show-all = Tout afficher
+
+about-config-show-only-modified = Afficher uniquement les préférences modifiées
+
+about-config-pref-add-button =
+ .title = Ajouter
+about-config-pref-toggle-button =
+ .title = Inverser
+about-config-pref-edit-button =
+ .title = Modifier
+about-config-pref-save-button =
+ .title = Enregistrer
+about-config-pref-reset-button =
+ .title = Réinitialiser
+about-config-pref-delete-button =
+ .title = Supprimer
+
+## Labels for the type selection radio buttons shown when adding preferences.
+
+about-config-pref-add-type-boolean = Booléen
+about-config-pref-add-type-number = Nombre
+about-config-pref-add-type-string = Chaîne
+
+## 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 } (par défaut)
+about-config-pref-accessible-value-custom =
+ .aria-label = { $value } (personnalisée)
diff --git a/thunderbird-l10n/fr/localization/fr/toolkit/about/url-classifier.ftl b/thunderbird-l10n/fr/localization/fr/toolkit/about/url-classifier.ftl
new file mode 100644
index 0000000000..8dabf1bc9b
--- /dev/null
+++ b/thunderbird-l10n/fr/localization/fr/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 = Informations sur la classification des URL
+url-classifier-search-title = Recherche
+url-classifier-search-result-title = Résultats
+url-classifier-search-result-uri = URI : { $uri }
+url-classifier-search-result-list = Liste de tableaux : { $list }
+url-classifier-search-input = URL
+url-classifier-search-error-invalid-url = URL invalide
+url-classifier-search-error-no-features = Aucune fonctionnalité sélectionnée
+url-classifier-search-btn = Lancer une recherche
+url-classifier-search-features = Fonctionnalités
+url-classifier-search-listType = Type de liste
+url-classifier-provider-title = Fournisseurs
+url-classifier-provider = Fournisseur
+url-classifier-provider-last-update-time = Dernière mise à jour
+url-classifier-provider-next-update-time = Prochaine mise à jour
+url-classifier-provider-back-off-time = Période d’interruption
+url-classifier-provider-last-update-status = Dernier état de mise à jour
+url-classifier-provider-update-btn = Mise à jour
+url-classifier-cache-title = Cache
+url-classifier-cache-refresh-btn = Actualiser
+url-classifier-cache-clear-btn = Effacer
+url-classifier-cache-table-name = Nom du tableau
+url-classifier-cache-ncache-entries = Nombre d’entrées négatives du cache
+url-classifier-cache-pcache-entries = Nombre d’entrées positives du cache
+url-classifier-cache-show-entries = Afficher les entrées
+url-classifier-cache-entries = Entrées du cache
+url-classifier-cache-prefix = Préfixe
+url-classifier-cache-ncache-expiry = Expiration de cache négative
+url-classifier-cache-fullhash = Empreinte complète
+url-classifier-cache-pcache-expiry = Expiration de cache positive
+url-classifier-debug-title = Débogage
+url-classifier-debug-module-btn = Activer les modules de journalisation
+url-classifier-debug-file-btn = Définir un fichier de journalisation
+url-classifier-debug-js-log-chk = Activer la journalisation JS
+url-classifier-debug-sb-modules = Modules de journalisation pour le blocage de sites malveillants
+url-classifier-debug-modules = Modules de journalisation actuels
+url-classifier-debug-sbjs-modules = Journal JS du blocage de sites malveillants
+url-classifier-debug-file = Fichier de journalisation actuel
+
+url-classifier-trigger-update = Déclencher une mise à jour
+url-classifier-not-available = Non disponible
+url-classifier-disable-sbjs-log = Désactiver la journalisation JS du blocage de sites malveillants
+url-classifier-enable-sbjs-log = Activer la journalisation JS du blocage de sites malveillants
+url-classifier-enabled = Activé
+url-classifier-disabled = Désactivé
+url-classifier-updating = mise à jour en cours
+url-classifier-cannot-update = impossible de mettre à jour
+url-classifier-success = succès
+
+## Variables
+## $error (string) - Error message
+
+url-classifier-update-error = erreur de mise à jour ({ $error })
+url-classifier-download-error = erreur de téléchargement ({ $error })
diff --git a/thunderbird-l10n/fr/localization/fr/toolkit/branding/accounts.ftl b/thunderbird-l10n/fr/localization/fr/toolkit/branding/accounts.ftl
new file mode 100644
index 0000000000..ca75a6bdb5
--- /dev/null
+++ b/thunderbird-l10n/fr/localization/fr/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 ->
+ *[lowercase] compte Firefox
+ [uppercase] Compte Firefox
+ }
diff --git a/thunderbird-l10n/fr/localization/fr/toolkit/branding/brandings.ftl b/thunderbird-l10n/fr/localization/fr/toolkit/branding/brandings.ftl
new file mode 100644
index 0000000000..c0267edd24
--- /dev/null
+++ b/thunderbird-l10n/fr/localization/fr/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 par Mozilla
+# “Suggest” can be localized, “Firefox” must be treated as a brand
+# and kept in English.
+-firefox-suggest-brand-name = Firefox suggère
+# ”Home" can be localized, “Firefox” must be treated as a brand
+# and kept in English.
+-firefox-home-brand-name = Page d’accueil de Firefox
+# 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/fr/localization/fr/toolkit/contentanalysis/contentanalysis.ftl b/thunderbird-l10n/fr/localization/fr/toolkit/contentanalysis/contentanalysis.ftl
new file mode 100644
index 0000000000..838a26fb7b
--- /dev/null
+++ b/thunderbird-l10n/fr/localization/fr/toolkit/contentanalysis/contentanalysis.ftl
@@ -0,0 +1,25 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+contentanalysis-alert-title = Analyse de contenu
+# Variables:
+# $content - Description of the content being warned about, such as "clipboard" or "aFile.txt"
+contentanalysis-slow-agent-notification = L’outil d’analyse de contenu met beaucoup de temps à répondre pour la ressource « { $content } »
+contentanalysis-slow-agent-dialog-title = Analyse du contenu en cours
+# Variables:
+# $content - Description of the content being warned about, such as "clipboard" or "aFile.txt"
+contentanalysis-slow-agent-dialog-body = L’analyse de contenu analyse la ressource « { $content } »
+contentanalysis-operationtype-clipboard = presse-papiers
+contentanalysis-operationtype-dropped-text = texte relâché
+contentanalysis-notification-title = Analyse de contenu
+# Variables:
+# $content - Description of the content being reported, such as "clipboard" or "aFile.txt"
+# $response - The response received from the content analysis agent, such as "REPORT_ONLY"
+contentanalysis-genericresponse-message = L’analyse de contenu a répondu { $response } pour la ressource : { $content }
+# Variables:
+# $content - Description of the content being blocked, such as "clipboard" or "aFile.txt"
+contentanalysis-block-message = Votre organisation utilise un logiciel de protection contre la perte de données qui a bloqué ce contenu : { $content }.
+# Variables:
+# $content - Description of the content being blocked, such as "clipboard" or "aFile.txt"
+contentanalysis-error-message = Une erreur est survenue pendant la communication avec le logiciel de protection contre la perte de données. Transfert refusé pour la ressource : { $content }.
diff --git a/thunderbird-l10n/fr/localization/fr/toolkit/downloads/downloadUI.ftl b/thunderbird-l10n/fr/localization/fr/toolkit/downloads/downloadUI.ftl
new file mode 100644
index 0000000000..be631e9d72
--- /dev/null
+++ b/thunderbird-l10n/fr/localization/fr/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 = Annuler tous les téléchargements ?
+
+## Variables:
+## $downloadsCount (Number): The current downloads count.
+
+download-ui-confirm-quit-cancel-downloads =
+ { $downloadsCount ->
+ [1] Si vous quittez maintenant, un téléchargement en cours sera annulé. Voulez-vous vraiment quitter ?
+ *[other] Si vous quittez maintenant, { $downloadsCount } téléchargements seront annulés. Voulez-vous vraiment quitter ?
+ }
+download-ui-confirm-quit-cancel-downloads-mac =
+ { $downloadsCount ->
+ [1] Si vous quittez maintenant, un téléchargement en cours sera annulé. Voulez-vous vraiment quitter ?
+ *[other] Si vous quittez maintenant, { $downloadsCount } téléchargements seront annulés. Voulez-vous vraiment quitter ?
+ }
+download-ui-dont-quit-button =
+ { PLATFORM() ->
+ [mac] Ne pas quitter
+ *[other] Ne pas quitter
+ }
+
+download-ui-confirm-offline-cancel-downloads =
+ { $downloadsCount ->
+ [1] Si vous passez hors connexion maintenant, un téléchargement en cours sera annulé. Voulez-vous vraiment passer hors connexion ?
+ *[other] Si vous passez hors connexion maintenant, { $downloadsCount } téléchargements seront annulés. Voulez-vous vraiment passer hors connexion ?
+ }
+download-ui-dont-go-offline-button = Rester en ligne
+
+download-ui-confirm-leave-private-browsing-windows-cancel-downloads =
+ { $downloadsCount ->
+ [1] Si vous fermez toutes les fenêtres de navigation privée maintenant, 1 téléchargement sera annulé. Voulez-vous vraiment quitter la navigation privée ?
+ *[other] Si vous fermez toutes les fenêtres de navigation privée maintenant, { $downloadsCount } téléchargements seront annulés. Voulez-vous vraiment quitter la navigation privée ?
+ }
+download-ui-dont-leave-private-browsing-button = Rester en mode de navigation privée
+
+download-ui-cancel-downloads-ok =
+ { $downloadsCount ->
+ [1] Annuler le téléchargement
+ *[other] Annuler les { $downloadsCount } téléchargements
+ }
+
+##
+
+download-ui-file-executable-security-warning-title = Ouvrir un fichier exécutable ?
+# Variables:
+# $executable (String): The executable file to be opened.
+download-ui-file-executable-security-warning = « { $executable } » est un fichier exécutable. Les fichiers exécutables peuvent contenir des virus ou des instructions malveillantes pouvant nuire à votre ordinateur. Faites attention en ouvrant ce type de fichier. Voulez-vous vraiment lancer « { $executable } » ?
diff --git a/thunderbird-l10n/fr/localization/fr/toolkit/downloads/downloadUtils.ftl b/thunderbird-l10n/fr/localization/fr/toolkit/downloads/downloadUtils.ftl
new file mode 100644
index 0000000000..f6b436de9d
--- /dev/null
+++ b/thunderbird-l10n/fr/localization/fr/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] min
+ *[other] min
+ }
+# Short form for hours
+download-utils-short-hours =
+ { $timeValue ->
+ [one] h
+ *[other] h
+ }
+# Short form for days
+download-utils-short-days =
+ { $timeValue ->
+ [one] j
+ *[other] j
+ }
+
+##
+
+# — 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 }/s)
+# 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 } (Très rapide)
+# — 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 = octets
+download-utils-kilobyte = Ko
+download-utils-megabyte = Mo
+download-utils-gigabyte = Go
+
+# 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 } sur { $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 } sur { $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 = Temps restant : { $time }
+# examples: 11h 2m left; 1d 22h left
+# Variables:
+# $time1 (String): time left, including a unit
+# $time2 (String): smaller measure of time left, including a unit
+download-utils-time-left-double = Temps restant : { $time1 } { $time2 }
+download-utils-time-few-seconds = Quelques secondes restantes
+download-utils-time-unknown = Temps restant indéterminé
+
+# Variables:
+# $scheme (String): URI scheme like data: jar: about:
+download-utils-done-scheme = Ressource { $scheme }
+# 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 = fichier local
+
+# Displayed time for files finished yesterday
+download-utils-yesterday = Hier
diff --git a/thunderbird-l10n/fr/localization/fr/toolkit/featuregates/features.ftl b/thunderbird-l10n/fr/localization/fr/toolkit/featuregates/features.ftl
new file mode 100644
index 0000000000..f80a2cf07c
--- /dev/null
+++ b/thunderbird-l10n/fr/localization/fr/toolkit/featuregates/features.ftl
@@ -0,0 +1,58 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# The title of the experiment should be kept in English as it may be referenced
+# by various online articles and is technical in nature.
+experimental-features-css-masonry2 =
+ .label = CSS : Masonry Layout
+experimental-features-css-masonry-description = Active la prise en charge de la fonctionnalité expérimentale CSS Masonry Layout. Consultez <a data-l10n-name="explainer">cette explication</a> pour une description de haut niveau de la fonctionnalité. Pour soumettre vos commentaires, veuillez commenter dans <a data-l10n-name="w3c-issue">cette issue sur GitHub</a> ou <a data-l10n-name="bug">ce 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 = API web : WebGPU
+experimental-features-web-gpu-description3 = L’<a data-l10n-name="wikipedia-webgpu">API WebGPU</a> fournit une prise en charge de bas niveau pour effectuer des calculs et des rendus graphiques à l’aide du <a data-l10n-name="wikipedia-gpu">processeur graphique (GPU)</a> de l’appareil ou de l’ordinateur de l’utilisateur. La première version de la <a data-l10n-name="spec">spécification</a> est sur le point d’être finalisée. Voir le <a data-l10n-name="bugzilla">bug 1616739</a> pour plus de détails.
+
+# 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 = Multimédia : JPEG XL
+experimental-features-media-jxl-description = Lorsque cette fonctionnalité est activée, { -brand-short-name } prend en charge le format JPEG XL (JXL). Il s’agit d’un format de fichier image amélioré qui prend en charge la transition sans perte à partir des fichiers JPEG traditionnels. Voir le <a data-l10n-name="bugzilla">bug 1539075</a> pour plus de détails.
+
+experimental-features-devtools-compatibility-panel =
+ .label = Outils de développement : panneau Compatibilité
+experimental-features-devtools-compatibility-panel-description = Un panneau latéral pour l’inspecteur de page qui affiche des informations détaillant l’état de compatibilité entre navigateurs de votre application. Voir le <a data-l10n-name="bugzilla">bug 1584464</a> pour plus de détails.
+
+
+# Do not translate 'SameSite', 'Lax' and 'None'.
+experimental-features-cookie-samesite-none-requires-secure2 =
+ .label = Cookies : SameSite=None nécessite l’attribut secure
+experimental-features-cookie-samesite-none-requires-secure2-description = Les cookies avec l’attribut « SameSite=None » doivent être munis de l’attribut secure. Cette fonctionnalité nécessite l’activation de « Cookies : SameSite=Lax par défaut ».
+
+# 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 = Cache de démarrage pour about:home
+experimental-features-abouthome-startup-cache-description = Cache pour le contenu initial de la page about:home qui est chargée par défaut au démarrage. Le but de ce cache est d’améliorer les performances de démarrage.
+
+# "Service Worker" is an API name and is usually not translated.
+experimental-features-devtools-serviceworker-debugger-support =
+ .label = Outils de développement : débogage de Service worker
+# "Service Worker" is an API name and is usually not translated.
+experimental-features-devtools-serviceworker-debugger-support-description = Active la prise en charge expérimentale des Service workers dans le panneau Débogueur. Cette fonctionnalité peut ralentir les outils de développement et augmenter la consommation de mémoire.
+
+# WebRTC global mute toggle controls
+experimental-features-webrtc-global-mute-toggles =
+ .label = Activer/désactiver l’audio et la vidéo WebRTC au niveau global
+experimental-features-webrtc-global-mute-toggles-description = Ajoute des commandes à l’indicateur de partage global WebRTC qui permettent aux utilisateurs de désactiver globalement leur microphone et leurs flux de caméra.
+
+# JS JIT Warp project
+experimental-features-js-warp =
+ .label = JavaScript JIT : Warp
+experimental-features-js-warp-description = Active Warp, un projet pour améliorer les performances JavaScript et l’utilisation mémoire.
+
+# Search during IME
+experimental-features-ime-search =
+ .label = Barre d’adresse : afficher les résultats pendant la composition IME
+experimental-features-ime-search-description = Un IME (Input Method Editor, éditeur de méthode de saisie) est un outil qui permet la saisie de symboles complexes, tels que ceux utilisés pour écrire les langues indiennes ou celles d’Asie de l’Est, tout en utilisant un clavier ordinaire. Activer cette expérience conserve ouvert le panneau de la barre d’adresse qui affiche les résultats de recherche et des suggestions, pendant que l’IME est utilisé pour saisir du texte. Notez que l’IME pourrait afficher un panneau recouvrant les résultats de la barre d’adresse, c’est pourquoi cette préférence n’est suggérée que pour les IME qui n’utilisent pas ce type de panneau.
diff --git a/thunderbird-l10n/fr/localization/fr/toolkit/formautofill/formAutofill.ftl b/thunderbird-l10n/fr/localization/fr/toolkit/formautofill/formAutofill.ftl
new file mode 100644
index 0000000000..b7909c9894
--- /dev/null
+++ b/thunderbird-l10n/fr/localization/fr/toolkit/formautofill/formAutofill.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/.
+
+
+## OS Prompt Dialog
+
+# The macos string is preceded by the operating system (macOS) with "Firefox is trying to ",
+# and has a period added to its end. Make sure to test in your locale.
+autofill-use-payment-method-os-prompt-macos = faire usage des informations de moyens de paiement enregistrés
+# The links lead users to Form Autofill browser preferences.
+autofill-options-link = Options de remplissage automatique des formulaires
+autofill-options-link-osx = Préférences de remplissage automatique des formulaires
+
+## The credit card capture doorhanger
+
+
+# Used on the doorhanger when an credit card change is detected.
+
diff --git a/thunderbird-l10n/fr/localization/fr/toolkit/global/alert.ftl b/thunderbird-l10n/fr/localization/fr/toolkit/global/alert.ftl
new file mode 100644
index 0000000000..8b17c0ac3c
--- /dev/null
+++ b/thunderbird-l10n/fr/localization/fr/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 = Fermer cette notification
+alert-settings-title =
+ .tooltiptext = Paramètres
+
+## Reminder Notifications
+
+notification-default-dismiss = Fermer
diff --git a/thunderbird-l10n/fr/localization/fr/toolkit/global/appPicker.ftl b/thunderbird-l10n/fr/localization/fr/toolkit/global/appPicker.ftl
new file mode 100644
index 0000000000..1f37d8ef89
--- /dev/null
+++ b/thunderbird-l10n/fr/localization/fr/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 = Parcourir…
+app-picker-send-msg =
+ .value = Envoyer cet élément à :
+app-picker-no-app-found =
+ .value = Aucune application n’a été trouvée pour ce type de fichier.
diff --git a/thunderbird-l10n/fr/localization/fr/toolkit/global/browser-utils.ftl b/thunderbird-l10n/fr/localization/fr/toolkit/global/browser-utils.ftl
new file mode 100644
index 0000000000..9f47237bb4
--- /dev/null
+++ b/thunderbird-l10n/fr/localization/fr/toolkit/global/browser-utils.ftl
@@ -0,0 +1,11 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# Used for data: URLs where we don't have any useful origin information
+browser-utils-url-data = (données)
+
+# 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/fr/localization/fr/toolkit/global/commonDialog.ftl b/thunderbird-l10n/fr/localization/fr/toolkit/global/commonDialog.ftl
new file mode 100644
index 0000000000..c9efb1b0b1
--- /dev/null
+++ b/thunderbird-l10n/fr/localization/fr/toolkit/global/commonDialog.ftl
@@ -0,0 +1,21 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+common-dialog-title-null = Cette page annonce
+common-dialog-title-system = { -brand-short-name }
+# Title displayed when the origin of a web dialog is unknown.
+common-dialog-title-unknown = Origine inconnue
+# An indicator showing that Firefox is waiting for an operation to finish
+common-dialog-spinner =
+ .alt = Occupé
+common-dialog-username =
+ .value = Nom d’utilisateur
+common-dialog-password =
+ .value = Mot de passe
+common-dialog-copy-cmd =
+ .label = Copier
+ .accesskey = C
+common-dialog-select-all-cmd =
+ .label = Tout sélectionner
+ .accesskey = T
diff --git a/thunderbird-l10n/fr/localization/fr/toolkit/global/contextual-identity.ftl b/thunderbird-l10n/fr/localization/fr/toolkit/global/contextual-identity.ftl
new file mode 100644
index 0000000000..76c6c9cab0
--- /dev/null
+++ b/thunderbird-l10n/fr/localization/fr/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 = Personnel
+ .accesskey = P
+user-context-work =
+ .label = Professionnel
+ .accesskey = r
+user-context-banking =
+ .label = Bancaire
+ .accesskey = B
+user-context-shopping =
+ .label = Achats en ligne
+ .accesskey = A
+
+##
+
+user-context-none =
+ .label = Sans conteneur
+ .accesskey = S
+user-context-manage-containers =
+ .label = Gérer les conteneurs
+ .accesskey = o
diff --git a/thunderbird-l10n/fr/localization/fr/toolkit/global/cookieBannerHandling.ftl b/thunderbird-l10n/fr/localization/fr/toolkit/global/cookieBannerHandling.ftl
new file mode 100644
index 0000000000..6fbe8159b2
--- /dev/null
+++ b/thunderbird-l10n/fr/localization/fr/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/fr/localization/fr/toolkit/global/createProfileWizard.ftl b/thunderbird-l10n/fr/localization/fr/toolkit/global/createProfileWizard.ftl
new file mode 100644
index 0000000000..eb3c2f7853
--- /dev/null
+++ b/thunderbird-l10n/fr/localization/fr/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 = Assistant de création de profil
+ .style = min-width: 45em; min-height: 34em;
+
+## First wizard page
+
+create-profile-first-page-header2 =
+ { PLATFORM() ->
+ [macos] Introduction
+ *[other] { create-profile-window2.title } - Bienvenue
+ }
+
+profile-creation-explanation-1 = { -brand-short-name } garde les informations concernant vos paramètres et préférences dans votre profil personnel.
+
+profile-creation-explanation-2 = Si vous partagez cette copie de { -brand-short-name } avec d’autres utilisateurs, vous pouvez utiliser les profils pour garder les informations de chaque utilisateur séparées. Pour ce faire, chaque utilisateur devra créer son propre profil.
+
+profile-creation-explanation-3 = Si vous êtes la seule personne à utiliser cette copie de { -brand-short-name }, vous devez avoir au moins un profil. Si vous le désirez, vous pouvez créer différents profils pour vous-même. Par exemple, vous pouvez vouloir disposer de profils séparés pour votre utilisation personnelle et professionnelle.
+
+profile-creation-explanation-4 =
+ { PLATFORM() ->
+ [macos] Pour commencer à créer votre profil, cliquez sur Continuer.
+ *[other] Pour commencer à créer votre profil, cliquez sur Suivant.
+ }
+
+## Second wizard page
+
+create-profile-last-page-header2 =
+ { PLATFORM() ->
+ [macos] Conclusion
+ *[other] { create-profile-window2.title } - Fin
+ }
+
+profile-creation-intro = Si vous créez plusieurs profils, vous pouvez les différencier par leur nom. Vous pouvez utiliser le nom proposé ou en choisir un vous-même.
+
+profile-prompt = Saisissez le nom du nouveau profil :
+ .accesskey = E
+
+profile-default-name =
+ .value = Utilisateur par défaut
+
+profile-directory-explanation = Vos paramètres utilisateur, préférences et toutes vos données personnelles seront enregistrés dans :
+
+create-profile-choose-folder =
+ .label = Choisir un dossier…
+ .accesskey = C
+
+create-profile-use-default =
+ .label = Utiliser le dossier par défaut
+ .accesskey = U
diff --git a/thunderbird-l10n/fr/localization/fr/toolkit/global/cspErrors.ftl b/thunderbird-l10n/fr/localization/fr/toolkit/global/cspErrors.ftl
new file mode 100644
index 0000000000..2372361e41
--- /dev/null
+++ b/thunderbird-l10n/fr/localization/fr/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 = La politique ne possède pas la directive requise « { $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 = La directive « { $directive } » contient un mot-clé interdit : { $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 = La directive « { $directive } » contient un protocole source interdit : { $scheme }:
+
+# 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 = Le protocole { $scheme }: nécessite un hôte dans ses directives « { $directive } »
+
+# Variables:
+# $directive (String): the name of a CSP directive, such as "script-src".
+# $source (String): the name of a CSP source, usually 'self'.
+csp-error-missing-source = « { $directive } » doit inclure la 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 = Les jokers pour les sources { $scheme }: dans les directives « { $directive } » doivent inclure au moins un sous-domaine non générique (par exemple, *.example.com plutôt que *.com)
diff --git a/thunderbird-l10n/fr/localization/fr/toolkit/global/datepicker.ftl b/thunderbird-l10n/fr/localization/fr/toolkit/global/datepicker.ftl
new file mode 100644
index 0000000000..13be37346c
--- /dev/null
+++ b/thunderbird-l10n/fr/localization/fr/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 = Choisir une date
+date-spinner-label =
+ .aria-label = Choisir un mois et une année
+
+## Text of the clear button
+
+date-picker-clear-button = Effacer
+
+## 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 = Mois précédent
+date-picker-next =
+ .aria-label = Mois suivant
+
+## 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 = Mois
+date-spinner-year =
+ .aria-label = Année
+
+## 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 = Mois précédent
+date-spinner-month-next =
+ .aria-label = Mois suivant
+date-spinner-year-previous =
+ .aria-label = Année précédente
+date-spinner-year-next =
+ .aria-label = Année suivante
diff --git a/thunderbird-l10n/fr/localization/fr/toolkit/global/datetimebox.ftl b/thunderbird-l10n/fr/localization/fr/toolkit/global/datetimebox.ftl
new file mode 100644
index 0000000000..e50b093171
--- /dev/null
+++ b/thunderbird-l10n/fr/localization/fr/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 = aaaa
+datetime-month-placeholder = mm
+datetime-day-placeholder = jj
+datetime-time-placeholder = --
+
+## Field labels for input type=date
+
+datetime-year =
+ .aria-label = Année
+datetime-month =
+ .aria-label = Mois
+datetime-day =
+ .aria-label = Jour
+
+## Field labels for input type=time
+
+datetime-hour =
+ .aria-label = Heures
+datetime-minute =
+ .aria-label = Minutes
+datetime-second =
+ .aria-label = Secondes
+datetime-millisecond =
+ .aria-label = Millisecondes
+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 = Calendrier
diff --git a/thunderbird-l10n/fr/localization/fr/toolkit/global/extensionPermissions.ftl b/thunderbird-l10n/fr/localization/fr/toolkit/global/extensionPermissions.ftl
new file mode 100644
index 0000000000..6da719aec7
--- /dev/null
+++ b/thunderbird-l10n/fr/localization/fr/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 = Consulter et modifier les marque-pages
+webext-perms-description-browserSettings = Consulter et modifier les paramètres du navigateur
+webext-perms-description-browsingData = Effacer l’historique de navigation récent, les cookies et les données associées
+webext-perms-description-clipboardRead = Lire les données du presse-papiers
+webext-perms-description-clipboardWrite = Ajouter des données dans le presse-papiers
+webext-perms-description-declarativeNetRequest = Bloquer du contenu sur n’importe quelle page
+webext-perms-description-declarativeNetRequestFeedback = Lire votre historique de navigation
+webext-perms-description-devtools = Ouvrir les outils de développement afin d’accéder à vos données dans les onglets ouverts
+webext-perms-description-downloads = Télécharger des fichiers, et consulter et modifier l’historique des téléchargements du navigateur
+webext-perms-description-downloads-open = Ouvrir les fichiers téléchargés sur votre ordinateur
+webext-perms-description-find = Lire le texte de tous les onglets ouverts
+webext-perms-description-geolocation = Accéder à votre localisation
+webext-perms-description-history = Accéder à l’historique de navigation
+webext-perms-description-management = Surveiller l’utilisation des extensions et gérer les thèmes
+webext-perms-description-nativeMessaging = Échanger des messages avec d’autres programmes que { -brand-short-name }
+webext-perms-description-notifications = Vous afficher des notifications
+webext-perms-description-pkcs11 = Fournir des services d’authentification chiffrée
+webext-perms-description-privacy = Consulter et modifier les paramètres de vie privée
+webext-perms-description-proxy = Contrôler les paramètres proxy du navigateur
+webext-perms-description-sessions = Accéder aux onglets récemment fermés
+webext-perms-description-tabs = Accéder aux onglets du navigateur
+webext-perms-description-tabHide = Afficher ou masquer les onglets du navigateur
+webext-perms-description-topSites = Accéder à l’historique de navigation
+webext-perms-description-webNavigation = Accéder à l’activité du navigateur pendant la navigation
diff --git a/thunderbird-l10n/fr/localization/fr/toolkit/global/extensions.ftl b/thunderbird-l10n/fr/localization/fr/toolkit/global/extensions.ftl
new file mode 100644
index 0000000000..f13ef0893c
--- /dev/null
+++ b/thunderbird-l10n/fr/localization/fr/toolkit/global/extensions.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/.
+
+
+## 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 = Ajouter { $extension } ?
+webext-perms-header-with-perms = Ajouter { $extension } ? Cette extension aura l’autorisation de :
+webext-perms-header-unsigned = Ajouter { $extension } ? Cette extension n’a pas été vérifiée. Les extensions malveillantes peuvent voler vos informations personnelles ou compromettre votre ordinateur. Ne l’ajoutez que si vous faites confiance à la source.
+webext-perms-header-unsigned-with-perms = Ajouter { $extension } ? Cette extension n’a pas été vérifiée. Les extensions malveillantes peuvent voler vos informations personnelles ou compromettre votre ordinateur. Ne l’ajoutez que si vous faites confiance à la source. Cette extension aura l’autorisation de :
+webext-perms-sideload-header = { $extension } a été ajouté
+webext-perms-optional-perms-header = { $extension } demande des permissions supplémentaires.
+
+##
+
+webext-perms-add =
+ .label = Ajouter
+ .accesskey = A
+webext-perms-cancel =
+ .label = Annuler
+ .accesskey = n
+
+webext-perms-sideload-text = Un programme de votre ordinateur a installé un module complémentaire qui pourrait affecter votre navigateur. Veuillez prendre connaissance des permissions que demande ce module et décider de l’activer ou d’annuler (afin de le laisser désactivé).
+webext-perms-sideload-text-no-perms = Un programme de votre ordinateur a installé un module complémentaire qui pourrait affecter votre navigateur. Veuillez décider de l’activer ou d’annuler (afin de le laisser désactivé).
+webext-perms-sideload-enable =
+ .label = Activer
+ .accesskey = A
+webext-perms-sideload-cancel =
+ .label = Annuler
+ .accesskey = n
+
+# Variables:
+# $extension (String): replaced with the localized name of the extension.
+webext-perms-update-text = { $extension } a été mis à jour. Vous devez approuver les nouvelles autorisations avant que la version mise à jour ne soit installée. Sélectionner « Annuler » conservera la version actuelle de l’extension. Cette extension aura l’autorisation de :
+webext-perms-update-accept =
+ .label = Mettre à jour
+ .accesskey = M
+
+webext-perms-optional-perms-list-intro = L’extension souhaite :
+webext-perms-optional-perms-allow =
+ .label = Autoriser
+ .accesskey = A
+webext-perms-optional-perms-deny =
+ .label = Refuser
+ .accesskey = R
+
+webext-perms-host-description-all-urls = Accéder à vos données pour tous les sites web
+
+# Variables:
+# $domain (String): will be replaced by the DNS domain for which a webextension is requesting access (e.g., mozilla.org)
+webext-perms-host-description-wildcard = Accéder à vos données pour les sites du domaine { $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] Accéder à vos données pour { $domainCount } autre domaine
+ *[other] Accéder à vos données pour { $domainCount } autres domaines
+ }
+# 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 = Accéder à vos données pour { $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] Accéder à vos données sur { $domainCount } autre site
+ *[other] Accéder à vos données sur { $domainCount } autres 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 = Ce module complémentaire donne accès aux périphériques MIDI à { $hostname }.
+webext-site-perms-header-with-gated-perms-midi-sysex = Ce module complémentaire donne accès aux périphériques MIDI (avec la prise en charge de SysEx) à { $hostname }.
+
+##
+
+# 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 =
+ Ces périphériques sont habituellement branchés à votre ordinateur, comme par exemple un synthétiseur audio, mais ils peuvent aussi être intégrés à votre ordinateur.
+
+ Les sites web ne sont normalement pas autorisés à accéder aux périphériques MIDI. Une utilisation incorrecte pourrait provoquer des dommages ou compromettre la sécurité.
+
+## 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 = Ajouter { $extension } ? Cette extension donne les capacités suivantes à { $hostname } :
+webext-site-perms-header-unsigned-with-perms = Ajouter { $extension } ? Cette extension n’a pas été vérifiée. Une extension malveillante peut voler vos informations personnelles ou compromettre votre ordinateur. Ne l’ajoutez que si vous faites confiance à sa source. Cette extension donne les capacités suivantes à { $hostname } :
+
+## These should remain in sync with permissions.NAME.label in sitePermissions.properties
+
+webext-site-perms-midi = Accéder aux appareils MIDI
+webext-site-perms-midi-sysex = Accéder aux appareils MIDI prenant en charge SysEx
diff --git a/thunderbird-l10n/fr/localization/fr/toolkit/global/handlerDialog.ftl b/thunderbird-l10n/fr/localization/fr/toolkit/global/handlerDialog.ftl
new file mode 100644
index 0000000000..daf50f8837
--- /dev/null
+++ b/thunderbird-l10n/fr/localization/fr/toolkit/global/handlerDialog.ftl
@@ -0,0 +1,70 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+
+## Permission Dialog
+## Variables:
+## $host (string) - The hostname that is initiating the request
+## $scheme (string) - The type of link that's being opened.
+## $appName (string) - Name of the application that will be opened.
+## $extension (string) - Name of extension that initiated the request
+
+permission-dialog-description = Autoriser ce site à ouvrir le lien { $scheme } ?
+permission-dialog-description-file = Autoriser ce fichier à ouvrir le lien { $scheme } ?
+permission-dialog-description-host = Autoriser { $host } à ouvrir le lien { $scheme } ?
+permission-dialog-description-extension = Autoriser l’extension { $extension } à ouvrir le lien { $scheme } ?
+permission-dialog-description-app = Autoriser ce site à ouvrir le lien { $scheme } avec { $appName } ?
+permission-dialog-description-host-app = Autoriser { $host } à ouvrir le lien { $scheme } avec { $appName } ?
+permission-dialog-description-file-app = Autoriser ce fichier à ouvrir le lien { $scheme } avec { $appName } ?
+permission-dialog-description-extension-app = Autoriser l’extension { $extension } à ouvrir le lien { $scheme } avec { $appName } ?
+permission-dialog-description-system-app = Ouvrir le lien { $scheme } avec { $appName } ?
+permission-dialog-description-system-noapp = Ouvrir le lien { $scheme } ?
+
+## Please keep the emphasis around the hostname and scheme (ie the
+## `<strong>` HTML tags). Please also keep the hostname as close to the start
+## of the sentence as your language's grammar allows.
+## Variables:
+## $host (string) - The hostname that is initiating the request
+## $scheme (string) - The type of link that's being opened.
+
+permission-dialog-remember = Toujours autoriser <strong>{ $host }</strong> à ouvrir les liens <strong>{ $scheme }</strong>
+permission-dialog-remember-file = Toujours autoriser ce fichier à ouvrir les liens <strong>{ $scheme }</strong>
+permission-dialog-remember-extension = Toujours autoriser cette extension à ouvrir les liens <strong>{ $scheme }</strong>
+
+##
+
+permission-dialog-btn-open-link =
+ .label = Ouvrir le lien
+ .accessKey = O
+permission-dialog-btn-choose-app =
+ .label = Choisir une application
+ .accessKey = C
+permission-dialog-unset-description = Vous devrez choisir une application.
+permission-dialog-set-change-app-link = Veuillez choisir une application différente.
+
+## Chooser dialog
+## Variables:
+## $scheme (string) - The type of link that's being opened.
+
+chooser-window =
+ .title = Choisir une application
+ .style = min-width: 26em; min-height: 26em;
+chooser-dialog =
+ .buttonlabelaccept = Ouvrir le lien
+ .buttonaccesskeyaccept = O
+chooser-dialog-description = Choisissez une application pour ouvrir le lien { $scheme }.
+# Please keep the emphasis around the scheme (ie the `<strong>` HTML tags).
+chooser-dialog-remember = Toujours utiliser cette application pour ouvrir les liens <strong>{ $scheme }</strong>
+chooser-dialog-remember-extra =
+ { PLATFORM() ->
+ [windows] Ce paramètre peut être modifié dans les options de { -brand-short-name }
+ *[other] Ce paramètre peut être modifié dans les préférences de { -brand-short-name }
+ }
+choose-other-app-description = Choisir une autre application
+choose-app-btn =
+ .label = Choisir…
+ .accessKey = C
+choose-other-app-window-title = Une autre application…
+# Displayed under the name of a protocol handler in the Launch Application dialog.
+choose-dialog-privatebrowsing-disabled = Désactivé dans les fenêtres privées
diff --git a/thunderbird-l10n/fr/localization/fr/toolkit/global/htmlForm.ftl b/thunderbird-l10n/fr/localization/fr/toolkit/global/htmlForm.ftl
new file mode 100644
index 0000000000..f92db529ce
--- /dev/null
+++ b/thunderbird-l10n/fr/localization/fr/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] et 1 supplémentaire
+ *[other] et { $fileCount } supplémentaires
+ }
diff --git a/thunderbird-l10n/fr/localization/fr/toolkit/global/mozCard.ftl b/thunderbird-l10n/fr/localization/fr/toolkit/global/mozCard.ftl
new file mode 100644
index 0000000000..6fbe8159b2
--- /dev/null
+++ b/thunderbird-l10n/fr/localization/fr/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/fr/localization/fr/toolkit/global/mozFiveStar.ftl b/thunderbird-l10n/fr/localization/fr/toolkit/global/mozFiveStar.ftl
new file mode 100644
index 0000000000..38d469bc20
--- /dev/null
+++ b/thunderbird-l10n/fr/localization/fr/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 = Noté { NUMBER($rating, maximumFractionDigits: 1) } sur 5
diff --git a/thunderbird-l10n/fr/localization/fr/toolkit/global/mozMessageBar.ftl b/thunderbird-l10n/fr/localization/fr/toolkit/global/mozMessageBar.ftl
new file mode 100644
index 0000000000..d1f999c231
--- /dev/null
+++ b/thunderbird-l10n/fr/localization/fr/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 = Information
+moz-message-bar-icon-warning =
+ .alt = Avertissement
+moz-message-bar-icon-success =
+ .alt = Succès
+moz-message-bar-icon-error =
+ .alt = Erreur
+moz-message-bar-close-button =
+ .aria-label = Fermer
+ .title = Fermer
diff --git a/thunderbird-l10n/fr/localization/fr/toolkit/global/mozSupportLink.ftl b/thunderbird-l10n/fr/localization/fr/toolkit/global/mozSupportLink.ftl
new file mode 100644
index 0000000000..1a48a54b60
--- /dev/null
+++ b/thunderbird-l10n/fr/localization/fr/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 = En savoir plus
diff --git a/thunderbird-l10n/fr/localization/fr/toolkit/global/notification.ftl b/thunderbird-l10n/fr/localization/fr/toolkit/global/notification.ftl
new file mode 100644
index 0000000000..9bc9f8d7d6
--- /dev/null
+++ b/thunderbird-l10n/fr/localization/fr/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 = En savoir plus
+
+# 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 = Fermer
+ .title = Fermer
+
+close-notification-message =
+ .tooltiptext = Fermer ce message
diff --git a/thunderbird-l10n/fr/localization/fr/toolkit/global/popupnotification.ftl b/thunderbird-l10n/fr/localization/fr/toolkit/global/popupnotification.ftl
new file mode 100644
index 0000000000..bc7d76fad0
--- /dev/null
+++ b/thunderbird-l10n/fr/localization/fr/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 = En savoir plus
+popup-notification-more-actions-button =
+ .aria-label = Actions supplémentaires
+popup-notification-default-button =
+ .label = OK
+ .accesskey = O
diff --git a/thunderbird-l10n/fr/localization/fr/toolkit/global/processTypes.ftl b/thunderbird-l10n/fr/localization/fr/toolkit/global/processTypes.ftl
new file mode 100644
index 0000000000..c7bceb00bc
--- /dev/null
+++ b/thunderbird-l10n/fr/localization/fr/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 = Contenu web
+
+# process used to run privileged about pages,
+# such as about:home
+process-type-privilegedabout = Pages « à propos » privilégiées
+
+# process used to run privileged mozilla pages,
+# such as accounts.firefox.com
+process-type-privilegedmozilla = Contenus Mozilla privilégiés
+
+process-type-extension = Extension
+
+# process used to open file:// URLs
+process-type-file = Fichier local
+
+# process used to isolate a webpage from other web pages
+# to improve security
+process-type-webisolated = Contenu web isolé
+
+# process used to isolate a ServiceWorker to improve
+# performance
+process-type-webserviceworker = Service worker isolé
+
+# process preallocated; may change to other types
+process-type-prealloc = Préalloué
+
+##
+## Localization for Gecko process types defined in GeckoProcessTypes.h
+##
+
+process-type-default = Principal
+process-type-tab = Onglet
+
+# 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 = Acteur IPC en bac à sable
+
+##
+## Other
+##
+
+# fallback
+process-type-unknown = Inconnu
diff --git a/thunderbird-l10n/fr/localization/fr/toolkit/global/profileDowngrade.ftl b/thunderbird-l10n/fr/localization/fr/toolkit/global/profileDowngrade.ftl
new file mode 100644
index 0000000000..b3fa2f67c9
--- /dev/null
+++ b/thunderbird-l10n/fr/localization/fr/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 = Vous avez lancé une ancienne version de { -brand-product-name }
+ .style = min-width: 490px;
+profiledowngrade-window-create =
+ .label = Créer un nouveau profil
+profiledowngrade-sync = L’utilisation d’une ancienne version de { -brand-product-name } peut corrompre les marque-pages et l’historique de navigation déjà enregistrés dans un profil { -brand-product-name } existant. Pour protéger vos informations, créez un nouveau profil pour cette installation de { -brand-short-name }. Vous pouvez toujours vous connecter avec un { -fxaccount-brand-name } pour synchroniser vos marque-pages et votre historique de navigation entre les profils.
+profiledowngrade-sync2 = L’utilisation d’une ancienne version de { -brand-product-name } peut corrompre les marque-pages et l’historique de navigation déjà enregistrés dans un profil { -brand-product-name } existant. Pour protéger vos informations, créez un nouveau profil pour cette installation de { -brand-short-name }. Vous pouvez toujours vous connecter avec un compte pour synchroniser vos marque-pages et votre historique de navigation entre les profils.
+profiledowngrade-nosync = L’utilisation d’une ancienne version de { -brand-product-name } peut corrompre les marque-pages et l’historique de navigation déjà enregistrés dans un profil { -brand-product-name } existant. Pour protéger vos informations, créez un nouveau profil pour cette installation de { -brand-short-name }.
+profiledowngrade-quit =
+ .label =
+ { PLATFORM() ->
+ [windows] Quitter
+ *[other] Quitter
+ }
diff --git a/thunderbird-l10n/fr/localization/fr/toolkit/global/profileSelection.ftl b/thunderbird-l10n/fr/localization/fr/toolkit/global/profileSelection.ftl
new file mode 100644
index 0000000000..767db42d08
--- /dev/null
+++ b/thunderbird-l10n/fr/localization/fr/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 } - Choisissez un profil utilisateur
+
+profile-selection-button-accept =
+ .label = Démarrer { -brand-short-name }
+
+profile-selection-button-cancel =
+ .label = Quitter
+
+profile-selection-new-button =
+ .label = Créer un profil…
+ .accesskey = C
+
+profile-selection-rename-button =
+ .label = Renommer un profil…
+ .accesskey = R
+
+profile-selection-delete-button =
+ .label = Supprimer un profil…
+ .accesskey = S
+
+profile-selection-conflict-message = Une autre copie de { -brand-product-name } a apporté des modifications aux profils. Vous devez redémarrer { -brand-short-name } avant de procéder à d’autres changements.
+
+## Messages used in the profile manager
+
+profile-manager-description = { -brand-short-name } conserve vos paramètres personnels, vos préférences et d’autres informations dans votre profil utilisateur.
+
+profile-manager-work-offline =
+ .label = Travailler hors connexion
+ .accesskey = T
+
+profile-manager-use-selected =
+ .label = Utiliser le profil sélectionné sans demander au démarrage
+ .accesskey = U
diff --git a/thunderbird-l10n/fr/localization/fr/toolkit/global/resetProfile.ftl b/thunderbird-l10n/fr/localization/fr/toolkit/global/resetProfile.ftl
new file mode 100644
index 0000000000..1344614661
--- /dev/null
+++ b/thunderbird-l10n/fr/localization/fr/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 = Réparer { -brand-short-name } en rétablissant ses paramètres par défaut ?
+refresh-profile-dialog-button =
+ .label = Réparer { -brand-short-name }
+refresh-profile-dialog-description = Recommencez à zéro pour résoudre les problèmes de performances. Cela supprimera vos extensions et personnalisations. Vous ne perdrez aucune information essentielle comme vos marque-pages ou vos mots de passe.
+refresh-profile = Donnez un coup de jeune à { -brand-short-name }
+refresh-profile-button = Réparer { -brand-short-name }…
+refresh-profile-learn-more = En savoir plus
+
+refresh-profile-progress =
+ .title = Réparer { -brand-short-name }
+refresh-profile-progress-description = Réparation en cours…
diff --git a/thunderbird-l10n/fr/localization/fr/toolkit/global/resistFingerPrinting.ftl b/thunderbird-l10n/fr/localization/fr/toolkit/global/resistFingerPrinting.ftl
new file mode 100644
index 0000000000..eedceef60a
--- /dev/null
+++ b/thunderbird-l10n/fr/localization/fr/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 = En modifiant les paramètres de la langue pour utiliser l’anglais, vous serez plus difficile à identifier et cela améliorera la protection de votre vie privée en ligne. Souhaitez-vous demander une version en anglais des pages web ?
diff --git a/thunderbird-l10n/fr/localization/fr/toolkit/global/run-from-dmg.ftl b/thunderbird-l10n/fr/localization/fr/toolkit/global/run-from-dmg.ftl
new file mode 100644
index 0000000000..9e09b7b757
--- /dev/null
+++ b/thunderbird-l10n/fr/localization/fr/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 = Terminer l’installation de { -brand-short-name } ?
+prompt-to-install-message = Effectuez cette installation en une seule étape pour maintenir { -brand-short-name } à jour et éviter la perte de données. { -brand-short-name } sera ajouté à votre dossier Applications et à votre Dock.
+prompt-to-install-yes-button = Installer
+prompt-to-install-no-button = Ne pas installer
+
+## Strings for a dialog that opens if the installation failed.
+
+install-failed-title = L’installation de { -brand-short-name } a échoué.
+install-failed-message = { -brand-short-name } n’a pas pu être installé mais continuera à s’exécuter.
+
+## 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 = Ouvrir l’application { -brand-short-name } existante ?
+prompt-to-launch-existing-app-message = Vous avez déjà installé { -brand-short-name }. Utilisez l’application installée pour rester à jour et éviter la perte de données.
+prompt-to-launch-existing-app-yes-button = Ouvrir l’application existante
+prompt-to-launch-existing-app-no-button = Non merci
diff --git a/thunderbird-l10n/fr/localization/fr/toolkit/global/tabprompts.ftl b/thunderbird-l10n/fr/localization/fr/toolkit/global/tabprompts.ftl
new file mode 100644
index 0000000000..7886350b38
--- /dev/null
+++ b/thunderbird-l10n/fr/localization/fr/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 = Utilisateur :
+tabmodalprompt-password =
+ .value = Mot de passe :
+
+tabmodalprompt-ok-button =
+ .label = OK
+tabmodalprompt-cancel-button =
+ .label = Annuler
diff --git a/thunderbird-l10n/fr/localization/fr/toolkit/global/textActions.ftl b/thunderbird-l10n/fr/localization/fr/toolkit/global/textActions.ftl
new file mode 100644
index 0000000000..c0c352f757
--- /dev/null
+++ b/thunderbird-l10n/fr/localization/fr/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 = Annuler
+ .accesskey = U
+text-action-undo-shortcut =
+ .key = Z
+text-action-redo =
+ .label = Rétablir
+ .accesskey = R
+text-action-redo-shortcut =
+ .key = Y
+text-action-cut =
+ .label = Couper
+ .accesskey = C
+text-action-cut-shortcut =
+ .key = X
+text-action-copy =
+ .label = Copier
+ .accesskey = p
+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 = Copier sans le pistage du site
+ .accesskey = d
+text-action-paste =
+ .label = Coller
+ .accesskey = o
+text-action-paste-no-formatting =
+ .label = Coller sans mise en forme
+ .accesskey = s
+text-action-paste-shortcut =
+ .key = V
+text-action-delete =
+ .label = Supprimer
+ .accesskey = s
+text-action-select-all =
+ .label = Tout sélectionner
+ .accesskey = T
+text-action-select-all-shortcut =
+ .key = A
+text-action-spell-no-suggestions =
+ .label = Aucune suggestion d’orthographe
+text-action-spell-add-to-dictionary =
+ .label = Ajouter au dictionnaire
+ .accesskey = j
+text-action-spell-undo-add-to-dictionary =
+ .label = Annuler l’ajout au dictionnaire
+ .accesskey = n
+text-action-spell-check-toggle =
+ .label = Vérifier l’orthographe
+ .accesskey = o
+text-action-spell-add-dictionaries =
+ .label = Ajouter des dictionnaires…
+ .accesskey = d
+text-action-spell-dictionaries =
+ .label = Langues
+ .accesskey = L
+text-action-search-text-box-clear =
+ .title = Effacer
diff --git a/thunderbird-l10n/fr/localization/fr/toolkit/global/timepicker.ftl b/thunderbird-l10n/fr/localization/fr/toolkit/global/timepicker.ftl
new file mode 100644
index 0000000000..6fbe8159b2
--- /dev/null
+++ b/thunderbird-l10n/fr/localization/fr/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/fr/localization/fr/toolkit/global/tree.ftl b/thunderbird-l10n/fr/localization/fr/toolkit/global/tree.ftl
new file mode 100644
index 0000000000..d2fd5b0a5c
--- /dev/null
+++ b/thunderbird-l10n/fr/localization/fr/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 = Restaurer l’ordre des colonnes
diff --git a/thunderbird-l10n/fr/localization/fr/toolkit/global/unknownContentType.ftl b/thunderbird-l10n/fr/localization/fr/toolkit/global/unknownContentType.ftl
new file mode 100644
index 0000000000..6e9c86f490
--- /dev/null
+++ b/thunderbird-l10n/fr/localization/fr/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 = Ouvrir avec { -brand-short-name }
+ .accesskey = e
+
+unknowncontenttype-settingschange =
+ .value =
+ { PLATFORM() ->
+ [windows] Les paramètres peuvent être modifiés dans le menu Options de { -brand-short-name }.
+ *[other] Les paramètres peuvent être modifiés dans le Menu Préférences de { -brand-short-name }.
+ }
+
+unknowncontenttype-intro = Vous avez choisi d’ouvrir :
+unknowncontenttype-which-is = qui est un fichier de type :
+unknowncontenttype-from = à partir de :
+unknowncontenttype-prompt = Voulez-vous enregistrer ce fichier ?
+unknowncontenttype-action-question = Que doit faire { -brand-short-name } avec ce fichier ?
+unknowncontenttype-open-with =
+ .label = Ouvrir avec
+ .accesskey = O
+unknowncontenttype-other =
+ .label = Autre…
+unknowncontenttype-choose-handler =
+ .label =
+ { PLATFORM() ->
+ [macos] Choisir…
+ *[other] Parcourir…
+ }
+ .accesskey =
+ { PLATFORM() ->
+ [macos] C
+ *[other] P
+ }
+unknowncontenttype-save-file =
+ .label = Enregistrer le fichier
+ .accesskey = E
+unknowncontenttype-remember-choice =
+ .label = Toujours effectuer cette action pour ce type de fichier.
+ .accesskey = T
diff --git a/thunderbird-l10n/fr/localization/fr/toolkit/global/videocontrols.ftl b/thunderbird-l10n/fr/localization/fr/toolkit/global/videocontrols.ftl
new file mode 100644
index 0000000000..4ba1848556
--- /dev/null
+++ b/thunderbird-l10n/fr/localization/fr/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 = Chargement :
+videocontrols-volume-control =
+ .aria-label = Volume
+videocontrols-closed-caption-button =
+ .aria-label = Sous-titres
+
+videocontrols-play-button =
+ .aria-label = Lecture
+videocontrols-pause-button =
+ .aria-label = Pause
+videocontrols-mute-button =
+ .aria-label = Muet
+videocontrols-unmute-button =
+ .aria-label = Audible
+videocontrols-enterfullscreen-button =
+ .aria-label = Plein écran
+videocontrols-exitfullscreen-button =
+ .aria-label = Sortie du mode plein écran
+videocontrols-casting-button-label =
+ .aria-label = Diffuser sur l’écran
+videocontrols-closed-caption-off =
+ .offlabel = Désactivés
+
+# 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 = Incrustation vidéo
+
+# 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 = Extraire cette vidéo de la page
+
+videocontrols-picture-in-picture-explainer3 = Plus d’écrans, c’est plus drôle. Regardez cette vidéo tout en faisant d’autres choses.
+
+videocontrols-error-aborted = Chargement de la vidéo arrêté.
+videocontrols-error-network = La lecture de la vidéo a été interrompue à cause d’une erreur de réseau.
+videocontrols-error-decode = La vidéo ne peut être visionnée car le fichier est corrompu.
+videocontrols-error-src-not-supported = Le format vidéo ou le type MIME n’est pas géré.
+videocontrols-error-no-source = Aucune vidéo dont le format ou le type MIME est géré n’a été trouvée.
+videocontrols-error-generic = La lecture de la vidéo a été interrompue à cause d’une erreur inconnue.
+videocontrols-status-picture-in-picture = Cette vidéo est en cours de lecture en mode incrustation.
+
+# 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/fr/localization/fr/toolkit/global/wizard.ftl b/thunderbird-l10n/fr/localization/fr/toolkit/global/wizard.ftl
new file mode 100644
index 0000000000..62fde622fc
--- /dev/null
+++ b/thunderbird-l10n/fr/localization/fr/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 = En arrière
+ .accesskey = E
+wizard-linux-button-back =
+ .label = Précédent
+ .accesskey = P
+wizard-win-button-back =
+ .label = < Précédent
+ .accesskey = P
+
+wizard-macos-button-next =
+ .label = Continuer
+ .accesskey = C
+wizard-linux-button-next =
+ .label = Suivant
+ .accesskey = S
+wizard-win-button-next =
+ .label = Suivant >
+ .accesskey = S
+
+wizard-macos-button-finish =
+ .label = Terminé
+wizard-linux-button-finish =
+ .label = Terminer
+wizard-win-button-finish =
+ .label = Terminer
+
+wizard-macos-button-cancel =
+ .label = Annuler
+wizard-linux-button-cancel =
+ .label = Annuler
+wizard-win-button-cancel =
+ .label = Annuler
diff --git a/thunderbird-l10n/fr/localization/fr/toolkit/intl/languageNames.ftl b/thunderbird-l10n/fr/localization/fr/toolkit/intl/languageNames.ftl
new file mode 100644
index 0000000000..3901a92038
--- /dev/null
+++ b/thunderbird-l10n/fr/localization/fr/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 = Abkhaze
+language-name-ach = Acholi
+language-name-ae = Avestique
+language-name-af = Afrikaans
+language-name-ak = Akan
+language-name-am = Amharique
+language-name-an = Aragonais
+language-name-ar = Arabe
+language-name-as = Assamais
+language-name-ast = Asturien
+language-name-av = Avar
+language-name-ay = Aymara
+language-name-az = Azéri
+language-name-ba = Bashkir
+language-name-be = Biélorusse
+language-name-bg = Bulgare
+language-name-bh = Bihari
+language-name-bi = Bichelamar
+language-name-bm = Bambara
+language-name-bn = Bengali
+language-name-bo = Tibétain
+language-name-br = Breton
+language-name-bs = Bosniaque
+language-name-ca = Catalan
+language-name-cak = Cakchiquel
+language-name-ce = Tchétchène
+language-name-ch = Chamorro
+language-name-co = Corse
+language-name-cr = Cree
+language-name-crh = Tatar de Crimée
+language-name-cs = Tchèque
+language-name-csb = Cachoube
+language-name-cu = Slavon d’église
+language-name-cv = Tchouvache
+language-name-cy = Gallois
+language-name-da = Danois
+language-name-de = Allemand
+language-name-dsb = Bas-sorabe
+language-name-dv = Maldivien
+language-name-dz = Dzongkha
+language-name-ee = Éwé
+language-name-el = Grec
+language-name-en = Anglais
+language-name-eo = Espéranto
+language-name-es = Espagnol
+language-name-et = Estonien
+language-name-eu = Basque
+language-name-fa = Persan
+language-name-ff = Peul
+language-name-fi = Finnois
+language-name-fj = Fidjien
+language-name-fo = Féroïen
+language-name-fr = Français
+language-name-fur = Frioulan
+language-name-fy = Frison
+language-name-ga = Irlandais
+language-name-gd = Gaélique écossais
+language-name-gl = Galicien
+language-name-gn = Guarani
+language-name-gu = Gujarati
+language-name-gv = Mannois
+language-name-ha = Haoussa
+language-name-haw = Hawaïen
+language-name-he = Hébreu
+language-name-hi = Hindi
+language-name-hil = Hiligaïnon
+language-name-ho = Hiri Motu
+language-name-hr = Croate
+language-name-hsb = Haut-sorabe
+language-name-ht = Créole haïtien
+language-name-hu = Hongrois
+language-name-hy = Arménien
+language-name-hz = Héréro
+language-name-ia = Interlingua
+language-name-id = Indonésien
+language-name-ie = Interlingue
+language-name-ig = Igbo
+language-name-ii = Yi du Sichuan
+language-name-ik = Inupiaq
+language-name-io = Ido
+language-name-is = Islandais
+language-name-it = Italien
+language-name-iu = Inuktitut
+language-name-ja = Japonais
+language-name-jv = Javanais
+language-name-ka = Géorgien
+language-name-kab = Kabyle
+language-name-kg = Kongo
+language-name-ki = Kikuyu
+language-name-kj = Kuanyama
+language-name-kk = Kazakh
+language-name-kl = Groenlandais
+language-name-km = Khmer
+language-name-kn = Kannada
+language-name-ko = Coréen
+language-name-kok = Konkani
+language-name-kr = Kanouri
+language-name-ks = Cachemiri
+language-name-ku = Kurde
+language-name-kv = Komi
+language-name-kw = Cornique
+language-name-ky = Kirghize
+language-name-la = Latin
+language-name-lb = Luxembourgeois
+language-name-lg = Ganda
+language-name-li = Limbourgeois
+language-name-lij = Ligure
+language-name-ln = Lingala
+language-name-lo = Lao
+language-name-lt = Lituanien
+language-name-ltg = Latgalien
+language-name-lu = Luba-katanga
+language-name-lv = Letton
+language-name-mai = Maïthili
+language-name-meh = Mixtèque du sud-ouest de Tlaxiaco
+language-name-mg = Malgache
+language-name-mh = Marshallais
+language-name-mi = Maori
+language-name-mix = Mixtèque de Mixtepec
+language-name-mk = Macédonien
+language-name-ml = Malayalam
+language-name-mn = Mongol
+language-name-mr = Marathe
+language-name-ms = Malais
+language-name-mt = Maltais
+language-name-my = Birman
+language-name-na = Nauruan
+language-name-nb = Norvégien Bokmål
+language-name-nd = Ndébélé du Nord
+language-name-ne = Népalais
+language-name-ng = Ndonga
+language-name-nl = Néerlandais
+language-name-nn = Norvégien Nynorsk
+language-name-no = Norvégien
+language-name-nr = Ndébélé du Sud
+language-name-nso = Sotho du Nord
+language-name-nv = Navaho
+language-name-ny = Chewa
+language-name-oc = Occitan
+language-name-oj = Ojibwa
+language-name-om = Oromo
+language-name-or = Odia
+language-name-os = Ossète
+language-name-pa = Pendjabi
+language-name-pi = Pali
+language-name-pl = Polonais
+language-name-ps = Pachto
+language-name-pt = Portugais
+language-name-qu = Quechua
+language-name-rm = Romanche
+language-name-rn = Roundi
+language-name-ro = Roumain
+language-name-ru = Russe
+language-name-rw = Rwanda
+language-name-sa = Sanskrit
+language-name-sat = Santali
+language-name-sc = Sarde
+language-name-sco = Écossais
+language-name-sd = Sindhi
+language-name-se = Sami du Nord
+language-name-sg = Sango
+language-name-si = Singhalais
+language-name-sk = Slovaque
+language-name-sl = Slovène
+language-name-sm = Samoan
+language-name-sn = Shona
+language-name-so = Somali
+language-name-son = Songhaï
+language-name-sq = Albanais
+language-name-sr = Serbe
+language-name-ss = Swati
+language-name-st = Sotho du Sud
+language-name-su = Soundanais
+language-name-sv = Suédois
+language-name-sw = Swahili
+language-name-szl = Silésien
+language-name-ta = Tamoul
+language-name-te = Télougou
+language-name-tg = Tadjik
+language-name-th = Thaï
+language-name-ti = Tigrigna
+language-name-tig = Tigré
+language-name-tk = Turkmène
+language-name-tl = Tagalog
+language-name-tlh = Klingon
+language-name-tn = Tswana
+language-name-to = Tonguien
+language-name-tr = Turc
+language-name-trs = Triqui
+language-name-ts = Tsonga
+language-name-tt = Tatar
+language-name-tw = Twi
+language-name-ty = Tahitien
+language-name-ug = Ouïghour
+language-name-uk = Ukrainien
+language-name-ur = Ourdou
+language-name-uz = Ouzbek
+language-name-ve = Venda
+language-name-vi = Vietnamien
+language-name-vo = Volapük
+language-name-wa = Wallon
+language-name-wen = Langues sorabes
+language-name-wo = Wolof
+language-name-xh = Xhosa
+language-name-yi = Yiddish
+language-name-yo = Yoruba
+language-name-za = Zhuang
+language-name-zam = Zapotèque de Miahuatlán
+language-name-zh = Chinois
+language-name-zu = Zoulou
diff --git a/thunderbird-l10n/fr/localization/fr/toolkit/intl/regionNames.ftl b/thunderbird-l10n/fr/localization/fr/toolkit/intl/regionNames.ftl
new file mode 100644
index 0000000000..c43d11e7f9
--- /dev/null
+++ b/thunderbird-l10n/fr/localization/fr/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 = Andorre
+region-name-ae = Émirats arabes unis
+region-name-af = Afghanistan
+region-name-ag = Antigua-et-Barbuda
+region-name-ai = Anguilla
+region-name-al = Albanie
+region-name-am = Arménie
+region-name-ao = Angola
+region-name-aq = Antarctique
+region-name-ar = Argentine
+region-name-as = Samoa américaines
+region-name-at = Autriche
+region-name-au = Australie
+region-name-aw = Aruba
+region-name-az = Azerbaïdjan
+region-name-ba = Bosnie-Herzégovine
+region-name-bb = Barbade
+region-name-bd = Bangladesh
+region-name-be = Belgique
+region-name-bf = Burkina Faso
+region-name-bg = Bulgarie
+region-name-bh = Bahreïn
+region-name-bi = Burundi
+region-name-bj = Bénin
+region-name-bl = Saint-Barthélemy
+region-name-bm = Bermudes
+region-name-bn = Brunéi Darussalam
+region-name-bo = Bolivie
+region-name-bq-2018 = Pays-Bas caribéens
+region-name-br = Brésil
+region-name-bs = Bahamas
+region-name-bt = Bhoutan
+region-name-bv = Île Bouvet
+region-name-bw = Botswana
+region-name-by = Biélorussie
+region-name-bz = Belize
+region-name-ca = Canada
+region-name-cc = Îles Cocos (Keeling)
+region-name-cd = Congo-Kinshasa
+region-name-cf = République centrafricaine
+region-name-cg = Congo-Brazzaville
+region-name-ch = Suisse
+region-name-ci = Côte d’Ivoire
+region-name-ck = Îles Cook
+region-name-cl = Chili
+region-name-cm = Cameroun
+region-name-cn = Chine
+region-name-co = Colombie
+region-name-cp = Île de Clipperton
+region-name-cr = Costa Rica
+region-name-cu = Cuba
+region-name-cv-2020 = Cap Vert
+region-name-cw = Curaçao
+region-name-cx = Île Christmas
+region-name-cy = Chypre
+region-name-cz-2019 = République tchèque
+region-name-de = Allemagne
+region-name-dg = Diego Garcia
+region-name-dj = Djibouti
+region-name-dk = Danemark
+region-name-dm = Dominique
+region-name-do = République dominicaine
+region-name-dz = Algérie
+region-name-ec = Équateur
+region-name-ee = Estonie
+region-name-eg = Égypte
+region-name-eh = Sahara occidental
+region-name-er = Érythrée
+region-name-es = Espagne
+region-name-et = Éthiopie
+region-name-fi = Finlande
+region-name-fj = Fidji
+region-name-fk = Îles Malouines
+region-name-fm = Micronésie
+region-name-fo = Îles Féroé
+region-name-fr = France
+region-name-ga = Gabon
+region-name-gb = Royaume-Uni
+region-name-gd = Grenade
+region-name-ge = Géorgie
+region-name-gf = Guyane française
+region-name-gg = Guernesey
+region-name-gh = Ghana
+region-name-gi = Gibraltar
+region-name-gl = Groenland
+region-name-gm = Gambie
+region-name-gn = Guinée
+region-name-gp = Guadeloupe
+region-name-gq = Guinée équatoriale
+region-name-gr = Grèce
+region-name-gs = Géorgie du Sud et îles Sandwich du Sud
+region-name-gt = Guatemala
+region-name-gu = Guam
+region-name-gw = Guinée-Bissau
+region-name-gy = Guyana
+region-name-hk = Hong-Kong
+region-name-hm = Îles Heard et McDonald
+region-name-hn = Honduras
+region-name-hr = Croatie
+region-name-ht = Haïti
+region-name-hu = Hongrie
+region-name-id = Indonésie
+region-name-ie = Irlande
+region-name-il = Israël
+region-name-im = Île de Man
+region-name-in = Inde
+region-name-io = Territoire britannique de l’océan Indien
+region-name-iq = Irak
+region-name-ir = Iran
+region-name-is = Islande
+region-name-it = Italie
+region-name-je = Jersey
+region-name-jm = Jamaïque
+region-name-jo = Jordanie
+region-name-jp = Japon
+region-name-ke = Kenya
+region-name-kg = Kirghizistan
+region-name-kh = Cambodge
+region-name-ki = Kiribati
+region-name-km = Comores
+region-name-kn = Saint-Christophe-et-Niévès
+region-name-kp = Corée du Nord
+region-name-kr = Corée du Sud
+region-name-kw = Koweït
+region-name-ky = Îles Caïmans
+region-name-kz = Kazakhstan
+region-name-la = Laos
+region-name-lb = Liban
+region-name-lc = Sainte-Lucie
+region-name-li = Liechtenstein
+region-name-lk = Sri Lanka
+region-name-lr = Libéria
+region-name-ls = Lesotho
+region-name-lt = Lituanie
+region-name-lu = Luxembourg
+region-name-lv = Lettonie
+region-name-ly = Libye
+region-name-ma = Maroc
+region-name-mc = Monaco
+region-name-md = Moldavie
+region-name-me = Monténégro
+region-name-mf = Saint-Martin
+region-name-mg = Madagascar
+region-name-mh = Îles Marshall
+region-name-mk-2019 = Macédoine du Nord
+region-name-ml = Mali
+region-name-mm = Birmanie
+region-name-mn = Mongolie
+region-name-mo = Macao
+region-name-mp = Îles Mariannes du Nord
+region-name-mq = Martinique
+region-name-mr = Mauritanie
+region-name-ms = Montserrat
+region-name-mt = Malte
+region-name-mu = Maurice
+region-name-mv = Maldives
+region-name-mw = Malawi
+region-name-mx = Mexique
+region-name-my = Malaisie
+region-name-mz = Mozambique
+region-name-na = Namibie
+region-name-nc = Nouvelle-Calédonie
+region-name-ne = Niger
+region-name-nf = Île Norfolk
+region-name-ng = Nigéria
+region-name-ni = Nicaragua
+region-name-nl = Pays-Bas
+region-name-no = Norvège
+region-name-np = Népal
+region-name-nr = Nauru
+region-name-nu = Niue
+region-name-nz = Nouvelle-Zélande
+region-name-om = Oman
+region-name-pa = Panama
+region-name-pe = Pérou
+region-name-pf = Polynésie française
+region-name-pg = Papouasie-Nouvelle-Guinée
+region-name-ph = Philippines
+region-name-pk = Pakistan
+region-name-pl = Pologne
+region-name-pm = Saint-Pierre-et-Miquelon
+region-name-pn = Îles Pitcairn
+region-name-pr = Porto Rico
+region-name-pt = Portugal
+region-name-pw = Palaos
+region-name-py = Paraguay
+region-name-qa = Qatar
+region-name-qm = Îles Midway
+region-name-qs = Bassas da India
+region-name-qu = Île Juan de Nova
+region-name-qw = Wake
+region-name-qx = Îles Glorieuses
+region-name-qz = Akrotiri
+region-name-re = La Réunion
+region-name-ro = Roumanie
+region-name-rs = Serbie
+region-name-ru = Russie
+region-name-rw = Rwanda
+region-name-sa = Arabie saoudite
+region-name-sb = Îles Salomon
+region-name-sc = Seychelles
+region-name-sd = Soudan
+region-name-se = Suède
+region-name-sg = Singapour
+region-name-sh = Sainte-Hélène
+region-name-si = Slovénie
+region-name-sk = Slovaquie
+region-name-sl = Sierra Leone
+region-name-sm = Saint-Marin
+region-name-sn = Sénégal
+region-name-so = Somalie
+region-name-sr = Suriname
+region-name-ss = Soudan du Sud
+region-name-st = Sao Tomé-et-Principe
+region-name-sv = Salvador
+region-name-sx = Saint-Martin (partie néerlandaise)
+region-name-sy = Syrie
+region-name-sz-2019 = Eswatini
+region-name-tc = Îles Turques-et-Caïques
+region-name-td = Tchad
+region-name-tf = Terres australes françaises
+region-name-tg = Togo
+region-name-th = Thaïlande
+region-name-tj = Tadjikistan
+region-name-tk = Tokélaou
+region-name-tl = Timor oriental
+region-name-tm = Turkménistan
+region-name-tn = Tunisie
+region-name-to = Tonga
+region-name-tr = Turquie
+region-name-tt = Trinité-et-Tobago
+region-name-tv = Tuvalu
+region-name-tw = Taïwan
+region-name-tz = Tanzanie
+region-name-ua = Ukraine
+region-name-ug = Ouganda
+region-name-us = États-Unis
+region-name-uy = Uruguay
+region-name-uz = Ouzbékistan
+region-name-va = Cité du Vatican
+region-name-vc = Saint-Vincent-et-les-Grenadines
+region-name-ve = Venezuela
+region-name-vg = Îles Vierges britanniques
+region-name-vi = Îles Vierges des États-Unis
+region-name-vn = Vietnam
+region-name-vu = Vanuatu
+region-name-wf = Wallis-et-Futuna
+region-name-ws = Samoa
+region-name-xa = Îles Ashmore-et-Cartier
+region-name-xb = Île Baker
+region-name-xc = Îles de la mer de Corail
+region-name-xd = Dhekelia
+region-name-xe = Île Europa
+region-name-xg = Bande de Gaza
+region-name-xh = Île Howland
+region-name-xj = Île Jan Mayen
+region-name-xk = Kosovo
+region-name-xl = Atoll Palmyra
+region-name-xm = Récif Kingman
+region-name-xp = Îles Paracels
+region-name-xq = Île Jarvis
+region-name-xr = Svalbard
+region-name-xs = Îles Spratleys
+region-name-xt = Île Tromelin
+region-name-xu = Atoll Johnston
+region-name-xv = Île de la Navasse
+region-name-xw = Cisjordanie
+region-name-ye = Yémen
+region-name-yt = Mayotte
+region-name-za = Afrique du Sud
+region-name-zm = Zambie
+region-name-zw = Zimbabwe
diff --git a/thunderbird-l10n/fr/localization/fr/toolkit/main-window/autocomplete.ftl b/thunderbird-l10n/fr/localization/fr/toolkit/main-window/autocomplete.ftl
new file mode 100644
index 0000000000..031044be71
--- /dev/null
+++ b/thunderbird-l10n/fr/localization/fr/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">Importez votre identifiant depuis Google Chrome</div>
+ <div data-l10n-name="line2">pour { $host } et d’autres sites</div>
+autocomplete-import-logins-chromium =
+ <div data-l10n-name="line1">Importez votre identifiant depuis Chromium</div>
+ <div data-l10n-name="line2">pour { $host } et d’autres sites</div>
+autocomplete-import-logins-chromium-edge =
+ <div data-l10n-name="line1">Importez votre identifiant depuis Microsoft Edge</div>
+ <div data-l10n-name="line2">pour { $host } et d’autres sites</div>
+
+##
+
+autocomplete-import-learn-more = En savoir plus
diff --git a/thunderbird-l10n/fr/localization/fr/toolkit/main-window/findbar.ftl b/thunderbird-l10n/fr/localization/fr/toolkit/main-window/findbar.ftl
new file mode 100644
index 0000000000..777212928a
--- /dev/null
+++ b/thunderbird-l10n/fr/localization/fr/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 = Trouver la prochaine occurrence de l’expression
+findbar-previous =
+ .tooltiptext = Trouver l’occurrence précédente de l’expression
+
+findbar-find-button-close =
+ .tooltiptext = Fermer la barre de recherche
+
+findbar-highlight-all2 =
+ .label = Tout surligner
+ .accesskey =
+ { PLATFORM() ->
+ [macos] T
+ *[other] T
+ }
+ .tooltiptext = Surligner toutes les occurrences de la phrase
+
+findbar-case-sensitive =
+ .label = Respecter la casse
+ .accesskey = R
+ .tooltiptext = Effectuer une recherche en respectant la casse
+
+findbar-match-diacritics =
+ .label = Respecter les accents et diacritiques
+ .accesskey = s
+ .tooltiptext = Effectuer une recherche en respectant les caractères accentués et la cédille (exemple : aucun résultat ne sera trouvé en saisissant « francais » au lieu du mot « français »)
+
+findbar-entire-word =
+ .label = Mots entiers
+ .accesskey = M
+ .tooltiptext = Rechercher seulement les mots entiers
+
+findbar-not-found = Expression non trouvée
+
+findbar-wrapped-to-top = Bas de la page atteint, poursuite au début
+findbar-wrapped-to-bottom = Haut de la page atteint, poursuite depuis le bas
+
+findbar-normal-find =
+ .placeholder = Rechercher dans la page
+findbar-fast-find =
+ .placeholder = Recherche rapide
+findbar-fast-find-links =
+ .placeholder = Recherche rapide (liens seulement)
+
+findbar-case-sensitive-status =
+ .value = (Sensible à la casse)
+findbar-match-diacritics-status =
+ .value = (respect des diacritiques)
+findbar-entire-word-status =
+ .value = (Mots entiers seulement)
+
+# Variables:
+# $current (Number): Index of the currently selected match
+# $total (Number): Total count of matches
+findbar-found-matches =
+ .value =
+ { $total ->
+ [one] Occurrence { $current } sur { $total }
+ *[other] Occurrence { $current } sur { $total }
+ }
+
+# Variables:
+# $limit (Number): Total count of matches allowed before counting stops
+findbar-found-matches-count-limit =
+ .value =
+ { $limit ->
+ [one] Plus d’une occurrence
+ *[other] Plus de { $limit } occurrences
+ }
diff --git a/thunderbird-l10n/fr/localization/fr/toolkit/neterror/certError.ftl b/thunderbird-l10n/fr/localization/fr/toolkit/neterror/certError.ftl
new file mode 100644
index 0000000000..db81792971
--- /dev/null
+++ b/thunderbird-l10n/fr/localization/fr/toolkit/neterror/certError.ftl
@@ -0,0 +1,141 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# Variables:
+# $hostname (string) - Hostname of the website with cert error.
+cert-error-intro = { $hostname } utilise un certificat de sécurité invalide.
+
+cert-error-mitm-intro = Les sites web prouvent leur identité en utilisant des certificats, qui sont émis par des autorités de certification.
+
+cert-error-mitm-mozilla = { -brand-short-name } est soutenu par Mozilla, une organisation à but non lucratif qui gère un magasin d’autorité de certification (CA) entièrement ouvert. Ce magasin de CA aide à garantir que les autorités de certification respectent de bonnes pratiques de sécurité pour protéger les utilisateurs.
+
+cert-error-mitm-connection = { -brand-short-name } utilise le magasin d’autorités de certification Mozilla pour vérifier qu’une connexion est sécurisée, plutôt que des certificats fournis par le système d’exploitation de l’utilisateur. Ainsi, si un programme antivirus ou un réseau intercepte une connexion avec un certificat de sécurité émis par une autorité de certification ne figurant pas dans le magasin d’autorité de certification Mozilla, la connexion est considérée comme non sécurisée.
+
+cert-error-trust-unknown-issuer-intro = Quelqu’un pourrait être en train d’essayer d’usurper l’identité du site. Vous ne devriez pas poursuivre.
+
+# Variables:
+# $hostname (string) - Hostname of the website with cert error.
+cert-error-trust-unknown-issuer = Les sites web justifient leur identité par des certificats. { -brand-short-name } ne fait pas confiance à { $hostname }, car l’émetteur de son certificat est inconnu, le certificat est auto-signé ou le serveur n’envoie pas les certificats intermédiaires corrects.
+
+cert-error-trust-cert-invalid = Le certificat n’est pas sûr car le certificat de l’autorité l’ayant délivré est invalide.
+
+cert-error-trust-untrusted-issuer = Le certificat n’est pas sûr car le certificat de l’autorité l’ayant délivré n’est pas digne de confiance.
+
+cert-error-trust-signature-algorithm-disabled = Le certificat n’est pas sûr car il a été signé à l’aide d’un algorithme de signature qui a été désactivé car cet algorithme n’est pas sécurisé.
+
+cert-error-trust-expired-issuer = Le certificat n’est pas sûr car le certificat de l’autorité l’ayant délivré a expiré.
+
+cert-error-trust-self-signed = Le certificat n’est pas sûr car il est auto-signé.
+
+cert-error-trust-symantec = Les certificats émis par GeoTrust, RapidSSL, Symantec, Thawte et VeriSign ne sont plus considérés comme sécurisés car ces autorités de certification ont, dans le passé, omis de respecter des pratiques de sécurité.
+
+cert-error-untrusted-default = Le certificat ne provient pas d’une source sûre.
+
+# Variables:
+# $hostname (string) - Hostname of the website with cert error.
+cert-error-domain-mismatch = Les sites web justifient leur identité par des certificats. { -brand-short-name } ne fait pas confiance à ce site, car il utilise un certificat qui n’est pas valide pour { $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 = Les sites web justifient leur identité par des certificats. { -brand-short-name } ne fait pas confiance à ce site, car il utilise un certificat qui n’est pas valide pour { $hostname }. Le certificat n’est valide que pour <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 = Les sites web justifient leur identité par des certificats. { -brand-short-name } ne fait pas confiance à ce site, car il utilise un certificat qui n’est pas valide pour { $hostname }. Le certificat n’est valide que pour { $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 = Les sites web justifient leur identité par des certificats. { -brand-short-name } ne fait pas confiance à ce site, car il utilise un certificat qui n’est pas valide pour { $hostname }. Le certificat est seulement valide pour les noms suivants : { $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 = Les sites web justifient leur identité par des certificats qui ont une période de validité définie. Le certificat de { $hostname } a expiré le { $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 = Les sites web justifient leur identité par des certificats qui ont une période de validité définie. Le certificat de { $hostname } ne sera pas valide jusqu’au { $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 = Code d’erreur : { $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 = Code d’erreur : <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 = Une erreur est survenue pendant une connexion à { $hostname }. { $errorMessage }
+
+# Variables:
+# $hostname (string) - Hostname of the website with cert error.
+cert-error-symantec-distrust-description = Les sites web justifient leur identité avec des certificats émis par des autorités de certification. La plupart des navigateurs ne font plus confiance aux certificats émis par GeoTrust, RapidSSL, Symantec, Thawte, et VeriSign. { $hostname } utilise un certificat émis par l’une de ces autorités ; par conséquent, l’identité du site ne peut être validée.
+
+cert-error-symantec-distrust-admin = Vous pouvez informer l’administrateur du site web de ce problème.
+
+cert-error-old-tls-version = Ce site web ne prend peut-être pas en charge le protocole TLS 1.2, version minimale prise en charge par { -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 = Chaîne de certificat :
+
+open-in-new-window-for-csp-or-xfo-error = Ouvrir le site dans une nouvelle fenêtre
+
+# Variables:
+# $hostname (string) - Hostname of the website blocked by csp or xfo error.
+csp-xfo-blocked-long-desc = Pour protéger votre sécurité, { $hostname } ne permettra pas à { -brand-short-name } d’afficher la page si celle-ci est intégrée par un autre site. Pour voir cette page, vous devez l’ouvrir dans une nouvelle fenêtre.
+
+## Messages used for certificate error titles
+
+connectionFailure-title = La connexion a échoué
+deniedPortAccess-title = Cette adresse est interdite
+# "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 = Hum, nous ne parvenons pas à trouver ce site.
+
+dns-not-found-trr-only-title2 = Risque de sécurité potentiel durant la résolution de ce domaine
+dns-not-found-native-fallback-title2 = Risque de sécurité potentiel durant la résolution de ce domaine
+
+fileNotFound-title = Fichier introuvable
+fileAccessDenied-title = L’accès au fichier a été refusé
+generic-title = La requête ne peut aboutir
+captivePortal-title = Se connecter au réseau
+# "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 = Hum, cette adresse ne semble pas valide.
+netInterrupt-title = La connexion a été interrompue
+notCached-title = Le document a expiré
+netOffline-title = Mode hors connexion
+contentEncodingError-title = Erreur d’encodage de contenu
+unsafeContentType-title = Type de fichier non sûr
+netReset-title = La connexion a été réinitialisée
+netTimeout-title = Le délai d’attente est dépassé
+unknownProtocolFound-title = L’adresse n’a pas été reconnue
+proxyConnectFailure-title = La connexion a été refusée par le serveur proxy
+proxyResolveFailure-title = Le serveur proxy est introuvable
+redirectLoop-title = La page n’est pas redirigée correctement
+unknownSocketType-title = Réponse inattendue du serveur
+nssFailure2-title = Échec de la connexion sécurisée
+csp-xfo-error-title = { -brand-short-name } ne peut pas ouvrir cette page
+corruptedContentError-title = Erreur due à un contenu corrompu
+sslv3Used-title = Impossible d’établir une connexion sécurisée
+inadequateSecurityError-title = La connexion n’est pas sécurisée
+blockedByPolicy-title = Page bloquée
+clockSkewError-title = L’heure de votre ordinateur est incorrecte
+networkProtocolError-title = Erreur de protocole réseau
+nssBadCert-title = Attention : risque probable de sécurité
+nssBadCert-sts-title = Connexion bloquée : problème de sécurité potentiel
+certerror-mitm-title = Un logiciel empêche { -brand-short-name } de se connecter de façon sécurisée à ce site
diff --git a/thunderbird-l10n/fr/localization/fr/toolkit/neterror/netError.ftl b/thunderbird-l10n/fr/localization/fr/toolkit/neterror/netError.ftl
new file mode 100644
index 0000000000..b70b542915
--- /dev/null
+++ b/thunderbird-l10n/fr/localization/fr/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 = Erreur de chargement de la page
+certerror-page-title = Attention : risque probable de sécurité
+certerror-sts-page-title = Connexion bloquée : problème de sécurité potentiel
+neterror-blocked-by-policy-page-title = Page bloquée
+neterror-captive-portal-page-title = Se connecter au réseau
+neterror-dns-not-found-title = Adresse introuvable
+neterror-malformed-uri-page-title = Adresse invalide
+
+## Error page actions
+
+neterror-advanced-button = Avancé…
+neterror-copy-to-clipboard-button = Copier le texte dans le presse-papiers
+neterror-learn-more-link = En savoir plus…
+neterror-open-portal-login-page-button = Ouvrir la page de connexion du réseau
+neterror-override-exception-button = Accepter le risque et poursuivre
+neterror-pref-reset-button = Restaurer les paramètres par défaut
+neterror-return-to-previous-page-button = Retour
+neterror-return-to-previous-page-recommended-button = Retour (recommandé)
+neterror-try-again-button = Réessayer
+neterror-add-exception-button = Toujours poursuivre pour ce site
+neterror-settings-button = Modifier les paramètres DNS
+neterror-view-certificate-link = Afficher le certificat
+neterror-trr-continue-this-time = Continuer cette fois
+neterror-disable-native-feedback-warning = Toujours continuer
+
+##
+
+neterror-pref-reset = Ce problème semble être provoqué par vos paramètres de sécurité réseau. Voulez-vous restaurer les paramètres par défaut ?
+neterror-error-reporting-automatic = Signaler les erreurs similaires pour aider { -vendor-short-name } à identifier et bloquer les sites malveillants
+
+## Specific error messages
+
+neterror-generic-error = Pour une raison inconnue, { -brand-short-name } ne peut pas charger cette page.
+neterror-load-error-try-again = Le site est peut-être temporairement indisponible ou surchargé. Réessayez plus tard ;
+neterror-load-error-connection = Si vous n’arrivez à naviguer sur aucun site, vérifiez la connexion au réseau de votre ordinateur ;
+neterror-load-error-firewall = Si votre ordinateur ou votre réseau est protégé par un pare-feu ou un proxy, assurez-vous que { -brand-short-name } est autorisé à accéder au Web.
+neterror-captive-portal = Ce réseau nécessite que vous vous connectiez à un compte pour utiliser 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 = Vouliez-vous plutôt ouvrir <a data-l10n-name="website">{ $hostAndPath }</a> ?
+neterror-dns-not-found-hint-header = <strong>Si l’adresse saisie était correcte, vous pouvez :</strong>
+neterror-dns-not-found-hint-try-again = Réessayer plus tard
+neterror-dns-not-found-hint-check-network = Veuillez vérifier votre connexion réseau
+neterror-dns-not-found-hint-firewall = Vérifier que { -brand-short-name } a l’autorisation d’accéder au Web (votre connexion pourrait être effective, mais protégée par un pare-feu)
+
+## 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 } ne peut pas protéger votre requête pour cette adresse de site par notre serveur DNS de confiance. En voici la raison :
+neterror-dns-not-found-trr-third-party-warning2 = Vous pouvez continuer avec votre serveur DNS par défaut. Cependant, un tiers pourrait être en mesure de connaître les sites web que vous consultez.
+neterror-dns-not-found-trr-only-could-not-connect = { -brand-short-name } n’a pas pu se connecter à { $trrDomain }.
+neterror-dns-not-found-trr-only-timeout = La connexion à { $trrDomain } a pris plus de temps que prévu.
+neterror-dns-not-found-trr-offline = Pas de connexion à Internet.
+neterror-dns-not-found-trr-unknown-host2 = Ce site web n’a pas été trouvé par { $trrDomain }.
+neterror-dns-not-found-trr-server-problem = Un problème est survenu avec { $trrDomain }.
+neterror-dns-not-found-bad-trr-url = Adresse invalide.
+neterror-dns-not-found-trr-unknown-problem = Problème inattendu.
+
+## 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 } ne peut pas protéger votre requête pour cette adresse de site par notre serveur DNS de confiance. En voici la raison :
+neterror-dns-not-found-native-fallback-heuristic = Le DNS via HTTPS a été désactivé sur votre réseau.
+neterror-dns-not-found-native-fallback-not-confirmed2 = { -brand-short-name } n’a pas pu se connecter à { $trrDomain }.
+
+##
+
+neterror-file-not-found-filename = Vérifiez la syntaxe du nom de fichier (dont le respect des minuscules/majuscules) ;
+neterror-file-not-found-moved = Vérifiez si le fichier n’a pas été déplacé, renommé ou supprimé.
+neterror-access-denied = Il a peut-être été supprimé, déplacé ou les permissions associées au fichier ne permettent pas d’y accéder.
+neterror-unknown-protocol = Il est peut-être nécessaire d’installer une autre application pour ouvrir ce type d’adresse.
+neterror-redirect-loop = La cause de ce problème peut être la désactivation ou le refus des cookies.
+neterror-unknown-socket-type-psm-installed = Vérifiez que le gestionnaire de sécurité personnelle (PSM) est installé sur votre système.
+neterror-unknown-socket-type-server-config = Ceci peut être dû à une configuration inhabituelle du serveur.
+neterror-not-cached-intro = Le document demandé n’est plus disponible dans le cache de { -brand-short-name }.
+neterror-not-cached-sensitive = Par mesure de sécurité, { -brand-short-name } ne redemande pas automatiquement de documents sensibles.
+neterror-not-cached-try-again = Cliquez sur Réessayer pour redemander ce document depuis le site web.
+neterror-net-offline = Cliquez sur le bouton « Réessayer » pour revenir en mode connecté et recharger la page.
+neterror-proxy-resolve-failure-settings = Vérifiez que les paramètres du proxy sont corrects ;
+neterror-proxy-resolve-failure-connection = Vérifiez que la connexion réseau de votre ordinateur fonctionne ;
+neterror-proxy-resolve-failure-firewall = Si votre ordinateur ou votre réseau est protégé par un pare-feu ou un proxy, assurez-vous que { -brand-short-name } a l’autorisation d’accéder au Web.
+neterror-proxy-connect-failure-settings = Vérifiez que les paramètres du proxy sont corrects ;
+neterror-proxy-connect-failure-contact-admin = Contactez votre administrateur réseau pour vous assurer que le serveur proxy fonctionne.
+neterror-content-encoding-error = Veuillez contacter les propriétaires du site web pour les informer de ce problème.
+neterror-unsafe-content-type = Veuillez contacter les propriétaires du site web pour les informer de ce problème.
+neterror-nss-failure-not-verified = La page que vous essayez de consulter ne peut pas être affichée car l’authenticité des données reçues ne peut être vérifiée.
+neterror-nss-failure-contact-website = Veuillez contacter les propriétaires du site web pour les informer de ce problème.
+# Variables:
+# $hostname (String) - Hostname of the website to which the user was trying to connect.
+certerror-intro = { -brand-short-name } a détecté une menace de sécurité potentielle et n’a pas poursuivi vers <b>{ $hostname }</b>. Si vous accédez à ce site, des attaquants pourraient dérober des informations comme vos mots de passe, e-mails, ou données de carte bancaire.
+# Variables:
+# $hostname (String) - Hostname of the website to which the user was trying to connect.
+certerror-sts-intro = { -brand-short-name } a détecté une menace potentielle de sécurité et a interrompu le chargement de <b>{ $hostname }</b>, car ce site web nécessite une connexion sécurisée.
+# Variables:
+# $hostname (String) - Hostname of the website to which the user was trying to connect.
+certerror-expired-cert-intro = { -brand-short-name } a détecté un problème et a interrompu le chargement de <b>{ $hostname }</b>. Soit le site est mal configuré, soit l’horloge de votre ordinateur est réglée à la mauvaise heure.
+# 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> est probablement un site fiable, mais une connexion sécurisée n’a pas pu être établie. Ce problème est causé par <b>{ $mitm }</b>, qui est un logiciel installé soit sur votre ordinateur, soit sur votre réseau.
+neterror-corrupted-content-intro = La page que vous essayez de voir ne peut pas être affichée car une erreur dans la transmission de données a été détectée.
+neterror-corrupted-content-contact-website = Veuillez contacter les propriétaires du site web pour les informer de ce problème.
+# Do not translate "SSL_ERROR_UNSUPPORTED_VERSION".
+neterror-sslv3-used = Informations avancées : 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> fait appel à des technologies de sécurisation obsolètes et vulnérables aux attaques. Un attaquant pourrait facilement révéler des informations que vous pensiez être sécurisées. L’administrateur du site web devra d’abord corriger le serveur avant que vous puissiez visiter le site.
+# Do not translate "NS_ERROR_NET_INADEQUATE_SECURITY".
+neterror-inadequate-security-code = Code d’erreur : 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 = Votre ordinateur pense que nous sommes le { DATETIME($now, dateStyle: "medium") }, ce qui empêche { -brand-short-name } de se connecter de façon sécurisée. Pour visiter <b>{ $hostname }</b>, mettez à jour l’horloge de votre ordinateur dans vos paramètres système afin qu’elle soit réglée sur la date, l’heure et le fuseau horaire qui conviennent, puis actualisez <b>{ $hostname }</b>.
+neterror-network-protocol-error-intro = La page à laquelle vous essayez d’accéder ne peut pas être affichée, car une erreur du protocole réseau a été détectée.
+neterror-network-protocol-error-contact-website = Veuillez contacter les propriétaires du site web pour les informer de ce problème.
+certerror-expired-cert-second-para = Le certificat du site a probablement expiré, ce qui empêche { -brand-short-name } d’établir une connexion sécurisée. Si vous visitez ce site, des attaquants pourraient dérober des informations telles que vos mots de passe, vos adresses e-mail ou vos informations de carte bancaire.
+certerror-expired-cert-sts-second-para = Le certificat du site a probablement expiré, ce qui empêche { -brand-short-name } d’établir une connexion sécurisée.
+certerror-what-can-you-do-about-it-title = Que pouvez-vous faire ?
+certerror-unknown-issuer-what-can-you-do-about-it-website = Le problème vient probablement du site web, donc vous ne pouvez pas y remédier.
+certerror-unknown-issuer-what-can-you-do-about-it-contact-admin = Si vous naviguez sur un réseau d’entreprise ou si vous utilisez un antivirus, vous pouvez contacter les équipes d’assistance pour obtenir de l’aide. Vous pouvez également signaler le problème aux personnes qui administrent le site web.
+# 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 = L’horloge de votre ordinateur est réglée sur { DATETIME($now, dateStyle: "medium") }. Assurez-vous que la date, l’heure et le fuseau horaire soient corrects dans les paramètres système de votre ordinateur, puis actualisez <b>{ $hostname }</b>.
+certerror-expired-cert-what-can-you-do-about-it-contact-website = Si votre horloge est déjà bien réglée, le site web est probablement mal configuré et il n’y a rien que vous puissiez faire pour résoudre le problème. Essayez éventuellement de le signaler à l’administrateur du site.
+certerror-bad-cert-domain-what-can-you-do-about-it = Le problème vient probablement du site web, vous ne pouvez donc pas y remédier. Vous pouvez le signaler aux personnes qui administrent le site.
+certerror-mitm-what-can-you-do-about-it-antivirus = Si votre logiciel antivirus inclut une fonctionnalité d’analyse des connexions chiffrées (parfois appelée « analyse web » ou « analyse HTTPS »), vous pouvez désactiver cette fonctionnalité. Si cela ne fonctionne pas, essayez de supprimer puis réinstaller votre logiciel antivirus.
+certerror-mitm-what-can-you-do-about-it-corporate = Si vous utilisez un réseau d’entreprise, vous pouvez contacter votre service informatique.
+# 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 = Si vous ne reconnaissez pas <b>{ $mitm }</b>, alors il pourrait s’agir d’une attaque et vous ne devriez pas accéder au 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 = Si vous ne reconnaissez pas <b>{ $mitm }</b>, alors il pourrait s’agir d’une attaque et il n’est pas possible d’accéder au 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> a recours à une stratégie de sécurité HTTP Strict Transport Security (HSTS), une connexion sécurisée est obligatoire pour y accéder. Vous ne pouvez pas ajouter d’exception pour visiter ce site.
diff --git a/thunderbird-l10n/fr/localization/fr/toolkit/neterror/nsserrors.ftl b/thunderbird-l10n/fr/localization/fr/toolkit/neterror/nsserrors.ftl
new file mode 100644
index 0000000000..d2e8211ecd
--- /dev/null
+++ b/thunderbird-l10n/fr/localization/fr/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 = Connexion sécurisée impossible car le protocole SSL a été désactivé.
+psmerr-ssl2-disabled = Connexion sécurisée impossible car le site utilise une ancienne version non sûre du protocole SSL.
+# This is a multi-line message.
+psmerr-hostreusedissuerandserial =
+ Vous avez reçu un certificat invalide. Veuillez contacter l’administrateur du serveur ou votre correspondant de messagerie et fournissez-lui les informations suivantes :
+
+ Votre certificat contient le même numéro de série qu’un autre certificat émis par l’autorité de certification. Veuillez vous procurer un nouveau certificat avec un numéro de série unique.
+
+ssl-error-export-only-server = Impossible de communiquer en mode sécurisé. Le pair ne gère pas le chiffrement de haut niveau.
+ssl-error-us-only-server = Impossible de communiquer en mode sécurisé. Le pair requiert un chiffrement de haut niveau qui n’est pas géré.
+ssl-error-no-cypher-overlap = Impossible de communiquer en mode sécurisé avec le pair : aucun algorithme de chiffrement en commun.
+ssl-error-no-certificate = Impossible de trouver le certificat ou la clé nécessaire à l’authentification.
+ssl-error-bad-certificate = Impossible de communiquer en mode sécurisé avec le pair : le certificat du pair a été rejeté.
+ssl-error-bad-client = Le serveur a rencontré des données incorrectes en provenance du client.
+ssl-error-bad-server = Le client a rencontré des données incorrectes en provenance du serveur.
+ssl-error-unsupported-certificate-type = Type de certificat non géré.
+ssl-error-unsupported-version = Le pair utilise une version non gérée du protocole de sécurité.
+ssl-error-wrong-certificate = L’authentification du client a échoué : la clé privée dans la base de données des clés ne correspond pas à la clé publique dans la base de données des certificats.
+ssl-error-bad-cert-domain = Impossible de communiquer en mode sécurisé avec le pair : le nom de domaine demandé ne correspond pas au certificat du serveur.
+ssl-error-post-warning = Code d’erreur SSL non reconnu.
+ssl-error-ssl2-disabled = Le pair ne gère que la version 2 de SSL, qui est désactivée localement.
+ssl-error-bad-mac-read = SSL a reçu un enregistrement avec un code d’authentification de message incorrect.
+ssl-error-bad-mac-alert = Le pair SSL signale un code d’authentification de message incorrect.
+ssl-error-bad-cert-alert = Le pair SSL ne peut pas vérifier votre certificat.
+ssl-error-revoked-cert-alert = Le pair SSL a rejeté votre certificat car celui-ci est révoqué.
+ssl-error-expired-cert-alert = Le pair SSL a rejeté votre certificat car celui-ci a expiré.
+ssl-error-ssl-disabled = Impossible de se connecter : SSL est désactivé.
+ssl-error-fortezza-pqg = Impossible de se connecter : le pair SSL est dans un autre domaine FORTEZZA.
+ssl-error-unknown-cipher-suite = Une suite de chiffrement SSL inconnue a été demandée.
+ssl-error-no-ciphers-supported = Aucune suite de chiffrement n’est présente et activée dans ce programme.
+ssl-error-bad-block-padding = SSL a reçu un enregistrement avec un mauvais remplissage de bloc.
+ssl-error-rx-record-too-long = SSL a reçu un enregistrement qui dépasse la longueur maximale autorisée.
+ssl-error-tx-record-too-long = SSL a essayé d’envoyer un enregistrement dépassant la taille maximale autorisée.
+ssl-error-rx-malformed-hello-request = SSL a reçu un message d’établissement de liaison « Hello Request » malformé.
+ssl-error-rx-malformed-client-hello = SSL a reçu un message d’établissement de liaison « Client Hello » malformé.
+ssl-error-rx-malformed-server-hello = SSL a reçu un message d’établissement de liaison « Server Hello » malformé.
+ssl-error-rx-malformed-certificate = SSL a reçu un message d’établissement de liaison « Certificate » malformé.
+ssl-error-rx-malformed-server-key-exch = SSL a reçu un message d’établissement de liaison « Server Key Exchange » malformé.
+ssl-error-rx-malformed-cert-request = SSL a reçu un message d’établissement de liaison « Certificate Request » malformé.
+ssl-error-rx-malformed-hello-done = SSL a reçu un message d’établissement de liaison « Server Hello Done » malformé.
+ssl-error-rx-malformed-cert-verify = SSL a reçu un message d’établissement de liaison « Certificate Verify » malformé.
+ssl-error-rx-malformed-client-key-exch = SSL a reçu un message d’établissement de liaison « Client Key Exchange » malformé.
+ssl-error-rx-malformed-finished = SSL a reçu un message d’établissement de liaison « Finished » malformé.
+ssl-error-rx-malformed-change-cipher = SSL a reçu un enregistrement « Change Cipher Spec » malformé.
+ssl-error-rx-malformed-alert = SSL a reçu un enregistrement « Alert » malformé.
+ssl-error-rx-malformed-handshake = SSL a reçu un enregistrement « Handshake » malformé.
+ssl-error-rx-malformed-application-data = SSL a reçu un enregistrement « Application Data » malformé.
+ssl-error-rx-unexpected-hello-request = SSL a reçu un message d’établissement de liaison « Hello Request » inattendu.
+ssl-error-rx-unexpected-client-hello = SSL a reçu un message d’établissement de liaison « Client Hello » inattendu.
+ssl-error-rx-unexpected-server-hello = SSL a reçu un message d’établissement de liaison « Server Hello » inattendu.
+ssl-error-rx-unexpected-certificate = SSL a reçu un message d’établissement de liaison « Certificate » inattendu.
+ssl-error-rx-unexpected-server-key-exch = SSL a reçu un message d’établissement de liaison « Server Key Exchange » inattendu.
+ssl-error-rx-unexpected-cert-request = SSL a reçu un message d’établissement de liaison « Certificate Request » inattendu.
+ssl-error-rx-unexpected-hello-done = SSL a reçu un message d’établissement de liaison « Server Hello Done » inattendu.
+ssl-error-rx-unexpected-cert-verify = SSL a reçu un message d’établissement de liaison « Certificate Verify » inattendu.
+ssl-error-rx-unexpected-client-key-exch = SSL a reçu un message d’établissement de liaison « Client Key Exchange » inattendu.
+ssl-error-rx-unexpected-finished = SSL a reçu un message d’établissement de liaison « Finished » inattendu.
+ssl-error-rx-unexpected-change-cipher = SSL a reçu un enregistrement « Change Cipher Spec » inattendu.
+ssl-error-rx-unexpected-alert = SSL a reçu un enregistrement « Alert » inattendu.
+ssl-error-rx-unexpected-handshake = SSL a reçu un enregistrement « Handshake » inattendu.
+ssl-error-rx-unexpected-application-data = SSL a reçu un enregistrement « Application Data » inattendu.
+ssl-error-rx-unknown-record-type = SSL a reçu un enregistrement avec un type de contenu inconnu.
+ssl-error-rx-unknown-handshake = SSL a reçu un message d’établissement de liaison avec un type de message inconnu.
+ssl-error-rx-unknown-alert = SSL a reçu un enregistrement d’alerte avec une description d’alerte inconnue.
+ssl-error-close-notify-alert = Le pair SSL a fermé cette connexion.
+ssl-error-handshake-unexpected-alert = Le pair SSL ne s’attendait pas à recevoir le message d’établissement de liaison qu’il a reçu.
+ssl-error-decompression-failure-alert = La pair SSL n’a pas réussi à décompresser un enregistrement SSL qu’il a reçu.
+ssl-error-handshake-failure-alert = Le pair SSL n’a pas réussi à négocier un jeu de paramètres de sécurité acceptable.
+ssl-error-illegal-parameter-alert = Le pair SSL a rejeté un message d’établissement de liaison à cause d’un contenu inacceptable.
+ssl-error-unsupported-cert-alert = Le pair SSL ne gère pas le type des certificats qu’il a reçus.
+ssl-error-certificate-unknown-alert = Le pair SSL a eu un problème non spécifié avec le certificat qu’il a reçu.
+ssl-error-generate-random-failure = SSL a rencontré un échec de son générateur de nombres aléatoires.
+ssl-error-sign-hashes-failure = Impossible de signer numériquement les données requises pour vérifier votre certificat.
+ssl-error-extract-public-key-failure = SSL n’a pas pu extraire la clé publique du certificat du pair.
+ssl-error-server-key-exchange-failure = Échec non spécifié lors du traitement de l’établissement de liaison « SSL Server Key Exchange ».
+ssl-error-client-key-exchange-failure = Échec non spécifié lors du traitement de l’établissement de liaison « SSL Client Key Exchange ».
+ssl-error-encryption-failure = L’algorithme de chiffrement de données en volume a échoué pour la suite de chiffrement sélectionnée.
+ssl-error-decryption-failure = L’algorithme de déchiffrement de données en volume a échoué pour la suite de chiffrement sélectionnée.
+ssl-error-socket-write-failure = La tentative d’écriture de données chiffrées vers l’interface de connexion sous-jacente a échoué.
+ssl-error-md5-digest-failure = La fonction de prétraitement MD5 a échoué.
+ssl-error-sha-digest-failure = La fonction de prétraitement SHA-1 a échoué.
+ssl-error-mac-computation-failure = Le calcul MAC a échoué.
+ssl-error-sym-key-context-failure = Échec de création du contexte de clés symétriques.
+ssl-error-sym-key-unwrap-failure = Échec de l’extraction de la clé symétrique dans le message « Client Key Exchange ».
+ssl-error-pub-key-size-limit-exceeded = Le serveur SSL a tenté d’utiliser une clé publique nationale avec une suite de chiffrement destinée à l’exportation.
+ssl-error-iv-param-failure = Le code PKCS11 a échoué lors de la traduction d’un IV en paramètre.
+ssl-error-init-cipher-suite-failure = Échec de l’initialisation de la suite de chiffrement sélectionnée.
+ssl-error-session-key-gen-failure = Le client n’a pas réussi à générer de clés de session pour la session SSL.
+ssl-error-no-server-key-for-alg = Le serveur n’a pas de clé pour l’algorithme d’échange de clés utilisé.
+ssl-error-token-insertion-removal = Le jeton PKCS#11 a été inséré ou supprimé pendant qu’une opération était en cours.
+ssl-error-token-slot-not-found = Aucun jeton PKCS#11 n’a été trouvé pour accomplir une opération requise.
+ssl-error-no-compression-overlap = Impossible de communiquer en mode sécurisé avec le pair : aucun algorithme de compression en commun.
+ssl-error-handshake-not-completed = Impossible d’initialiser un autre établissement de liaison SSL tant que celui en cours n’est pas terminé.
+ssl-error-bad-handshake-hash-value = Réception de valeurs d’empreintes numériques incorrectes lors de l’établissement de liaison avec le pair.
+ssl-error-cert-kea-mismatch = Le certificat fourni ne peut être utilisé avec l’algorithme d’échange de clés sélectionné.
+ssl-error-no-trusted-ssl-client-ca = Aucune autorité de certification n’est éprouvée pour l’authentification client SSL.
+ssl-error-session-not-found = L’identifiant de session SSL du client n’a pas été trouvé dans le cache de session du serveur.
+ssl-error-decryption-failed-alert = Le pair n’a pas pu déchiffrer un enregistrement SSL qu’il a reçu.
+ssl-error-record-overflow-alert = Le pair a reçu un enregistrement SSL plus long que la taille permise.
+ssl-error-unknown-ca-alert = Le pair ne reconnaît pas l’autorité de certification qui a délivré votre certificat et ne lui fait pas confiance.
+ssl-error-access-denied-alert = Le pair a reçu un certificat valide mais l’accès a été refusé.
+ssl-error-decode-error-alert = Le pair n’a pas pu décoder un message d’établissement de liaison SSL.
+ssl-error-decrypt-error-alert = Le pair signale un échec de la vérification de signature ou de l’échange de clés.
+ssl-error-export-restriction-alert = Le pair signale une négociation qui n’est pas en conformité avec les lois sur l’exportation.
+ssl-error-protocol-version-alert = Le pair signale une version de protocole non compatible ou non gérée.
+ssl-error-insufficient-security-alert = Le serveur requiert des chiffrements plus sûrs que ceux gérés par le client.
+ssl-error-internal-error-alert = Le pair signale qu’il a eu une erreur interne.
+ssl-error-user-canceled-alert = L’utilisateur pair a annulé l’établissement de liaison.
+ssl-error-no-renegotiation-alert = Le pair ne permet pas la renégociation des paramètres de sécurité SSL.
+ssl-error-server-cache-not-configured = Le cache du serveur SSL n’est pas configuré et n’est pas désactivé pour cette interface de connexion.
+ssl-error-unsupported-extension-alert = Le pair SSL ne gère pas l’extension « TLS Hello » requise.
+ssl-error-certificate-unobtainable-alert = Le pair SSL n’a pas pu obtenir votre certificat à partir de l’URL fournie.
+ssl-error-unrecognized-name-alert = Le pair SSL n’a pas de certificat pour le nom DNS demandé.
+ssl-error-bad-cert-status-response-alert = Le pair SSL n’a pas pu obtenir de réponse OCSP pour son certificat.
+ssl-error-bad-cert-hash-value-alert = Le pair SSL signale une valeur d’empreinte numérique de certificat incorrecte.
+ssl-error-rx-unexpected-new-session-ticket = SSL a reçu un message d’établissement de liaison « New Session Ticket » inattendu.
+ssl-error-rx-malformed-new-session-ticket = SSL a reçu un message d’établissement de liaison « New Session Ticket » mal formé.
+ssl-error-decompression-failure = SSL a reçu un enregistrement compressé qu’il n’a pas pu décompresser.
+ssl-error-renegotiation-not-allowed = La renégociation n’est pas autorisée sur cette interface de connexion SSL.
+ssl-error-unsafe-negotiation = Le pair a essayé un établissement de liaison obsolète (potentiellement vulnérable).
+ssl-error-rx-unexpected-uncompressed-record = SSL a reçu un enregistrement non-compressé inattendu.
+ssl-error-weak-server-ephemeral-dh-key = SSL a reçu une clé Diffie-Hellman éphémère faible dans le message d’établissement de liaison « Server Key Exchange ».
+ssl-error-next-protocol-data-invalid = SSL a reçu des données d’extension NPN invalides.
+ssl-error-feature-not-supported-for-ssl2 = Fonctionnalité SSL non gérée pour les connexions SSL 2.0.
+ssl-error-feature-not-supported-for-servers = Fonctionnalité SSL non gérée pour les serveurs.
+ssl-error-feature-not-supported-for-clients = Fonctionnalité SSL non gérée pour les clients.
+ssl-error-invalid-version-range = La plage de versions SSL n’est pas valide.
+ssl-error-cipher-disallowed-for-version = Le pair SSL a sélectionné une suite de chiffrement non autorisée pour la version sélectionnée du protocole.
+ssl-error-rx-malformed-hello-verify-request = SSL a reçu un message d’établissement de liaison « Hello Verify Request » malformé.
+ssl-error-rx-unexpected-hello-verify-request = SSL a reçu un message d’établissement de liaison « Hello Verify Request » inattendu.
+ssl-error-feature-not-supported-for-version = La fonctionnalité SSL n’est pas prise en charge pour cette version du protocole.
+ssl-error-rx-unexpected-cert-status = SSL a reçu un message d’établissement de liaison « Certificate Status » inattendu.
+ssl-error-unsupported-hash-algorithm = Algorithme de hachage non pris en charge utilisé par le pair TLS.
+ssl-error-digest-failure = La fonction de prétraitement a échoué.
+ssl-error-incorrect-signature-algorithm = Algorithme de signature incorrect spécifié dans un élément signé numériquement.
+ssl-error-next-protocol-no-callback = L’extension « next protocol negotiation » était activée, mais la fonction de rappel a été effacée avant d’avoir pu être utilisée.
+ssl-error-next-protocol-no-protocol = Le serveur ne prend en charge aucun des protocoles annoncés par le client dans l’extension ALPN.
+ssl-error-inappropriate-fallback-alert = Le serveur a rejeté le message d’établissement de liaison car le client utilise désormais une version de TLS inférieure à la version minimale prise en charge par le serveur.
+ssl-error-weak-server-cert-key = Le certificat du serveur possède une clé publique trop faible.
+ssl-error-rx-short-dtls-read = Le tampon ne possède pas assez d’espace libre pour un enregistrement DTLS.
+ssl-error-no-supported-signature-algorithm = Aucune signature d’algorithme TLS prise en charge n’a été configurée.
+ssl-error-unsupported-signature-algorithm = Le pair a utilisé une combinaison non prise en charge de signature et d’algorithme de hachage.
+ssl-error-missing-extended-master-secret = Le pair a essayé de reprendre sans extension extended_master_secret correcte.
+ssl-error-unexpected-extended-master-secret = Le pair a essayé de reprendre avec une extension extended_master_secret inattendue.
+
+sec-error-io = Une erreur d’entrée/sortie est survenue pendant l’autorisation de sécurité.
+sec-error-library-failure = Échec de la bibliothèque de sécurité.
+sec-error-bad-data = Bibliothèque de sécurité : données incorrectes reçues.
+sec-error-output-len = Bibliothèque de sécurité : erreur de longueur des données en sortie.
+sec-error-input-len = La bibliothèque de sécurité a rencontré une erreur de longueur des données en entrée.
+sec-error-invalid-args = Bibliothèque de sécurité : arguments invalides.
+sec-error-invalid-algorithm = Bibliothèque de sécurité : algorithme invalide.
+sec-error-invalid-ava = Bibliothèque de sécurité : AVA invalide.
+sec-error-invalid-time = Chaîne temporelle mal formatée.
+sec-error-bad-der = Bibliothèque de sécurité : message encodé en DER mal formaté.
+sec-error-bad-signature = Le certificat du pair a une signature invalide.
+sec-error-expired-certificate = Le certificat du pair a expiré.
+sec-error-revoked-certificate = Le certificat du pair a été révoqué.
+sec-error-unknown-issuer = L’autorité de délivrance du certificat du pair n’est pas reconnue.
+sec-error-bad-key = La clé publique du pair est invalide.
+sec-error-bad-password = Le mot de passe de sécurité saisi est incorrect.
+sec-error-retry-password = Le nouveau mot de passe a été saisi de manière incorrecte. Veuillez réessayer.
+sec-error-no-nodelock = Bibliothèque de sécurité : aucun verrou de nœud.
+sec-error-bad-database = Bibliothèque de sécurité : mauvaise base de données.
+sec-error-no-memory = Bibliothèque de sécurité : échec d’allocation mémoire.
+sec-error-untrusted-issuer = L’autorité de délivrance du certificat du pair a été marquée comme non digne de confiance par l’utilisateur.
+sec-error-untrusted-cert = Le certificat du pair a été marqué comme non digne de confiance par l’utilisateur.
+sec-error-duplicate-cert = Le certificat existe déjà dans votre base de données.
+sec-error-duplicate-cert-name = Le nom du certificat téléchargé existe déjà dans votre base de données.
+sec-error-adding-cert = Erreur lors de l’ajout d’un certificat à la base de données.
+sec-error-filing-key = Erreur lors de l’ajout de clé pour ce certificat.
+sec-error-no-key = La clé privée pour ce certificat n’a pas été trouvée dans la base de données des clés.
+sec-error-cert-valid = Ce certificat est valide.
+sec-error-cert-not-valid = Ce certificat n’est pas valide.
+sec-error-cert-no-response = Bibliothèque de certificat : pas de réponse
+sec-error-expired-issuer-certificate = Le certificat de l’autorité de délivrance du certificat a expiré. Vérifiez la date et l’heure de votre système.
+sec-error-crl-expired = La liste de certificats révoqués pour l’autorité de délivrance du certificat a expiré. Mettez-la à jour ou vérifiez la date et l’heure de votre système.
+sec-error-crl-bad-signature = La liste de certificats révoqués pour l’autorité de délivrance du certificat a une signature invalide.
+sec-error-crl-invalid = La nouvelle liste de certificats révoqués est d’un format invalide.
+sec-error-extension-value-invalid = La valeur de l’extension du certificat est invalide.
+sec-error-extension-not-found = Extension du certificat introuvable.
+sec-error-ca-cert-invalid = Le certificat de l’autorité de délivrance est invalide.
+sec-error-path-len-constraint-invalid = La contrainte de longueur du chemin du certificat est invalide.
+sec-error-cert-usages-invalid = Le champ « utilisations » du certificat est invalide.
+sec-internal-only = **Module interne SEULEMENT**
+sec-error-invalid-key = La clé ne gère pas l’opération demandée.
+sec-error-unknown-critical-extension = Le certificat contient une extension critique inconnue.
+sec-error-old-crl = La date de péremption de la nouvelle liste de certificats révoqués n’est pas ultérieure à celle de la liste en cours.
+sec-error-no-email-cert = Non chiffré ou signé : vous n’avez pas encore de certificat d’adresse e-mail.
+sec-error-no-recipient-certs-query = Non chiffré : vous n’avez pas de certificat pour chacun des destinataires.
+sec-error-not-a-recipient = Impossible de déchiffrer : vous n’êtes pas le destinataire ou le certificat et la clé privée correspondants n’ont pas été trouvés.
+sec-error-pkcs7-keyalg-mismatch = Impossible de déchiffrer : l’algorithme de chiffrement de clé ne correspond pas à votre certificat.
+sec-error-pkcs7-bad-signature = La vérification de signature a échoué : aucun signataire, trop de signataires ou données corrompues ou incorrectes.
+sec-error-unsupported-keyalg = Algorithme de clé non géré ou inconnu.
+sec-error-decryption-disallowed = Impossible de déchiffrer : chiffré en utilisant un algorithme ou une taille de clé non autorisés.
+sec-error-no-krl = Aucune liste de clés révoquées pour le certificat de ce site n’a été trouvée.
+sec-error-krl-expired = La liste de clés révoquées pour le certificat de ce site a expiré.
+sec-error-krl-bad-signature = La liste de clés révoquées pour le certificat de ce site a une signature invalide.
+sec-error-revoked-key = La clé pour le certificat de ce site a été révoquée.
+sec-error-krl-invalid = La nouvelle liste de clés révoquées a un format invalide.
+sec-error-need-random = Bibliothèque de sécurité : données aléatoires nécessaires.
+sec-error-no-module = Bibliothèque de sécurité : aucun module de sécurité ne peut réaliser l’opération demandée.
+sec-error-no-token = La carte ou le jeton de sécurité n’existe pas, n’est pas encore initialisé ou a été retiré.
+sec-error-read-only = Bibliothèque de sécurité : base de données en lecture seule.
+sec-error-no-slot-selected = Aucun slot ou jeton n’a été sélectionné.
+sec-error-cert-nickname-collision = Un certificat avec le même pseudo existe déjà.
+sec-error-key-nickname-collision = Une clé avec le même pseudo existe déjà.
+sec-error-safe-not-created = Erreur lors de la création d’un objet sécurisé
+sec-error-baggage-not-created = Erreur lors de la création d’un objet valise
+sec-error-bad-export-algorithm = L’algorithme requis n’est pas autorisé.
+sec-error-exporting-certificates = Erreur lors de la tentative d’exportation des certificats.
+sec-error-importing-certificates = Erreur lors de la tentative d’importation des certificats.
+sec-error-pkcs12-decoding-pfx = Importation impossible. Erreur de décodage. Fichier non valide.
+sec-error-pkcs12-invalid-mac = Importation impossible. MAC invalide. Mot de passe incorrect ou fichier corrompu.
+sec-error-pkcs12-unsupported-mac-algorithm = Importation impossible. Algorithme MAC non géré.
+sec-error-pkcs12-unsupported-transport-mode = Importation impossible. Seuls les modes intégrité de mot de passe et vie privée sont gérés.
+sec-error-pkcs12-corrupt-pfx-structure = Importation impossible. La structure du fichier est corrompue.
+sec-error-pkcs12-unsupported-pbe-algorithm = Importation impossible. Algorithme de chiffrement non géré.
+sec-error-pkcs12-unsupported-version = Importation impossible. Version de fichier non gérée.
+sec-error-pkcs12-privacy-password-incorrect = Importation impossible. Mot de passe de vie privée incorrect.
+sec-error-pkcs12-cert-collision = Importation impossible. Le même pseudo existe déjà dans la base de données.
+sec-error-user-cancelled = L’utilisateur a annulé l’opération.
+sec-error-pkcs12-duplicate-data = Non importé car déjà dans la base de données.
+sec-error-message-send-aborted = Le message n’a pas été envoyé.
+sec-error-inadequate-key-usage = Utilisation de la clé de certificat inappropriée pour cette opération.
+sec-error-inadequate-cert-type = Type de certificat non approuvé pour l’application.
+sec-error-cert-addr-mismatch = L’adresse dans le certificat de signature ne correspond pas à celle figurant dans les en-têtes de messages.
+sec-error-pkcs12-unable-to-import-key = Importation impossible. Erreur lors de la tentative d’importation de la clé privée.
+sec-error-pkcs12-importing-cert-chain = Importation impossible. Erreur lors de la tentative d’importation de la chaîne de certificat.
+sec-error-pkcs12-unable-to-locate-object-by-name = Exportation impossible. Impossible de localiser le certificat ou la clé par son pseudo.
+sec-error-pkcs12-unable-to-export-key = Exportation impossible. La clé privée n’a pas été trouvée.
+sec-error-pkcs12-unable-to-write = Exportation impossible. Impossible d’écrire le fichier d’exportation.
+sec-error-pkcs12-unable-to-read = Exportation impossible. Impossible de lire le fichier d’importation.
+sec-error-pkcs12-key-database-not-initialized = Exportation impossible. La base de données des clés est corrompue ou effacée.
+sec-error-keygen-fail = Impossible de générer la paire de clés publique/privée.
+sec-error-invalid-password = Le mot de passe saisi est invalide. Veuillez en choisir un autre.
+sec-error-retry-old-password = L’ancien mot de passe n’a pas été saisi correctement. Veuillez réessayer.
+sec-error-bad-nickname = Ce pseudo de certificat est déjà utilisé.
+sec-error-not-fortezza-issuer = La chaîne FORTEZZA du pair a un certificat non FORTEZZA.
+sec-error-cannot-move-sensitive-key = Une clé sensible n’a pas pu être déplacée dans le slot où elle était requise.
+sec-error-js-invalid-module-name = Nom de module invalide.
+sec-error-js-invalid-dll = Chemin/fichier de module invalide
+sec-error-js-add-mod-failure = Ajout de module impossible
+sec-error-js-del-mod-failure = Suppression de module impossible
+sec-error-old-krl = La nouvelle liste de clés révoquées n’a pas une date de péremption ultérieure à celle en cours d’utilisation.
+sec-error-ckl-conflict = La nouvelle liste de clés compromises provient d’une autorité différente de celle en cours d’utilisation. Supprimez la liste en cours d’utilisation.
+sec-error-cert-not-in-name-space = L’autorité de certification pour ce certificat n’est pas autorisé à délivrer un certificat avec ce nom.
+sec-error-krl-not-yet-valid = La liste de clés révoquées pour ce certificat n’est pas encore valide.
+sec-error-crl-not-yet-valid = La liste de certificats révoqués pour ce certificat n’est pas encore valide.
+sec-error-unknown-cert = Le certificat demandé n’a pas été trouvé.
+sec-error-unknown-signer = Le signataire du certificat n’a pas été trouvé.
+sec-error-cert-bad-access-location = L’emplacement pour le serveur de statut de certificats a un format invalide.
+sec-error-ocsp-unknown-response-type = La réponse OCSP ne peut pas être totalement décodée ; elle est d’un type inconnu.
+sec-error-ocsp-bad-http-response = Le serveur OCSP a renvoyé des données HTTP inattendues/invalides.
+sec-error-ocsp-malformed-request = Le serveur OCSP a trouvé que la requête était corrompue ou mal formée.
+sec-error-ocsp-server-error = Le serveur OCSP a rencontré une erreur interne.
+sec-error-ocsp-try-server-later = Le serveur OCSP suggère de réessayer plus tard.
+sec-error-ocsp-request-needs-sig = Le serveur OCSP requiert une signature sur cette requête.
+sec-error-ocsp-unauthorized-request = Le serveur OCSP a refusé cette requête car elle n’est pas autorisée.
+sec-error-ocsp-unknown-response-status = Le serveur OCSP a renvoyé un statut inconnu.
+sec-error-ocsp-unknown-cert = Le serveur OCSP n’a pas de statut pour le certificat.
+sec-error-ocsp-not-enabled = Vous devez activer OCSP avant d’effectuer cette opération.
+sec-error-ocsp-no-default-responder = Vous devez définir le répondeur OCSP par défaut avant d’effectuer cette opération.
+sec-error-ocsp-malformed-response = La réponse du serveur OCSP était corrompue ou mal formée.
+sec-error-ocsp-unauthorized-response = Le signataire de la réponse OCSP n’est pas autorisé à donner de statut pour ce certificat.
+sec-error-ocsp-future-response = La réponse OCSP n’est pas encore valide (elle contient une date future).
+sec-error-ocsp-old-response = La réponse OCSP contient des informations obsolètes.
+sec-error-digest-not-found = Le prétraitement CMS ou PKCS #7 n’a pas été trouvé dans le message signé.
+sec-error-unsupported-message-type = Le type de message CMS ou PKCS #7 n’est pas géré.
+sec-error-module-stuck = Le module PKCS #11 ne peut pas être supprimé car il est encore utilisé.
+sec-error-bad-template = Impossible de décoder les données ASN.1 data. Le modèle spécifié était invalide.
+sec-error-crl-not-found = Aucune liste de certificats révoqués correspondante n’a été trouvée.
+sec-error-reused-issuer-and-serial = Vous essayez d’importer un certificat ayant la même autorité/numéro de série qu’un certificat existant, mais ce n’est pas le même certificat.
+sec-error-busy = NSS ne peut pas s’arrêter. Des objets sont en cours d’utilisation.
+sec-error-extra-input = Un message encodé en DER contenait des données supplémentaires non utilisées.
+sec-error-unsupported-elliptic-curve = Courbe elliptique non gérée.
+sec-error-unsupported-ec-point-form = Courbe elliptique formulaire non gérée.
+sec-error-unrecognized-oid = Identifiant d’objet non reconnu.
+sec-error-ocsp-invalid-signing-cert = Certificat de signature OCSP invalide dans la réponse OCSP.
+sec-error-revoked-certificate-crl = Le certificat est révoqué dans la liste de certificats révoqués de l’autorité.
+sec-error-revoked-certificate-ocsp = Le répondeur OCSP de l’autorité signale que le certificat est révoqué.
+sec-error-crl-invalid-version = La liste de certificats révoqués de l’autorité a un numéro de version inconnu.
+sec-error-crl-v1-critical-extension = La liste de certificats révoqués V1 de l’autorité a une extension critique.
+sec-error-crl-unknown-critical-extension = La liste de certificats révoqués V2 de l’autorité a une extension critique inconnue.
+sec-error-unknown-object-type = Type d’objet inconnu spécifié.
+sec-error-incompatible-pkcs11 = Le pilote PKCS #11 viole les spécifications d’une manière incompatible.
+sec-error-no-event = Aucun nouvel évènement de slot n’est disponible pour le moment.
+sec-error-crl-already-exists = La liste de certificats révoqués existe déjà.
+sec-error-not-initialized = NSS n’est pas initialisé.
+sec-error-token-not-logged-in = L’opération a échoué car le jeton PKCS#11 n’est pas connecté.
+sec-error-ocsp-responder-cert-invalid = Le certificat du répondant OCSP configuré est invalide.
+sec-error-ocsp-bad-signature = La signature de la réponse OCSP est invalide.
+sec-error-out-of-search-limits = La recherche de validation de certificat est en dehors des limites de recherche
+sec-error-invalid-policy-mapping = Le mappage de stratégie d’un certificat contient la valeur inappropriée « anypolicy »
+sec-error-policy-validation-failed = Un certificat a spécifié une stratégie qui n’a pas pu être validée en utilisant une quelconque chaîne de certification
+sec-error-unknown-aia-location-type = Type d’emplacement inconnu dans l’extension de certificat AIA
+sec-error-bad-http-response = Le serveur a renvoyé une mauvaise réponse HTTP
+sec-error-bad-ldap-response = Le serveur a renvoyé une mauvaise réponse LDAP
+sec-error-failed-to-encode-data = Échec de l’encodage de données avec l’encodeur ASN1
+sec-error-bad-info-access-location = Mauvaise information d’emplacement d’accès dans l’extension de certificat
+sec-error-libpkix-internal = Une erreur interne libpkix est survenue pendant la validation de certificat.
+sec-error-pkcs11-general-error = Un module PKCS #11 a renvoyé CKR_GENERAL_ERROR, indiquant qu’une erreur irrécupérable est survenue.
+sec-error-pkcs11-function-failed = Un module PKCS #11 a renvoyé CKR_FUNCTION_FAILED, indiquant que la fonction demandée ne pouvait être réalisée. Essayer à nouveau la même opération pourrait fonctionner.
+sec-error-pkcs11-device-error = Un module PKCS #11 a renvoyé CKR_DEVICE_ERROR, indiquant qu’un problème avec le jeton ou le slot est survenu.
+sec-error-bad-info-access-method = Méthode d’accès à l’information inconnue dans l’extension de certificat.
+sec-error-crl-import-failed = Erreur lors de la tentative d’importation d’une liste de révocation de certificat (CRL).
+sec-error-expired-password = Le mot de passe a expiré.
+sec-error-locked-password = Le mot de passe est verrouillé.
+sec-error-unknown-pkcs11-error = Erreur PKCS #11 inconnue.
+sec-error-bad-crl-dp-url = URL invalide ou non gérée dans un point de distribution CRL.
+sec-error-cert-signature-algorithm-disabled = Le certificat a été signé à l’aide d’un algorithme de signature qui est désactivé pour son manque de sûreté.
+
+mozilla-pkix-error-key-pinning-failure = Le serveur utilise le mécanisme de « key pinning » (HPKP) mais aucune chaîne de confiance pour les certificats n’a pu être établie pour correspondre au pinset. Les violations de « key pinning » ne peuvent pas être forcées.
+mozilla-pkix-error-ca-cert-used-as-end-entity = Le serveur utilise un certificat avec une extension de contraintes basiques qui l’identifie en tant qu’autorité de certification. Pour un certificat correctement émis cela ne devrait pas être le cas.
+mozilla-pkix-error-inadequate-key-size = Le serveur a présenté un certificat dont la taille de la clé est trop petite pour établir une connexion sécurisée.
+mozilla-pkix-error-v1-cert-used-as-ca = Un certificat X.509 version 1 qui n’est pas une ancre de confiance a été utilisé pour signer le certificat du serveur. Les certificats X.509 version 1 sont obsolètes et ne devraient pas être utilisés pour signer d’autres certificats.
+mozilla-pkix-error-not-yet-valid-certificate = Le serveur a présenté un certificat qui n’est pas encore valide.
+mozilla-pkix-error-not-yet-valid-issuer-certificate = Un certificat qui n’est pas encore valide a été utilisé pour fournir le certificat du serveur.
+mozilla-pkix-error-signature-algorithm-mismatch = L’algorithme de signature présent dans le champ « signature » du certificat ne correspond pas à l’algorithme de son champ « signatureAlgorithm ».
+mozilla-pkix-error-ocsp-response-for-cert-missing = La réponse OCSP ne comporte pas d’état pour le certificat vérifié.
+mozilla-pkix-error-validity-too-long = Le serveur a présenté un certificat qui reste valide trop longtemps.
+mozilla-pkix-error-required-tls-feature-missing = Une fonctionnalité TLS nécessaire est manquante.
+mozilla-pkix-error-invalid-integer-encoding = Le serveur a présenté un certificat contenant un entier mal encodé. Les raisons les plus fréquentes sont des numéros de série négatifs, des modules RSA négatifs ou des encodages plus longs que nécessaire.
+mozilla-pkix-error-empty-issuer-name = Le serveur a présenté un certificat où le nom unique de l’autorité de délivrance est vide.
+mozilla-pkix-error-additional-policy-constraint-failed = Une contrainte de stratégie supplémentaire a échoué lors de la validation de ce certificat.
+mozilla-pkix-error-self-signed-cert = Le certificat n’est pas sûr car il est auto-signé.
+
+xp-java-remove-principal-error = Impossible de supprimer le principal
+xp-java-delete-privilege-error = Impossible de supprimer le privilège
+xp-java-cert-not-exists-error = Ce principal n’a pas de certificat
+
+xp-sec-fortezza-bad-card = La carte Fortezza n’a pas été initialisée correctement. Veuillez la retirer et la renvoyer à votre distributeur.
+xp-sec-fortezza-no-card = Aucune carte Fortezza n’a été trouvée
+xp-sec-fortezza-none-selected = Aucune carte Fortezza n’a été sélectionnée
+xp-sec-fortezza-more-info = Veuillez sélectionner une personnalité sur laquelle vous souhaitez obtenir plus d’informations
+xp-sec-fortezza-person-not-found = Personnalité non trouvée
+xp-sec-fortezza-no-more-info = Aucune autre information sur cette personnalité
+xp-sec-fortezza-bad-pin = Code Pin invalide
+xp-sec-fortezza-person-error = Impossible d’initialiser les personnalités Fortezza.
diff --git a/thunderbird-l10n/fr/localization/fr/toolkit/passwordmgr/passwordmgr.ftl b/thunderbird-l10n/fr/localization/fr/toolkit/passwordmgr/passwordmgr.ftl
new file mode 100644
index 0000000000..e6d557457a
--- /dev/null
+++ b/thunderbird-l10n/fr/localization/fr/toolkit/passwordmgr/passwordmgr.ftl
@@ -0,0 +1,39 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+
+## Save and update password doorhanger
+
+# Variables
+# $host (String) - Hostname for which the password is saved for.
+password-manager-save-password-message = Enregistrer le mot de passe pour { $host } ?
+password-manager-save-password-button-deny =
+ .label = Plus tard
+ .accesskey = P
+password-manager-save-password-button-allow =
+ .label = Enregistrer
+ .accesskey = E
+password-manager-save-password-button-never =
+ .label = Ne jamais enregistrer
+ .accesskey = e
+# Variables
+# $host (String) - Hostname for which the password is updated for.
+password-manager-update-password-message = Mettre à jour le mot de passe pour { $host } ?
+password-manager-update-password-button-delete =
+ .label = Supprimer le mot de passe enregistré
+ .accesskey = S
+password-manager-update-login-add-username = Ajouter un nom d’utilisateur au mot de passe enregistré ?
+password-manager-password-password-button-allow =
+ .label = Mettre à jour
+ .accesskey = M
+password-manager-update-password-button-deny =
+ .label = Ne pas mettre à jour
+ .accesskey = N
+# This is displayed in place of the username when it is missing.
+password-manager-no-username-placeholder = Aucun nom d’utilisateur
+password-manager-toggle-password =
+ .label = Afficher le mot de passe
+ .accesskey = A
+password-manager-confirm-password-change = Confirmer le changement de mot de passe
+password-manager-select-username = Sélectionnez l’identifiant à mettre à jour :
diff --git a/thunderbird-l10n/fr/localization/fr/toolkit/payments/payments.ftl b/thunderbird-l10n/fr/localization/fr/toolkit/payments/payments.ftl
new file mode 100644
index 0000000000..2bd8ed48e6
--- /dev/null
+++ b/thunderbird-l10n/fr/localization/fr/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 = Expiration : { $month }/{ $year }
+
+## These labels serve as a description of a credit card.
+## The description must include a credit card number, and may optionally
+## include a cardholder name, an expiration date, or both, so we have
+## four variations.
+
+# Label for a credit card with a number only
+#
+# Variables:
+# $number (String): Partially-redacted credit card number
+# $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/fr/localization/fr/toolkit/pdfviewer/viewer.ftl b/thunderbird-l10n/fr/localization/fr/toolkit/pdfviewer/viewer.ftl
new file mode 100644
index 0000000000..47c3d3a55f
--- /dev/null
+++ b/thunderbird-l10n/fr/localization/fr/toolkit/pdfviewer/viewer.ftl
@@ -0,0 +1,380 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.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 = Page précédente
+pdfjs-previous-button-label = Précédent
+pdfjs-next-button =
+ .title = Page suivante
+pdfjs-next-button-label = Suivant
+# .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 = sur { $pagesCount }
+# Variables:
+# $pageNumber (Number) - the currently visible page
+# $pagesCount (Number) - the total number of pages in the document
+pdfjs-page-of-pages = ({ $pageNumber } sur { $pagesCount })
+pdfjs-zoom-out-button =
+ .title = Zoom arrière
+pdfjs-zoom-out-button-label = Zoom arrière
+pdfjs-zoom-in-button =
+ .title = Zoom avant
+pdfjs-zoom-in-button-label = Zoom avant
+pdfjs-zoom-select =
+ .title = Zoom
+pdfjs-presentation-mode-button =
+ .title = Basculer en mode présentation
+pdfjs-presentation-mode-button-label = Mode présentation
+pdfjs-open-file-button =
+ .title = Ouvrir le fichier
+pdfjs-open-file-button-label = Ouvrir le fichier
+pdfjs-print-button =
+ .title = Imprimer
+pdfjs-print-button-label = Imprimer
+pdfjs-save-button =
+ .title = Enregistrer
+pdfjs-save-button-label = Enregistrer
+# Used in Firefox for Android as a tooltip for the download button (“download” is a verb).
+pdfjs-download-button =
+ .title = Télécharger
+# Used in Firefox for Android as a label for the download button (“download” is a verb).
+# Length of the translation matters since we are in a mobile context, with limited screen estate.
+pdfjs-download-button-label = Télécharger
+pdfjs-bookmark-button =
+ .title = Page courante (montrer l’adresse de la page courante)
+pdfjs-bookmark-button-label = Page courante
+# Used in Firefox for Android.
+pdfjs-open-in-app-button =
+ .title = Ouvrir dans une application
+# 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 = Ouvrir dans une application
+
+## Secondary toolbar and context menu
+
+pdfjs-tools-button =
+ .title = Outils
+pdfjs-tools-button-label = Outils
+pdfjs-first-page-button =
+ .title = Aller à la première page
+pdfjs-first-page-button-label = Aller à la première page
+pdfjs-last-page-button =
+ .title = Aller à la dernière page
+pdfjs-last-page-button-label = Aller à la dernière page
+pdfjs-page-rotate-cw-button =
+ .title = Rotation horaire
+pdfjs-page-rotate-cw-button-label = Rotation horaire
+pdfjs-page-rotate-ccw-button =
+ .title = Rotation antihoraire
+pdfjs-page-rotate-ccw-button-label = Rotation antihoraire
+pdfjs-cursor-text-select-tool-button =
+ .title = Activer l’outil de sélection de texte
+pdfjs-cursor-text-select-tool-button-label = Outil de sélection de texte
+pdfjs-cursor-hand-tool-button =
+ .title = Activer l’outil main
+pdfjs-cursor-hand-tool-button-label = Outil main
+pdfjs-scroll-page-button =
+ .title = Utiliser le défilement par page
+pdfjs-scroll-page-button-label = Défilement par page
+pdfjs-scroll-vertical-button =
+ .title = Utiliser le défilement vertical
+pdfjs-scroll-vertical-button-label = Défilement vertical
+pdfjs-scroll-horizontal-button =
+ .title = Utiliser le défilement horizontal
+pdfjs-scroll-horizontal-button-label = Défilement horizontal
+pdfjs-scroll-wrapped-button =
+ .title = Utiliser le défilement par bloc
+pdfjs-scroll-wrapped-button-label = Défilement par bloc
+pdfjs-spread-none-button =
+ .title = Ne pas afficher les pages deux à deux
+pdfjs-spread-none-button-label = Pas de double affichage
+pdfjs-spread-odd-button =
+ .title = Afficher les pages par deux, impaires à gauche
+pdfjs-spread-odd-button-label = Doubles pages, impaires à gauche
+pdfjs-spread-even-button =
+ .title = Afficher les pages par deux, paires à gauche
+pdfjs-spread-even-button-label = Doubles pages, paires à gauche
+
+## Document properties dialog
+
+pdfjs-document-properties-button =
+ .title = Propriétés du document…
+pdfjs-document-properties-button-label = Propriétés du document…
+pdfjs-document-properties-file-name = Nom du fichier :
+pdfjs-document-properties-file-size = Taille du fichier :
+# 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 } Ko ({ $size_b } octets)
+# 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 } Mo ({ $size_b } octets)
+pdfjs-document-properties-title = Titre :
+pdfjs-document-properties-author = Auteur :
+pdfjs-document-properties-subject = Sujet :
+pdfjs-document-properties-keywords = Mots-clés :
+pdfjs-document-properties-creation-date = Date de création :
+pdfjs-document-properties-modification-date = Modifié le :
+# 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 = Créé par :
+pdfjs-document-properties-producer = Outil de conversion PDF :
+pdfjs-document-properties-version = Version PDF :
+pdfjs-document-properties-page-count = Nombre de pages :
+pdfjs-document-properties-page-size = Taille de la page :
+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 = paysage
+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 = lettre
+pdfjs-document-properties-page-size-name-legal = document juridique
+
+## 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 = Affichage rapide des pages web :
+pdfjs-document-properties-linearized-yes = Oui
+pdfjs-document-properties-linearized-no = Non
+pdfjs-document-properties-close-button = Fermer
+
+## Print
+
+pdfjs-print-progress-message = Préparation du document pour l’impression…
+# Variables:
+# $progress (Number) - percent value
+pdfjs-print-progress-percent = { $progress } %
+pdfjs-print-progress-close-button = Annuler
+pdfjs-printing-not-supported = Attention : l’impression n’est pas totalement prise en charge par ce navigateur.
+pdfjs-printing-not-ready = Attention : le PDF n’est pas entièrement chargé pour pouvoir l’imprimer.
+
+## Tooltips and alt text for side panel toolbar buttons
+
+pdfjs-toggle-sidebar-button =
+ .title = Afficher/Masquer le panneau latéral
+pdfjs-toggle-sidebar-notification-button =
+ .title = Afficher/Masquer le panneau latéral (le document contient des signets/pièces jointes/calques)
+pdfjs-toggle-sidebar-button-label = Afficher/Masquer le panneau latéral
+pdfjs-document-outline-button =
+ .title = Afficher les signets du document (double-cliquer pour développer/réduire tous les éléments)
+pdfjs-document-outline-button-label = Signets du document
+pdfjs-attachments-button =
+ .title = Afficher les pièces jointes
+pdfjs-attachments-button-label = Pièces jointes
+pdfjs-layers-button =
+ .title = Afficher les calques (double-cliquer pour réinitialiser tous les calques à l’état par défaut)
+pdfjs-layers-button-label = Calques
+pdfjs-thumbs-button =
+ .title = Afficher les vignettes
+pdfjs-thumbs-button-label = Vignettes
+pdfjs-current-outline-item-button =
+ .title = Trouver l’élément de plan actuel
+pdfjs-current-outline-item-button-label = Élément de plan actuel
+pdfjs-findbar-button =
+ .title = Rechercher dans le document
+pdfjs-findbar-button-label = Rechercher
+pdfjs-additional-layers = Calques additionnels
+
+## 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 = Vignette de la page { $page }
+
+## Find panel button title and messages
+
+pdfjs-find-input =
+ .title = Rechercher
+ .placeholder = Rechercher dans le document…
+pdfjs-find-previous-button =
+ .title = Trouver l’occurrence précédente de l’expression
+pdfjs-find-previous-button-label = Précédent
+pdfjs-find-next-button =
+ .title = Trouver la prochaine occurrence de l’expression
+pdfjs-find-next-button-label = Suivant
+pdfjs-find-highlight-checkbox = Tout surligner
+pdfjs-find-match-case-checkbox-label = Respecter la casse
+pdfjs-find-match-diacritics-checkbox-label = Respecter les accents et diacritiques
+pdfjs-find-entire-word-checkbox-label = Mots entiers
+pdfjs-find-reached-top = Haut de la page atteint, poursuite depuis la fin
+pdfjs-find-reached-bottom = Bas de la page atteint, poursuite au début
+# Variables:
+# $current (Number) - the index of the currently active find result
+# $total (Number) - the total number of matches in the document
+pdfjs-find-match-count = Occurrence { $current } sur { $total }
+# Variables:
+# $limit (Number) - the maximum number of matches
+pdfjs-find-match-count-limit =
+ { $limit ->
+ [one] Plus d’{ $limit } occurrence
+ *[other] Plus de { $limit } occurrences
+ }
+pdfjs-find-not-found = Expression non trouvée
+
+## Predefined zoom values
+
+pdfjs-page-scale-width = Pleine largeur
+pdfjs-page-scale-fit = Page entière
+pdfjs-page-scale-auto = Zoom automatique
+pdfjs-page-scale-actual = Taille réelle
+# 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 = Une erreur s’est produite lors du chargement du fichier PDF.
+pdfjs-invalid-file-error = Fichier PDF invalide ou corrompu.
+pdfjs-missing-file-error = Fichier PDF manquant.
+pdfjs-unexpected-response-error = Réponse inattendue du serveur.
+pdfjs-rendering-error = Une erreur s’est produite lors de l’affichage de la 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 = [Annotation { $type }]
+
+## Password
+
+pdfjs-password-label = Veuillez saisir le mot de passe pour ouvrir ce fichier PDF.
+pdfjs-password-invalid = Mot de passe incorrect. Veuillez réessayer.
+pdfjs-password-ok-button = OK
+pdfjs-password-cancel-button = Annuler
+pdfjs-web-fonts-disabled = Les polices web sont désactivées : impossible d’utiliser les polices intégrées au PDF.
+
+## Editing
+
+pdfjs-editor-free-text-button =
+ .title = Texte
+pdfjs-editor-free-text-button-label = Texte
+pdfjs-editor-ink-button =
+ .title = Dessiner
+pdfjs-editor-ink-button-label = Dessiner
+pdfjs-editor-stamp-button =
+ .title = Ajouter ou modifier des images
+pdfjs-editor-stamp-button-label = Ajouter ou modifier des images
+pdfjs-editor-remove-button =
+ .title = Supprimer
+
+## Remove button for the various kind of editor.
+
+pdfjs-editor-remove-ink-button =
+ .title = Supprimer le dessin
+pdfjs-editor-remove-freetext-button =
+ .title = Supprimer le texte
+pdfjs-editor-remove-stamp-button =
+ .title = Supprimer l’image
+pdfjs-editor-remove-highlight-button =
+ .title = Supprimer le surlignage
+
+##
+
+# Editor Parameters
+pdfjs-editor-free-text-color-input = Couleur
+pdfjs-editor-free-text-size-input = Taille
+pdfjs-editor-ink-color-input = Couleur
+pdfjs-editor-ink-thickness-input = Épaisseur
+pdfjs-editor-ink-opacity-input = Opacité
+pdfjs-editor-stamp-add-image-button =
+ .title = Ajouter une image
+pdfjs-editor-stamp-add-image-button-label = Ajouter une image
+pdfjs-free-text =
+ .aria-label = Éditeur de texte
+pdfjs-free-text-default-content = Commencer à écrire…
+pdfjs-ink =
+ .aria-label = Éditeur de dessin
+pdfjs-ink-canvas =
+ .aria-label = Image créée par l’utilisateur·trice
+
+## Alt-text dialog
+
+# Alternative text (alt text) helps when people can't see the image.
+pdfjs-editor-alt-text-button-label = Texte alternatif
+pdfjs-editor-alt-text-edit-button-label = Modifier le texte alternatif
+pdfjs-editor-alt-text-dialog-label = Sélectionnez une option
+pdfjs-editor-alt-text-dialog-description = Le texte alternatif est utile lorsque des personnes ne peuvent pas voir l’image ou que l’image ne se charge pas.
+pdfjs-editor-alt-text-add-description-label = Ajouter une description
+pdfjs-editor-alt-text-add-description-description = Il est conseillé de rédiger une ou deux phrases décrivant le sujet, le cadre ou les actions.
+pdfjs-editor-alt-text-mark-decorative-label = Marquer comme décorative
+pdfjs-editor-alt-text-mark-decorative-description = Cette option est utilisée pour les images décoratives, comme les bordures ou les filigranes.
+pdfjs-editor-alt-text-cancel-button = Annuler
+pdfjs-editor-alt-text-save-button = Enregistrer
+pdfjs-editor-alt-text-decorative-tooltip = Marquée comme décorative
+# .placeholder: This is a placeholder for the alt text input area
+pdfjs-editor-alt-text-textarea =
+ .placeholder = Par exemple, « Un jeune homme est assis à une table pour prendre un repas »
+
+## Editor resizers
+## This is used in an aria label to help to understand the role of the resizer.
+
+pdfjs-editor-resizer-label-top-left = Coin supérieur gauche — redimensionner
+pdfjs-editor-resizer-label-top-middle = Milieu haut — redimensionner
+pdfjs-editor-resizer-label-top-right = Coin supérieur droit — redimensionner
+pdfjs-editor-resizer-label-middle-right = Milieu droit — redimensionner
+pdfjs-editor-resizer-label-bottom-right = Coin inférieur droit — redimensionner
+pdfjs-editor-resizer-label-bottom-middle = Centre bas — redimensionner
+pdfjs-editor-resizer-label-bottom-left = Coin inférieur gauche — redimensionner
+pdfjs-editor-resizer-label-middle-left = Milieu gauche — redimensionner
+
+## Color picker
+
+# This means "Color used to highlight text"
+pdfjs-editor-highlight-colorpicker-label = Couleur de surlignage
+pdfjs-editor-colorpicker-button =
+ .title = Changer de couleur
+pdfjs-editor-colorpicker-dropdown =
+ .aria-label = Choix de couleurs
+pdfjs-editor-colorpicker-yellow =
+ .title = Jaune
+pdfjs-editor-colorpicker-green =
+ .title = Vert
+pdfjs-editor-colorpicker-blue =
+ .title = Bleu
+pdfjs-editor-colorpicker-pink =
+ .title = Rose
+pdfjs-editor-colorpicker-red =
+ .title = Rouge
diff --git a/thunderbird-l10n/fr/localization/fr/toolkit/pictureinpicture/pictureinpicture.ftl b/thunderbird-l10n/fr/localization/fr/toolkit/pictureinpicture/pictureinpicture.ftl
new file mode 100644
index 0000000000..be231b5838
--- /dev/null
+++ b/thunderbird-l10n/fr/localization/fr/toolkit/pictureinpicture/pictureinpicture.ftl
@@ -0,0 +1,86 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+pictureinpicture-player-title = Incrustation vidéo
+
+## 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 (barre d’espace)
+pictureinpicture-play-btn =
+ .aria-label = Lecture
+ .tooltip = Lecture (barre d’espace)
+
+pictureinpicture-mute-btn =
+ .aria-label = Couper le son
+ .tooltip = Couper le son ({ $shortcut })
+pictureinpicture-unmute-btn =
+ .aria-label = Réactiver le son
+ .tooltip = Réactiver le son ({ $shortcut })
+
+pictureinpicture-unpip-btn =
+ .aria-label = Renvoyer dans l’onglet
+ .tooltip = Retour dans l’onglet
+
+pictureinpicture-close-btn =
+ .aria-label = Fermer
+ .tooltip = Fermer ({ $shortcut })
+
+pictureinpicture-subtitles-btn =
+ .aria-label = Sous-titres
+ .tooltip = Sous-titres
+
+pictureinpicture-fullscreen-btn2 =
+ .aria-label = Plein écran
+ .tooltip = Plein écran (double clic ou { $shortcut })
+
+pictureinpicture-exit-fullscreen-btn2 =
+ .aria-label = Quitter le mode plein écran
+ .tooltip = Quitter le mode plein écran (double clic ou { $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 = Retour en arrière
+ .tooltip = Retour en arrière (←)
+
+pictureinpicture-seekforward-btn =
+ .aria-label = Avancer
+ .tooltip = Avancer (→)
+
+##
+
+# 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 = Paramètres des sous-titres
+
+pictureinpicture-subtitles-label = Sous-titres
+
+pictureinpicture-font-size-label = Taille de police
+
+pictureinpicture-font-size-small = Petite
+
+pictureinpicture-font-size-medium = Moyenne
+
+pictureinpicture-font-size-large = Grande
diff --git a/thunderbird-l10n/fr/localization/fr/toolkit/preferences/preferences.ftl b/thunderbird-l10n/fr/localization/fr/toolkit/preferences/preferences.ftl
new file mode 100644
index 0000000000..7b2b3392fb
--- /dev/null
+++ b/thunderbird-l10n/fr/localization/fr/toolkit/preferences/preferences.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/.
+
+password-not-set =
+ .value = (non défini)
+
+failed-pp-change = Impossible de changer le mot de passe principal.
+incorrect-pp = Vous n’avez pas saisi correctement le mot de passe actuel. Veuillez réessayer.
+pp-change-ok = Le mot de passe principal a été changé.
+
+settings-pp-erased-ok = Vous avez supprimé votre mot de passe principal. Les mots de passe stockés et les clés privées de certificat gérées par { -brand-short-name } ne seront pas protégés.
+settings-pp-not-wanted = Attention ! Vous avez fait le choix de ne pas utiliser de mot de passe principal. Les mots de passe stockés et les clés privées de certificat gérées par { -brand-short-name } ne seront pas protégés.
+
+pp-change2empty-in-fips-mode = Vous êtes actuellement en mode FIPS. Ce mode nécessite un mot de passe principal non vide.
+pw-change-success-title = Changement de mot de passe réussi
+pw-change-failed-title = Échec de la modification du mot de passe principal
+pw-remove-button =
+ .label = Supprimer
+
+primary-password-dialog =
+ .title = Mot de passe principal
+set-password-old-password = Mot de passe actuel :
+set-password-new-password = Saisissez le nouveau mot de passe :
+set-password-reenter-password = Saisissez-le à nouveau :
+set-password-meter = Mesure de la qualité du mot de passe
+set-password-meter-loading = Chargement
+primary-password-admin = Votre administrateur exige que vous ayez un mot de passe principal défini pour enregistrer les identifiants et les mots de passe.
+primary-password-description = Un mot de passe principal sert à protéger sur cet appareil des informations sensibles comme les identifiants et les mots de passe. Si vous en créez un, il vous sera demandé de le saisir une fois par session lorsque { -brand-short-name } accède aux informations enregistrées qui sont protégées par ce mot de passe.
+primary-password-warning = Faites attention à ne pas oublier le mot de passe principal. Si vous l’oubliez, vous n’aurez plus accès aux informations qu’il protège sur cet appareil.
+
+remove-primary-password =
+ .title = Suppression du mot de passe principal
+remove-info =
+ .value = Vous devez saisir votre mot de passe principal actuel pour continuer :
+remove-primary-password-warning1 = Votre mot de passe principal est utilisé pour protéger des informations sensibles comme les identifiants et les mots de passe utilisés sur les sites.
+remove-primary-password-warning2 = Si vous supprimez votre mot de passe principal, vos informations ne seront pas protégées si votre ordinateur est compromis.
+remove-password-old-password =
+ .value = Mot de passe actuel :
diff --git a/thunderbird-l10n/fr/localization/fr/toolkit/printing/printDialogs.ftl b/thunderbird-l10n/fr/localization/fr/toolkit/printing/printDialogs.ftl
new file mode 100644
index 0000000000..82ef688f01
--- /dev/null
+++ b/thunderbird-l10n/fr/localization/fr/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 = Mise en page
+custom-prompt-title = Personnaliser…
+custom-prompt-prompt = Saisissez votre texte d’en-tête ou de pied de page
+basic-tab =
+ .label = Format et options
+advanced-tab =
+ .label = Marges, en-têtes et pieds de page
+format-group-label =
+ .value = Format
+orientation-label =
+ .value = Orientation :
+portrait =
+ .label = Portrait
+ .accesskey = P
+landscape =
+ .label = Paysage
+ .accesskey = a
+scale =
+ .label = Échelle :
+ .accesskey = c
+scale-percent =
+ .value = %
+shrink-to-fit =
+ .label = Adapter à la taille de la page
+ .accesskey = t
+options-group-label =
+ .value = Options
+print-bg =
+ .label = Imprimer le fond de page (couleurs et images)
+ .accesskey = I
+margin-group-label-inches =
+ .value = Marges (pouces)
+margin-group-label-metric =
+ .value = Marges (millimètres)
+margin-top =
+ .value = Haut :
+ .accesskey = H
+margin-top-invisible =
+ .value = Haut :
+margin-bottom =
+ .value = Bas :
+ .accesskey = B
+margin-bottom-invisible =
+ .value = Bas :
+margin-left =
+ .value = Gauche :
+ .accesskey = G
+margin-left-invisible =
+ .value = Gauche :
+margin-right =
+ .value = Droite :
+ .accesskey = D
+margin-right-invisible =
+ .value = Droite :
+header-footer-label =
+ .value = En-têtes et pieds de page
+hf-left-label =
+ .value = Gauche :
+hf-center-label =
+ .value = Centre :
+hf-right-label =
+ .value = Droite :
+header-left-tip =
+ .tooltiptext = En-tête de gauche
+header-center-tip =
+ .tooltiptext = En-tête centré
+header-right-tip =
+ .tooltiptext = En-tête de droite
+footer-left-tip =
+ .tooltiptext = Pied de page de gauche
+footer-center-tip =
+ .tooltiptext = Pied de page centré
+footer-right-tip =
+ .tooltiptext = Pied de page de droite
+hf-blank =
+ .label = --vide--
+hf-title =
+ .label = Titre
+hf-url =
+ .label = URL
+hf-date-and-time =
+ .label = Date/Heure
+hf-page =
+ .label = N° de page
+hf-page-and-total =
+ .label = Page # sur #
+hf-custom =
+ .label = Personnaliser…
+print-preview-window =
+ .title = Aperçu avant impression
+print-title =
+ .value = Titre :
+print-preparing =
+ .value = Préparation…
+print-progress =
+ .value = Progression :
+print-window =
+ .title = Impression
+print-complete =
+ .value = L’impression est terminée.
+
+# Variables
+# $percent (integer) - Number of printed percentage
+print-percent =
+ .value = { $percent } %
+dialog-cancel-label = Annuler
+dialog-close-label = Fermer
diff --git a/thunderbird-l10n/fr/localization/fr/toolkit/printing/printPreview.ftl b/thunderbird-l10n/fr/localization/fr/toolkit/printing/printPreview.ftl
new file mode 100644
index 0000000000..01e3cbc70f
--- /dev/null
+++ b/thunderbird-l10n/fr/localization/fr/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 = Simplifier la page
+ .accesskey = i
+ .tooltiptext = Cette page ne peut pas être automatiquement simplifiée
+printpreview-simplify-page-checkbox-enabled =
+ .label = { printpreview-simplify-page-checkbox.label }
+ .accesskey = { printpreview-simplify-page-checkbox.accesskey }
+ .tooltiptext = Modifier la mise en page pour faciliter la lecture
+printpreview-close =
+ .label = Fermer
+ .accesskey = F
+printpreview-portrait =
+ .label = Portrait
+ .accesskey = o
+printpreview-landscape =
+ .label = Paysage
+ .accesskey = y
+printpreview-scale =
+ .value = Échelle :
+ .accesskey = l
+printpreview-shrink-to-fit =
+ .label = Adapter à la page
+printpreview-custom =
+ .label = Personnaliser…
+printpreview-print =
+ .label = Imprimer…
+ .accesskey = p
+printpreview-of =
+ .value = sur
+printpreview-custom-scale-prompt-title = Échelle personnalisée
+printpreview-page-setup =
+ .label = Mise en page…
+ .accesskey = i
+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 } sur { $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 = Première page
+printpreview-previousarrow =
+ .label = { $arrow }
+ .tooltiptext = Page précédente
+printpreview-nextarrow =
+ .label = { $arrow }
+ .tooltiptext = Page suivante
+printpreview-endarrow =
+ .label = { $arrow }
+ .tooltiptext = Dernière page
+
+printpreview-homearrow-button =
+ .title = Première page
+printpreview-previousarrow-button =
+ .title = Page précédente
+printpreview-nextarrow-button =
+ .title = Page suivante
+printpreview-endarrow-button =
+ .title = Dernière page
diff --git a/thunderbird-l10n/fr/localization/fr/toolkit/printing/printUI.ftl b/thunderbird-l10n/fr/localization/fr/toolkit/printing/printUI.ftl
new file mode 100644
index 0000000000..f913740262
--- /dev/null
+++ b/thunderbird-l10n/fr/localization/fr/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 = Imprimer
+# Dialog title to prompt the user for a filename to save print to PDF.
+printui-save-to-pdf-title = Enregistrer sous
+
+# Variables
+# $sheetCount (integer) - Number of paper sheets
+printui-sheets-count =
+ { $sheetCount ->
+ [one] { $sheetCount } feuille de papier
+ *[other] { $sheetCount } feuilles de papier
+ }
+
+printui-page-range-all = Toutes
+printui-page-range-current = Actuelle
+printui-page-range-odd = Impaires
+printui-page-range-even = Paires
+printui-page-range-custom = Personnalisé
+printui-page-range-label = Pages
+printui-page-range-picker =
+ .aria-label = Choisir un intervalle de pages
+printui-page-custom-range-input =
+ .aria-label = Saisir un intervalle de pages personnalisé
+ .placeholder = par ex. 2-6, 9, 12-16
+
+# Section title for the number of copies to print
+printui-copies-label = Copies
+
+printui-orientation = Orientation
+printui-landscape = Paysage
+printui-portrait = Portrait
+
+# Section title for the printer or destination device to target
+printui-destination-label = Destination
+printui-destination-pdf-label = Enregistrer au format PDF
+
+printui-more-settings = Plus de paramètres
+printui-less-settings = Moins de paramètres
+
+printui-paper-size-label = Taille du papier
+
+# Section title (noun) for the print scaling options
+printui-scale = Échelle
+printui-scale-fit-to-page-width = Ajuster à la largeur de la page
+# Label for input control where user can set the scale percentage
+printui-scale-pcent = Échelle
+
+# Section title (noun) for the two-sided print options
+printui-two-sided-printing = Impression recto verso
+printui-two-sided-printing-off = Désactivée
+# Flip the sheet as if it were bound along its long edge.
+printui-two-sided-printing-long-edge = Retourner sur le bord long
+# Flip the sheet as if it were bound along its short edge.
+printui-two-sided-printing-short-edge = Retourner sur le bord court
+
+# Section title for miscellaneous print options
+printui-options = Options
+printui-headers-footers-checkbox = Imprimer les en-têtes et pieds de page
+printui-backgrounds-checkbox = Imprimer les arrière-plans
+
+## 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 = Sélection
+# Option for "simplifying" the page by printing the Reader View version.
+printui-simplify-page-radio = Simplifié
+
+##
+
+printui-color-mode-label = Mode de couleur
+printui-color-mode-color = Couleur
+printui-color-mode-bw = Noir et blanc
+
+printui-margins = Marges
+printui-margins-default = Par défaut
+printui-margins-min = Minimum
+printui-margins-none = Aucune
+printui-margins-custom-inches = Personnalisées (pouces)
+printui-margins-custom-mm = Personnalisées (mm)
+printui-margins-custom-top = Haut de page
+printui-margins-custom-top-inches = Haut (pouces)
+printui-margins-custom-top-mm = Haut (mm)
+printui-margins-custom-bottom = Bas de page
+printui-margins-custom-bottom-inches = Bas (pouces)
+printui-margins-custom-bottom-mm = Bas (mm)
+printui-margins-custom-left = Gauche
+printui-margins-custom-left-inches = Gauche (pouces)
+printui-margins-custom-left-mm = Gauche (mm)
+printui-margins-custom-right = Droite
+printui-margins-custom-right-inches = Droite (pouces)
+printui-margins-custom-right-mm = Droite (mm)
+
+printui-system-dialog-link = Imprimer en utilisant la boîte de dialogue système…
+
+printui-primary-button = Imprimer
+printui-primary-button-save = Enregistrer
+printui-cancel-button = Annuler
+printui-close-button = Fermer
+
+printui-loading = Préparation de l’aperçu
+
+# Reported by screen readers and other accessibility tools to indicate that
+# the print preview has focus.
+printui-preview-label =
+ .aria-label = Aperçu avant impression
+
+printui-pages-per-sheet = Pages par feuille
+
+# 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 = Impression…
+printui-print-progress-indicator-saving = Enregistrement…
+
+## 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 = Lettre US
+printui-paper-legal = US Legal
+printui-paper-tabloid = Tabloïd
+
+## Error messages shown when a user has an invalid input
+
+printui-error-invalid-scale = L’échelle doit être un nombre compris entre 10 et 200.
+printui-error-invalid-margin = Veuillez saisir une marge valide pour le format de papier sélectionné.
+printui-error-invalid-copies = Le nombre de copies doit être compris entre 1 et 10 000.
+
+# Variables
+# $numPages (integer) - Number of pages
+printui-error-invalid-range = La plage doit être un nombre compris entre 1 et { $numPages }.
+printui-error-invalid-start-overflow = Le numéro de page « de » doit être inférieur au numéro de page « à ».
diff --git a/thunderbird-l10n/fr/localization/fr/toolkit/reportBrokenSite/reportBrokenSite.ftl b/thunderbird-l10n/fr/localization/fr/toolkit/reportBrokenSite/reportBrokenSite.ftl
new file mode 100644
index 0000000000..6fbe8159b2
--- /dev/null
+++ b/thunderbird-l10n/fr/localization/fr/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/fr/localization/fr/toolkit/updates/backgroundupdate.ftl b/thunderbird-l10n/fr/localization/fr/toolkit/updates/backgroundupdate.ftl
new file mode 100644
index 0000000000..67508a2d64
--- /dev/null
+++ b/thunderbird-l10n/fr/localization/fr/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 = La tâche de mise à jour en arrière-plan recherche les mises à jour de { -brand-short-name } lorsque { -brand-short-name } n’est pas en cours d’exécution. Cette tâche est installée automatiquement par { -brand-short-name } et est réinstallée lorsque { -brand-short-name } s’exécute. Pour désactiver cette tâche, mettez à jour les paramètres du navigateur ou le paramètre de stratégie d’entreprise { -brand-short-name } « BackgroundAppUpdate ».
diff --git a/thunderbird-l10n/fr/localization/fr/toolkit/updates/elevation.ftl b/thunderbird-l10n/fr/localization/fr/toolkit/updates/elevation.ftl
new file mode 100644
index 0000000000..5c9ee9eb29
--- /dev/null
+++ b/thunderbird-l10n/fr/localization/fr/toolkit/updates/elevation.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/.
+# This is temporary until bug 1521632 is fixed
+
+elevation-update-wizard =
+ .title = Mise à jour du logiciel
+elevation-details-link-label =
+ .value = Détails
+elevation-error-manual = Vous pouvez mettre { -brand-short-name } à jour manuellement en suivant ce lien et en téléchargeant la dernière version :
+elevation-finished-page = Mise à jour prête à être installée
+elevation-finished-background-page =
+ Une mise à jour de sécurité et de stabilité pour { -brand-short-name } a été
+ téléchargée et est prête à être installée.
+elevation-finished-background = Mise à jour :
+elevation-more-elevated =
+ Cette mise à jour nécessite des privilèges administrateur. La mise à jour sera installée au
+ prochain démarrage de { -brand-short-name }. Vous pouvez redémarrer { -brand-short-name } maintenant,
+ continuer votre travail et redémarrer plus tard, ou refuser cette mise à jour.
diff --git a/thunderbird-l10n/fr/localization/fr/toolkit/updates/history.ftl b/thunderbird-l10n/fr/localization/fr/toolkit/updates/history.ftl
new file mode 100644
index 0000000000..73433fb403
--- /dev/null
+++ b/thunderbird-l10n/fr/localization/fr/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 = Historique des mises à jour
+history-intro = Les mises à jour suivantes ont été installées
+
+close-button-label =
+ .buttonlabelcancel = Fermer
+ .title = Historique des mises à jour
+
+no-updates-label = Aucune mise à jour n’a encore été installée
+name-header = Nom de la mise à jour
+date-header = Date d’installation
+type-header = Type
+state-header = État
+
+# 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 = Détails
+
+update-installed-on = Installée le : { $date }
+
+update-status = État : { $status }
diff --git a/thunderbird-l10n/fr/manifest.json b/thunderbird-l10n/fr/manifest.json
new file mode 100644
index 0000000000..49be7fb42b
--- /dev/null
+++ b/thunderbird-l10n/fr/manifest.json
@@ -0,0 +1,56 @@
+{
+ "langpack_id": "fr",
+ "manifest_version": 2,
+ "browser_specific_settings": {
+ "gecko": {
+ "id": "langpack-fr@thunderbird.mozilla.org",
+ "strict_min_version": "115.0",
+ "strict_max_version": "115.*"
+ }
+ },
+ "name": "Language: Français (French)",
+ "description": "Thunderbird Language Pack for Français (fr) – French",
+ "version": "115.7.20240119.95007",
+ "languages": {
+ "fr": {
+ "version": "20240119104714",
+ "chrome_resources": {
+ "alerts": "chrome/fr/locale/fr/alerts/",
+ "autoconfig": "chrome/fr/locale/fr/autoconfig/",
+ "branding": "chrome/fr/locale/branding/",
+ "calendar": "chrome/fr/locale/fr/calendar/",
+ "chat": "chrome/fr/locale/fr/chat/",
+ "communicator": "chrome/fr/locale/fr/communicator/",
+ "devtools": "chrome/fr/locale/fr/devtools/client/",
+ "devtools-shared": "chrome/fr/locale/fr/devtools/shared/",
+ "global": "chrome/fr/locale/fr/global/",
+ "global-platform": {
+ "macosx": "chrome/fr/locale/fr/global-platform/mac/",
+ "linux": "chrome/fr/locale/fr/global-platform/unix/",
+ "android": "chrome/fr/locale/fr/global-platform/unix/",
+ "win": "chrome/fr/locale/fr/global-platform/win/"
+ },
+ "lightning": "chrome/fr/locale/fr/lightning/",
+ "messenger": "chrome/fr/locale/fr/messenger/",
+ "messenger-mapi": "chrome/fr/locale/fr/messenger-mapi/",
+ "messenger-newsblog": "chrome/fr/locale/fr/messenger-newsblog/",
+ "messenger-region": "chrome/fr/locale/fr/messenger-region/",
+ "messenger-smime": "chrome/fr/locale/fr/messenger-smime/",
+ "mozapps": "chrome/fr/locale/fr/mozapps/",
+ "mozldap": "chrome/fr/locale/fr/mozldap/",
+ "necko": "chrome/fr/locale/fr/necko/",
+ "passwordmgr": "chrome/fr/locale/fr/passwordmgr/",
+ "pdf.js": "chrome/fr/locale/pdfviewer/",
+ "pipnss": "chrome/fr/locale/fr/pipnss/",
+ "pippki": "chrome/fr/locale/fr/pippki/",
+ "places": "chrome/fr/locale/fr/places/"
+ }
+ }
+ },
+ "sources": {
+ "browser": {
+ "base_path": "browser/"
+ }
+ },
+ "author": "mozfr.org (contributors: L’équipe francophone)"
+}